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_v2 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_v2")
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, two teachers. Co-DETR + RTMDet pseudo-labels fused with Weighted Boxes Fusion; student trained on GT + fused pseudo-labels.
| Class | mAP@50 | mAP@50-95 | Precision | Recall | F1 |
|---|---|---|---|---|---|
| D00 Longitudinal | 0.589 | 0.323 | 0.687 | 0.511 | 0.586 |
| D10 Transverse | 0.594 | 0.301 | 0.683 | 0.519 | 0.590 |
| D20 Alligator | 0.685 | 0.376 | 0.720 | 0.603 | 0.656 |
| D40 Pothole | 0.684 | 0.347 | 0.735 | 0.614 | 0.669 |
| Overall | 0.638 | 0.337 | 0.706 | 0.562 | 0.626 |
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 | YOLO26n | 2.4M | 1 teacher (Co-DETR) | 0.640 | 0.337 | 0.625 |
| ➤ YOLO26n_RDD_FRDC_Distilled_v2 (this model) | 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_v2.pt")
results = model("road.jpg")