大胆假设小心求证

2018年10月初,天朝上国还在大庆之中。Tesla发布了一个季度安全报告。洋洋得意地表示, 在开启AutoPilot状态下,平均每 334 万英里( 537.4 万公里)记录到一起碰撞事件(crash-like event)。在非AutoPilot状态下,每 192 万英里( 308.9 万公里)记录到一起碰撞事件。

对于所有自动驾驶的玩家来说,故事的最大公约数恐怕莫过于安全了。以前似乎大家都是在理论上推测自动驾驶一定是更加安全的,Tesla这个“实验”报告(小白鼠就是各位车主了)算是一种求证。但是其实这个537万公里只达到了Tesla的视觉+雷达的方案理应达到的性能的五分之一。

什么? 你怎么知道!

我是用公式算(cai)出来的,先上公式,

L是指, 某种技术状态的自动驾驶车辆,每行驶L(米)将出现一次碰撞事件。

公式的 f, d, V, r 指征了这个自动驾驶车辆的技术状态。 f是感知系统的输出频率,车辆在时速V下对距离d范围内的障碍物的漏检率是r。例如,f=30次/秒, V=120 公里/小时, r=1% 。

当然这个公式是我自己推(xia)导(bian)出来的。下面就来解释一下,我是怎么推(xia)导(bian)这个公式的。

....

稍等,公式推导还是先放最后,当附录吧,不然到这,你就该退出了。先来看看用这个公式所做一次求证。

AutoPilot1.0的配置,时速120公里,在150米距离内,料敌从宽,单目摄像头的漏检率是1%, 雷达的漏检率是1%, 假定单目和雷达是相互独立的变量,那么感知系统的联合漏检率是万分之一(简化问题,只讨论前向感知)。按前述公式,

L=130* 3.6 * (f*d*d) / (V*V*r) = 130* 3.6 *30* 150* 150 / (120*120* 0.0001)=219,375,000米=219,375公里。

即估算 AutoPilot1.0 大约每21.9万公里 发生一次碰撞事件(风险)。

Tesla2015年10月推出的 AutoPilot 1.0。Musk2016年4月声称车主已用它行驶了逾4700万英里,约7500万公里。

此后,著名的Tesla Autopilot致死事故2016年5月7日发生。但是后来确认,实际上在2016年1月京港澳高速河北邯郸段,特斯拉 Model S 撞上一辆正在作业的道路清扫车,致司机死亡。2016年5月7日致死事故公开后,Tesla采取了一些限制,司机也更加谨慎了。所以2015年10月到2016年4月之间的数据更能体现自动驾驶状态下的统计概率表现。做最好的估计,从2015年10月到2016年4月,AutoPilot行驶了7500万公里,只发生了一次致死事故。好像公式估计偏的太离谱。

下面请出海因里希法则(Heinrich's Law)。

1931年美国著名安全工程师海因里希(Herbert William Heinrich)统计了55万件机械事故,其中死亡、重伤事故1666件,轻伤48334件,其余则为无伤害事故。从而得出一个重要结论,即在机械事故中,死亡、重伤、轻伤和无伤害事故的比例为1:29:300,国际上把这一法则叫事故法则

这个法则说明,每发生330起意外事件,有300件未产生人员伤害,29件造成人员轻伤,1件导致重伤或死亡。海因里西法则的另一个名字是 “1:29:300法则” 。对于不同的生产过程,不同类型的事故,上述比例关系不一定完全相同,应用到交通事故中,也会有一些偏差,但是将就着先用吧。反正通篇都是这样的简化、概算。大道至简。

海因里希法则以及Musk自己公开的数据:7500/330=22.7。可估算AutoPilot 1.0大约每22.7万公里发生一次碰撞事件(风险)。

好像公式又很准的样子。其实这纯属巧合,我对这个公式的定位是,只要计算结果与实际值在同一个数量级,就算是赢。为什么这么说呢,再卖个关子,请看附录推导过程(主要是怕你走了)。

接下来我做一个计算,估算出特斯拉AutoPilot 2.0的感知系统的前向对障碍物的召回率大概是98.7%。什么?瞎编的吧?有可能。欢迎特斯拉工程师来辟谣。

特斯拉2018年10月 发布了自己的首份季度安全报告,报告显示特斯拉车主在使用Autopilot辅助驾驶功能时,平均每334万英里(约537万公里)才会出现一桩“接近于车辆碰撞的事件”(crash-like event)。这时的AutoPilot已经要求检测驾驶员是否手握方向盘,相当于要求驾驶员注意力保持在驾驶环路中。

特斯拉公布的537万公里才会出现一桩“接近于车辆碰撞的事件”,那么AutoPilot感知系统的联合漏检率是多少呢,仍然假定, 时速120,120米内,人类视觉漏检率0.02% (为什么是0.02%,请看附录的推导过程,也可以不看...) 。 那么可以反演算AutoPilot的视觉+雷达的联合漏检率r。

由L方程式 L=130* 3.6 * (f*d*d) / (V*V*r*0.0002) = 130* 3.6 * 30* 120* 120 / (120*120* r* 0.0002) = 5,370,000,000米,解算得到r = 0.013 = 1.3%。 即可大致认为AutoPilot感知系统在120米范围内综合的召回率大概是98.7%。

胆挺肥呀,这都敢算(bian),这个结果靠谱吗?其实靠不靠谱,看一下附录就知道了。开玩笑的,附录可以不看,反正都是推(xia)导(bian)的。

下面用这个公式计算一下目前视觉+雷达这种组合的自动驾驶技术方案的可能效果。(本文中各处都已经神化了视觉感知和雷达感知的准确率,都设为100%,只考虑召回率。)

例1:如果 前向视觉:80米内障碍物召回率是98%

前向雷达: 80米内障碍物召回率是98%

感知输出帧率30

时速80

那么 L=130* 3.6 *(f*d*d)/(V*V*r)=130* 3.6 * 30* 80* 80 / (80*80* 0.0004)

=35,100,000米 =3.51万公里

(如果驾驶员不及时介入)

每3.5万公里 发生一次碰撞

每40万公里 发生一次有损失的碰撞

每1155万公里 发生一次致命碰撞

例2:如果前向视觉:120米内障碍物召回率是95%

前向雷达: 120米内障碍物召回率是95%

感知输出帧率30

时速120

那么 L=130* 3.6 *(f*d*d)/(V*V*r)=130* 3.6 * 30* 120* 120 / (120*120* 0.0025)

=5,616,000米 =5616公里

(如果驾驶员不及时介入)

每5616公里 发生一次碰撞

每5.8万公里 发生一次有损失的碰撞

每168万公里 发生一次致命碰撞

似乎不是特别好,那么这个技术状态能不能实用呢?

换个思路...

如果加入人类注意力后,再来估算可安全行驶的里程。

对于只利用摄像头和雷达做为主传感器的自动驾驶系统,如AutoPilot,在大范围测试中,能达到的比较理想的平均指标是,前向视觉:120米内障碍物召回率是95%;前向雷达: 120米内障碍物召回率是95%。人眼是另一个感知传感器,120米内,漏检率0.02%。单目,雷达,人眼可以看作是三个独立变量,所以整个系统的联合漏检率是 = 0.05 * 0.05 * 0.0002 = 0.0000005。假定时速120,感知输出帧率30,那么可计算 L = 130 * 3.6 *(f*d*d) / (V*V*r) = 130 * 3.6 * 30 * 120* 120 / (120 * 120 * 0.0000005) = 28,080,000,000米 = 28,080,000公里。特斯拉公布的537万公里其实不到这个理想值2808万公里的五分之一。也就是说特斯拉还没有把他们的感知系统打磨到理想状态。

但即使这样,比较起人类驾驶来说,仍然是更安全的。美国国家公路交通安全管理局( NHTSA )的最新数据显示,在美国每 49.2 万英里( 约79 万公里),就有一起车辆事故。用海因里希法则可估算,大约每869万公里就有一次碰撞事件(风险)。所以类似于Tesla的视觉+雷达的解决方案,虽然不能让驾驶员完全放松去娱乐,但是可以成倍的提高驾驶安全。当然需要有一个驾驶员监控系统,保证驾驶员的注意力在驾驶环路中。

----------我是黑心胖猪的附录的分界线---------

①d米被分成n份(如n=250)。障碍物出现在某一位置概率是独立的。假设车辆的制动性能是无限理想的,制动距离是0。车辆从位置1向位置n行驶。

②障碍物出现在第i个位置的概率是1/n,由于视觉漏检导致碰撞的概率是r,所以障碍物出现在第i=1个位置时的发生碰撞概率 (1/n)*r

③障碍物出现在第i=2个位置的概率是1/n障碍物出现在第2个位置,并且要碰到车的条件是在第1个位置也出现了,且出现概率是1/n,连续出现在两个位置的概率是1/n *1/n =1/n^2,发生碰撞概率是第一个位置没被检测到,所以障碍物出现在第二个位置,并且要碰到车的概率是r *1/n^2

④同理,依次类推,障碍物出现第n个位置,并且要碰撞到车的概率是(1/nn)*r

⑤所以发生碰撞事件的全概率为:

p=(1/n)*r+(1/n^2)*r+(1/n^3)*r+……+(1/nn)*r(1)公式两边同乘以n,得到

np=r+(1/n)*r+(1/n^2)*r+(1/n^3)*r+……+(1/n^(n-1))*r(2)

(2) - (1)得:

(n-1)p =r-(1/nn)*r

p=r* (1-1/nn)/(n-1)

所以当n足够大的时候概率p≌r* 1/(n-1)≌ (1/n)*r

这个概率公式的物理含义是,车辆行驶距离d,发生碰撞事件的概率。那么也就是可以推导出L = d/n ,L是指, 某种技术状态的自动驾驶车辆,每行驶L(米),出现一次碰撞事件。因为n = f * d/v , 所以, L = (f*d*d)/(v*r) 。从公式中得到的直观感受是安全与车辆速度、感知漏检率成反比, 与感知系统输出帧率成正比,与感知系统的感知距离的平方成正比。这些都是符合直觉的。

之前,为了简化计算复杂度,假定车辆的制动性能无限理想,可以立即停下来,制动距离为0,所以不需要安全的buffe距离。也不考虑对目标进行跟踪的问题。因为如果考虑制动距离不为0,那么实际公里数L要更小,同时如果考虑对目标进行跟踪,实际公里数L又会增加。两者相抵消(大致的大致的)。在实际应用中,为了灵活处理,还是赋予L一个系数A,这个系数与驾驶策略有关,比如,是否激进驾驶,还是留有足够的安全距离,车辆的制动性能等。这个系数A需要大量的实验积累来测算一个值。

f是图像处理帧率,距离d米内,感知的联合漏检率r,车辆速度v(m/s)。那么可估算每L行驶里程(米)会出现一次碰撞事件。A可以通过经验值来设置,这里先给出一个经验公式来计算A。

制动距离的经验公式 S=0.1*V+(V*V/130)。

安全距离的建议值 D=V。 例如,100公里时速,建议安全距离是100米。

所以经验上A=D/S, 即A约等于 V/ (V*V/130)=130/V。 V的单位是 公里/小时。最后可以得到,

上式中统一了大V(公里/小时)和小v(米/秒),都用大V。这个就是最开头的L公式了。

看完上面的推(xia)导(bian)过程,大概就能理解为什么我对这个公式的定位是,只要计算结果与实际值在同一个数量级,就算是赢。因为做了较多的简化。

最后再来做一个有趣的计算,用这个神奇公式的来估算一下人类双眼的漏检率。

如果 人类视觉120米内障碍物漏检率是r。人类视觉等效帧率是30 (人类看30fps的视频已经是感觉到流畅了,所以可以将人类帧率等效于30fps)。 统计上,人类平均每9000万英里(约300万小时)发生一次致命事故, 约14481万公里。 估计是按平均30英里(48.27公里)左右时速推算。引入海因里希法则后,估计每14481/330=43.88万公里发生一次碰撞。那么已知

L = 130 * 3.6 * (f*d*d) / (V*V*r) = 438,800,000(米)

f=30

d= 120

V= 48.27

可估算得人类双眼在开车时的漏检率

这个算不算本公式的一个意外收获?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181115G02COH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券