Computer Vision / AI

Real-Time Object Tracker & Reporter

Model YOLOv8n (nano)
Library OpenCV, Ultralytics
Output Video, CSV, JSON, PNG Report

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.

Project Overview: Vision and Analysis

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.

Key Systems & Reporting

🔍

Real-Time Tracking

Uses YOLOv8 for detection and custom code for a simplified tracking loop, assigning persistent IDs to objects across frames.

📊

General Report

Summarizes the total number of appearances for every detected object class and saves the output to a clean CSV file.

⏱️

Specific Report

Generates detailed metrics for a single, user-specified class, including the total time the object appeared in the video.

📈

Data Visualization

Creates a Matplotlib histogram (.png) showing the time distribution of a specific object's presence, along with a report on its approximate screen position.

Technology Stack

Python YOLOv8 (Ultralytics) OpenCV (cv2) NumPy Matplotlib CSV / JSON