Skip to content

kvb1201/gtrisp-vehicle-analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G-TRISP Vehicle Detection and Tracking

Overview

This project is an intelligent traffic video analytics system developed for the G-TRISP internship task. The system performs vehicle detection, multi-object tracking, trajectory extraction, vehicle counting, speed estimation, and congestion analytics on traffic videos.

The pipeline is designed specifically for real-world Indian traffic conditions and includes custom auto-rickshaw reclassification for improved vehicle categorization.


Features

  • Vehicle Detection using YOLOv8
  • Multi-Object Tracking using ByteTrack
  • Persistent Vehicle IDs
  • Auto-Rickshaw Reclassification
  • Vehicle Trajectory Extraction
  • Vehicle Trajectory Visualization
  • Vehicle Counting using Line-Crossing Analytics
  • Vehicle Speed Estimation
  • Congestion Analytics
  • Annotated Video Generation
  • CSV Trajectory Export
  • Final Traffic Analytics Summary Export

Pipeline Architecture

Input Traffic Video
        ↓
YOLOv8 Vehicle Detection
        ↓
Vehicle Reclassification
        ↓
ByteTrack Multi-Object Tracking
        ↓
Trajectory Extraction
        ↓
Speed Estimation
        ↓
Vehicle Counting + Congestion Analytics
        ↓
Annotated Video + CSV Export + Summary Report

Technologies Used

  • Python
  • OpenCV
  • YOLOv8 (Ultralytics)
  • ByteTrack
  • PyTorch
  • MobileNetV2
  • NumPy
  • CSV Analytics

Folder Structure

gtrisp-vehicle-analytics/
│
├── input/
│
├── outputs/
│   ├── csv/
│   │   └── trajectories.csv
│   │
│   ├── detection_output.mp4
│   └── final_summary.txt
│
├── models/
│
├── src/
│   ├── classifier_inference.py
│   ├── congestion_utils.py
│   ├── counting_utils.py
│   ├── detect_track.py
│   ├── speed_utils.py
│   ├── summary_utils.py
│   ├── tracking_utils.py
│   ├── trajectory_utils.py
│   └── visualization_utils.py
│
├── run.py
├── requirements.txt
└── README.md

Setup

Create a virtual environment:

python -m venv .venv
source .venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Run

Run the complete traffic analytics pipeline:

python run.py

Outputs

After running the pipeline, the generated outputs are stored at:

Processed Annotated Video

outputs/detection_output.mp4

Vehicle Trajectory CSV

outputs/csv/trajectories.csv

Final Traffic Analytics Summary

outputs/final_summary.txt

CSV Output Format

The trajectory CSV contains:

  • Frame Number
  • Timestamp
  • Track ID
  • Vehicle Class
  • Detection Confidence
  • Bounding Box Coordinates
  • Centroid Coordinates
  • Bounding Box Dimensions
  • Bounding Box Area

Traffic Analytics Features

Vehicle Counting

Vehicles are counted using persistent ByteTrack IDs and line-crossing analytics.

Speed Estimation

Vehicle speed is estimated using trajectory displacement over time.

Congestion Analytics

Traffic congestion is estimated using:

  • active tracked vehicles
  • average vehicle speed
  • traffic density heuristics

Visualization Features

The annotated output video includes:

  • Persistent Tracking IDs
  • Vehicle Class Labels
  • Speed Estimation Overlays
  • Vehicle Trajectories
  • Vehicle Counting
  • Congestion Analytics Dashboard

About

Vehicle analytics and reporting pipeline for processing telemetry and operational datasets with automated CLI-based analysis, summarization, and formatted report generation utilities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages