Skip to content

Amrit828/A-eye

Repository files navigation

A-eye - AI Safety System for Blind Navigation

Overview

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.

Features

🚗 Car Detection Module

  • 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

🚶 Object Detection Module

  • 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

🚌 Bus Route Recognition Module

  • 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

🔊 Text-to-Speech (TTS) Module

  • 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

Technical Architecture

AI/ML Components

  • 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

System Requirements

  • 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

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd vi_nav
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the application:

    python vi_nav.py

Usage

Starting the System

  1. Launch the VI_NAV application
  2. Click "Start Navigation System" to initialize all modules
  3. The system will automatically:
    • Load YOLO models
    • Initialize camera feeds
    • Start real-time detection
    • Begin audio guidance

Navigation Assistance

  • 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

Safety Features

  • 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

Module Details

Car Detection Module

# Real-time YOLO inference for vehicle detection
results = self.car_detector(frame, conf=CAR_DETECTION_THRESHOLD)
# Processes cars, trucks, buses, motorcycles

Object Detection Module

# General object detection for navigation assistance
results = self.general_detector(frame, conf=OBJECT_DETECTION_THRESHOLD)
# Detects people, bicycles, traffic lights, signs, etc.

TTS Module

# Non-blocking text-to-speech synthesis
threading.Thread(
    target=lambda: self.tts_engine.say(text) or self.tts_engine.runAndWait(),
    daemon=True
).start()

Bus Route Recognition

# Two-step pipeline: Object Detection + OCR
# Step 1: Detect buses and destination signs
# Step 2: OCR for route numbers and multi-script text

Chennai Bus Route Database

The 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

Configuration

Detection Thresholds

  • Car Detection: 0.5 confidence threshold
  • Object Detection: 0.3 confidence threshold
  • Bus Detection: 0.4 confidence threshold

TTS Settings

  • Speech Rate: 150 WPM
  • Volume: 80%
  • Voice: Auto-selects best available voice

Camera Settings

  • Resolution: 640x480
  • Frame Rate: 30 FPS (car detection), 10 FPS (general objects)
  • Dual Camera: Primary + Secondary camera support

Troubleshooting

Common Issues

  1. Camera not detected:

    • Check camera permissions
    • Verify camera is not used by another application
    • Try different camera indices (0, 1, 2)
  2. TTS not working:

    • Verify audio system is working
    • Check Windows audio permissions
    • Try different TTS voices
  3. Model loading errors:

    • Ensure internet connection for first-time model download
    • Check available disk space (models are ~6MB each)
    • Verify PyTorch installation
  4. Performance issues:

    • Close other applications using camera/GPU
    • Reduce video resolution if needed
    • Check system memory usage

Log Analysis

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

Future Enhancements

Planned Features

  • 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

Technical Improvements

  • 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

Contributing

We welcome contributions to improve VI_NAV:

  1. Bug Reports: Report issues with detailed logs
  2. Feature Requests: Suggest new navigation assistance features
  3. Code Contributions: Submit pull requests for improvements
  4. Testing: Help test on different devices and environments

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

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

Acknowledgments

  • 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

About

"A-eye — Real-time AI navigation assistant for the visually impaired, using YOLOv8 for vehicle/obstacle detection, OCR for Chennai bus route recognition, and text-to-speech alerts."

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages