Street Sign Sense
Real-Time Traffic Sign Detection
Machine learning object detection system based on YOLO12, running client-side directly in the browser with WebGL hardware acceleration.
Project & Hugging Face Live Statistics
1. Context & Safety-Critical Relevance
In ADAS and autonomous driving, rapid perception of traffic signs is vital for passenger safety. Real-time recognition demands sub-frame latency (>30 FPS), robust handling of adverse weather, motion blur, and occlusions, and zero margin for misclassification on mandatory or regulatory signs.
2. The YOLO Family & Ultralytics Evolution
Pioneered as a single-stage end-to-end regression paradigm and industrially perfected by Ultralytics (from YOLOv5 and YOLOv8 through to YOLO11 and YOLO12), the YOLO ecosystem has defined modern real-time computer vision. Ultralytics revolutionized edge AI by delivering lightweight, anchor-free, attention-enhanced models engineered for extreme efficiency across PyTorch, ONNX, and in-browser WebGL.
3. Object Detection: Spatial Localization & Classification
Unlike pure image classification which only answers what is in an image, Object Detection solves two intertwined vision challenges at once: classification (identifying the road sign category) and spatial localization (predicting exact bounding box coordinates [x, y, w, h]). This dual capability allows ADAS vehicles and edge devices to simultaneously detect and track multiple street signs across cluttered urban scenes and variable distances.
4. YOLO12 Architecture: Attention-Centric Design
YOLO12 integrates attention mechanisms to boost detection accuracy without sacrificing real-time inference speed:
- R-ELAN Backbone: Combines residual connections with advanced feature aggregation. Uses Stacked Blocks Reduction to streamline computation.
- Area Attention Module Neck: Partitions feature maps into segments ($l=4$), turning global attention into local operations and cutting computational costs by 75%.
- Dynamic Head + FlashAttention: Optimizes memory access during attention operations and eliminates positional encoding for small signs.
- Optimized MLP Expansion: Reduced to ~1.2 to prevent bottlenecks, combined with depthwise convolutions and batch normalization.
3. Evaluation Metrics & Benchmark
Official validation set metrics obtained from the best model checkpoint (best.pt) as documented in Chapter 4 of Report.pdf:
| Model | Precision | Recall | F1-Score | mAP@50 | mAP@50-95 | Inference (ms)* | Size |
|---|---|---|---|---|---|---|---|
| YOLO12n (Nano) | 0.849 | 0.819 | 0.825 | 0.870 | 0.760 | 5.4 ms (~185 FPS) | 5.32 MB |
| YOLO12s (Small) | 0.887 | 0.846 | 0.853 | 0.904 | 0.796 | 12.6 ms (~79 FPS) | 18.1 MB |
| YOLO12m (Medium) | 0.882 | 0.859 | 0.856 | 0.916 | 0.811 | 31.7 ms (~31 FPS) | 77.6 MB |
Global Models mAP Comparison
4. Catalog of 63 Road Sign Classes & Resources
The Street Sign Set covers 63 categories across 5 functional macro-families:
Official Project Resources
- GitHub Repository: https://github.com/AlessandroFerrante/StreetSignSense/
- Hugging Face Hub: https://huggingface.co/AlessandroFerrante
- Kaggle Dataset: https://www.kaggle.com/datasets/ferrantealessandro/street-sign-set/ (DOI: 10.34740/KAGGLE/DS/8410752)
- Kaggle Notebooks:
streetsignsense-yolo12n,streetsignsense-yolo12s,streetsignsense-yolo12m