Let's Make Robots!

OCR Working Better

Got the OCR service mostly done last night and today.  Need to get more sleep!  I uploaded new videos of Anna reading words at various distances.

It seems very reliable now with letters that are 2in high at about 6ft away, so I'm think 3-4in high letters in smaller rooms and 5-6 inch letters in larger rooms should be sufficient.

It was necessary to build a dictionary and then iterate through each word in the dictionary, and see if the word was contained by the OCR text.  This acted to filter out all the garbage OCR data coming in.  The downside by this method is, the bot cannot recognize any text, just words in its dictionary.  Considering the OCR data is 80% garbage, this was the best solution I could come up with.  The bot could do a great deal of useful things with what it reads as I can make the dictionary quite large if need be.  Also, multiple words can be combined.  One word could be a verb and another a noun, to make all kinds of commands possible through vision without growing the dictionary.  

Localization Example

I think a set of framed photographs around a house with unique captions under them.  An example could be an iRobot movie poster with Will Smith, with words "The Three Laws" printed below it in a clear font., framed as if its part of the poster, people might not give it a second thought, but the robot would now have a navigation reference point that could be seen from a high percentage of points in the room)

Some examples of using multiple words to communicate a lot more context:  

Room Alpha or Room Five - To communicate the identity of a room.

Door Seven

Waypoint Alpha - to communicate that something is a visual waypoint and which one.

One Eight Zero - to communicate larger numbers with only 10 words in dictionary.

Words need to be at least 3-4 characters in length in my opinion in order to avoid getting false positives from the OCR garbage.

Next step will be to build the map service so the bot can use what it reads and the azimuth/elevation to determine its location in house, room, or GPS coordinates.

Does anyone know of anyone using OCR for localization?  I am curious.