时间:2022-10-05 08:42:10来源:法律常识
编者按:《郭继舜带你读汽车科技》旨在从第一性原理出发,尝试拨开迷雾,解读热点背后的汽车科技真相。
本栏目由智能驾驶专家郭继舜博士与汽车之心联合出品,内容独家授权汽车之心发布。
最近这段时间,关于特斯拉的新闻很多,我们今天讲其中两个。
第一个新闻发生在今天:2020 年 6 月 1 日,在台湾嘉义,一辆 Model 3 在高速公路上撞上了一辆侧翻的大货车。
我仔细看了下这条视频特斯拉车主估计开启了 Autopilot 功能,早晨 6 点 44 分,可能车主昨晚没睡好,在车上打瞌睡分神了。
车载摄像头和毫米波雷达没有识别出前方的箱式大货车,车头撞进了货箱箱体。
初步估计,这可能是货车白色箱体有比较强烈的阳光反射,影响了这辆 Model 3 的摄像头识别;或是因为视觉算法训练数据的局限性,一般训练的都是识别车辆后部、侧面、车辆头部,工程师可能没想过有一天需要识别货车的箱体顶部。
深度学习模型不能对这个物体分类,也就是说,算法不支持识别货车白色箱体这样的障碍物,造成了此次事故。
可能有人会问,即使摄像头没有识别,车载的 77G 毫米波雷达也应该能识别障碍物。
这与传感器的融合机制有点关系。
一般来说,1R(毫米波雷达)的 AEB (自动紧急制动)系统,只用一个毫米波雷达作为传感器的紧急制动系统,是能够对静态障碍物识别且正常制动的。
但在类似特斯拉这样的 1V1R (1 个摄像头+1 个毫米波雷达)的方案中,也就是一个前项摄像头加一个前项 77G 毫米波雷达的传感器方案。
为了减少 AEB 误触发,往往会用算法滤掉毫米波雷达对静态物体的信号,用摄像头识别多个目标,跟踪目标,同时用毫米波雷达对已识别物体进行检测和跟踪。
所以,因为传感器融合逻辑的问题,在这个案例中,毫米波雷达也没有及时给系统报警。
第二个新闻,是这几天,国内的一些媒体报道了今年 2 月在 Scaled ML 大会上,特斯拉 AI 高级总监 Andrej Karpathy 对外分享的特斯拉训练 AI 的方法,同时也首次对外分享了特斯拉如何借助摄像头就能实现激光雷达的探测精度。
这也让我们看到了 Elon Musk 坚持不使用激光雷达的技术底气。
目前,特斯拉 AI 团队已经掌握了名为「虚拟激光雷达」(pseudo-LiDAR)的新技术,它弥合了传统计算机视觉和激光雷达强大的点云世界之间的界线。
在 Scaled ML 大会上,特斯拉放出了一系列有激光雷达形式的 3D 地图,这些地图看起来就像是激光雷达采集到的信息,但是是用摄像头图像生成的。
Andrej Karpathy 说:「我们走了一条『虚拟激光雷达』的路径,只需简单预测单个像素的深度,找到它们直接的距离,就能得出结论。」
人类有很多得到物体距离(即景深)的方法,除了双眼创造的立体视觉之外,人类还能借助「动态视差」跟踪物体的运动方式,从而得出其他可以参考的线索。
比如人类驾驶员,经过短时间的适应,闭上一只眼睛,也一样能够好好驾驶。
初看这个技术报道,我感觉有些震惊,以为特斯拉又发布了什么黑科技。
但是仔细研究了新闻中提到的「虚拟激光雷达」的技术原理和效果图,也查阅了相关的资料后,我基本可以确认,这就是视觉感知中的经典的「单目视觉深度估计」问题,只不过将数据的展示形式用类似激光雷达点云的方式进行展示。
我的印象中,在 MobilEye EyeQ4 芯片和地平线 J2 芯片的视觉感知方案中已经发布了类似的功能,只是精度上与激光雷达有较大的差距。
在这个新闻中,我们并没有看到特斯拉发布精度的数据,所以也无法评论其算法的先进性与实用性。
借着今天这两个新闻,我给大家讲讲自动驾驶系统对于异构传感器的融合。
由于内容比较多,也比较技术,为了防止信息量过载,我们今天讲后融合,前融合等放在明天讲。
现阶段自动驾驶系统认识世界的唯一方法,就是通过传感器来接收外部的各种物理量并转换成电信号,再通过采样编码等方式变成原始数据,然后通过感知算法识别为目标信息,最后通过理解算法还原成对真实世界的抽象模型。
根据检测的物理量与采样编码方式的不同,我们大致可以将自动驾驶中的传感器分为:
除了上述直接对环境进行探测的传感器以外,还有一类设备,能够通过通信方式,直接获得外界编码好的事件信息,比如 V2X、GPS、IMU、RTK、轮速计等等,这些可以看作广义上的传感器。
各种传感器由于信号来源不同、原理不同、处理方式不同,在感知外部环境信息的时候具备不同的特性,我们把上述的这些差异称为传感器的「异构性」。
摄像头的感知数据是图片,也就是 RGB 像素的二维矩阵,分辨率高,但由于是被动式传感器,成像结果受强光、弱光影响较大。
一般的 24G 或 77G 毫米波雷达的感知数据是一条扫描线上的距离以及多普勒效应相应所表征的相对速度,是一维数组。
有些先进的毫米波雷达,在普通毫米波雷达的基础上增加了垂直方向的分辨率,同时频率也上升到了 79-81G,从而能够输出带相对速度信息的三维点云数据,也被成为 4D 毫米波雷达。
但是因为电磁波的特性,对于金属敏感度过高,对于人体等非金属目标敏感度不足,信号的噪声比较高,且由于波长远大于光波,衍射现象造成了分辨率不高,需要较多的滤波和后处理过程。
激光雷达通过主动红外激光扫描的方式,通过反射时间测距原理得到的是带反射率的三维点云信息。
由于激光频率高,波长短,光束能量密度大,因此具备分辨率高、距离精准,受外界影响小、信噪比高等特点,是非常理想的环境传感器。
但是缺点就是成本高、难维护,以及相比摄像头缺失了色彩信息,数据仍然不够稠密。
从上述分析可以知道,摄像头由于分辨率、帧率、信息丰富程度、算法适配度、产品成熟成本低等等多种优势成为了现阶段自动驾驶感知设备的首选。
但是,由于其原理的局限性,仍然无法解决自动驾驶感知中的所有问题:
首先,摄像头的透镜成像原理本质上是将三维空间坐标系投影到二维齐次坐标系的变换,损失了距离信息,所以单摄像头的单帧图像无法直接还原三维空间的距离信息,这是摄像头的本质缺陷。
虽然多摄像头或者单摄像头的多帧图像是可以利用多个齐次坐标系之间的相关性求解方程恢复深度信息的,也就是双目视觉感知技术和单目视觉 SLAM 技术。
但是即便如此,由于摄像头的检测方式是被动接收外界光线,所以仍然解决不了受外界强光干扰严重的问题,在逆光下失效可能很大。
所以,用摄像头虚拟激光雷达来替代实际的激光雷达,在目前看来,至少在精度还是鲁棒性上,都还是不太现实的。
现阶段,我依然是 L4 激光雷达解决方案的坚定支持者。
由于上述传感器都有各自的优缺点,现阶段自动驾驶感知系统使用的是混合异构传感器组合架构,以实现感知信息的互补融合。
根据智能化程度从低到高,对于传感器异构冗余的要求就越高:
在当前的自动驾驶工程实践中,我们通常采用感知结果后融合(Later Fusion)的方式来重建真实世界的模型。
也就是多种传感器采集原始数据后,各自单独使用算法进行目标的识别和分类,再根据对各个传感器结果的置信度不同,通过概率模型将可能是相同目标的观测结果融合起来,获得统一的世界模型。
我们回到第一条新闻,以视觉和毫米波雷达的融合 AEB 系统为例:
由于毫米波雷达受到光照的干扰相对较少,视觉感知算法漏检率太高,早期的 AEB 设计倾向于以毫米波结果为准。
后来发现毫米波雷达对金属敏感度太高,噪声太多,造成了虚警和鬼影太多,而视觉算法的准确度也越来越高,所以现阶段 AEB 系统对毫米波雷达的置信度权重下降,感知结果以视觉感知为主,通过一段时间内的置信度投票的方式获最终的感知输出。
这就是为什么那辆 Model 3 视觉失效了,毫米波雷达也不能很好地起作用的原因。
顺便说一下,目前通用的后融合框架主要有卡曼滤波与非线性优化方法,主要讲的是时间更新与测量更新,如何在算法层面形成数据闭环。
但是,后融合有一个较大的缺点,就是结构化信息的融合是各个传感器识别后的结果,对原始数据的信息损失量大,数据信息量低,这些损失的信息往往能够通过原始数据的融合而提高利用率,发现更多的微小有用信息。
所以传感器信息前融合的方法就逐渐受到了人们的关注。明天,我们将讲讲前融合。