From 1990-2020, a 30-year timespan, globally we saw a 50.7% increase in blindness and a 91.7% increase in moderate-severe blindness. Vizo aims to assist people who experience visual impairment by utilizing the power of computer vision to navigate an area allowing the user to go from point-A to point-B with more ease.
How Vizo Works
The Vizo vision assistance device runs a Depth Estimation algorithm built into the DepthAI library. With the data fetched from the depth estimation algorithm, the Obstacle Avoidance algorithm determines where to navigate the user. The output is then relayed to the user using the mpg321 python wrapper to play the respective direction output audio.
How Vizo is Built
- On the Hardware side, Vizo was built using Nvidia's Jetson Nano Developer Kit and OpenCV's OAK-D camera module
- On the software side, python was used along with the DepthAI python library
On the software side, there was a challenge outputting the audio with the python gTTS library initially. This was later fixed by using mpg321, which seamlessly played audio output through the Jetson Nano via a USB to audio interface. Another challenge was optimizing the algorithm to work both faster, and more effectively. Initially, the algorithm would only analyze data from 3 ROI boxes (region of interest). This was later fixed by attributing a certain depth range to a string value of "F" (open area) or "S" (object ahead). A sequence of 15 of these strings are then managed using regular expressions to search for a given amount of "F" or "S" in a row. The string indexes that satisfy these requirements then determine if the output should display "Move Forward", "Move Left", "Move Right", or "Turn Around".
Accomplishments with Vizo
Software: Developed a fully functional Obstacle Avoidance algorithm and implemented it with a depth estimation algorithm using the DepthAI library.
Hardware: Built a wearable device using the OpenCV OAK-D and Nvidia's Jetson Nano to run the algorithm and aid the user in navigating any given area.
What was Learned
- How to integrate the OAK-D camera module with the Jetson Nano.
- How to develop an effective obstacle avoidance algorithm
What's Next for Vizo
The implementation of a stereo mapping algorithm to map a given environment and render it in 3D space