YOLO26 Road-Defect Family
Collection
YOLO26n/s road-damage detectors (cracks + potholes): GT baselines + FRDC-distilled variants (1 & 2 teachers) + datasets. Best: YOLO26s Distilled v2. • 9 items • Updated
How to use TamAko783/YOLO26n_RDD_FRDC_Distilled with ultralytics:
# Couldn't find a valid YOLO version tag.
# Replace XX with the correct version.
from ultralytics import YOLOvXX
model = YOLOvXX.from_pretrained("TamAko783/YOLO26n_RDD_FRDC_Distilled")
source = 'http://images.cocodataset.org/val2017/000000039769.jpg'
model.predict(source=source, save=True)A YOLO26n road-damage detector (4-class CRDDC: D00 longitudinal, D10 transverse, D20 alligator, D40 pothole) on the Unified Road Defect Dataset.
Method: Semi-supervised distillation, single teacher. Co-DETR (Swin-L) pseudo-labeled the unlabeled RDD-2022 test set; student trained on GT + pseudo-labels.
| Class | mAP@50 | mAP@50-95 | Precision | Recall | F1 |
|---|---|---|---|---|---|
| D00 Longitudinal | 0.590 | 0.324 | 0.675 | 0.520 | 0.588 |
| D10 Transverse | 0.594 | 0.299 | 0.683 | 0.504 | 0.580 |
| D20 Alligator | 0.687 | 0.375 | 0.713 | 0.617 | 0.662 |
| D40 Pothole | 0.688 | 0.347 | 0.737 | 0.614 | 0.670 |
| Overall | 0.640 | 0.337 | 0.702 | 0.564 | 0.625 |
All five models in this study, evaluated identically (imgsz 640):
| Model | Variant | Params | Distillation | mAP@50 | mAP@50-95 | F1 |
|---|---|---|---|---|---|---|
| YOLO26n_RDD_Base | YOLO26n | 2.4M | — (GT only) | 0.635 | 0.334 | 0.621 |
| ➤ YOLO26n_RDD_FRDC_Distilled (this model) | YOLO26n | 2.4M | 1 teacher (Co-DETR) | 0.640 | 0.337 | 0.625 |
| YOLO26n_RDD_FRDC_Distilled_v2 | YOLO26n | 2.4M | 2 teachers (Co-DETR+RTMDet) | 0.638 | 0.337 | 0.626 |
| YOLO26s_RDD_Base | YOLO26s | 9M | — (GT only) | 0.687 | 0.372 | 0.665 |
| YOLO26s_RDD_FRDC_Distilled_v2 | YOLO26s | 9M | 2 teachers (Co-DETR+RTMDet) | 0.692 | 0.375 | 0.672 |
Reading it:
RDD ground truth has known missing annotations, so absolute precision/recall are conservative for all models. The comparison is fair — every model uses the identical held-out val, never trained on.
from ultralytics import YOLO
model = YOLO("YOLO26n_RDD_FRDC_Distilled.pt")
results = model("road.jpg")