Built to order

Pothole Detection using YOLOv8 with Road Severity Grading

This project builds a pothole detection system that fine-tunes a YOLOv8 object detector on the RDD2022 road-damage dataset and specializes it on the D40 (pothole / surface corruption) class, drawing bounding boxes with confidence scores on road photos. A documented severity-grading rule then converts each detection's box area into HIGH, MEDIUM or LOW maintenance priority, producing a ranked repair list instead of a pile of boxes. It ships with a reproducible training notebook, the trained weights, an inference pipeline, a web demo and the complete viva kit. Suitable for B.E./B.Tech final-year

AI & Machine Learning OpenCVPyTorchUltralytics YOLOv8Jupyter notebookPython 3NumPy · MatplotlibHTML · CSS · JavaScriptRDD2022 datasetSoftware
Pothole Detection using YOLOv8 with Road Severity Grading — project thumbnail preview
More project photos (2)

The problem

Potholes damage vehicles, slow traffic and cause accidents, yet most road surveys still depend on engineers driving the network and noting damage by eye — slow, inconsistent, and impossible to repeat across a whole city. Computer vision changes the economics of this task: a camera on a survey vehicle captures the road surface, and a trained detector flags damage in every frame. The RDD2022 dataset — 47,420 road images from six countries, released for the CRDDC 2022 challenge — gives this a standard benchmark, and YOLOv8's single-shot architecture predicts bounding boxes, classes and confidence in one pass. But finding potholes is only half the job: a road authority also needs to know which stretch to fix first. This project pairs a YOLOv8 detector fine-tuned on RDD2022's D40 pothole class with a documented severity-grading rule that converts each detection's box area into HIGH, MEDIUM or LOW maintenance priority, producing a ranked repair list.

SYSTEM FLOW

7 components 8 connections

Live flow
Drag to explore
100%
storageRDD2022 dataset

47,420 road images in four damage classes, organized into YOLO label format.

Follow the working sequence

How it works

  1. The RDD2022 release (47,420 road images, four damage classes D00, D10, D20, D40) is organized into YOLO label format; the D40 class is the primary target and a stratified train/validation split is created.
  2. Images are resized to 640×640 and normalized; training-time augmentation (mosaic, horizontal flip, brightness/HSV jitter) simulates varied lighting and camera angles.
  3. A YOLOv8n or YOLOv8s checkpoint pre-trained on COCO is fine-tuned for a documented number of epochs with early stopping on validation mAP; the best checkpoint (best.pt) is saved.
  4. The validation split is evaluated once: precision, recall, mAP@50 and mAP@50–95, the confusion matrix and PR curves are generated for the report.
  5. Severity grading is applied to every detection: box area as a fraction of the frame maps to HIGH (≥ 3%), MEDIUM (≥ 0.9%) or LOW priority, and detections are ranked with their confidence scores into the maintenance-priority list.
  6. In the web demo, an uploaded road photo is analyzed and the app renders D40 bounding boxes with class label, confidence and severity badge, plus damaged-area statistics and the exportable report. The browser page is a classical-vision preview of this flow; the trained YOLOv8 weights run in the project's Python pipeline.

Tech stack:

  • Python 3, Ultralytics YOLOv8
  • PyTorch
  • OpenCV (image I/O & annotation)
  • RDD2022 dataset (CRDDC 2022)
  • Jupyter Notebook (training & evaluation)
  • NumPy, Matplotlib (metrics & plots)
  • HTML · CSS · JavaScript (web demo)

