Skip to content

UniversalObjectDetector is a modular, high-performance object detection system designed for real-time and batch processing of images and video streams.

Notifications You must be signed in to change notification settings

SakhileKhuzwayo222/UniversalObjectDetector

Repository files navigation


Universal Object Detector


Project Description

UniversalObjectDetector is a flexible and high-performance object detection framework that supports multiple detection techniques, including Haar Cascades, YOLO (You Only Look Once), and custom Machine Learning models. Designed for both images and real-time video streams, it provides precise and efficient object recognition while maintaining a modular structure for easy extension and optimization.

This project is divided into three main components:

  • Core: Defines object models, interfaces, and essential utility functions.
  • Detectors: Implements various detection algorithms, making it easy to integrate new models.
  • App: A console-based application demonstrating real-time object detection.

Features

  • Multi-Model Support
  • – Integrates Haar Cascades, YOLO, and ML-based detection.
  • Real-Time Processing
  • – Detects objects in live video feeds from webcams.
  • Image-Based Detection
  • – Works with static images as well as video streams.
  • Modular and Extensible
  • – Easily add new detection methods and configurations.
  • Configurable Resources
  • – Supports external model files, configuration settings, and datasets.

Project Structure

UniversalObjectDetector/
├── UniversalObjectDetector.Core/
│   ├── Models/
│   │   ├── DetectedObject.cs
│   │   ├── ObjectCategory.cs
│   ├── Interfaces/
│   │   ├── IObjectDetector.cs
│   ├── Utilities/
│       ├── ImageProcessingHelpers.cs
│       ├── ConfigurationManager.cs
│
├── UniversalObjectDetector.Detectors/
│   ├── Implementations/
│   │   ├── HaarCascadeDetector.cs
│   │   ├── YOLODetector.cs
│   │   ├── MachineLearningDetector.cs
│   ├── Config/
│   │   ├── DetectorConfiguration.cs
│   ├── Utilities/
│       ├── DetectionHelpers.cs
│
├── UniversalObjectDetector.App/
│   ├── Program.cs
│
├── resources/
│   ├── cascades/           # Pre-trained Haar cascade XML files
│   ├── models/             # YOLO and ML model weights/configs
│   ├── training_images/    # Datasets for training/testing
│   ├── config.json         # Configuration settings
│
└── README.md

Dependencies

Ensure the following NuGet packages are installed:

OpenCvSharp4
OpenCvSharp4.runtime.win
System.Drawing.Common

Setup and Usage

1️⃣ Clone the Repository

git clone https://github.com/your-username/UniversalObjectDetector.git
cd UniversalObjectDetector

2️⃣ Build and Run

  1. Open the project in Visual Studio.
  2. Restore NuGet dependencies:
    dotnet restore
  3. Run the console application:
    dotnet run --project UniversalObjectDetector.App

3️⃣ Configuration

  • Place Haar cascade XML files in resources/cascades/.
  • Store YOLO model files (.cfg, .weights) in resources/models/.
  • Edit config.json to switch between different detection methods.

License

This project is licensed under the MIT License – feel free to use and modify it.


Contributing

Contributions are welcome! If you’d like to enhance the project, submit an issue or create a pull request.


Contact

For any inquiries, reach out via GitHub Issues.


This version makes the project more engaging, readable, and structured while keeping everything informative. Let me know if you want any tweaks! 🚀

About

UniversalObjectDetector is a modular, high-performance object detection system designed for real-time and batch processing of images and video streams.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •