Skip to content

ezzu9/object-detection-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Object Detection App

Python Streamlit YOLOv8

A real-time object detection web app built with YOLOv8 and Streamlit that can detect 80 different object classes from uploaded images.

Live Demo


Features

  • Image Upload — supports JPG, JPEG, and PNG formats
  • YOLOv8n Inference — fast, lightweight model auto-downloaded on first run
  • Bounding Boxes — annotated output with confidence scores per detection
  • Results Table — per-class breakdown of object, average confidence %, and count
  • Plotly Bar Chart — interactive chart of detected object counts
  • Confidence Threshold Slider — filter detections in real time (0.1 – 0.9)
  • NMS Support — configurable IoU threshold to suppress overlapping duplicate boxes
  • Dark Modern UI — custom-styled dark theme with a #63d3a1 accent

Tech Stack

Layer Technology
Language Python 3.11
Object Detection YOLOv8 (Ultralytics)
Web Framework Streamlit
Image Processing OpenCV, Pillow
Deep Learning PyTorch, TorchVision
Visualisation Plotly

Run Locally

1. Clone the repository

git clone https://github.com/ezzu9/object-detection-app.git
cd object-detection-app

2. Create a virtual environment (Python 3.11)

python3.11 -m venv venv
source venv/bin/activate        # Windows: venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Launch the app

streamlit run app.py

The app opens at http://localhost:8501. YOLOv8n weights (~6 MB) are downloaded automatically on first run.


Model

Property Value
Architecture YOLOv8n (nano)
Training Dataset COCO 2017
Object Classes 80 (people, vehicles, animals, everyday objects, …)
Weights Auto-downloaded via Ultralytics on first launch

Author

Ertaza Manzoor
BSc Artificial Intelligence — Anglia Ruskin University, Cambridge

GitHub LinkedIn

Releases

No releases published

Packages

 
 
 

Contributors

Languages