中国交通标志目标检测数据集:58类别 目标检测

时间:2026-07-08 08:47:43 来源:互联网

本数据集以58类中国交通标志识别为核心,整合12000张精细标注图像,深度解析目标检测技术,为自动驾驶感知系统提供本土化数据支撑。以下从战略意义、数据规格、模型训练到部署应用展开全面阐述。

中国交通标志目标检测数据集:58类别 | 目标检测

源码数据分享

在这里插入图片描述

一、交通标志识别技术的战略意义

1.1 自动驾驶感知系统的核心模块

交通标志识别(TSR)作为自动驾驶感知系统的关键组件,在SAE定义的L0至L5六个等级中,从L2起成为必需功能。从技术架构来看,TSR模块位于感知层,负责从图像中定位并识别交通标志,从而为决策规划模块提供道路规则信息。

一个完整的TSR系统由两个子任务构成:交通标志检测(TSD)负责在图像中定位标志位置并输出边界框,交通标志分类(TSC)则对检测到的标志进行细粒度分类。本数据集同时支持这两个子任务,以目标检测为主,分类可通过裁剪检测区域后进行二次识别实现。

1.2 中国交通标志体系的独特性

中国交通标志严格遵循国家标准GB 5768系列,与欧洲维也纳公约标志体系和美国MUTCD标志体系存在显著差异。

颜色编码系统中,红色代表禁令标志,蓝色指示标志,黄色警告标志,绿色指路标志。形状编码系统里,圆形用于禁令和指示,三角形用于警告,矩形用于指路和辅助。文字与符号方面,中国标志使用中文文字,如"限速5km/h",并包含"禁止鸣喇叭"、"注意儿童"等特有类型。这种独特性决定了直接使用国外数据集(如德国GTSRB、比利时BTSD)训练的模型在中国道路上性能会明显下降,因此必须有本土化数据集支撑。

1.3 交通标志识别的难点分析

实际道路场景中的交通标志识别面临多重挑战。环境因素包括光照变化导致日出、正午、黄昏、夜间差异巨大,天气干扰如雨、雪、雾、强光和逆光降低图像质量,以及季节变化带来的植被遮挡程度差异。标志状态方面,老化褪色、损坏变形、遮挡覆盖和临时标志的存在增加了识别难度。拍摄条件上,远距离小目标、运动模糊和透视畸变等问题进一步考验算法鲁棒性。

二、数据集深度解析

2.1 核心规格总览

参数项具体数值/描述
图像总量12000张
类别数量58类
标注方式YOLO格式边界框标注
标注类型全人工精细化标注
数据划分train / val / test
分辨率多尺度(适配不同模型输入)
适配模型YOLOv5/v8/v11、Faster R-CNN、SSD等

在这里插入图片描述

2.2 58类标志体系详解

数据集共包含58类交通标志,按照国家标准分为四大类别。

限速标志(8类,ID 0-7)

ID标志名称典型场景
0限速5km/h小区内部道路、停车场
1限速15km/h学校区域、小区道路
2限速30km/h城市支路、村庄道路
3限速40km/h城市次干道
4限速50km/h城市主干道
5限速60km/h城市快速路
6限速70km/h郊区道路
7限速80km/h高速公路匝道

限速标志的识别精度直接影响自动驾驶系统的速度控制决策,是最关键的安全相关标志类型。

禁令标志(约17类,ID 8-24)

涵盖禁止直行和左转、禁止直行和右转、禁止掉头、禁止鸣喇叭、禁止超车、禁止停车、禁止驶入等常见禁令标志。禁令标志通常为红色边框圆形,识别的关键在于文字和符号的区分。

指示标志(约15类,ID 25-39)

包括直行、向左转、向右转、直行和左转、直行和右转、靠右侧行驶等指示标志。指示标志通常为蓝色背景圆形或矩形,识别的关键在于箭头方向的判定。

警告标志(约18类,ID 40-57)

包含注意行人、注意儿童、注意施工、注意信号灯、注意危险、停车检查等警告标志。警告标志通常为黄色背景三角形,识别的关键在于内部图案的区分。

2.3 数据分布分析

58类的数据分布需关注以下关键指标:类别均衡性方面,各类别样本数是否均衡,避免长尾分布导致少数类别检测效果差;场景多样性要求同一标志在不同场景下的变体是否充分覆盖;尺度分布则衡量小目标(远距离标志)与中/大目标的比例是否合理。

2.4 标注质量保障

全人工精细化标注是本数据集的核心优势之一。边界框紧贴度要求标注框紧贴标志边缘,留白不超过5像素;类别映射准确性确保每条标注的类别编号与实际标志严格对应;无漏标保证图像中所有可见标志均被标注;多轮校验使标注结果经过至少两轮独立审核。

三、模型训练全流程实战

3.1 数据集配置文件

# traffic_sign_58.yaml
path: datasets/中国交通标志识别数据集
train: images/train
val: images/val
test: images/test
nc: 58
names:
0: 限速5km/h
1: 限速15km/h
2: 限速30km/h
3: 限速40km/h
4: 限速50km/h
5: 限速60km/h
6: 限速70km/h
7: 限速80km/h
8: 禁止直行和左转
9: 禁止直行和右转
10: 禁止掉头
11: 禁止鸣喇叭
12: 禁止超车
13: 禁止停车
14: 禁止驶入
# ... 其余类别
57: 停车检查

3.2 基线模型训练

from ultralytics import YOLO
# 使用YOLOv8s作为基线模型
model = YOLO('yolov8s.pt')
results = model.train(data='traffic_sign_58.yaml',
epochs=150,
imgsz=640,
batch=32,
patience=30,
lr0=0.01,
mosaic=1.0,
mixup=0.1,
hsv_h=0.015,
hsv_s=0.7,
hsv_v=0.4,
project='traffic_sign',
name='yolov8s_baseline')

在这里插入图片描述

3.3 针对交通标志的优化策略

颜色保持增强方面,交通标志的颜色信息对识别至关重要(红色=禁令,蓝色=指示,黄色=警告),过度的颜色增强可能破坏这一关键特征。适度HSV增强参数包括色调变化极小以保持颜色信息,饱和度适度变化,明度可较大范围变化以模拟不同光照。

小目标检测优化方面,高速场景中的远距离交通标志属于小目标,通常小于32×32像素。优化策略包括增加输入分辨率至1280×1280,添加P2检测头(步长4)以增加小目标感受野,使用自适应训练采样提高小目标训练比例,并在损失函数中增加小目标权重。

类别不均衡处理方面,58类标志在现实中出现频率差异很大(限速60远多于限速5)。处理策略包括使用Focal Loss降低简单样本权重,对少数类别进行过采样或Copy-Paste增强,以及调整各类别的损失权重。

3.4 高级训练技巧

知识蒸馏:使用大模型(YOLOv8x)作为教师模型,小模型(YOLOv8n)作为学生模型,通过知识蒸馏在保持精度的同时大幅降低模型尺寸,适合边缘部署。

多尺度推理:在推理阶段使用多尺度测试(TTA),可以提升小目标的检测精度,代码示例如下:

results = model.val(data='traffic_sign_58.yaml',
augment=True, # 启用TTA
imgsz=640)

模型集成:训练多个模型并集成预测结果,可以进一步提升检测稳定性。具体包括不同架构的模型(YOLOv8与RT-DETR)、不同尺度的模型(YOLOv8s与YOLOv8m)以及不同训练策略的模型(不同随机种子)。

四、部署方案与系统集成

4.1 车载部署方案

交通标志识别系统的车载部署面临严格约束:实时性要求大于30FPS,应对策略采用轻量级模型搭配TensorRT加速;功耗要求低于10W,通过量化推理和NPU加速实现;可靠性要求高于99.9%,采用多模型冗余和置信度过滤;延迟要求低于50ms,通过端侧推理和流水线并行满足。

约束项要求应对策略
实时性>30FPS轻量级模型+ TensorRT加速
功耗<10W量化推理+ NPU加速
可靠性>99.9%多模型冗余+ 置信度过滤
延迟<50ms端侧推理+ 流水线并行

4.2 边缘设备选型

设备算力功耗推荐模型适用场景
Jetson Orin Nano40 TOPS15WYOLOv8s量产车型
Jetson AGX Orin275 TOPS60WYOLOv8m研发测试
地平线征程5128 TOPS30WYOLOv8s国产量产
瑞芯微RK35886 TOPS10WYOLOv8n后装方案

4.3 系统集成接口

