Model Card: YOLOv11s on ZOD (Vehicle, VulnerableVehicle, Pedestrian)
Model Details
- Architecture: YOLOv11l (Ultralytics), initialized from pretrained weights
- Framework: Ultralytics YOLO
Training Data
- Source: Zenseact Open Dataset (ZOD), converted to COCO, then to YOLO
- Classes kept: Vehicle, VulnerableVehicle, Pedestrian (class order in
data/zod_yolo/dataset.yaml) - Filtering: exclude occlusion levels Heavy and VeryHeavy (keep None/Medium/Light); drop boxes with height < 25 px
- Splits: original ZOD train is split into train/val by 1 km lat/lon tiles (80/20; 69,090 train / 20,882 val) to reduce spatial leakage and keep weather/road_type/time_of_day distributions similar; original ZOD val -> YOLO test
Training Procedure
- Key settings from
args.yaml:- Image size 512, batch 32, epochs 200 (early stopped at epoch 154 with patience )
- Base LR 0.1, seed 43
Evaluation Results
Metrics (epoch 262, on my defined val split):
- AP50: 46.6
- AP50-95: 38.4
Usage (Ultralytics YOLO)
from ultralytics import YOLO
model = YOLO("final_model.pt")
results = model.predict(
source="path/to/image.jpg",
imgsz=512,
conf=0.25,
)
# Class names (matches data/zod_yolo/dataset.yaml)
names = {0: "Vehicle", 1: "VulnerableVehicle", 2: "Pedestrian"}
Limitations
- Trained on only three classes; other ZOD object types are not represented.
- Heavy/VeryHeavy occlusions and very small objects (<25 px height) are filtered out and may perform poorly at inference time.
Model tree for femartip/yolo-zod
Base model
Ultralytics/YOLO11