license: mit
tags:
- computer-vision
- object-detection
- pytorch
- yolov7
- road-damage-detection
- autonomous-driving
datasets:
- custom-pothole-dataset
widget:
- src: https://placehold.co/640x480/2d3748/ffffff?text=Road+Damage+Example
example_title: Road with Pothole
YOLOv7-tiny for Road Damage Detection (Including Water-Filled Potholes)
This is a YOLOv7-tiny
model trained to detect various types of road damage, with a special focus on identifying potholes that are filled with water. The model is based on the final project research by Benito Yvan Deva Putra Arung Dirgantara from the Politeknik Elektronika Negeri Surabaya (PENS).
The project systematically analyzes the detection of road defects using a Convolutional Neural Network (CNN) approach, evaluates optimal training configurations through extensive hyperparameter tuning, and assesses deployment performance on edge devices like the NVIDIA Jetson AGX Orin.
Model Description
- Architecture: YOLOv7-tiny
- Framework: PyTorch
- Objective: To detect and classify four types of road damage for real-time road maintenance and safety applications.
- Classes:
L00
: Dry PotholeL01
: Wet Pothole (water-filled)R02
: Longitudinal CrackR03
: Alligator Crack
Intended Use
This model is intended for real-time road damage detection from a moving vehicle. It has been optimized and tested for deployment on edge AI hardware, such as the NVIDIA Jetson series, making it suitable for integration into road survey vehicles or autonomous driving systems. The optimal detection speed was found to be between 10-15 km/h.
How to Use
You can use this model with the ultralytics
library or a standard PyTorch implementation for YOLOv7.
import torch
# Load the model (replace with the actual path to your .pt file)
# For example, you can load it from the Hugging Face Hub:
# model = torch.hub.load('path/to/yolov7', 'custom', path='your_model.pt', source='local')
# Or if using a compatible library:
# from ultralytics import YOLO
# model = YOLO('your_model.pt')
# Path to your image
image_path = 'path/to/your/road_image.jpg'
# Perform inference
results = model(image_path)
# Print results
results.print()
# Show results
results.show()