HERE Berlin Hackathon 2026  ยท  April 10

School Zone Speed Limit
Validation

Confidence Layer for the Hard 20%


Potsdam & South-West Berlin  |  Partnered with Siemens Digital Logistics

HERE already handles 80%


44 million connected vehicles detect road signs weekly.
The automation pipeline handles the clear-cut cases well.


We built the confidence layer for the hard 20%.

Three Deliverables


โœ…

Valid Zone?

7-gate deterministic classification with visual evidence

๐Ÿ“

Zone Extent

Graph-walk to terminating sign along road network

๐Ÿ•

Temporal

Permanent vs conditional with OCR time extraction

Six Datasets โ€” 48 Million+ Records


Dataset Size Purpose
School zone signs326 rowsClassification input
Remaining speed signs11,607 rowsExtent end-sign detection
Road geometry27,943 linksGraph-walk topology
School POIs (4,780 โ†’ 3,985 educational)3,985Proximity gate G2
Mapillary images1,850 imgsVisual evidence + OCR
Probe speed data48.5M recordsSpeed anomaly signal

Deliverable 1: Is It a Valid School Zone?

7 deterministic gates โ€” no LLM in the decision loop


G1  Tempo-30-Zone Exclusion
G2  School Proximity (OSM + POI + Geoportal)
G3  Florence-2 Visual Detection Score
G4  Temporal Classification (OCR regex)
G5  Detection Confidence (n_detections)
G6  Spatial Consistency (cross-pole)
G7  Crop OCR Final Validation

Gate Classification Results


219
AUTO_APPROVE
16
NEEDS REVIEW
80
EXCLUDE

80 excluded because they sit inside an existing Tempo-30-Zone (G1)
โ€” the zone already governs the speed limit, sign is advisory only

Beyond Poles โ€” Zone-Level Confidence

DBSCAN clustering (ฮต=300m, UTM EPSG:25833) groups poles into school zones


70
Spatial clusters
64
Matched to a school
within 500m
33
CONFIRMED zones

CONFIRMED 33 MIXED 16 NEEDS_REVIEW 12 EXCLUDED 9

Deliverable 2: Where Does the Zone End?


Map-match pole to road link, walk forward in bearing-governed direction, stop at terminating sign.


208
Extent LineStrings
Mean length: 224 m

Termination types:

END_SIGN
77 (37%)
DEAD_END
57 (27%)
ROAD_END
49 (24%)
MIRROR
17 (8%)
MAX_DIST
8 (4%)

Deliverable 3: Permanent or Conditional?


57.1%
Permanent
Active always, incl. holidays
42.9%
Conditional
Time/day restrictions

Method: Florence-2 detect โ†’ crop โ†’ Tesseract OCR โ†’ regex

Step 1: Florence-2 Detects the Sign

Raw Mapillary street-view image โ†’ bounding boxes drawn around every sign


Florence-2 detection with green bounding boxes on pole 00250

Pole 00250 โ€” 30 km/h sign + supplemental time plate detected with bounding boxes

Step 2: Crop โ†’ OCR โ†’ Time Restriction


Cropped sign: 30 Mo-Fr 6-18 h

Bounding box crop โ€” sign fills the frame

OCR reads:
"30"
"Mo-Fr 6-18 h"

CONDITIONAL

Active Mondayโ€“Friday, 06:00โ€“18:00

School Warning Sign โ€” Pole 235

Florence-2 detects both Zeichen 136 (school crossing) and the 30 km/h plate


Pole 235 detection

Full scene with bounding boxes

Pole 235 crop

Cropped โ€” clear school crossing sign

Why Not Just Ask a VLM?


ModelMethodHallucination Rate
Gemini 2.5 FlashDirect image query89.8%
GPT-4oDirect image query72.3%
Claude 3.5 SonnetDirect image query61.4%
Florence-2 + CoT promptDetect โ†’ crop โ†’ LLM17.9%
Florence-2 + Our PipelineDetect โ†’ crop โ†’ Tesseract5.4% โœ“

Signs are <5% of frame. Crop first, then read. CoT prompting cut hallucination by 80%.

Live Demo

315 poles ยท extent LineStrings ยท DBSCAN zone clusters โ€” all interactive


What We Delivered


315
Unique poles analysed
219
Auto-approved zones
33
Confirmed zone clusters
208
Extent LineStrings
mean 224m
5.4%
False positive rate
(vs 89.8% for direct VLM)
5
VLMs benchmarked
3 ML approaches



Deterministic.

Threshold-tunable.

Production-ready.



No LLM in the decision loop ยท Multi-source triangulation ยท QA-ranked output