Percepta Assistive Glasses for Vision Impaired
41 Views, 1 Favorites, 0 Comments
Percepta Assistive Glasses for Vision Impaired
According to the World Health Organization, over 2.2 billion people globally have a vision impairment. While traditional tools like white canes detect obstacles, they can’t tell a user what those obstacles are. These DIY Smart Glasses bridge that gap using a Raspberry Pi 4, a High-Definition Camera, and Advanced AI.
You might think that with multiple objects in view, the glasses would be a constant, annoying wall of noise. But they aren't. We used Deep Reinforcement Learning (DRL) to train our AI model to prioritize what the user actually needs.
The Prioritization Logic: There could be a seagull flying 20 mph in the sky, but the vision-impaired person needs to know if there is a car coming at them from the side of the road. Our software filters out the "background noise" of the world and only announces the objects that matter for safety and navigation.
Supplies
Core Electronics
- Raspberry Pi 4 Model B: The powerhouse "brain" needed for high-speed AI inference.
- Raspberry Pi Camera Module: The high-definition "eyes" of the project.
- MicroSD Card (16GB+): Loaded with Raspberry Pi OS and our trained models.
- Portable USB-C Power Bank: To keep the Pi 4 running while mobile.
- Headphones/Speaker: For real-time audio feedback.
Setup & Fabrication Tools
- Monitor, Keyboard, & Mouse: Essential for the coding and debugging phase.
- Prusa MK4 3D Printer: We used this for its incredible precision and reliability.
- PLA Filament: Lightweight and rigid for comfortable wearable frames.
The Digital "Must-Haves"
- OpenCV: The library used for real-time computer vision.
- AI Debugging Partners (Gemini or ChatGPT): CRITICAL TOOL. This project is complex. If you hit a Python error, a terminal bug, or a 3D printing fail, do not stay stuck. Copy the error and ask the AI. It is your 24/7 coding mentor.
- Example: "I'm using OpenCV on a Pi 4 and the camera feed is lagging. How do I optimize my code?"
- Free API Keys: We integrated free tiers of cloud-based AI APIs to handle complex tasks like reading text or identifying rare objects that the local model might miss
CAD FILES
The first step is creating a creating the glasses. Unlike standard glasses, these need thick temples (arms) to house the Raspberry Pi and battery without being too heavy or uncomfortable.
- Design Considerations: We used Fusion 360 to design a modular frame. One side features a hollow chamber for the Pi, while the front bridge has a specialized mount for the camera lens.
- The Print: We printed these in PLA at 0.2mm layer height. If you're using a Pi Zero, ensure your side-walls are at least 1.5mm thick to maintain structural integrity.
AI Training & Coding
This step is where we transform a standard camera feed into an intelligent assistant. Using a Raspberry Pi 4 allows us to run complex "Inference" (the AI’s thinking process) locally and at high speeds.
2.1 Prepare the Environment
Before writing the AI logic, we need to equip the Pi with the right libraries. Plug in your monitor, keyboard, and mouse. Open the Terminal and run:
- Update the System: sudo apt update && sudo apt upgrade
- Install OpenCV: sudo apt install python3-opencv
- Install TTS (Text-to-Speech): pip install pyttsx3
2.2 Implementing the Object Detection Framework
We use a pre-trained SSD MobileNet model. This provides a "dictionary" of 80+ common objects. The code follows a continuous loop:
- Capture: The Pi Camera grabs a frame.
- Analyze: OpenCV passes the frame to the AI model.
- Identify: The model draws "bounding boxes" around everything it sees (cars, dogs, trees, birds).
2.3 The "Priority Engine" (Deep Reinforcement Learning)
This is the most critical part of the software. To prevent "audio clutter," we implemented a prioritization script based on Deep Reinforcement Learning (DRL).
Instead of announcing every object, the AI evaluates each one based on a Weighting System:
- Hazard Detection: The model is trained to recognize "vectors." If a "Car" is increasing in size (meaning it’s getting closer) or moving toward the center of the frame, its priority score skyrockets.
- Contextual Filtering: The AI is taught that a "Seagull" at the top of the frame has a near-zero priority compared to a "Curb" or a "Person" at the bottom of the frame.
- The Final Decision: The script compares all detected objects and only sends the highest-scoring label to the text-to-speech engine.
2.4 Audio Feedback Loop
Once the Priority Engine selects the most important object, the pyttsx3 library converts that text into a clear voice command.
- Example: If the AI sees a park bench and a moving bus, the user only hears: "Warning: Bus, Left Side."
Test and Enjoy
Camera Routing: Carefully thread the ribbon cable through the bridge of the frame.
Mounting: Secure the Pi 4 into the custom side-mount using M3 screws.
Audio Sync: Plug in your headphones and run the script.
Field Test: Walk toward a known object. You should hear the Pi 4 announce the most important objects in your path in real-time.
NOTE: REMEMBER YOU CAN ALWAYS USE AI TO HELP IF ANY ERRORS