This repository contains scripts for evaluating and comparing the efficiency and accuracy of YOLO object detection models across different configurations and inference conditions. The focus is on understanding trade-offs between model size, speed, and detection reliability in constrained or real-time settings.
This project explores performance differences between:
- YOLOv8 Large and YOLOv8 Nano models
- Standard inference and diagnostic-enhanced modes
Each file is structured to isolate testing scenarios:
ObjectDetectLarge.py: YOLOv8 Large standard inferenceObjectDetectLargeDiag.py: YOLOv8 Large with diagnostic loggingObjectDetectNano.py: YOLOv8 Nano standard inferenceObjectDetectNanoDiag.py: YOLOv8 Nano with diagnostic logging
The diagnostic versions include detailed breakdowns of:
- FPS and latency metrics
- Frame-by-frame detection consistency
- Hardware usage insights (GPU/CPU load)
In real-world applications like drones, robotics, and autonomous navigation, model selection involves balancing precision and computational efficiency. This project helps benchmark those trade-offs to inform deployment decisions under resource constraints.
Each script:
- Loads a pre-trained YOLOv8 model.
- Captures video input (via webcam or file).
- Runs inference and tracks performance metrics.
- Logs or visualizes output depending on mode.
- Rapid prototyping for embedded systems
- Benchmarking detection performance on different GPUs
- Educational tool to understand model scaling
- Debugging and system diagnostics for CV pipelines
| File | Description |
|---|---|
ObjectDetectLarge.py |
YOLOv8 Large model basic detection script |
ObjectDetectLargeDiag.py |
Large model with extended diagnostics |
ObjectDetectNano.py |
Lightweight YOLOv8 Nano detection script |
ObjectDetectNanoDiag.py |
Nano model with diagnostic insights |
- Python 3.8+
- OpenCV
- Ultralytics YOLOv8
- PyTorch with CUDA (for GPU use)
Install dependencies:
pip install -r requirements.txt