自动驾驶汽车如何「看到」红绿灯?

作者 | StevenYu  编辑 | 汽车人

原文链接:https://www.zhihu.com/question/47594911/answer/2070091180

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【目标检测】技术交流群

本文只做学术分享,如有侵权,联系删文

这题我会,先讲一下"看到"红绿灯的难点。

难点1:小物体检测

红绿灯检测属于小物体检测问题,在一副图像上所占的像素比极小,并且不同于车辆,行人的检测,红绿灯所能提取的特征有限,基本上是颜色特征,这个对设计神经网络的特征提取提出极大的挑战。还需从其它角度考虑,如红绿灯的位置始终在高处,红绿灯的时序信息等去判断;另外对于相机的选型也有要求,选择fov小的,聚焦功能好,所检测的距离远,但视野范围小;选择fov大的,视野范围大,但检测距离近,所以可能会配合两个甚至多个不同fov大小的相机来检测红绿灯,这又会涉及到多个相机融合的难点问题。

难点2:红绿灯实时变化

虽然跟交通标志牌类似,都属于静态物体检测,但红绿灯的状态是实时发生变化的,这提升了检测的难度。此外,在不同光照条件下,红灯和黄灯的相似度很接近,甚至人眼都难以区分,只能根据灯的位置信息来区分。另外不同地区的红绿灯设计方式,展现形式不一样,如天津地区的条形展现形式,这就对红绿灯的数据采集提出更多的挑战,要覆盖更多场景,增加了采集成本,同时对检测网络提出了更高的要求,具备更强的泛化性。

0935fc91a115acbe582fbbfa34f873e4.png
天津进度条红绿灯

难点3:红绿灯的倒计时

红绿灯还会有倒计时的问题,在检测到红绿灯状态的同时,对数字的倒计时同样需要进行检测。此外同一个交叉路口,存在多个不同状态下的红绿灯,对这么多类型的红绿灯检测,就算是人可能也没办法区分清楚,需要配合一定的经验。而对于机器来说,它需要的是短时间能做出判断,难度极大。

难点4:红绿灯的漏检和误检

难点4:仅凭感知层面的红绿灯检测是远远不够的,一容易误检,漏检,这对决策规划层有极大的影响,红灯识别成绿灯,继续往前开,想想都是很危险的。所以需要结合高精度地图,以及V2x技术来解决,一方面高精度地图提供当前的车所在的车道信息和距离红绿灯的远近信息,V2x技术可以感知车辆红绿灯的状态信息,再配合感知检测的备份冗余,才能准确的实现红绿灯的检测问题。

实现方案:

通过感知去识别红绿灯,有一种舍身取义的感觉,效果一般,适应性差,条件允许的话(如固定园区限定场景),该装V2X就装V2X,多个备份冗余,V2X > 高精度地图 > 感知识别。若碰上GPS信号弱的时候,感知识别可以出场了,大部分情况,V2X足以Cover掉大部分的场景。感知方案的具体实现参照文章,主要为红绿灯数据集采集,标签处理,检测模型训练,算法部署,追踪后端优化,接口开发

74228c39cb962425843c22f8cf4f196d.png d53d32a866b1edb2427253892bcc5776.png

总结:

所以可以看出,在我们日常生活中不起眼但是在城市道路不可或缺的红绿灯,要达到量产级别的检测识别,难度是相当大的,涉及到不同地区的场景,光照条件的影响,多种技术(高精度地图/V2x/感知)的融合多相机的融合等,难度远远超过车辆行人的检测,所以红绿灯问题难度大,棘手,又是在复杂城区智能驾驶不可回避的一个问题。

通过单车智能的方式去感知红绿灯难度太大,而且不能保证100%的识别成功率,红绿灯的误识别后果影响很严重,所以智能交通基础设施建设需要及时跟上,包括红绿灯的智能化、动态道路分配、智能路网设计等;这就需要得到城市政府部门的支持,能够获得城市路网的检测数据,同时对获得到数据的分析能力,高频次的流动车的数据,位置信息,需要极佳的信号灯控制算法及产品才能把优势发挥出来。