class TrafficSignDetector:
def __init__(self, model_path, conf_thres=0.5):
self.model = YOLO(model_path)
self.conf_thres = conf_thres
# 限速值映射
self.speed_limit_map = { 0: 5, 1: 15, 2: 30, 3: 40, 4: 50, 5: 60, 6: 70, 7: 80}
def detect(self, frame):
"""单帧检测"""
results = self.model(frame, conf=self.conf_thres)
signs = []
for result in results:
for box in result.boxes:
cls_id = int(box.cls)
conf = float(box.conf)
bbox = box.xyxy.tolist()[0]
signs.append({ 'class_id': cls_id,
'class_name': result.names[cls_id],
'confidence': conf,
'bbox': bbox})
return signs
def get_speed_limit(self, signs):
"""提取当前限速值"""
for sign in signs:
if sign['class_id'] in self.speed_limit_map:
return self.speed_limit_map[sign['class_id']]
return None

在这里插入图片描述

五、业务应用场景

5.1 高级驾驶辅助系统(ADAS)

在L2级ADAS中,交通标志识别用于限速提示,在仪表盘或HUD上显示检测到的限速标志;超速警告,当前车速超过限速值时发出警告;以及禁止提示,检测到禁行或禁转标志时提醒驾驶员。

5.2 自动驾驶感知模块

在L3级以上自动驾驶中,TSR作为感知模块的必要组件,用于行为规划约束,限速值约束速度规划、禁令约束路径选择;规则遵守验证,验证规划轨迹是否违反交通规则;以及地图更新验证,与高精地图中的标志信息进行交叉验证。

5.3 智能交通监控

在交通管理领域,TSR技术用于违章检测,识别闯红灯、违规变道等行为;标志完好性检查,检测损坏或遮挡的标志并安排维护;以及交通流量统计,基于标志位置关联分析交通流量。

5.4 驾驶员培训与考核

在驾培领域,TSR技术辅助标志知识教学,实时识别并讲解当前标志含义;驾驶行为评估,判断驾驶员是否遵守标志指示;以及模拟考试评分,自动评判科目三考试中的标志遵守情况。

六、性能评估与对比

6.1 评估指标体系

交通标志检测应从多个维度进行评估:整体精度用mAP50衡量(IoU=0.5时的平均精度);严格精度用mAP50-95(IoU从0.5到0.95的平均精度);实时性用FPS表示;参数量用Params衡量;计算量用FLOPs表示。

评估维度指标说明
整体精度mAP50IoU=0.5时的平均精度
严格精度mAP50-95IoU从0.5到0.95的平均精度
实时性FPS每秒处理帧数
参数量Params模型参数量(影响存储)
计算量FLOPs模型计算量(影响推理速度)

6.2 不同模型对比

模型输入尺寸mAP50FPS (T4)参数量
YOLOv8n640~85%~1303.2M
YOLOv8s640~90%~8011.2M
YOLOv8m640~93%~5025.9M
YOLOv8l640~95%~3043.7M
RT-DETR-L640~94%~4032M

6.3 典型问题分析

易混淆类别方面,限速30km/h与限速80km/h数字相似,远距离易混淆;禁止直行和左转与禁止直行和右转仅方向箭头不同;直行和左转与直行和右转存在类似问题。

改进策略包括增加高分辨率输入,对易混淆类别增加训练样本,使用更大模型或集成方法,以及引入分类辅助损失。

七、数据集扩展方向

7.1 新增标志类型

当前58类未完全覆盖中国所有交通标志,可以扩展更多限速值(90、100、110、120km/h)、更多禁令标志(禁止各类车辆通行等)、更多指示标志(各类行驶方向组合)、辅助标志(时间范围、车辆类型等)以及临时施工标志。

7.2 条件标注扩展

为每条标注增加条件信息,包括标志可见度(清晰/模糊/遮挡)、天气条件(晴/阴/雨/雪/雾)、光照条件(白天/黄昏/夜间)以及拍摄角度(正面/侧面/远距离)。

7.3 时序标注

增加视频序列标注,支持标志出现与消失的时序检测、标志跟踪与重识别以及运动模糊下的检测增强。

八、总结与展望

该58类数据集以12000张精细标注图像覆盖国内标准标志,严格对应国家标准划分四大类别,为自动驾驶及智能交通提供核心数据支撑,推动技术从研发迈向产业应用。