This project implements a real-time object detection application using a custom YOLO-based model called Object-Orion. The application is built with Streamlit and offers multiple input options including image upload, video upload, and real-time camera feed.
Try out the app. object-orion
- Camera module doesnt work on web yet. You can try running it on your system.
- Download the code.
- Open the
Object-Detection-Using-YOLOdirectory in any terminal. - Run the commands:
pip install -r requirements.txtstreamlit run app.py
Voila!
- Real-time object detection using Object-Orion v1
- Support for image, video, and camera input
- User-friendly interface built with Streamlit
- Asynchronous processing for smooth performance
The Pascal VOC dataset is a benchmark in computer vision, containing annotated images for object detection and classification tasks, with defined 20 object categories. Pascal-VOC
Object-Orion is a custom object detection model based on the YOLO (You Only Look Once) architecture. It's currently in its first version (v1) with an accuracy of approximately 69%. While it's still in development, it demonstrates promising results for real-time object detection tasks.
For more information about Object-Orion, visit Object-Orion.
The project consists of two main Python files:
app.py: The main application file that creates the Streamlit interface and handles user interactions.yolo_predictions.py: Contains theYOLO_Predclass that interfaces with the Object-Orion model for making predictions.
This file sets up the Streamlit application and includes the following key components:
YOLOTransformerclass: Handles real-time video processing using the Object-Orion model.- Input selection: Allows users to choose between image, video, or camera input.
- Image and video processing functions: Handle uploaded images and videos.
- WebRTC implementation: Enables real-time camera feed processing.
This file contains the YOLO_Pred class, which is responsible for:
- Loading the Object-Orion model
- Processing input images or video frames
- Applying non-maximum suppression to filter detections
- Drawing bounding boxes and labels on the processed images
-
Install the required dependencies:
-
Run the Streamlit app:
-
Select your preferred input method (Image, Video, or Camera) from the radio buttons.
-
For image or video input, upload a file using the file uploader.
-
For camera input, allow the application to access your camera when prompted.
-
View the results of object detection in real-time!
- Improve the accuracy of the Object-Orion model
- Add support for more object classes
- Optimize performance for faster processing
- Implement object tracking for video and camera inputs
Contributions to improve the application or the Object-Orion model are welcome. Please feel free to submit pull requests or open issues on the GitHub repository.
MIT LICENSE