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.
- 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.
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
Ensure the following NuGet packages are installed:
OpenCvSharp4
OpenCvSharp4.runtime.win
System.Drawing.Commongit clone https://github.com/your-username/UniversalObjectDetector.git
cd UniversalObjectDetector- Open the project in Visual Studio.
- Restore NuGet dependencies:
dotnet restore
- Run the console application:
dotnet run --project UniversalObjectDetector.App
- Place Haar cascade XML files in
resources/cascades/. - Store YOLO model files (
.cfg,.weights) inresources/models/. - Edit
config.jsonto switch between different detection methods.
This project is licensed under the MIT License – feel free to use and modify it.
Contributions are welcome! If you’d like to enhance the project, submit an issue or create a pull request.
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! 🚀