YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Traffic Sign Detection Model
This repository contains a deep learning model for traffic sign detection. The model is trained to detect and classify traffic signs in real-time, suitable for applications like autonomous driving and advanced driver assistance systems (ADAS).
It suitable for :
- Computer Vision Learning
- Academic and research projects
- Autonomous driving prototypes
Model Details
- Model type: YOLO / PyTorch
- Task: Object detection (traffic signs)
- Dataset: German Traffic Sign Recognition Benchmarks
- Input: Images (RGB)
- Output: Bounding boxes + class labels
- Framework: PyTorch
- License: MIT
Dataset
The model was train on German Traffic Sign Recognition Benchmarks (GTSRB) that contain 43 class include with all the images and the all the label. And we filter some sign on the GTSRB and the overall of the filtering contain 33 class. There are 'TurnRightAhead', 'NoPassingTrucks', 'DangerousCurveLeft', 'Yield', 'SpeedLimit60' 'EndNoPassingByTrucks', 'EndNoPassing', 'RoundaboutMandatory', 'KeepLeft', 'NoPassing','KeepRight', 'RightOfWayCrossing', 'PriorityRoad', 'GoStraightOrLeft', 'Stop', 'NoVehicles', 'VehiclesOver3.5TonsProhibited', 'NoEntry', 'GeneralCaution','GoStraightOrRight', 'DangerousCurveRight', 'DoubleCurve', 'BumpyRoad', 'SlipperyRoad', 'RoadNarrowRight', 'RoadWork', 'TrafficSignals', 'Pedestrians', 'ChildrenCrossing','BicyclesCrossing', 'AheadOnly', 'WildAnimals', 'TurnLeftAhead'
Repository Structure
traffic_sign_model/ βββ model.pt # Model training βββ config.yaml # Model configuration βββ README.md # Documentation
Install dependencies
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install ultralytics
pip install opencv-python
pip install huggingface_hub
Loading the model
model = YOLO("yolov8m.pt")
results = model.train(
data="/kaggle/input/traffic-sign-detection/dataset/data.yaml",
epochs=30,
imgsz=1280,
batch=10,
mixup=0.1,
copy_paste=0.15,
amp=True,
workers=2,
patience=15,
name="yolov8m_traffic_1280"
)
Image Detection
import cv2
from ultralytics import YOLO
model = YOLO("./traffic_sign_model/best_yolov8m.pt")
image = cv2.imread("./image.png")
results = model(image)
annotated_frame = results[0].plot()
cv2.imshow("YOLOv8 Detection Results", annotated_frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
Real-Time Camera Detection
from ultralytics import YOLO
import cv2
model = YOLO("./traffic_sign_model/best_yolov8m.pt")
cap = cv2.VideoCapture(0)
if not cap.isOpened():
print("Cannot open the webcame")
exit()
while True:
ret, frame = cap.read()
if not ret:
break
results = model.predict(source=frame, conf=0.6)
annotated_frame = results[0].plot()
cv2.imshow("YOLO webcame test", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
References
[1] Ultralytics, "YOLO Documentation," [Online]. Available: https://docs.ultralytics.com/. [Accessed: Dec. 16, 2025].
[2] R. Kumar, A. Gupta, and D. Rajeswari, "Traffic Sign Detection Using YOLOv8," TIUTIC Journal, vol. 7, Art. no. 10, 2019. [Online]. Available: https://tiutic.org/pdf/volume/Vol_7/Vol7_Article_10.pdf
[3] M. Serna and A. Ruichek, "Traffic Signs Classification by Deep Learning for Advanced Driving Assistance Systems," 2019. [Online]. Available: https://www.researchgate.net/publication/335006038
[4] Y. Wu, Y. Tian, and J. Liu, "Traffic Sign Detection Based on Convolutional Neural Networks," 2013. [Online]. Available: https://xlhu.cn/papers/Wu13.pdf
[5] A. Bochkovskiy, C. Y. Wang, and H. Y. M. Liao, "The Mapillary Traffic Sign Dataset for Detection and Classification on a Global Scale," in Proc. European Conf. on Computer Vision (ECCV), 2020. [Online]. Available: https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123680069.pdf
[6] Kaggle, "German Traffic Sign Recognition Benchmark (GTSRB) Dataset," 2019. [Online]. Available: https://www.kaggle.com/datasets/meowmeowmeowmeowmeow/gtsrb-german-traffic