cakra84's picture
Update README.md
ae1ecc3 verified
metadata
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 Pothole
    • L01: Wet Pothole (water-filled)
    • R02: Longitudinal Crack
    • R03: 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()