A real-time multi-object tracking system built using YOLOv8 and OpenCV that detects, tracks, assigns unique IDs, and automatically exports the processed video.
This project demonstrates how to build a complete object tracking pipeline:
Detect objects in each frame
Track objects across frames with unique IDs
Maintain identity consistency
Save the processed video automatically
Open the exported video after processing
It highlights the difference between Object Detection and Object Tracking in real-world Computer Vision systems.
Python
OpenCV
Ultralytics YOLOv8
ByteTrack (built-in YOLOv8 tracking)
Load YOLOv8 pretrained model (yolov8n.pt)
Read input video frame-by-frame
Apply model.track() with persist=True
Annotate frames with tracking IDs
Save processed frames to output video
Automatically open exported video
Difference between Detection vs Tracking
How ByteTrack maintains object identity
Real-time video frame processing
FPS handling & video writing
Building end-to-end CV pipelines