引言
由于深度学习技术的发展,自动驾驶技术在过去几年快速腾飞。目前很多公司的路测和量产项目都已经进入了大众的视野。但是对于整个自动驾驶技术来说依然面临很多的挑战。其中 Corner Cases的存在引发了很多安全问题,诸如特斯拉,小鹏等企业的量产车辆都发生过。Corner Cases又叫异常案例,常见的硬件遮挡,异常障碍物等都属于这个范畴。下面将按照部分文献的分类方式展开讨论。
1. 传感器级别的Corner Cases
1.1 定义--传感器层(Sensor Layer)Corner Cases
这部分案例的成因主要是因为传感器由于自身的硬件原因和外部环境的干扰导致,比如镜头等光学器件的损坏,表面的污迹等造成成像偏差。
1.2 举例--传感器层(Sensor Layer)Corner Cases
传感器的硬件级问题包括:
a)激光雷达:棱镜损坏和点云扫描校准;
b)摄像头:包括坏点和镜头损坏;
c)雷达:包括低电压和低温造成的脉冲问题。
传感器的物理级问题包括:
a)激光雷达:激光束被吸收不反射(深色车等);
b)摄像头:镜头污迹、过饱和/曝光;
c)雷达:脉冲被干扰。
2. 数据内容层级别的Corner Cases
传感器输入的数据多种多样,有些目标是我们定义的,但是随着使用场景的变化,这部分目标产生了理解歧义。另外可能有些异常目标,我们忽略了。以下从域级(domain),目标级,场景级三个细分的角度分别讨论。
2.1 内容层-域级Corner Cases的定义和举例
域级(domain)的定义:由于使用场景或者环境的变换,算法的世界模型无法理解传感器输入的内容,或者对输入的内容产生歧义。
域级(domain)的举例:
a.驾驶环境变换后,激光雷达无法理解不同道路的形状;
b.使用国家变换后,摄像头在不同国家输入的内容让算法产生歧义,比如不同国家对停车标志的定义千差万别
c.毫米波雷达在遇天气环境变化后,比如雨雪,会产生虚检,但是算法无法理解毫米波雷达输入的内容和雨雪天气的关系。
2.2 内容层-目标级Corner Cases的定义和举例
目标级的定义:主要是未知物体和目标的存在,这部分目标在数据集上未出现过,所以没有被定义。
目标级的举例:
a. 激光雷达的点云输入会受灰尘、蚊虫的影响,产生未定义的目标;
b. 摄像头的输入出现某种为定义的动物;
c. 毫米波雷达的特性可能会导致丢失低速的目标;
2.3 内容层场景级Corner Cases的定义和举例
场景级问题定义:目标被定义,也可以从传感器的数据中肉眼观察到,但对物体的数量和位置情况有歧义或者不明确。
场景级问题举例:
a.激光雷达的上下文异常,比如停放在人行横道上的清扫车
b.摄像头输入的内容中,发现一个人离地面很高,实际情况可能是在广告牌上的人。
c.毫米波雷达所检测到的目标太多,实际可能是路上的灌木造成。
3. 交通参与者超预期问题
超预期问题定义:
在时间维度上,交通参与者在持续的运动中。且这些运动不符合交通规则。自动驾驶系统在底层的方案设计上并没考虑到或者穷尽所有的违规行为。
超预期问题Corner Cases的举例
行人违反交通规则、车祸等。
4. 检测/解决Corner Cases的方案
coner case复杂且多变,解决问题的手法也不是唯一的。以下列举以下常见的手段和方法:
置信度(Confidence score):通过神经网络估计不确定coner case的置信的,确定是否是异常情况
重建(Reconstructive):对异常对象进行重建,或者仿真模拟得出异常对象数据,加入模型训练
生成coner case(Generative):对异常对象和数据进行扩充,利用GAN等技术生成扩充的coner case案例。
特征抽取coner case(Feature Extraction):利用聚类或者svm等分类算法,对coner case案例进行快速的定位。
预测补充coner case(Prediction):利用前后帧之间运动物体不会凭空消失或突变等,进行异常情况的校正回归(陈时中直呼内行)。
总结
以上是coner case常见的定义,举例和解决方案,在整理的过程中也发现,业界在定义coner case上存在很大分歧,在类别的划分上也不相同。但是达成的目标是统一的,即实现一个安全的自动驾驶系统。
作者:冯偲
来源:汽车电子与软件
微信公众号:
推荐阅读:
更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。