蔚来为什么会撞静止车辆?
公认深度学习大牛吴恩达,图像识别与探测一体无法分割。
图片来源:互联网
由于硬件厂家的误导,让普通大众以为算力和安全性成正比,和技术先进度成正比。实际毫无任何直接关联,其原因在于通常说的算力都是AI算力,也就是深度学习算力,更准确地说是卷积部分乘积累加的运算。基于单目或三目的机器视觉,有着天然的无法改变的缺陷,这个缺陷表现为识别或者说分类与探测是一体的,无法分割,特别是基于深度学习的机器视觉。也就是说,如果无法将目标分类(classification,也可以通俗地说是识别recognition)就无法探测。换句话说,如果无法识别目标就认为目标不存在,就会变瞎子。车辆会认为前方无障碍物,会不减速直接撞上去。
什么状况下无法识别?有两种情况,第一种是训练数据集无法完全覆盖真实世界的全部目标,能覆盖10%都已经是很神奇的了,更何况真实世界每时每刻都在产生着新的不规则目标。特斯拉多次事故都是如此,比如在中国两次在高速公路上追尾扫地车(第一次致人死亡),在美国多次追尾消防车。第二种是图像缺乏纹理特征,就像摄像头面前放一张白纸,自然识别不出来是什么物体。某些底盘高的大货车的侧面在某一时刻或者一堵白墙,就是白纸一样,基于深度学习的机器视觉此时就是瞎子,不减速直接撞上去。此外,静止目标对深度学习也是麻烦,为了提高识别效率,机器视觉尤其是基于深度学习的机器视觉需要先框选出运动目标,同时也为了防止误判,也必须将运动目标和静止目标分开,如有些道路两侧停满汽车,运动目标的优先级自然高于静止目标,然后再去识别,通常是背景减除、三帧法或光流法,有时需要1-2秒时间,然而事故可能就发生了。
图片来源:互联网
法雷奥激光雷达简介,激光雷达专治这几个难题,立体双目也可以解决这些难题。
解决办法就是传统非深度学习算法,特别是立体双目和激光雷达,二者均可做到不分类也能探测目标的信息,无法识别就变瞎子的问题可以完美解决,不过这些技术掌握在丰田、奔驰这些真正的顶级大厂手中。
特斯拉在美国撞上翻倒的静止的卡车。图片来源:互联网
从本质上讲,深度学习是一种高度通用且极为强大的曲线拟合技术,能够识别出以往无法被发现的模式,推断趋势并针对各类问题给出预测性结果。当然,曲线拟合在表示给定数据集时也存在一定风险,这就是过度拟合。具体来讲,算法可能无法识别数据的正常波动,最终为了拟合度而将噪音视为有效信息。并且深度学习是个黑盒子或灰盒子,调参更像是艺术而非科学。
特斯拉在台湾撞上静止的侧翻的大货车。图片来源:互联网
蔚来撞上静止车辆的原因可能有两个,一是无法识别公路养护车,尤其是公路养护车后边还放着角锥桶。就像特斯拉无法识别扫地车撞死过人一样,无法识别就变瞎子了。在人眼看来公路养护车与普通车辆差别很小,但在机器看来,差别巨大,机器视觉有两种,一种是手工模型,一种就是深度学习,它是分割再拟合的,特别是深度学习,它要遍历每一个像素,数十亿次的乘积累加训练好的模型的权重值来做对比,它不像人类视觉是整体性的,机器视觉跟人类视觉是完全不同的路线,所以机器视觉识别永远也无法与人眼比。此外,人类视觉的核心不仅有眼球,还有大脑。二是静止目标需要机器视觉花费比较长的时间来处理,导致系统没反映过来,这个处理能力不是靠AI加速器能解决的,AI加速器或者说AI处理器里面主要是MAC乘积累加计算模块,只能加速卷积计算。也就是说特斯拉的FSD的AI算力再高也一样要撞。
图片来源:互联网
再有就是毫米波雷达,目前量产车的毫米波雷达角分辨率太低,对金属物体又过于敏感,为避免误动作,所有的毫米波雷达都会将静态目标过滤掉。此外,毫米波雷达安装的角度也很低,遇上底盘比较高的大货车,可能会检测不到。即将上市的宝马ix安装的大陆ARS540 4D毫米波雷达角分辨率高,且是目前唯一能真正测高度的毫米波雷达,不过滤静态目标。即便毫米波雷达不过滤静态目标,以辅助驾驶的设计原则,宁漏检不误检,恐怕也不会启动AEB。
特斯拉撞静止消防车。图片来源:互联网
蔚来用的是Mobileye的EyeQ4,这是一款2015年11月推出的芯片,设计时间估计在2013年底到2014年底,至今已经8年了。
图片来源:互联网
2013年深度学习还不流行,EyeQ4肯定是不会用的,EyeQ4用的是传统手工模型算法,可能是反光强烈的角锥导致无法识别。
再有就是静止目标的干扰,EyeQ4需要框选出运动目标再识别,这就是运动目标检测,一般都缩写为MOD。运动目标检测的算法依照目标与摄像头之间的关系可分为静态背景下运动检测和动态背景下运动检测。
静态背景下的目标检测,就是从序列图像中将实际的变化区域和背景区分开了。在背景静止的大前提下进行运动目标检测的方法有很多,这些方法比较侧重于背景扰动小噪声的消除,如:
• 背景差分法
• 帧间差分法
• 光流法
• 混合高斯模型(GMM)
• 码本(codebook)
还有这些方法的变种,例如三帧差分,五帧差分,或者这些方法的结合。
运动背景下的目标检测,相对于静态背景而言,算法的思路就有所区别了,一般会更加侧重于匹配,需要进行图像的全局运动估计与补偿。因为在目标和背景同时运动的情况下,是无法简单地根据运动来判断的。智能驾驶的运动目标检测(MOD),显然是运动背景下的目标检测。最适合的是GMM和光流法。
GMM简单讲,将输入图像的像素与背景模型进行对比,和背景模型相似性比较高的点视为背景,和背景模型相似性比较低的点视为前景,再利用形态学的方法进行运动目标提取。混合高斯模型是由K个(基本为3到5个)单高斯模型加权组成的。在获取新的一帧图像之后,如果当前图像中的像素点与该像素的K个模型中的某一个匹配度比较高,则视为背景,并将当前帧的像素作为一个新模型,更新已存在的K个模型。如果匹配度比较低,则为前景点。整个混合高斯模型算法主要是有方差和均值两个参数,对于这两个参数采取不同的学习机制,直接影响该算法的正确性、稳定性和收敛性。opencv包含了GMM算法,可以直接调用,非常省事。大多数程序员根本不关心原理,直接复制代码就行了。
不过依照2013年的运算资源,EyeQ4恐怕很难用GMM,光流法就更不用说了,那是需要GTX3060级显卡的算法。
特斯拉撞静止警车。图片来源:互联网
EyeQ4可能选择的阈值很低,无法抑制角锥这样的噪音,框选时间多花了大约几秒,然而车辆速度过快,几秒就出事故了。即使没有角锥,静止目标比运动目标也要多花1-2秒时间来探测。此外这也跟车速变换有关,车速越高,自然变化量就大,车速越低,变化量就小,所以我们看到所有智能驾驶的车辆其AEB适用车速范围都有下限,一般是时速10公里,有些甚至是30公里。
特斯拉也用过Mobileye的芯片,不过没用过EyeQ4,特斯拉也是频繁撞静止车辆,那么上了FSD的特斯拉还会撞静止车辆吗?很有可能也会。
特斯拉FSD框架图。图片来源:互联网
NPU或者说AI加速器门槛极低,很好做,中国大大小小估计能有几百家号称能做。GPU门槛极高,全球也就英特尔、英伟达、AMD和高通能做。特斯拉也算不错,第一次就有GPU,不过算力不高。
单目或三目要完美解决静止车辆问题,就用光流法。OpenCV中实现了不少的光流算法。
1)calcOpticalFlowPyrLK
通过金字塔Lucas-Kanade 光流方法计算某些点集的光流(稀疏光流)。理解的话,可以参考这篇论文:”Pyramidal Implementation of the Lucas Kanade FeatureTrackerDescription of the algorithm”
2)calcOpticalFlowFarneback
用Gunnar Farneback 的算法计算稠密光流(即图像上所有像素点的光流都计算出来)。它的相关论文是:"Two-frameMotion Estimation based on Polynomial Expansion"
3)CalcOpticalFlowBM
通过块匹配的方法来计算光流。
4)CalcOpticalFlowHS
用Horn-Schunck 的算法计算稠密光流。
这些算法要么比较依赖CPU,如用开曼滤波器的,要么比较依赖GPU。或者部分依赖CPU如平滑运算,梯度处理,要么依赖GPU。还会用到除法,就是几乎用不到FSD最擅长的卷积运算,用FPGA做光流是最合适的。
光流法缺点就是运算复杂且运算量大。所以FSD大概率还是会撞的。
顺便说一句,双目的光流法就简单很多,因为双目是能提供深度信息的。奔驰的6D视觉就包含光流,也是目前光流做得最好的厂家,没有之一。
Mobileye软硬一体,几乎没有给整车厂发挥空间,蔚来想改也改不了。双目也不是说上就能上的。只能在毫米波雷达上下功夫了,ARS540是最佳解决方案,当然价格远超一般的毫米波雷达,但总比激光雷达便宜多了。
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
2024版《智能网联汽车信心度技术规范》
2024-11-25 16:01
-
地下充电柜!Kempower推出新型电动卡车充电
2024-11-25 16:00
-
这才是“油改电”!雷诺改装电动卡车在法国
2024-11-25 16:00
-
美国发布新车评估计划(NCAP)-防撞行人保
2024-11-25 15:59
-
“极北寒测”正式开测:守好测评一线质量关
2024-11-25 15:37