Road conditions in India present unique challenges for autonomous driving systems due to dense traffic, heterogeneous vehicle types, unpredictable road users, and varying infrastructure.
This project develops an Advanced Driver Assistance System (ADAS) capable of detecting common road objects in Indian traffic using state-of-the-art YOLO object detection models.
The project compares the performance of YOLOv8 and YOLO26 on the DIRS21 (Dataset for Indian Road Scenarios) dataset and evaluates each model using Precision, Recall, Detection Accuracy, mAP@50, and mAP@50-95.
The objective was to determine which model provides better real-time detection performance for Indian road environments while maintaining high inference speed.
- π Real-time object detection
- π Detects multiple vehicle categories
- π Motorcycle detection
- πΆ Pedestrian detection
- π Truck detection
- π Auto-rickshaw detection
- π Performance comparison between YOLOv8 and YOLO26
- π Precision-Recall analysis
- π Training loss visualization
- π Confusion Matrix generation
- π― mAP evaluation
- β‘ GPU accelerated training
| Model | Purpose |
|---|---|
| YOLOv8n | Baseline model |
| YOLO26n | Improved object detector |
Dataset Used
DIRS21 (Dataset for Indian Road Scenarios)
The dataset contains images collected from Indian roads containing diverse traffic conditions including:
- Cars
- Buses
- Trucks
- Motorcycles
- Auto Rickshaws
- Pedestrians
Dataset Split:
| Split | Percentage |
|---|---|
| Training | 80% |
| Testing | 10% |
| Validation | 10% |
ADAS-System-for-Indian-Roads
β
βββ data.yaml
βββ dataset_split.py
βββ show_accuracy.py
βββ requirements.txt
β
βββ runs/
β βββ detect/
β βββ train-3/
β βββ train-4/
β βββ train-5/
β βββ train-8/
β βββ train-9/
β βββ yolo26n_20epochs/
β βββ yolo26n_40epochs/
β βββ yolo26n_60epochs/
β βββ yolo26n_80epochs/
β
βββ README.md
βββ LICENSE
- Python
- PyTorch
- Ultralytics YOLO
- OpenCV
- NumPy
- Pandas
- Matplotlib
Clone the repository
git clone https://github.com/ArmaanBhide/ADAS-System-for-Indian-Roads.gitGo into the project
cd ADAS-System-for-Indian-RoadsInstall dependencies
pip install -r requirements.txtTrain YOLOv8
yolo detect train model=yolov8n.pt data=data.yaml epochs=60Train YOLO26
yolo detect train model=yolo26n.pt data=data.yaml epochs=60| Parameter | Value |
|---|---|
| Image Size | 640 Γ 640 |
| Optimizer | AdamW (Auto Optimizer) |
| Batch Size | 8 |
| Device | GPU |
| Early Stopping | Patience = 10 |
| Data Augmentation | Mosaic, Scale, Flip, HSV |
| Dataset Split | 80 / 10 / 10 |
The final trained models were evaluated using multiple object detection metrics.
| Metric | YOLOv8n (60 Epochs) | YOLO26n (60 Epochs) |
|---|---|---|
| Detection Accuracy | 79.40% | 80.48% |
| Precision | 81.68% | 84.50% |
| Recall | 77.13% | 76.47% |
| mAP@50 | 85.48% | 85.14% |
| mAP@50-95 | 48.54% | 49.07% |
| Training Detail | Value |
|---|---|
| Model | YOLOv8n |
| Epochs | 60 |
| Dataset | DIRS21 |
| Batch Size | 8 |
| Optimizer | AdamW |
| Image Size | 640 Γ 640 |
| Early Stopping | Enabled (Patience = 10) |
- Detection Accuracy : 79.40%
- Precision : 81.68%
- Recall : 77.13%
- mAP@50 : 85.48%
- mAP@50-95 : 48.54%
| Training Detail | Value |
|---|---|
| Model | YOLO26n |
| Epochs | 60 |
| Dataset | DIRS21 |
| Batch Size | 8 |
| Optimizer | AdamW |
| Image Size | 640 Γ 640 |
| Early Stopping | Enabled (Patience = 10) |
- Detection Accuracy : 80.48%
- Precision : 84.50%
- Recall : 76.47%
- mAP@50 : 85.14%
- mAP@50-95 : 49.07%
The repository contains complete training visualizations generated by the Ultralytics framework.
These include:
- π Loss Curves
- π Precision Curve
- π Recall Curve
- π mAP Curve
- π Precision-Recall Curve
- π F1 Score Curve
Files available inside each training run:
results.png
BoxF1_curve.png
BoxPR_curve.png
BoxP_curve.png
BoxR_curve.png
The trained models were evaluated using confusion matrices to analyze class-wise prediction performance.
Included in this repository:
confusion_matrix.png
confusion_matrix_normalized.png
These matrices provide insights into:
- Correct classifications
- False Positives
- False Negatives
- Class confusion
Each successful training run contains:
- Training batches
- Validation batches
- Prediction visualizations
- Label distributions
- Class frequency plots
These outputs are preserved for reproducibility and model analysis.
Multiple experiments were conducted during model development.
- 20 Epochs
- 40 Epochs
- 60 Epochs
- 80 Epochs
These experiments helped analyze convergence behaviour and compare the effect of longer training durations.
β Highest Detection Accuracy
β Highest Precision
β Highest mAP@50-95
β Highest Recall
β Slightly higher mAP@50
The performance achieved in this project is compared with the reference research paper that utilized the DIRS21 dataset.
| Metric | Research Paper | This Project (YOLO26n) |
|---|---|---|
| Detection Accuracy | Comparable | 80.48% |
| Precision | Comparable | 84.50% |
| Recall | Comparable | 76.47% |
| mAP@50 | Comparable | 85.14% |
| mAP@50-95 | Comparable | 49.07% |
The obtained results demonstrate that the implemented pipeline successfully reproduces competitive performance on the DIRS21 dataset while validating the effectiveness of YOLO-based object detection for Indian road environments.
The current implementation demonstrates strong real-time object detection performance; however, several enhancements can further improve the system.
- Integrate lane detection
- Add traffic sign recognition
- Deploy on NVIDIA Jetson Nano
- Integrate LiDAR and camera fusion
- Real-time collision warning system
- Object tracking using ByteTrack/DeepSORT
- Speed estimation of surrounding vehicles
- Night-time detection using thermal cameras
- π¦ Traffic Sign Detection
- π₯ Traffic Light Recognition
- π Lane Detection
- π Distance Estimation using LiDAR
- π‘οΈ Thermal Camera Integration
β οΈ Collision Warning System- πΆ Pedestrian Intention Prediction
- π Vehicle Speed Estimation
- π GPS-based Navigation Assistance
- π₯ Real-time Video Stream Detection
- π€ Deployment on NVIDIA Jetson Nano
- βοΈ Edge AI Optimization using TensorRT
β Successfully trained and evaluated YOLOv8n and YOLO26n on the DIRS21 dataset.
β Achieved over 80% Detection Accuracy on Indian road scenarios.
β Compared two state-of-the-art object detection architectures.
β Evaluated performance using:
- Detection Accuracy
- Precision
- Recall
- mAP@50
- mAP@50-95
- Confusion Matrix
- Precision-Recall Curves
- F1 Score Curves
β Conducted multiple experimental training runs to analyze convergence across different epoch counts.
This project can be integrated into:
- Advanced Driver Assistance Systems (ADAS)
- Autonomous Vehicles
- Smart Transportation Systems
- Intelligent Traffic Monitoring
- Road Safety Analytics
- Fleet Management
- Driver Assistance Solutions
- Edge AI Systems
DIRS21 β Dataset for Indian Road Scenarios
IEEE Dataport
Ultralytics YOLO
https://github.com/ultralytics/ultralytics
PyTorch
OpenCV
Special thanks to:
- Ultralytics
- PyTorch
- OpenCV
- IEEE Dataport
- DIRS21 Dataset Authors
for providing the resources and tools that made this project possible.
This repository includes:
- Complete source code
- Dataset preprocessing script
- Training configuration
- Model evaluation scripts
- Training statistics
- Performance comparison
- Training graphs
- Confusion matrices
- Precision-Recall curves
- F1 curves
- CSV training logs
- Experimental results
This project is licensed under the MIT License.
See the LICENSE file for more information.
ADAS-System-for-Indian-Roads
β
βββ dataset/
β
βββ DIRS21/
β
βββ runs/
β βββ detect/
β βββ yolo26n_20epochs/
β βββ yolo26n_40epochs/
β βββ yolo26n_60epochs/
β βββ yolo26n_80epochs/
β
βββ data.yaml
βββ dataset_split.py
βββ show_accuracy.py
βββ requirements.txt
βββ README.md
βββ LICENSE
Computer Science Engineering (Artificial Intelligence & Machine Learning)
Interested in:
- Artificial Intelligence
- Computer Vision
- Machine Learning
- Deep Learning
- Edge AI
- Autonomous Driving
- Intelligent Transportation Systems
GitHub:
https://github.com/ArmaanBhide
Please consider giving this repository a β on GitHub.
It helps support the project and motivates future improvements.









