How esteebaan23/vehicle-license-plate-detection-with-yolo26 works
This repository is a video-based vehicle and license-plate detection pipeline. A user supplies a video and model options; main.py reads frames, runs vehicle and plate detection, applies confidence/ROI and optional vehicle-containment filters, optionally extracts plate text, then annotates and writes video frames. It can also log detections to FiftyOne. Geometry helpers support filtering and bounding-box conversion. The README documents these capabilities; some wiring lies in omitted main.py lines, so the graph avoids uncertain details such as exact model initialization and filtering call paths.
Main entry points: main.py Pipeline Orchestrator · vehicle_detection.py Vehicle Detection · text_extraction.py Text Extraction · ocr.py OCR Processing
Components 15
Video Pipeline
- Pipeline Orchestrator
main.py - ROI & Geometry
process/utils/geometry.py
Detection
- Vehicle Detection
process/computer_vision_models/vehicle_detection.py - Plate Detection
main.py
Plate OCR
- Text Extraction
process/ocr_extraction/text_extraction.py - OCR Processing
process/ocr_extraction/ocr.py
Outputs & Logging
- Annotated Video
- FiftyOne Logging
main.py
Other components
- Video User
- Input Video
- YOLO Runtime
- YOLO Weights
models - EasyOCR
- OpenCV Video I/O
- FiftyOne Dataset
Connections 18
- Video User → Pipeline Orchestrator: configures
- Video User → Input Video: provides
- Pipeline Orchestrator → OpenCV Video I/O: reads frames
- OpenCV Video I/O → Input Video: decodes
- Pipeline Orchestrator → Vehicle Detection: requests detection
- Vehicle Detection → YOLO Runtime: runs inference
- Pipeline Orchestrator → Plate Detection: runs inference
- Plate Detection → YOLO Runtime: runs inference
- Vehicle Detection → YOLO Weights: loads weights
- Plate Detection → YOLO Weights: loads weights
- Pipeline Orchestrator → ROI & Geometry: uses ROI helpers
- Pipeline Orchestrator → Text Extraction: requests OCR
- Text Extraction → OCR Processing: detects text
- OCR Processing → EasyOCR: reads text
- Pipeline Orchestrator → OpenCV Video I/O: writes annotated frames
- OpenCV Video I/O → Annotated Video: encodes video
- Pipeline Orchestrator → FiftyOne Logging: dispatches samples
- FiftyOne Logging → FiftyOne Dataset: saves dataset