效果:

e577cd5c09a4e4255f7d0be4937acc4f.png 8c350dc270fba5a2d9a6c7c2338ccd1b.png

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)

1f6b53b7e2541b36a3fd103ede79e1b9.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

832381189be4b7b394ec55ebff08d255.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

22d8d5babd5102933cf12dc7fac01568.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

d25ec6c17acb89530db855fdc7bd6c68.jpeg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 写一个决策树,需要确定所有可能的情况,并且为每种情况确定相应的行动。比如,当自动驾驶汽车面对红绿灯,可以定义一个分支,若是红灯,则车辆应该停下来;若是绿灯,则车辆可以继续行驶。在写出决策树后,就可以让自动驾驶汽车依据这棵决策树,做出正确的红绿灯决策了。 ### 回答2: 写一个决策树帮助自动驾驶车进行红绿灯决策可以按以下步骤进行: 1. 收集数据:收集各种交通情况下的红绿灯相关数据。包括红绿灯颜色、距离、持续时间等信息,并记录车辆行驶状态,如车速、距离前车等。 2. 特征选择:根据上述数据,选择适当特征进行决策。例如,红绿灯颜色、距离、车速等可以作为特征。 3. 构建决策树:根据特征选择的结果,根据训练数据构建决策树。例如,首先选择红绿灯颜色作为第一个分裂点,根据红绿灯颜色的不同将数据划分为不同的子集。然后,在每个子集上选择下一个最佳特征,并进一步划分子集。继续这个过程直到满足终止条件。 4. 决策规则:根据构建的决策树,制定决策规则。例如,当红绿灯颜色为绿色且车速低于某个阈值时,决策为继续前进;当红绿灯颜色为红色且车速大于某个阈值时,决策为停车等待。 5. 测试和优化:使用测试数据评估决策树的性能,并根据需要对决策树进行优化。例如,可以添加更多的特征或改进决策规则,以提高决策准确性和效率。 需要注意的是,决策树是一种简单而有效的决策算法,但对于复杂的交通场景可能需要更复杂的决策方法和算法。因此,在实际应用中,还需要考虑其他因素,如传感器数据、机器学习等,以提高自动驾驶车在红绿灯决策中的准确性和安全性。 ### 回答3: 写一个决策树来帮助自动驾驶车进行红绿灯决策可以按照以下步骤进行: 1. 收集数据:收集尽可能多的与红绿灯决策相关的数据。这些数据可以包括红绿灯的颜色、位置、持续时间,车辆的速度、位置等。 2. 数据预处理:对收集到的数据进行预处理,包括数据清洗、特征提取和标签的定义。将数据转化为模型可以理解的数值表示。 3. 特征选择:根据数据的重要性进行特征选择,选择与红绿灯决策最相关的特征进行训练。 4. 数据划分:将数据集划分为训练集和测试集,训练集用于构建决策树模型,测试集用于评估模型的性能。 5. 决策树构建:使用训练集来构建决策树模型。可以使用一种基于信息熵或基尼系数的算法,比如ID3、C4.5或CART算法。 6. 决策树剪枝:对构建好的决策树进行剪枝操作,以防止过拟合。可以使用预剪枝或后剪枝的方法。 7. 决策树评估:使用测试集评估决策树模型的性能,计算准确率、精确率、召回率等指标来评估模型。 8. 模型优化:根据评估结果对模型进行调优,可以调整训练集和测试集的划分比例、改变特征选择的方法或参数等来提高模型的性能。 9. 决策树应用:将优化后的决策树模型应用于自动驾驶车上,根据车辆实时接收到的红绿灯信息和其他相关特征,通过决策树模型进行红绿灯决策。 10. 持续优化:不断收集并更新数据,重新训练和优化模型,以适应更多场景下的红绿灯决策要求,提升自动驾驶车的性能和安全性。 通过以上步骤,我们可以构建出一个帮助自动驾驶车进行红绿灯决策的决策树模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值