PaveBench: A Versatile Benchmark for Pavement Distress Perception and Interactive Vision-Language Analysis
Paper • 2604.02804 • Published
Um modelo de classificação de imagens para detectar defeitos em pavimentos rodoviários, treinado com fine-tuning de MobileNetV2 no dataset PaveBench.
An image classification model to detect road pavement defects, fine-tuned from MobileNetV2 on the PaveBench dataset.
| Metric | Value |
|---|---|
| Accuracy | 87.6% |
| F1 Score (weighted) | 0.877 |
| Validation Loss | 0.326 |
| Model Size | 8.7 MB |
| Parameters | 2.2M |
| Inference Speed | ~5ms/image (CPU) |
| ID | Label | PT-BR | Description |
|---|---|---|---|
| 0 | alligator_crack |
Trinca Jacaré | Interconnected cracks forming a scale pattern. Indicates severe structural failure. |
| 1 | longitudinal_crack |
Trinca Longitudinal | Crack parallel to the road axis. May indicate fatigue or construction joint. |
| 2 | negative |
Sem Defeito | Normal pavement surface, no visible defects. |
| 3 | patch |
Remendo | Previously repaired area. Indicates prior maintenance. |
| 4 | pothole |
Buraco | Cavity in the pavement surface. Immediate safety risk. |
| 5 | transverse_crack |
Trinca Transversal | Crack perpendicular to the road axis. Usually caused by thermal variation. |
from transformers import pipeline
classifier = pipeline("image-classification", model="paulococato/pavement-defect-classifier")
result = classifier("path/to/pavement_image.jpg")
for pred in result:
print(f"{pred['label']}: {pred['score']:.1%}")
# Example output:
# pothole: 92.3%
# alligator_crack: 4.1%
# patch: 2.0%
curl -X POST \
https://paulococato-pavement-defect-classifier.hf.space/api/predict \
-H "Content-Type: multipart/form-data" \
-F "data=@pavement_image.jpg"
| Parameter | Value |
|---|---|
| Base Model | google/mobilenet_v2_1.0_224 |
| Dataset | MML-Group/PaveBench |
| Training Images | 16,096 (filtered from 20,124) |
| Image Size | 224×224 |
| Batch Size | 64 (effective: 16 × 4 grad accum) |
| Learning Rate | 3e-4 (cosine schedule, 10% warmup) |
| Epochs | 5 |
| Optimizer | AdamW |
| Framework | Transformers 5.5.4, PyTorch 2.11.0 |
| Epoch | Train Loss | Val Loss | Accuracy | F1 |
|---|---|---|---|---|
| 1 | 2.49 | 0.53 | 80.8% | 0.813 |
| 2 | 1.81 | 0.46 | 83.6% | 0.841 |
| 3 | 1.67 | 0.49 | 82.3% | 0.825 |
| 4 | 1.28 | 0.31 | 89.4% | 0.892 |
| 5 | 1.34 | 0.33 | 87.6% | 0.877 |
| Class | Train Samples | % |
|---|---|---|
| negative (sem defeito) | 6,613 | 41.1% |
| longitudinal_crack | 3,060 | 19.0% |
| transverse_crack | 2,456 | 15.3% |
| patch | 2,045 | 12.7% |
| alligator_crack | 1,672 | 10.4% |
| pothole | 250 | 1.6% ⚠️ |
⚠️ A classe
potholetem apenas 250 amostras de treino. A precisão para esta classe pode ser menor.
| Tag | Date | Description |
|---|---|---|
v1.0 |
2025-04 | MobileNetV2 inicial — 87.6% accuracy |
@misc{pavement-defect-classifier,
title={Pavement Defect Classifier},
author={paulococato},
year={2025},
publisher={Hugging Face},
url={https://huggingface.co/paulococato/pavement-defect-classifier}
}
Dataset:
@article{pavebench2025,
title={PaveBench: A Comprehensive Benchmark for Pavement Distress Detection},
author={MML-Group},
year={2025},
journal={arXiv preprint arXiv:2604.02804}
}
Base model
google/mobilenet_v2_1.0_224