I keep coming across an issue with Firebase Ml-Vision in my Flutter application where the results are not accurate. Now i understand that there is always going to be some level off accuracy that is lost but i am trying to figure out a way that i can at least try and circumvent some of the more obvious issues.
As i am needing to search signage text to see if it matches against a particular list of predefined strings i am trying to figure out a way that i can take a particular word such as the one metnioned below and create a list of all permutations where the following letters and numbers are factored in:-
- 0=O and O=0
- 1=l and l=1
- 2=z and z=2
- 5=s and s=5
- 6=b and b=6
- 7=T and T=7
The issue is that that some letters or numbers are getting replaced by their opposite looking letter or number. For instance: The word 'slob' could be read by OCR as '5lob', 's1ob', 'sl0b', 'slo6' or even '5106'.
I am not sure if there is some baked in functions in flutter/dart that can help with this. The only thing i had was a bunch of really nasty nested for loops. I feel like there must be some elegant way of achieving this. Is there even a term for this type of algorithm?