Vison_Learning

VocabLearn

Python Streamlit YOLOv8 OpenCV


📚 VocabLearn

AI-Powered real-time vocabulary trainer — point your webcam at everyday objects and learn their English names instantly using state-of-the-art object detection.

VocabLearn uses YOLOv8 to detect objects from your webcam or uploaded images and builds an interactive vocabulary list for learning and review.


✨ Key Features


🧩 What it Detects

VocabLearn uses the YOLOv8 Nano model (yolov8n.pt) and recognizes the 80 object classes from the COCO dataset (everyday object categories). You can change the model to yolov8s, yolov8m, yolov8l, or yolov8x for different accuracy/speed trade-offs.


🚀 Quick Start

Requirements

Clone the repository

git clone https://github.com/Gus-Fring666/Vison_Learning.git
cd Vison_Learning

Install dependencies

Install from requirements:

pip install -r requirements.txt

Or install manually:

pip install streamlit ultralytics opencv-python-headless numpy Pillow

Note: Use opencv-python instead of opencv-python-headless if you plan to run the OpenCV desktop app with native windows.

Model weights

The yolov8n.pt weights will be automatically downloaded by the Ultralytics library on first run. If you prefer, place a model file in the project root.


🖥️ Running the App

Streamlit (recommended):

streamlit run streamlit_app.py

OpenCV desktop app (original):

python app.py

Streamlit will open at http://localhost:8501 by default.


🎮 Usage Guide

Live Detection

  1. Click “Start Detection” to enable the webcam.
  2. Point the camera at everyday objects.
  3. Watch detections appear and be added to your vocabulary list automatically.
  4. Click “Stop Detection” to pause.

Image Upload Mode

  1. Use “Upload Image” to analyze local images (JPG, PNG, BMP, WebP).
  2. Results are shown with the same detection overlays and added to vocabulary.

Screenshots

Export Vocabulary


⚙️ Configuration & Settings

Recommended presets:


🐛 Troubleshooting


🧭 Project Structure (example)

Vison_Learning/
├── streamlit_app.py        # Streamlit web app (main)
├── app.py                  # OpenCV desktop app
├── requirements.txt        # Dependencies
├── README.md               # Project documentation
├── yolov8n.pt              # Model weights (auto-download)
└── screenshots/            # Saved screenshots

📈 Ideas for Improvements / Contributing

Contributions welcome! Suggested enhancements:

If you’d like to contribute, fork the repo, open a branch, and submit a PR. Include tests and update the README where appropriate.


📄 License

This project is released under the MIT License. See the LICENSE file for details.


Built with ❤️ using Streamlit + YOLOv8 — VocabLearn © 2026