自动驾驶最核心的技术是什么?
点击下方卡片,关注“新机器视觉”公众号
重磅干货,第一时间送达
本文来源:知乎、计算机视觉life
/ 导读 /
自动驾驶最核心的技术是什么?
有的人认为是感知、有的人认为是决策,有的人认为是非技术的东西,比如能否持续赚到钱、能否做好前瞻性的管理工作等等。不知道你怎么看?
这里我们选取了知乎上的几位答主,供大家学习交流,欢迎留言区讨论。
所长
原链接:https://www.zhihu.com/question/267204565/answer/2222217534
大家把自动驾驶各个技术板块都扒的差不多了,我就从实际的车辆表现来说下我的看法。
前段时间我还在新能源媒体电动邦的时候开发了一套自动驾驶评测体系,当时对Model 3、小鹏P7、蔚来ES6的自动驾驶功能进行了完整的测试。其中一项是对雪糕筒的识别和反馈:
点击下方卡片,关注“新机器视觉”公众号
重磅干货,第一时间送达
本文来源:知乎、计算机视觉life
/ 导读 /
自动驾驶最核心的技术是什么?
有的人认为是感知、有的人认为是决策,有的人认为是非技术的东西,比如能否持续赚到钱、能否做好前瞻性的管理工作等等。不知道你怎么看?
这里我们选取了知乎上的几位答主,供大家学习交流,欢迎留言区讨论。
所长
原链接:https://www.zhihu.com/question/267204565/answer/2222217534
大家把自动驾驶各个技术板块都扒的差不多了,我就从实际的车辆表现来说下我的看法。
前段时间我还在新能源媒体电动邦的时候开发了一套自动驾驶评测体系,当时对Model 3、小鹏P7、蔚来ES6的自动驾驶功能进行了完整的测试。其中一项是对雪糕筒的识别和反馈:
三台车在同样的路段冲向同样的桩桶 ,结果却截然不同:
小鹏:直接冲过去。
特斯拉:变道躲避。
蔚来:提示驾驶员接管车辆,自动刹车,同时打开双闪。
当时我们测试的车辆速度是40-50km/h,理论上来说,以三台车当前的硬件能力,不可能识别不到前方桩桶,最终不同的表现其实代表的就是三台车不同的决策逻辑,我们来听下三台车的内心独白:
小鹏P7:前方有桩桶?这是施工路段呐,理论上这属于驾驶员自己接管的范围,主动介入有可能造成危险,万一出了事责任也很难划分清楚吧?算了,还是维持当前操作!
特斯拉:前方有障碍物?哈哈,大显身手的机会来了!看我的,变道避障!
蔚来:前方有障碍物?可能有危险吧?不行不行,赶紧刹车降速,同步告知驾驶员和周围车辆,小心!有危险啊!
针对以上三台车的表现,肯定会有人觉得特斯拉“太激进”,或者P7“太保守”,当然这不是本次回答的重点,以后有机会再深入交流。
回到题目:“自动驾驶最核心的技术是什么”。我认为是决策的能力和决策的逻辑。
随着激光雷达的应用、其他传感器能力的加强,车辆能“感知”到的信息一定会越来越丰富,但我觉得这并不一定代表着自动驾驶能力一定会加强。
之前做市场调研,刚接触到“大数据”的时候特别兴奋,我们能拿到运营商和银联的数据,而且能够打通(当时管控还没那么严),这意味着几乎所有的消费者网络行为和消费行为都是能获取的,本以为就此拥有了“王炸”的调研资源,但是,实际做出来的分析报告却并不理想。后来慢慢明白了,大数据,能用好才是宝矿,用不好就是一堆垃圾。
我想自动驾驶的道理应该是差不多?欢迎自动驾驶开发的大拿们前来交流指正。
小方有点小方
原链接:https://www.zhihu.com/question/267204565/answer/2211929588
个人认为自动驾驶技术的核心实际上还是决策。过去几年由于视觉感知的不稳定,自动驾驶的发展收到了极大的制约,因此很多人都认为环境感知才是自动驾驶技术的核心。但随着环境感知的硬件越来越好,底层控制系统越来越精准,智能决策的重要性越来越关键。
如果自动驾驶类比人开车,那么感知就类似于人的眼耳,获取汽车周边的环境信息,而手脚则是偏执行层的控制。那么自动驾驶的核心就应该更偏向脑部的功能——决策。
作为一名开发工程师,在过去我们往往都在吐槽Mobileye的摄像头或者哪家的雷达不行(眼神不太好),譬如车道线无法准确识别,静止车辆在远距离识别不到,这个目标又丢了,然后再加一堆的逻辑去解决这些参数异常跳动或者目标无法准确识别、丢失等问题。除此之外还需对执行层进行调试,譬如这个EPS死区有点大,这个车辆制动响应不太好(可以理解为手脚不太好使)。但随着供应商以及自研技术的提升,这样的场景越来越少了,无车道线场景也可以给出安全行驶的边界了,大家也有更多的精力去打磨决策相关的内容了,在学会走路的基础之上,研究如何的跑的更快,跑的更优雅了。
华为自动驾驶demo视频放出来之后,大家讨论的更多的也是其在低速拥堵场景下的智能表现,自动驾驶汽车不再像过去那样傻傻的按照简单的既定规则去运行,开始有一些新的闪避、加塞、试探、博弈的技能点,自动驾驶系统开车可以更优雅更协调更像“人类”了。
在以前,我们可以把车辆的行为分为纵向的加减速和横向的车道保持和变道。但随着自动驾驶技术的发展,人类交通参与者与自动驾驶汽车并存,这种简单的组合已经不太能够满足高阶自动驾驶的需要,汽车在行为层面需要可能需要做出更精细的分类,并设计一套更复杂、更类人的决策系统,做出未来一段时间更合理更智能的行为序列,从而化身我们口中的充满灵动而又稳重的“老司机”。
Sean
原链接:https://www.zhihu.com/question/267204565/answer/2219851929
游戏规则
除了前面几位提到的感知,决策,我认为一套合理的开发、评价和管理体系,是大部分公司所缺失的,这里面涉及的东西很多,远远超出了核心技术的概念。
1)能不能
比如,我想识别所有的障碍物,但是你能枚举出所有的障碍物来测试吗?大千世界,无奇不有,显然是不能枚举完的。所以,那些没测过的障碍物,风险怎么评估呢?你敢在产品放行文件上签字吗?
OK,我知道有仿真,仿真能大大提高测试的覆盖度,那么仿真和实际的偏差,怎么评估呢?仿真能识别了,实际就能吗?
简单来说就是几个问题,第一,你知道你能识别什么,但是你知道你不能识别什么嘛?第二,如果你知道不能识别,那你能及时报警让驾驶员接管吗?第三,如果没接管,你能及时执行最小风险策略吗?这些需要一套体系来管理和评价。
SOTIF能解决不少问题,但是SOTIF,有几个公司能完全用起来呢。更别说SOTIF解决不了的问题了。
2)可不可靠
之前是一些模糊边界的问题。那么对于已经定义清楚的功能,怎么保证可靠性呢?
功能安全里有个安全目标的概念,简单说就是对于影响安全的事件(比如制动失效),有一套体系来保证相关的功能是可靠的。这里就引出了最常用的提高可靠性的方法---冗余。
冗余在传统的车辆上很常见,比如扭矩计算,比如制动执行机构的冗余。但是对于自动驾驶的一些问题,比如基于AI的感知,目前还不好做。
因此,我们没法直接套用功能安全的体系,来保证我们已经定义并实施的功能,是‘可靠’的。那怎么办呢?可以结合数据闭环来debug。但有个问题是,数据闭环是滞后的。就算用测试车,测试车的数据在数量和test case的覆盖度是比较局限的。OK,所以还要结合仿真,所以老问题又来了,仿真测试能过,路测就可以吗?偏差怎么评估呢?
这就是一系列如何评价可靠性的问题。
我不是对自动驾驶悲观,只是觉得要正视问题,避免盲目自信。
也许以后有更好的体系来支撑自动驾驶的开发,但是归纳起来一句话---都需要时间。但是我不希望有车企用激进的方式,像特斯拉那样用消费者来做测试,加速这个进步。
大包子狸
原链接:https://www.zhihu.com/question/267204565/answer/2216606250
决策!这个答案基本无疑了。
人类是如何走路的
讲到最核心的技术,那一定要知道自动驾驶一共有哪些环节?在了解这些环节之前,我们不妨看看我们自己,人类是怎么实现走路的呢?
首先是观察,我们走路的时候,会用眼睛去看路和路上的情况,用耳朵去听周边的声音,用脚(偶尔会加上手和身体)去触摸道路的情况。比如:
“前面有个转弯,这里是个十字路口”
“后面好像有脚步声越来越近了,而且声音越来越大了”
“现在脚下都是烂泥,感觉脚都陷进去了”
然后,这些看到、听到和触摸到的情况都被传送到你的大脑,你就会在大脑里做各种分析和判断:
“在这个十字路口,我要向右转弯了”
“后面的人感觉走的很快,我要让开他,避免他撞上我”
“路太差了,我要走慢一点”
通过你大脑的决策以后,你的身体开始做出反应,你的手、脚和身体开始执行大脑的命令:
“脚开始向右边移动,最短距离的进入弯道”
“身体向距离声音比较远的方向移动,甚至靠近声音比较近的身体做一些侧倾的避让动作”
“脚的动作变缓,每踩一步,都要更慢和更稳定”
所以,人就是通过上面的三个部分的不断循环,来实现了走路。其实,自动驾驶也是通过这三个部分,来实现了车辆的行驶,这三个部分就是感知,决策和执行三个部分。
自动驾驶是如何工作的
上面的部分已经说到了,自动驾驶分为感知、决策和执行三个部分,那么在实际过程中,目前的车辆大概按照这些流程来进行操作。
首先是感知,目前来说,我们具有感知功能的车辆普遍安装了各种传感器,包括激光雷达,毫米波雷达,超声波雷达,摄像头,高精地图,定位系统等等设备,这些设备在工作的过程中,收集了大量的数据,比如激光雷达收集到了大量的点云数据,超声波雷达收集到了距离和速度的数据,摄像头收集到了大量的形状数据,定位系统收集到了坐标系的数据,这些数据都通过清洗和整理后,被传输到决策模块。
其次到了决策,在感知把这些数据提交到了决策模块之后,决策模块就要开始工作了,把所有的这些数据和车辆的运动结合起来,比如毫米波雷达告诉你前车的速度突然降低了,那么决策模块就会做出“立即降低车速”的决策,又比如视觉模块报告前方有交通锥,那么决策模块就做出“变道,绕开”的决策,这些都是需要决策模块进行判断的。其实在这个阶段,不仅仅有这么大方向的决策,还有很多小细节上,比如减速的距离,减速的下降速率,变道的时机,甚至对感知到的车辆将来行驶轨迹的预测,这些都和驾驶人员的体验密切相关,往往要做一个好的决策,需要融合多方面的数据。
最后就是执行,在执行层面,主要是完成决策交待的任务,比如决策模块做出了“减速”的决策,如何来落实减速的决策,车辆可能会调用制动器去操作,也可能用动能回收的方式来实现车辆的减速。当然,再很多更复杂的决策下,车辆或许需要联合规划方向盘、加速、刹车等部件的动作,才能达到预定目标。
比如下面的视频中,车辆根据综合传感器的融合,做出了减速、变道和急刹等反应:
为什么决策最重要?
首先的就是对数据进行分析,由于目前的量产车上来说,感知硬件非常多,会收集到非常多的数据,那么如何融合和利用这些数据,就成了一个很大的问题。举个简单的例子:
毫米波雷达:报告决策中心,前方发现横在道路上的重型卡车。
视觉摄像头:决策中心,前方一路通畅,未有障碍。
激光雷达:前面看到的是一辆电动车。
决策中心:……停车?正常行驶?绕行?
这个时候,就要依靠决策来融合各方面的数据来进行判断,比如按照不同的场景来设置不同的权重,来进行判断,比如通过高精地图信息我们发现车辆这个时候正要进入隧道,毫米波雷达发现的重型卡车很可能只是隧道上方的名牌,但是视觉摄像头因为光线阴影没有发现机动车道上的小型电动车,那么我们就可以采取及时绕行的策略。如果没有决策,那么车辆的自动驾驶就很难做进一步的操作。
其次是任务决策。任务决策主要是做多个层级的任务规划,比如规划从点到点的道路行驶路径,规划车道级的变道行驶策略,行驶过程中的各种绕行时机等。这些策略会根据交通流的复杂度进行改变,从而不断调整自动驾驶的动作。比如当探测到当前道路堵塞的时候,要求重新规划任务,并做分解调整。
最后是用户体验上的决策。比如同样是ACC的自动降速,可以在侦测到前车减速的时候,立即采取快速制动,这样操作简单还不容易发生碰撞,但是用户体验上就会大大下降,相当于坐在一个不停的踩刹车和油门的新手司机上。另一种方法就是可以按照减速的程度和距离前车的距离进行线性的减速,这样的体验会对用户更加友好,但是可能在算法上要求就更高一点。
所以,决策系统通过感知信息来进行决策判断,确定适当工作模型,制定相应控制策略,替代人类驾驶员做出驾驶决策。这部分的功能类似于给自动驾驶汽车下达相应的任务,类似于自动驾驶的大脑,这才是整个驾驶过程中最重要的一部分,而且在实践中,目前无论是自动驾驶公司还是大规模量产的辅助驾驶技术中,硬件堆砌的水平基本上差距不大,核心竞争的还是决策算法,比如说特斯拉的辅助驾驶为什么领先?为什么可以实现纯视觉的优势,更多的还是其算法上的优势。比如下面的视频中,特斯拉仅仅依靠视觉,AP就可以通过无道线路口,目前应该是尚未有其他量产的2级驾驶自动化车辆可以实现这一技术。
Mr.Zhang
原链接:https://www.zhihu.com/question/267204565/answer/2216804968
纯技术方面什么最核心大家估计谁都说服不了谁,然而我觉得大家需要站得更高一点来看这个问题。
我认为自动驾驶最核心的技术是能够赚到钱。
纯技术方面到最后大家都是趋同的,关键还是谁能搞清楚哪个赛道以及哪种商业模式是能赚钱让自己活下去的。
现在全球搞自动驾驶的公司太多了,昨天某国内头部独角兽又分裂出三个新公司,然而可以预见的是这个市场并不需要这么多同质化的公司反复造轮子,找不到合适的商业模式的公司五年内就会死掉一大批。
目前看来还没有一家搞高级别自动驾驶的公司是能够盈利的,包括最早入局的那一家。反而是某家兼营ADAS解决方案供应商的独角兽似乎更受资本和市场的青睐,所以很多其他独角兽现在也都在尝试和传统车企已经Tier1接触并寻求合作。
所以说不管你感知规划做得多好 ,搞不明白该怎么赚钱的公司,最终也只能沦为为他人做嫁衣。
本文仅做学术分享,如有侵权,请联系删文。