Object Detection Web App using YOLOv5 & Streamlit
This project is a web-based object detection application built with Python, Streamlit, and a pre-trained YOLOv5 model. It allows users to upload an image and automatically detect and visualize multiple objects within the image in real time.
Project Overview
The application uses YOLOv5 (You Only Look Once), a state-of-the-art deep learning model for object detection, to identify objects and draw bounding boxes with labels and confidence scores. The entire workflow is wrapped in an interactive Streamlit interface, making the model easy to use without any coding knowledge.
Key Features
Image Upload: Users can upload JPG, JPEG, or PNG images.
Real-Time Object Detection: Detects multiple objects in a single image using a pre-trained YOLOv5s model.
Visual Results: Displays the original image alongside the detected image with bounding boxes and labels.
Detailed Detection Table: Shows raw detection results (class name, confidence score, bounding box coordinates) in a structured dataframe.
Data Visualization: Generates a bar chart showing the count of each detected object class.
Download Feature: Allows users to download the processed image with detected objects.
Optimized Performance: Uses Streamlit caching to load the model efficiently.
Technologies Used
Python
PyTorch
YOLOv5 (Ultralytics)
Streamlit
NumPy
Pandas
PIL (Image Processing)
Matplotlib & Plotly-compatible charts
Use Cases
Computer vision demos
Educational projects
AI-powered web applications
Image analysis tools
Rapid prototyping for object detection systems
Highlights
Clean and user-friendly UI
End-to-end AI pipeline (upload → inference → visualization)
Combines deep learning, data analysis + web deployment
Easily extendable to video or webcam detection