点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
作者 | StevenYu 编辑 | 汽车人
原文链接:https://www.zhihu.com/question/47594911/answer/2070091180
本文只做学术分享,如有侵权,联系删文
这题我会,先讲一下"看到"红绿灯的难点。
难点1:小物体检测
红绿灯检测属于小物体检测问题,在一副图像上所占的像素比极小,并且不同于车辆,行人的检测,红绿灯所能提取的特征有限,基本上是颜色特征,这个对设计神经网络的特征提取提出极大的挑战。还需从其它角度考虑,如红绿灯的位置始终在高处,红绿灯的时序信息等去判断;另外对于相机的选型也有要求,选择fov小的,聚焦功能好,所检测的距离远,但视野范围小;选择fov大的,视野范围大,但检测距离近,所以可能会配合两个甚至多个不同fov大小的相机来检测红绿灯,这又会涉及到多个相机融合的难点问题。
难点2:红绿灯实时变化
虽然跟交通标志牌类似,都属于静态物体检测,但红绿灯的状态是实时发生变化的,这提升了检测的难度。此外,在不同光照条件下,红灯和黄灯的相似度很接近,甚至人眼都难以区分,只能根据灯的位置信息来区分。另外不同地区的红绿灯设计方式,展现形式不一样,如天津地区的条形展现形式,这就对红绿灯的数据采集提出更多的挑战,要覆盖更多场景,增加了采集成本,同时对检测网络提出了更高的要求,具备更强的泛化性。

难点3:红绿灯的倒计时
红绿灯还会有倒计时的问题,在检测到红绿灯状态的同时,对数字的倒计时同样需要进行检测。此外同一个交叉路口,存在多个不同状态下的红绿灯,对这么多类型的红绿灯检测,就算是人可能也没办法区分清楚,需要配合一定的经验。而对于机器来说,它需要的是短时间能做出判断,难度极大。
难点4:红绿灯的漏检和误检
难点4:仅凭感知层面的红绿灯检测是远远不够的,一容易误检,漏检,这对决策规划层有极大的影响,红灯识别成绿灯,继续往前开,想想都是很危险的。所以需要结合高精度地图,以及V2x技术来解决,一方面高精度地图提供当前的车所在的车道信息和距离红绿灯的远近信息,V2x技术可以感知车辆红绿灯的状态信息,再配合感知检测的备份冗余,才能准确的实现红绿灯的检测问题。
实现方案:
通过感知去识别红绿灯,有一种舍身取义的感觉,效果一般,适应性差,条件允许的话(如固定园区限定场景),该装V2X就装V2X,多个备份冗余,V2X > 高精度地图 > 感知识别。若碰上GPS信号弱的时候,感知识别可以出场了,大部分情况,V2X足以Cover掉大部分的场景。感知方案的具体实现参照文章,主要为红绿灯数据集采集,标签处理,检测模型训练,算法部署,追踪后端优化,接口开发;


总结:
所以可以看出,在我们日常生活中不起眼但是在城市道路不可或缺的红绿灯,要达到量产级别的检测识别,难度是相当大的,涉及到不同地区的场景,光照条件的影响,多种技术(高精度地图/V2x/感知)的融合多相机的融合等,难度远远超过车辆行人的检测,所以红绿灯问题难度大,棘手,又是在复杂城区智能驾驶不可回避的一个问题。
通过单车智能的方式去感知红绿灯难度太大,而且不能保证100%的识别成功率,红绿灯的误识别后果影响很严重,所以智能交通基础设施建设需要及时跟上,包括红绿灯的智能化、动态道路分配、智能路网设计等;这就需要得到城市政府部门的支持,能够获得城市路网的检测数据,同时对获得到数据的分析能力,高频次的流动车的数据,位置信息,需要极佳的信号灯控制算法及产品才能把优势发挥出来。
效果:


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~