1. 概述
红绿灯检测是自动驾驶感知系统的核心模块之一,负责实时识别交通信号灯的状态(红、黄、绿、黑、未知)及倒计时信息,为决策规划提供关键输入。本系统采用 "检测 + 分类"两阶段架构,结合多模型推理、高精地图融合、时序滤波等策略,在复杂光照(白天/黑夜)、多城市场景下实现高精度、高鲁棒性的感知能力。
2. 系统架构
白天
黑夜
Camera Frame
光照判断
Daytime Detector
Nighttime Detector
Detection Results
Crop Traffic Light ROI
Classification Model
Color: Red/Green/Yellow
Temporal Smoothing
Fuse with HD Map
Final Traffic Light State
3. 检测模型(Detection)
3.1 功能
- 在整幅图像中定位所有交通灯的位置(边界框)
- 输出:
[x1, y1, x2, y2, confidence]
3.2 模型选型
| 场景 | 模型标识 | 架构 | 输入尺寸 | 特点 |
|---|---|---|---|---|
| 白天 | xxx_day_v4 |
YOLOX-s | 1920×1088 | 高精度,适应强光/阴影 |
| 黑夜 | xxx_night_v3 |
RTMDet | 1920×1088 | 抗低光、防车灯干扰 |
| 裁剪精细检测 | xxx_crop |
YOLOX-tiny | 动态ROI | 提升小目标召回率 |
✅ 优化策略:
- 白天模型:通过分辨率升级、两步训练(先检测后多属性)、加入读秒灯数据提升性能。
- 夜间模型:基于轻量化检测头压缩模型,确保车载芯片推理延迟达标;持续扩充多城市夜景数据。
RTMDet(Real-Time Multi-Task Detector) 是由 OpenMMLab(商汤科技开源团队) 于 2022 年底推出的一系列高性能、高效率的实时目标检测模型,专为工业部署和边缘计算场景设计。
| 模型 | 输入尺寸 | mAP (%) | 参数量 (M) | FLOPs (G) | 推理速度 (FPS, V100) |
|---|---|---|---|---|---|
| RTMDet-t | 640 | 41.1 | 13.5 | 38 | 120+ |
| RTMDet-s | 640 | 46.0 | 21.8 | 63 | 80+ |
| RTMDet-m | 640 | 50.2 | 40.0 | 115 | 50 |
| YOLOX-s | 640 | 40.5 | 9.0 | 26.8 | ~60 |
| YOLOv8-s | 640 | 44.9 | 11.1 | 28.6 | ~70 |
YOLOX-s 是 YOLOX 系列的轻量级版本。
| 模型 | 输入尺寸 | mAP@0.5:0.95 | 推理速度 (Tesla V100) | 特点 |
|---|---|---|---|---|
| YOLOv3 | 416 | 33.0% | ~50 FPS | 首个实用化 YOLO |
| YOLOv4 | 608 | 43.5% | ~30 FPS | 引入 CSP、PANet |
| YOLOv5-s | 640 | 37.4% | ~140 FPS | 工程友好,PyTorch 实现 |
| YOLOX-s | 640 | 40.5% | ~90 FPS | Anchor-Free + 解耦头 + SimOTA |
4. 分类模型(Classification)
4.1 功能
- 对检测框内的区域进行颜色分类
- 输入:96×96 裁剪图
- 输出:
Red / Green / Yellow / Unknown
4.2 模型选型
| 模型标识 | 架构 | FLOPs |
|----------|------|-------|------|
| xxx_cls_v2 | ResNet-18 改进版 | 0.334G
ResNet 分类模型(Residual Network,残差网络)是深度学习中用于图像分类的经典卷积神经网络架构,由微软研究院的 He Kaiming 等人于 2015 年提出,并凭借其突破性的设计赢得了 ImageNet 2015 图像分类冠军。
xxx_cls_v2 模型即基于 ResNet-18 改进而来,专门用于对裁剪后的交通灯区域进行高精度颜色分类(红/绿/黄/未知)。
✅ 优势 :
局部放大后分类可显著提升颜色识别准确率,尤其在逆光、过曝、夜间等挑战场景。
5. 交通灯检测器处理逻辑
5.1 核心流程
-
场景判断
- 根据环境光照强度或时间,选择白天/黑夜检测模型。
-
主检测
- 运行对应检测模型,获取初始交通灯候选框。
-
ROI 裁剪与二次检测(可选)
- 若检测到多个正面灯,计算包围盒并动态裁剪 ROI。
- 使用精细检测模型对 ROI 进行二次检测,提升小目标召回。
-
结果融合
- 合并主检测与裁剪检测结果。
- 处理单灯多信号、倒计时关联等复杂情况。
-
分类
- 对每个有效检测框裁剪为 96×96,送入分类模型。
-
后处理与滤波
- 尺寸过滤:剔除不符合高精地图先验的异常框。
- 投票机制:对同类灯(如所有正面圆形灯)进行颜色投票。
- 时序平滑:维护颜色历史窗口,避免状态闪烁。
- 倒计时处理:通过数字状态表实现跳变预测与平滑。
-
地图融合
- 将检测结果与高精地图中的交通灯 ID 匹配。
- 利用地图先验验证投影位置,过滤误检。
- 支持直行灯状态同步至转向灯。
-
输出
- 最终交通灯列表,包含:
- 状态(红/绿/黄/黑/未知)
- 倒计时(秒)
- 置信度
- 关联的地图 ID
- 最终交通灯列表,包含:
6. 性能指标
| 指标 | 目标 |
|---|---|
| 检测 mAP@0.5 | ≥95% |
| 分类准确率 | ≥98% |
| 端到端延迟 | ≤100ms(含检测+分类) |
| 倒计时识别率 | ≥90%(≥3秒时) |
| 夜间漏检率 | ≤2% |
7. 未来方向
- 端到端替代:探索统一检测-分类架构。
- 3D 交通灯感知:结合深度估计,减少对高精地图依赖。
- 在线学习:利用运营数据自动更新模型。
- 跨域自适应:提升新城市零样本迁移能力。
- 多摄像头融合:融合前视+侧视,解决遮挡问题。
8. 结论
本红绿灯检测系统通过 "场景自适应模型 + 两阶段处理 + 多源数据驱动 + 高精地图融合" 的综合策略,在真实道路环境中实现了稳定可靠的交通灯状态感知,为高级别自动驾驶提供了关键安全保障。