Inspiration

Over the course of my time here at CMU I found myself drawn to the idea of manipulating and understanding language. However as an ECE major, I wanted incorporate technology in a meaningful way to help people develop the communication skills needed in order to effectively communicate.

What it does

The Raspberry Pi takes an image of any scene. If there are any words or text that appear in the scene it will attempt to recognize them. If this succeeds, it will print out the word in a terminal as well as prompt users for a language to translate it to. Given a valid language, it can then translate the word into the desired language.

How I built it

As the saying goes, don't reinvent the wheel. I used the OpenCV and pyTesseract python libraries to implement this hack. The Raspberry Pi itself does all the computations in a relatively efficient manner. The image is taken with a Pi Camera with the OpenCV module as an interface. It then uses one of the extended modules of OpenCV to detect text, and output an image of only that text. Then using pyTesseract I perform an OCR on the developed image to attempt to extract the text. The translation protocol is performed by the Google Translate API.

Challenges I ran into

This was my first time using a Raspberry Pi and thus a lot of time was spent in understanding and appreciating all the various components available to me in the kit. Additionally because of the spring break, I went on vacation and didn't have a lot of time to work on this hack. Additionally this was a 1 person team so this limited the amount of work that could be accomplished.

Other challenges were finding a optimal resolution for the camera so it wouldn't lag. Other had to be taken care of like making sure the modules had the correct dependencies and correct pathing in order to efficiently communicate with each other.

Accomplishments that I'm proud of

Though it may fail to recognize some texts in some instances, the project still performs remarkably well...especially with a limited processing power in the Raspberry Pi. Again, this was my first time working with a Raspberry Pi so I am proud with what I was able to accomplish.

What I learned

By using these OCR technologies I had to skim and quickly understand some of the theories and practices used in correctly implementing an OCR.

What's next for OptiVerbo

If we are able to attach perhaps a speaker to device as well as encase all the components into a sturdy compartment, this product could be distributed to countries around the world to provide foreigners a way to navigate the world freely.

Share this project:

Updates