Rwanda Eye is a bilingual (English + Kinyarwanda) AI vision desktop app built with Python and OpenCV.
It provides 3 real-time modules:
- Plant Doctor: detects plant disease and gives treatment guidance.
- Road Inspector: detects potholes, estimates severity, and simulates district reporting.
- Accessibility Oracle: estimates emotion/age/gender and supports voice guidance mode.
The app also includes:
- Voice commands (English and Kinyarwanda)
- Spoken feedback
- Synthetic alert sounds
- Session report overlay
main.py starts the app and shows the menu UI. From there, users can open modules by keyboard or voice.
Core flow:
- App starts
VoiceEngine,SoundEngine, HUD, and report generator. - A background voice thread listens for commands like
plant,road,face,report,menu,quit. - Selected module opens camera/video input and runs live analysis.
- Stats are tracked in
session_stats. - Report view summarizes total scans, detections, reports, and impact.
- If model files exist in
models/, YOLO/DeepFace are used. - If model files are missing, the app falls back to demo/simulated mode so you can still run and test the UI.
Expected optional model files:
models/plant_disease.ptmodels/pothole.pt
main.py: app entry point and module routingmodules/plant_doctor.py: plant disease modulemodules/road_inspector.py: road damage modulemodules/accessibility.py: accessibility analysis modulevoice_engine.py: speech output + voice command listeningsound_engine.py: generated sound effectshud.py: shared visual overlaysreport_generator.py: end-of-session report screentranslations/kinyarwanda.py: translation map
- Python 3.10+ (project currently has a Python 3.12 venv)
- Webcam (for Plant/Accessibility modules)
- Microphone (for voice commands)
- Speaker/audio output (for voice + alerts)
Python dependencies are listed in requirements.txt.
python3 -m venv .venv
source .venv/bin/activatepip install -r requirements.txtpython main.py1: Plant Doctor2: Road Inspector3: Accessibility Oracler: Show session reportm: Return to menu (inside modules)qorEsc: Quit/exit current moduleb: Toggle blind mode (Accessibility module)
English: plant, road, face, report, help, menu, stop, quit
Kinyarwanda keywords supported: tangira, hagarara, raporo, nfasha, inzira, ubuso, soma
- First run may be slower if heavy ML packages are installed.
gTTSmay need internet for Kinyarwanda voice synthesis.- If camera/mic/audio is unavailable, the app still starts but related features may degrade gracefully.