A-eye is a real-time computer vision system designed to assist blind and visually impaired users in navigating urban environments safely. The system provides comprehensive navigation assistance through multiple AI-powered modules working together.
- Real-time vehicle detection using YOLO deep learning models
- Dual camera support for enhanced coverage
- Audio safety alerts when vehicles are detected nearby
- Street crossing assistance with immediate hazard warnings
- General obstacle detection for safe navigation
- Real-time object recognition including people, bicycles, traffic lights, and more
- Spatial awareness to help users navigate around obstacles
- Confidence-based filtering to reduce false alarms
- Chennai bus route detection with specialized recognition
- Multi-script text support (English/Tamil) for local bus signs
- Real-time route identification for public transportation assistance
- Audio announcements of detected bus routes
- Real-time audio guidance using local TTS engine
- Non-blocking speech synthesis to maintain system responsiveness
- Customizable speech rate and volume
- Immediate safety alerts and navigation instructions
- YOLOv8 Nano: Lightweight object detection for real-time performance
- OpenCV: Computer vision and video processing
- PyTTSx3: Local text-to-speech synthesis
- Multi-threading: Parallel processing for optimal performance
- Python 3.8+
- Camera access (webcam or external camera)
- Audio output for speech synthesis
- Minimum 4GB RAM for AI model inference
- Windows/Linux/macOS support
-
Clone the repository:
git clone <repository-url> cd vi_nav
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python vi_nav.py
- Launch the VI_NAV application
- Click "Start Navigation System" to initialize all modules
- The system will automatically:
- Load YOLO models
- Initialize camera feeds
- Start real-time detection
- Begin audio guidance
- Vehicle Warnings: Audio alerts when cars, trucks, or buses are detected
- Obstacle Avoidance: Guidance around detected objects
- Bus Route Information: Announcements of nearby bus routes
- Real-time Status: Continuous monitoring and feedback
- Immediate Alerts: Critical safety warnings override other audio
- Confidence Filtering: Only high-confidence detections trigger alerts
- Graceful Degradation: System continues operating even if some modules fail
- Emergency Stop: Quick system shutdown capability
# Real-time YOLO inference for vehicle detection
results = self.car_detector(frame, conf=CAR_DETECTION_THRESHOLD)
# Processes cars, trucks, buses, motorcycles# General object detection for navigation assistance
results = self.general_detector(frame, conf=OBJECT_DETECTION_THRESHOLD)
# Detects people, bicycles, traffic lights, signs, etc.# Non-blocking text-to-speech synthesis
threading.Thread(
target=lambda: self.tts_engine.say(text) or self.tts_engine.runAndWait(),
daemon=True
).start()# Two-step pipeline: Object Detection + OCR
# Step 1: Detect buses and destination signs
# Step 2: OCR for route numbers and multi-script textThe system includes a database of common Chennai bus routes:
| Route | Description |
|---|---|
| 1 | Central to Broadway |
| 2 | Broadway to Central |
| 5 | Central to T. Nagar |
| 12 | T. Nagar to Anna Salai |
| 21 | Anna Salai to Central |
| 29 | Central to Mylapore |
| 40 | Mylapore to T. Nagar |
- Car Detection: 0.5 confidence threshold
- Object Detection: 0.3 confidence threshold
- Bus Detection: 0.4 confidence threshold
- Speech Rate: 150 WPM
- Volume: 80%
- Voice: Auto-selects best available voice
- Resolution: 640x480
- Frame Rate: 30 FPS (car detection), 10 FPS (general objects)
- Dual Camera: Primary + Secondary camera support
-
Camera not detected:
- Check camera permissions
- Verify camera is not used by another application
- Try different camera indices (0, 1, 2)
-
TTS not working:
- Verify audio system is working
- Check Windows audio permissions
- Try different TTS voices
-
Model loading errors:
- Ensure internet connection for first-time model download
- Check available disk space (models are ~6MB each)
- Verify PyTorch installation
-
Performance issues:
- Close other applications using camera/GPU
- Reduce video resolution if needed
- Check system memory usage
The application provides detailed logging in the GUI. Common log messages:
"Car Detection: X vehicles detected"- Normal operation"TTS: 'Warning: vehicles detected'"- Safety alert"Bus Route Recognition: Route X detected"- Route identification"Error starting system"- Check camera/permissions
- GPS Integration: Location-based navigation assistance
- Advanced OCR: Better multi-language text recognition
- Machine Learning: User-specific learning and adaptation
- Mobile App: Companion smartphone application
- Cloud Integration: Remote processing for complex scenarios
- Edge AI Optimization: Faster inference on mobile devices
- Multi-modal Input: Integration with other sensors
- Accessibility Features: Voice commands and haptic feedback
- Offline Mode: Complete offline operation capability
We welcome contributions to improve VI_NAV:
- Bug Reports: Report issues with detailed logs
- Feature Requests: Suggest new navigation assistance features
- Code Contributions: Submit pull requests for improvements
- Testing: Help test on different devices and environments
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Documentation: Check this README and inline code comments
- Issues: Report bugs and feature requests via GitHub issues
- Community: Join our community discussions for tips and help
- Ultralytics: YOLO model implementation
- OpenCV: Computer vision framework
- PyTTSx3: Text-to-speech functionality
- Chennai Transport: Bus route information
- Blind Community: Feedback and testing support
A-eye - Empowering Independent Navigation Through AI