Dataset & model details

  • Dataset: RDD2022 — Road Damage Dataset 2022, released through the Crowdsensing-based Road Damage Detection Challenge (CRDDC 2022). 47,420 road images from 6 countries (Japan, India, Czech Republic, Norway, United States, China), 55,000+ annotated instances across 4 official classes: D00 (longitudinal crack), D10 (transverse crack), D20 (alligator crack), D40 (pothole).
  • Task: Object detection; input = 640×640×3 road image, output = bounding boxes with class labels and confidence scores. This project specializes on the D40 class (the dataset's pothole-containing class).
  • Model: YOLOv8n or YOLOv8s (Ultralytics), anchor-free single-shot detector pre-trained on COCO and fine-tuned on RDD2022; inference applies non-maximum suppression and a configurable confidence threshold.
  • Metrics: Precision, recall, mAP@50 and mAP@50–95 (the standard Ultralytics validation metrics), confusion matrix, PR curves. Design target: approximately 0.75 mAP@50 for the D40 class on the validation split — the report carries the training run's measured figure, never a pre-filled claim.
  • Severity grading: A documented design rule of this project (not a dataset label): detection box area as a fraction of the frame — ≥ 3% → HIGH, ≥ 0.9% → MEDIUM, below → LOW maintenance priority.
Parameter Value
Input resolution 640 × 640 × 3 RGB road image
Detector YOLOv8n / YOLOv8s, COCO pre-trained, fine-tuned on RDD2022
Target class D40 — rutting, bump, pothole, separation (RDD2022 taxonomy)
Detection output Bounding box + class label + confidence score per instance
Evaluation metrics Precision, recall, mAP@50, mAP@50–95 (Ultralytics val)
Design target Approximately 0.75 mAP@50 for D40 (measured figure goes in the report)
Severity rule Box area ≥ 3% of frame → HIGH; ≥ 0.9% → MEDIUM; else LOW (design rule)
Training GPU recommended (laptop or free cloud GPU suffices for YOLOv8n)
Inference CPU-sufficient; batch folder or single image
Model artifact best.pt checkpoint + inference script (expected)
Demo Single-file web app, runs offline after download

Project features

  • [YOLOv8 fine-tune on RDD2022] A YOLOv8n / YOLOv8s detector, pre-trained on COCO and fine-tuned on the RDD2022 road-damage dataset with the D40 class (rutting, bump, pothole, separation) as the primary target — documented train/validation split and augmentation policy.
  • [Documented severity-grading rule] A design rule applied to every detection: bounding-box area ≥ 3% of the frame → HIGH priority, ≥ 0.9% → MEDIUM, below that → LOW; combined with the confidence score into a ranked maintenance-priority list.
  • [Standard detection metrics] Evaluation with precision, recall, mAP@50 and mAP@50–95 on the validation split, plus a confusion matrix and PR curves — the report carries only the figures the training run actually produces.
  • [Batch inference pipeline] Point it at a single road photo or a folder of survey images and get annotated images (D40 boxes with class, confidence and severity badge) plus the ranked priority report.
  • [Interactive web demo] Upload a road photo or pick from the bundled samples, watch detections appear with severity badges, review the damaged-area statistics, and export the maintenance-priority list as a text report.
  • [Reproducible training notebook] Dataset organization into YOLO label format, preprocessing, augmentation, training configuration, early stopping and evaluation in one notebook with every choice documented.
  • [Complete viva kit] Project report PDF, PPT presentation and a Q&A document covering the RDD2022 taxonomy, YOLOv8's anchor-free detection head, mAP-style metrics and the severity rule.

What is included

  • Reproducible training & evaluation Jupyter notebook (data prep, YOLO labels, augmentation, training, metrics)
  • Trained YOLOv8 weights (best.pt) with the inference pipeline script
  • Batch inference: annotated images + ranked maintenance-priority report
  • Interactive single-file web demo with sample road images and exportable report
  • Evaluation plots: PR curves, confusion matrix, training curves
  • Project report PDF (dataset, methodology, results, severity rule, limitations)
  • PPT presentation for final review
  • Viva Q&A preparation document (RDD2022 taxonomy, YOLOv8, mAP metrics, grading rule)

Limitations & prerequisites

  • The D40 class covers rutting, bumps, potholes and separation together — the dataset does not isolate pure potholes, and the page states this honestly.
  • Model quality depends on RDD2022's diversity; roads, lighting or camera angles far outside the dataset reduce detection quality.
  • The severity grade is a box-area design rule, not a physical measurement of depth or diameter — it ranks priority, it does not replace an engineering survey.
  • 0.75 mAP@50 is a design target, stated honestly — the report documents the actual measured figure after the training run.
  • Small or distant potholes can be missed, and wet reflections or heavy shadows can produce false candidates; confidence-threshold tuning is documented.
  • The browser demo is a simplified classical-vision preview of the detect → grade flow — the trained YOLOv8 weights run in the project's Python pipeline, not in the browser.

Frequently Asked Questions

Which dataset is used and what are its classes?

RDD2022 (Road Damage Dataset 2022, CRDDC 2022 challenge): 47,420 road images from six countries with 55,000+ annotated instances across four classes — D00, D10, D20 and D40. This project targets D40, the pothole class (which in practice also captures related surface deterioration such as rutting and bumps, stated honestly in the limitations).

Which model is used and what does it output?

YOLOv8 (nano or small variant, Ultralytics), pre-trained on COCO and fine-tuned on RDD2022. Input is a 640×640 road image; output is a set of bounding boxes, each with a class label and confidence score, after non-maximum suppression.

Is the detection accuracy guaranteed?

No measured figure is claimed upfront. The design target is approximately 0.75 mAP@50 for the D40 class; the training run's actual precision, recall, mAP@50 and mAP@50–95 go into the report, and the FAQ-style honesty about this is part of the viva kit.

How does the severity grading work?

It is the project's documented design rule: each detection's bounding-box area as a fraction of the frame — at or above 3% grades HIGH, at or above 0.9% MEDIUM, below that LOW — combined with the confidence score into a ranked maintenance list. It is a priority ranking, not a physical depth measurement.

Can it process video or a live camera feed?

As delivered, the pipeline handles single images and batch folders. Frame-by-frame video processing and GPS tagging of detections are realistic customizations that can be added on request.

Is this project suitable for a final-year project?

Yes — for AI & Machine Learning, Computer Science and IT programs. It demonstrates dataset handling, object-detection training, standard detection metrics (precision/recall/mAP), and a working deployment demo with an honest evaluation story for the viva. Suitable for B.E./B.Tech final-year projects in AI & Machine Learning, Computer Science and IT.

Components & software requirements
  • Python 3, Ultralytics YOLOv8
  • PyTorch
  • OpenCV (image I/O & annotation)
  • RDD2022 dataset (CRDDC 2022)
  • Jupyter Notebook (training & evaluation)
  • NumPy, Matplotlib (metrics & plots)
  • HTML · CSS · JavaScript (web demo)

Dataset & model details

  • Dataset: RDD2022 — Road Damage Dataset 2022, released through the Crowdsensing-based Road Damage Detection Challenge (CRDDC 2022). 47,420 road images from 6 countries (Japan, India, Czech Republic, Norway, United States, China), 55,000+ annotated instances across 4 official classes: D00 (longitudinal crack), D10 (transverse crack), D20 (alligator crack), D40 (pothole).
  • Task: Object detection; input = 640×640×3 road image, output = bounding boxes with class labels and confidence scores. This project specializes on the D40 class (the dataset's pothole-containing class).
  • Model: YOLOv8n or YOLOv8s (Ultralytics), anchor-free single-shot detector pre-trained on COCO and fine-tuned on RDD2022; inference applies non-maximum suppression and a configurable confidence threshold.
  • Metrics: Precision, recall, mAP@50 and mAP@50–95 (the standard Ultralytics validation metrics), confusion matrix, PR curves. Design target: approximately 0.75 mAP@50 for the D40 class on the validation split — the report carries the training run's measured figure, never a pre-filled claim.
  • Severity grading: A documented design rule of this project (not a dataset label): detection box area as a fraction of the frame — ≥ 3% → HIGH, ≥ 0.9% → MEDIUM, below → LOW maintenance priority.
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and email — the synopsis PDF downloads immediately. We may send occasional project updates; no spam, unsubscribe anytime.

Related guides

All guides

YOLO Object Detection for Final-Year Projects: Datasets, Colab Training, mAP and Deployment

How do you build a YOLO object detection project for your final year? Start with a labelled dataset in YOLO format (300-500+ images per class with real variation), train a small pretrained model on Google Colab with early stopping, evaluate with mAP@0.5 and mAP@0.5:0.95 on a held-out test set, and deploy the exported model on your demo hardware. This guide covers the full pipeline - version choice, labelling discipline, Colab training, honest evaluation, common errors, and deployment - with the decision tables and checklists your report needs.

Read guide

Best 10 AI Defect Detection & Quality Inspection Projects

Ten real AI defect-detection and quality-inspection projects students actually build — PCB, fabric, weld X-ray, solar-cell EL, concrete cracks, rail faults, turbine blades, grain grading and vehicle damage — each trained on a genuine public dataset with a working demo. Picked from the inspection themes clients ask about most, with honest guidance on difficulty, training cost, and which build fits your branch and deadline.

Read guide

Best 10 AI & Machine Learning Projects for 2026

The ten AI/ML builds worth your final year in 2026: every one trains or fine-tunes a real model on a named public benchmark — FaceForensics++, MIT-BIH, LIAR, ShanghaiTech — with defensible evaluation and a working demo. No inflated accuracy claims; every entry links to its live project page.

Read guide
Get a quotation