Instructions to use Kodjaoglanian/pavimentos-yolo11l with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use Kodjaoglanian/pavimentos-yolo11l with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("Kodjaoglanian/pavimentos-yolo11l") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
- PavimentOS-YOLO11l (H100) — Detector de Defeitos em Pavimentos
PavimentOS-YOLO11l (H100) — Detector de Defeitos em Pavimentos
Detector de objetos baseado na arquitetura YOLO11l (Ultralytics) treinado para identificar cinco categorias de defeitos em pavimentos urbanos a partir de imagens de superfície rodoviária. Treinado em NVIDIA H100 80GB (Lightning AI) com dataset consolidado de 7 países (RDD2022) + imagens brasileiras (Roboflow). Versão de alta precisão — modelo irmão menor (yolo11s, Colab/T4) está disponível para inferência em CPU de baixo custo.
Sumário Executivo
| Item | Valor |
|---|---|
| Arquitetura | YOLO11l |
| Parâmetros | 25.3M |
| GFLOPs | 86.6 |
| Resolução de treino | 640x640 |
| Resolução de inferência | 640x640 |
| Classes | 5 |
| Dataset de teste | 2.465 imagens / 6.063 instâncias |
| mAP@0.5 | 0.637 |
| mAP@0.5:0.95 | 0.325 |
| Precision | 0.664 |
| Recall | 0.586 |
| GPU de treino | NVIDIA H100 80GB HBM3 (Lightning AI) |
| Épocas | 15 (interrompidas por tempo — early stop em 30) |
| Velocidade de inferência (val) | 2.8ms / imagem (H100) |
Classes
| ID | Classe | Descrição |
|---|---|---|
| 0 | buraco | Degradamento profundo do pavimento (buraco / pothole) |
| 1 | trinca_longitudinal | Trinca no sentido da via |
| 2 | trinca_transversal | Trinca perpendicular à via |
| 3 | trinca_malha | Trinca em malha / couro de jacaré (alligator cracking) |
| 4 | tampa_bueiro | Tampa de bueiro / grelha de drenagem |
Métricas por Classe (conjunto de teste)
| Classe | Precision | Recall | mAP@0.5 | mAP@0.5:0.95 |
|---|---|---|---|---|
| all | 0.664 | 0.586 | 0.637 | 0.325 |
| buraco | 0.631 | 0.401 | 0.493 | 0.219 |
| trinca_longitudinal | 0.632 | 0.528 | 0.569 | 0.302 |
| trinca_transversal | 0.586 | 0.521 | 0.553 | 0.257 |
| trinca_malha | 0.701 | 0.608 | 0.680 | 0.357 |
| tampa_bueiro | 0.770 | 0.871 | 0.890 | 0.489 |
Matriz de Confusão (normalizada)
Curva Precision-Recall
Amostras de Predição (validação)
Como Usar
Python (Ultralytics)
from ultralytics import YOLO
# Carrega direto do Hugging Face
model = YOLO("hf://Kodjaoglanian/pavimentos-yolo11x-v2/weights/best.pt")
results = model("imagem.jpg", conf=0.25, imgsz=640)
for r in results:
for box in r.boxes:
cls_id = int(box.cls[0])
conf = float(box.conf[0])
x1, y1, x2, y2 = box.xyxy[0].tolist()
print(f"{model.names[cls_id]}: {conf:.2f} {[round(v) for v in [x1,y1,x2,y2]]}")
ONNX Runtime (CPU, sem PyTorch)
import onnxruntime as ort
import cv2, numpy as np
session = ort.InferenceSession("best.onnx")
img = cv2.imread("imagem.jpg")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img = cv2.resize(img, (640, 640)) # resolução fixa
img = (img.astype(np.float32) / 255.0)[None].transpose(0, 3, 1, 2)
out = session.run(None, {session.get_inputs()[0].name: img})
CLI (Ultralytics)
yolo predict model=hf://Kodjaoglanian/pavimentos-yolo11x-v2/weights/best.pt source=./imagens/ imgsz=640
Detecção em vídeo (script incluído)
Os scripts detectar_video.py e rodar_modelo.py (neste projeto) fazem inferência em tempo real:
huggingface-cli download Kodjaoglanian/pavimentos-yolo11x-v2 exports/best.torchscript --local-dir ./modelo
python detectar_video.py --model ./modelo/best.torchscript --video rua.mp4 --imgsz 416
Nota sobre formatos: ONNX e OpenVINO foram exportados com entrada fixa em 640x640. Para inferência em resolução variável, use
best.torchscript(TorchScript) ou o.ptoriginal.
Formatos Disponíveis
| Formato | Tamanho | Caminho no repo | Entrada |
|---|---|---|---|
| PyTorch | 145 MB | weights/best.pt |
Dinâmica |
| TorchScript | 97 MB | exports/best.torchscript |
Dinâmica |
| ONNX | 97 MB | exports/best.onnx |
Fixa 640x640 |
| OpenVINO | 97 MB | exports/best_openvino_model/ |
Fixa 640x640 |
TensorRT não foi incluído pois a instalação do
tensorrt-cu12falhou no ambiente da H100 (Lightning AI).
Detalhes do Treino
Dataset
Imagens consolidadas a partir de duas fontes:
- RDD2022 — 7 países (Japão, Índia, República Tcheca, Noruega, EUA, China motorbike, China drone)
- Brasil — Imagens brasileiras via Roboflow
Após mapeamento de classes (consolidando rótulos distintos para um esquema unificado) e remoção de 4 classes com anotações insuficientes (remendo, afundamento, desgaste, poça de água), o dataset final tem:
| Split | Imagens | Instâncias |
|---|---|---|
| Treino | ~45.000 | ~110.000 |
| Validação | ~2.500 | ~6.000 |
| Teste | 2.465 | 6.063 |
Hiperparâmetros
| Parâmetro | Valor |
|---|---|
| Modelo base | yolo11l.pt (pré-treinado COCO) |
| Épocas planejadas | 30 |
| Épocas executadas | 15 (interrompidas por orçamento de créditos) |
| Early stopping (patience) | 15 |
| Tamanho de imagem | 640 |
| Batch | auto (~24 na H100) |
| Otimizador | auto (SGD c/ momentum) |
| LR inicial | 0.01 |
| LR final | 0.01 (coseno) |
| Cache de dados | disk |
| Dropout | 0.1 |
| Mosaic | 1.0 (fecha na época 10) |
| Mixup | 0.15 |
| Copy-paste | 0.3 |
| HSV (H/S/V) | 0.015 / 0.7 / 0.4 |
| Rotação (degrees) | 10.0 |
| Flip horizontal | 0.5 |
| Auto-augment | randaugment |
| Erasing | 0.4 |
| Workers | 16 |
Hardware
- GPU: NVIDIA H100 80GB HBM3 (Lightning AI cloud)
- Memória usada: ~24 GB (batch auto)
- Tempo por época: ~6min42s (1186 batches)
- Créditos: 11 créditos a $4.50/h (~2h44min)
- Treino total executado: 15 épocas (~1h41min)
- Pós-processamento: validação + exportação + upload automáticos (
finalizar_treino.py)
Aumento de Dados
Toda a augmentação é feita online na GPU durante o treino (Ultralytics nativo): mosaic, mixup, copy-paste, HSV jitter, rotação (até 10°), flip horizontal, escala/translação, randaugment e erasing. Sem augmentação offline (Albumentations) — o pipeline na GPU é mais rápido e não desperdiça espaço em disco.
Estrutura do Repositório
weights/
best.pt Pesos PyTorch (melhor época 15)
last.pt Pesos da última época
exports/
best.onnx ONNX (opset 12, entrada fixa 640x640)
best.torchscript TorchScript (entrada dinâmica)
best_openvino_model/ OpenVINO IR (.xml/.bin/.yaml)
runs/
args.yaml Configuração completa do treino
results.csv Métricas por época (1-15)
confusion_matrix.png Matriz de confusão
confusion_matrix_normalized.png Matriz de confusão (normalizada)
BoxPR_curve.png Curva Precision-Recall
BoxF1_curve.png Curva F1
BoxP_curve.png Curva Precision
BoxR_curve.png Curva Recall
labels.jpg Distribuição de labels no dataset
val_batch0_labels.jpg Validação: ground-truth
val_batch0_pred.jpg Validação: predições
val_batch1_labels.jpg (mais amostras)
val_batch1_pred.jpg
val_batch2_labels.jpg
val_batch2_pred.jpg
train_batch0.jpg Lotes de treino (com augmentação)
train_batch1.jpg
train_batch2.jpg
Treino — Evolução das Métricas
| Época | mAP50 | mAP50-95 | Precision | Recall |
|---|---|---|---|---|
| 1 | 0.355 | 0.153 | 0.469 | 0.376 |
| 5 | 0.438 | 0.198 | 0.504 | 0.443 |
| 10 | 0.579 | 0.288 | 0.634 | 0.540 |
| 12 | 0.610 | 0.307 | 0.647 | 0.564 |
| 15 (final) | 0.644 | 0.330 | 0.689 | 0.574 |
Curva de treino ainda em subida quando interrompida — com as 30 épocas planejadas, projetava-se mAP@0.5 entre 0.65 e 0.68.
Comparação com modelo yolo11s (Colab/T4)
Modelo irmão menor, treinado em Google Colab (Tesla T4) com dataset apenas brasileiro:
| Métrica | yolo11l (este, H100) | yolo11s (Colab/T4) |
|---|---|---|
| Parâmetros | 25.3M | 9.4M |
| GFLOPs | 86.6 | 21.3 |
| Resolução de treino | 640 | 512 |
| Dataset | RDD2022 7 países + Brasil | Apenas Brasil |
| Imagens de teste | 2465 | 1317 |
| mAP50 | 0.637 | 0.594 |
| mAP50-95 | 0.325 | 0.293 |
| Precision | 0.664 | 0.642 |
| Recall | 0.586 | 0.550 |
| Treino (H100 vs T4) | ~1h41 / 15 épocas | ~2h48 / 30 épocas |
O yolo11l é ~2.7x mais pesado mas ganha ~4% de mAP50 — a recomendação é: use yolo11l (H100) quando precisar da melhor precisão e tiver GPU/CPU potente; use yolo11s (Colab) para inferência em CPU local em tempo real ou dispositivos embarcados.
Licença
A arquitetura YOLO11 é licenciada sob AGPL-3.0 pela Ultralytics. O dataset RDD2022 possui seus próprios termos. Para uso comercial, consulte a licença em docs.ultralytics.com/license.
Citação
@software{pavimentos_yolo11l_h100,
author = {Bruno Kodjaoglanian Cardoso Tulux},
title = {PavimentOS-YOLO11l — Pavement Defect Detection},
year = {2026},
url = {https://huggingface.co/Kodjaoglanian/pavimentos-yolo11x-v2}
}
Referências
- Downloads last month
- 136



