Skip to content

AI-powered assistive vision system for visually impaired individuals

Notifications You must be signed in to change notification settings

DemonnSAM/vision-mate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vision Mate

An AI-powered assistive vision system designed to help visually impaired individuals navigate their environment by identifying objects, estimating distances, and providing real-time audio feedback. 🌟 Features

-Real-time Object Detection: Uses YOLOv8 for accurate and fast object recognition
-Distance Estimation: Calculates distance to detected objects using triangle similarity
-Voice Feedback: Multi-engine text-to-speech system with fallback options
-Movement Tracking: Monitors object movement patterns (getting closer/moving away)
-Auto-Speak Mode: Automatically announces detected objects at regular intervals
-Web Interface: User-friendly dashboard for system control and monitoring
-Cross-Platform Support: Works on Windows, macOS, Linux, and WSL

πŸš€ Quick Start Prerequisites

-Python 3.8+
-IP camera with MJPEG streaming support
-Speakers or headphones for audio output
-WiFi or Ethernet 

Installation

1.Clone the repository:
git clone https://github.com/YOUR_USERNAME/vision-mate.gitcd vision-mate

2.Create conda environment:
conda env create -f environment.yml
conda activate vision-mate 

3.Install dependencies:
pip install -r requirements.txt

4.Download YOLO model:
wget https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x.pt

5.Run the application:
python app.py

Camera Setup

-Install an IP camera app on your smartphone (IP Webcam, DroidCam, etc.) 
-Connect your phone to the same WiFi network as your computer 
-Configure the app to enable IP camera mode 
-Note the IP address shown in the app 
-Update the phone_ip variable in app.py with your phone's IP address 

Voice Commands

 -"What do you see?": Announces all currently detected objects
 -"Auto Speak": Toggles automatic object announcements every 7 seconds
 -"Clear Memory": Resets the object announcement history
 -Distance Estimation: Automatically calculates distances to people, vehicles, and common objects

Camera Settings: # In app.py, update these variables: phone_ip = "# Your phone's IP address"
phone_port = "8080" # Default IP camera port

πŸ“Š API Endpoints Endpoint

Method

Description

/GET Main web interface /video_feed GET MJPEG video stream /status GET System status information /voice/objects GET Announce detected objects /voice/speak_objects_once GET Speak all objects once /voice/auto_speak GET Toggle auto-speak mode /voice/clear_announcements GET Clear announcement history /test_tts GET Test text-to-speech

πŸ”§ Development Project Structure

vision-mate/ β”œβ”€β”€ app.py # Main Flask application β”œβ”€β”€ templates/ β”‚ └── index.html # Web interface β”œβ”€β”€ requirements.txt # Python dependencies β”œβ”€β”€ README.md # This file β”œβ”€β”€ .gitignore # Git ignore rules β”œβ”€β”€ environment.yml # Conda environment file └── yolov8x.pt # YOLO model (large file)

About

AI-powered assistive vision system for visually impaired individuals

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published