描述
电子发烧友网报道(文/梁浩斌)Corner case在自动驾驶中是指行驶过程中可能出现,但发生频率极低的小概率事件。尽管平时很少会遇到,但对于自动驾驶系统来说,遇到无法做出决策的corner case时,很可能会导致致命的交通事故。
最近微博有博主就遇到了一个让人哭笑不得的案例,很生动地展示了corner case的概念。
来源:微博@阿阿阿阿六三
从照片上可以看到,在等红绿灯时,特斯拉Model 3右侧前方有一辆大巴,大巴的车窗玻璃刚好反射出红绿灯的影子,而在车辆内的可视化界面上,误将车窗反射识别成镶嵌在大巴车身内的红绿灯。对于自动驾驶系统而言,在车窗中反射出的红绿灯刚好在合理的高度,同时形态也符合模型,所以它就是“红绿灯”。
虽然这种情况对自动驾驶安全影响不大,但也很好地反映出目前自动驾驶corner case就是会出现在很多人类驾驶员可以很轻易识别并作出决策的地方,而这些corner case对于自动驾驶系统而言却几乎无法正确作出识别和判断。
此前,包括特斯拉在内,小鹏、蔚来等都出现过因为corner case而导致的交通事故。比如最典型的特斯拉Model 3开启辅助驾驶时,撞上翻侧在高速公路上的白色货车导致车主身亡;在去年5月,美国加州一辆Model 3在夜间撞上侧翻在路面上的卡车,而事后在车主的社交账户上发现车主分享了多个“双手离开方向盘”使用自动驾驶的视频。
小鹏P7去年9月也在开启NGP的情况下,由于系统无法判断前方高度较低的挂车而发生追尾;今年3月一辆小鹏P7在使用自适应定速巡航ACC和车道居中保持功能时,与前方发生事故侧翻在路面上的汽车发生碰撞;去年8月蔚来ES8也在开启辅助驾驶的情况下撞上了停在路边的工程车辆,导致车主身亡。
corner case的存在其实也是一些人不看好自动驾驶的原因。因为通过模拟无法覆盖现实世界中的所有场景,遇到这些corner case的变量太多,不可能完全让自动驾驶系统识别所有corner case。也就是corner case无法完全解决,只能不断优化尽量补全这些漏洞。
而目前的优化方法,其实非常简单粗暴,就是通过车企收集更多的真实数据。拥有足够多真实数据的基础上,再通过模拟计算平台对这些场景进行进一步解构,模拟出其他类似场景让系统学习。
同时,在获取数据时,需要通过系统判断驾驶车辆是否遇到了corner case,并上传数据进行标注。标注后的数据用于模拟训练,以及生成迭代模型,用更多的corner case训练自动驾驶系统。
当然,corner case其实是一个比较大的概念,其中包括传感器性能、场景差异、罕见事件等之类的问题。目前业界主要通过对corner case检测复杂度,或者一定程度上可以说是以出现的概率来进行分级,分为像素级(Pixel)、域级(Domain)、目标级(Object)、场景级(Scene)、时序场景级(Scenario)等五个等级。
因此要对corner case进行优化,就可以将收集到的corner case数据进行难度分级,再根据不同级别来找到解决方案。
总体而言,要优化corner case,首先需要海量的真实路面数据。而数据的背后,还需要拥有足够算力的数据中心,模型训练、自动标记等工作需要大量算力。以特斯拉为例,目前特斯拉拥有3大计算中心总计11544 个GPU,今年8月特斯拉首次公开了其Dojo超级计算机系统中每个ExaPOD集群集成了120个训练模块,内置3000个D1芯片,拥有超过100万个训练节点,算力达到1.1EFLOPS,预计明年完工首个ExaPOD集群。
国内企业目前也在自动驾驶数据中心上加大投入,今年8月,小鹏汽车和阿里云合作建设的国内最大自动驾驶智算中心在内蒙古乌兰察布落地,将专门用于自动驾驶模型训练,算力规模达0.6EFLOPS;而商汤在上海的超算中心AIDC也在今年年初投入运营,设计算力达到3.74EFLOPS,未来还会进一步扩展至4.91EFLOPS。
可以说,要尽量避免遇到自动驾驶的corner case,其实在某种程度上比拼的就是数据。
打开APP阅读更多精彩内容