Replies: 2 comments
-
Few thoughts after reading through:
Let me know your thoughts! |
Beta Was this translation helpful? Give feedback.
-
Another thought about recognition. Tesseract gives us all recognized characters with coordinates and dimensions from where that character was found in the image. Same goes for lines. We could do an extra UI step and present to the user what perk names have been detected as an overlay over the input image. The user then can simply reject the false positives and continue recognition. Ideally i dont want the user to be interrupted and just be presented with results. But that might be a good mechanic for 1. debugging and 2. in case a patch breaks a lot. |
Beta Was this translation helpful? Give feedback.
-
With the latest game expansion and the introduction of new perks the gearset scanner is not able to match many items properly any more. Some improvements and band aids have been applied recently. Here i want to summarize a guide how the algorithm could be re-worked to catch the currently broken cases.
Text Recognition
lines
.Recognize item name
rarity
rarity
as itemname
Recognize attribute perk
+26 Dexterity
.Attributes currently follow that format. An exception is the
Magnify
attribute perk, which has the following translation key and textAssuming the text recognition catches the round brackets, we could
(...)
(
Recognize perks names
:
perkname
The perk description may also contain a colon and lead to false positives. Currently this is issued by the following known tooltip text
other languages
"Effektstapel: "
and"Maximale Effektstapel: "
"Acumulaciones de ventaja: "
and"Acumulaciones máx. de ventaja: "
"Acumulaciones máx. de ventaja : "
and"Cumuls d'atouts max : "
Since text recognition is not 100% on point, we could try following approach:
perktooltips_stacks
Stacks:
lines
Build Item Candidates
itemType
scopeitemType
from input imageitemPool
from database that match the requesteditemType
For each
item
fromitemPool
create acandidate
itemMatch Attribute perk
From
recognition
we are given the recognized attribute names and potentially valuesFixed perk slots
If item has fixed perks then
perkname
andslotPerk
perkname
as consumedslot
as donerating
coefficient, how well theperkname
did match theslotPerk
perkname
leftPerk Bucket slots
If item has perk buckets, do for each bucket
perkname
andperkBucket
perkname
as consumedperkBucket
as donerating
coefficient, how well theperkname
did fit into theperkBucket
perkname
leftperk buckets point to a list of perks that can roll on that slot. However, users now are able to re-slot such slots at the klin. Maybe we should just ignore the bucket pool.
Build item name
Item names are a combination from PREFIX, name, SUFFIX. Only if item does not
IgnoreNameChange
Collect results
The candidates should now have a rating value based on
Results then should be sorted by best match. The current system rejects results that were not able to 'consume' all perks. This sometimes leads to empty results. We should instead rely on the rating value.
Artifact Pitfall
The new artifacts all come with a special perk that actually encodes 2 perks
Magnify
(this is a tooltip name)e.g. https://www.nw-buddy.de/perks/table/PerkID_Artifact_Set1_HeavyHead
A solution to this yet needs to be found.
Beta Was this translation helpful? Give feedback.
All reactions