You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

detect_nl_subsigns

YOLOv8 model for detecting sub-signs (Dutch: onderbord) below main road signs in the Netherlands. Fine-tuned from Panoramax/detect_fr_road_signs_subsigns on Dutch street-level imagery from the Panoramax platform.

What is an onderbord?

An onderbord is a supplementary sign from the Dutch OB-series (RVV 1990) mounted directly below a main road sign. This model detects their presence as a single class โ€” it does not classify the OB type or code.

Model details

Property Value
Architecture YOLOv8 (Ultralytics)
Base model Panoramax/detect_fr_road_signs_subsigns (panonceau class)
Fine-tuning epochs 500
Input Cropped image around a detected main sign
Output class onderbord (1 class)
Training data Dutch Panoramax imagery โ€” see dataset card

Performance

Validation set (sign crops, 80/20 split)

Metric Value
mAP50 0.993
Precision 0.977
Recall 0.962

Live evaluation on 727 real Dutch road signs (Panoramax DataFusion, 2026-07-13)

Evaluated per main sign using the /v1/annotate/ API endpoint. ~13% of signs had a real sub-sign.

Confidence threshold Precision Recall F1
0.25 (default) 68.3% 99.0% 80.9%
0.60 (balanced) 79.5% 96.9% 87.3%
0.90 (best F1) 90.3% 87.5% 88.9%

Note on precision at conf=0.25: the low precision reflects a class imbalance in the live dataset (13% positive rate) and a per-box counting method. The model misses only 1 in 96 real sub-signs at this threshold. For production use, conf=0.60โ€“0.90 is recommended depending on your tolerance for false positives.

Usage

from ultralytics import YOLO

model = YOLO("Panoramax/detect_nl_subsigns")

results = model.predict("sign_crop.jpg", conf=0.60)

The model expects a crop around a detected main sign โ€” not a full street photo. Use a bounding box expanded slightly below the main sign to ensure the sub-sign is visible in the crop.

Training

Fine-tuned with the following hyperparameters:

Parameter Value
Epochs 500
Batch size 16
Frozen backbone layers 10
Initial learning rate 0.01
Framework Ultralytics YOLOv8

Training data sourced from Panoramax via STAC, filtered on osm\|traffic_sign semantics with Dutch (NL:) values. Images were annotated in Label Studio.

License

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Panoramax/detect_nl_subsigns

Finetuned
(1)
this model