A comprehensive computer vision system that performs real-time object detection and tracking on a video feed. It logs the activity of all detected objects and generates analytical reports on their presence, duration, and position within the frame.
This project integrates the YOLOv8 deep learning model with OpenCV to create a robust video analysis tool. Its primary function is to identify and consistently track individual objects across successive frames of a video.
Unlike simple detection, this system employs a custom tracking logic (based on bounding box proximity and class ID) to maintain a unique Object ID for each entity, enabling detailed, frame-by-frame logging of its activities. All raw data is stored in CSV and JSON formats for later processing.
Uses YOLOv8 for detection and custom code for a simplified tracking loop, assigning persistent IDs to objects across frames.
Summarizes the total number of appearances for every detected object class and saves the output to a clean CSV file.
Generates detailed metrics for a single, user-specified class, including the total time the object appeared in the video.
Creates a Matplotlib histogram (.png) showing the time distribution of a specific object's presence, along with a report on its approximate screen position.