本次分享的大纲:
-
Perception Introduction
-
Sensor Setup & Sensor Fusion
-
Perception Onboard System
-
Perception Technical Challenges
1. Perception Introduction
Perception系统是以多种sensor的数据,以及高精度地图的信息作为输入,经过一系列的计算及处理,对自动驾驶车的周围的环境精确感知。能够为下游模块提供丰富的信息,包括障碍物的位置、形状、类别及速度信息,也包括对一些特殊场景的语义理解(包括施工区域,交通信号灯及交通路牌等)。
Perception系统包括多个方面及子系统:
-
传感器:传感器的安装,视场角,探测距离,数据吞吐、标定精度,时间同步。因为用到的传感器比较多,时间同步的解决方案这里会起到非常重要的作用。
-
目标检测及分类:为了保证车辆百分百的安全,能够达到近似百分之百的召回率及非常高的准确率;这里会涉及到深度学习方面的工作,包括3D点云及2D Image上的物体检测及多传感器融合方面等。
-
多目标追踪:跟进多帧的信息计算并预测障碍物的运动轨迹。
-
场景理解,包括交通信号灯,路牌,施工区域,以及特殊类别,比如校车,警车。
-
机器学习分布式训练基础架构及相关的Evaluation评价系统。
-
数据:大量的标注数据,这里包括3D点云数据及2D的图片数据等。
目前传感器主要分为3个类别:
-
Lidar激光雷达;
-
Camera相机;
-
Radar毫米波雷达。
这张图相当于Perception物体检测的输出,能够检测车辆周围的障碍物,包括车辆、行人、自行车等,同时结合高精度地图,会对周边的Background信息进行输出。
图中绿颜色的是一辆车,橙色的是一辆摩托车,黄颜色的是一个行人,灰颜色是一些背景如植被信息。
结合多帧的信息,对运动的行人和车辆的速度,方向,进行精确的输出。
2. Sensor Setup & Sensor Fusion
以上是Perception系统从输入到输出的一个大概介绍。接下来总体介绍Pony.ai第三代车辆的传感器安装方案以及传感器融合的解决方案。
目前我们的整个传感器安装的解决方案,是能够覆盖360度,范围200米的感知距离。从不同传感器的安装,不同角度来看,首先用到了3个激光雷达,顶部和两侧。激光雷达有100米的感知距离。同时通过4个广角的摄像头来覆盖相机360度的视野。远处的视野通过前向的毫米波雷达以及长焦的相机,将感知距离扩到200米的范围。这套传感器配置能保证我们的自动驾驶车辆在居民区、商业区、工业区这样的场景进行自动驾驶。
18年9月份世界人工智能大会上推出的第3代的传感器配置方案。
前边的相机两个广角,一个长焦。使得可以看到更远距离的信号灯的信息,两百米内红绿灯的状态。
上面介绍了整个传感器的安装方案。下面主要介绍下多传感器融合的解决方案。
第一个要解决的问题是把不同的传感器的数据标定到同一个坐标系里。包括相机的内参标定,Lidar到相机的外参标定,雷达到GPS的外参标定。
传感器融合重要的前提是要能把标定精度提高到非常高的一个精度,不管是做结果层面的传感器融合,还是元数据层面的传感器融合,是一个必要的基础。
这张图可以看到,我们将3D的激光点云投射到影像上,可以看到传感器标定的精度还是挺高的。
整个标定的工作基本上已经做到完全自动化的方式。不同传感器标定的方案:
首先是相机内参的标定,内参的标定平台对每一个相机能够在两到三分钟之内做到传感器的标定。
这个图是相机到激光雷达的外参标定,激光雷达是360度旋转的方式,每旋转一周是100毫秒。相机是某一瞬时曝光的问题,所以涉及到时间同步的一个方式,通过Lidar来触发相机曝光。比如说我们有4个相机,能够通过激光雷达去保证时间同步。
3D和2D彼此互补,二者更好的融合能够对感知会有更精确的输出。
下面是整个的一个demo,大家可以看下:
Raw Sensor-fused Output
3. Perception Onboard
上面大概介绍了整个perception的sensor的setup,以及sensor fusion做法。接下来介绍车载的Perception Onboard的架构是什么样的,以及解决方案是什么。
这是整个Perception Onboard的架构。首先用LiDAR,Camera,Radar三种sensor数据通过时间同步,所有的时间误差控制在50毫秒以内。结合sensor的数据,进行frame wise的detection及classification等计算,最后利用多frame信息进行多目标跟踪,最后将相关结果输出。这里涉及到Sensor Fusion, Deep Learning相关的技术细节,这里不做过多的讨论。
整个Perception 系统的解决方案要保证这5点:
-
首先是安全,保证近乎百分之百的detection 的recall
-
Precision要求非常高,如果低于某个阈值,造成False Positive,车辆在自动驾驶状态下会非常不舒适
-
尽量输出所有对行车有帮助的信息,包括路牌,交通信号灯及其它场景理解的信息
-
保证高效的运行,能够近实时的处理大量的sensor的数据
-
scalability可扩展性也很重要,deep learning 依赖大量数据,整个模型的泛化能力如何都是非常重要的。能够让我们的model和一些新的算法能够去适配更多的城市和更多的国家。
4. Perception Technical Challenges
下面分享有挑战性的一些场景:
第一部分:precision和recall的balance;
第二部分:长尾场景。
这是晚高峰的十字路口的繁忙场景,有大量行人摩托车穿过十字路口。
通过3D点云数据能够看到的对应的原始数据。
这是目前我们Perception的输出,正确的segmentation结果和类别。
雨天的问题。自动驾驶系统在一些特殊的或者恶劣的天气条件下,处理是非常难的。
比如,激光雷达是能打到水花的。图中白色的是对水花的filter。如果不能对水花进行准确的识别和过滤,会对自动驾驶车辆造成麻烦。这里看到我们目前系统的处理结果,结合Lidar & Camera的数据,对水花有很高的识别率。
长尾的问题
这个是我们在路测时,遇到的两种洒水车。左边是向上喷的雾炮,右边是向两侧喷的洒水车。人类司机可以很容易超过洒水车,但是对于感知系统来说,需要花很多的时间去处理和识别这类场景和车辆,最后让自动驾驶车辆在遇到类似场景获得更好的体感。
小物体的检测
意想不到的事件,路测时比如流浪的小猫小狗的突然出现,我们期望感知系统能够对小物体能够有准确的召回。
对红绿灯来说会更有挑战。会一直遇到新的场景。因为在不同的城市或国家会遇到各种各样的红绿灯。
逆光的问题,或者突然从桥洞下边出来相机曝光的问题。通过动态的去调整相机曝光等方式去解决。
这个也是红绿灯的场景,红绿灯上有倒计时,我们需要识别出倒计时,能够让自动驾驶车辆遇到黄灯时,乘车体验更好。
雨天摄像头的防水问题,也是处理极端气候条件下所必须具备的。
红绿灯进进度条的识别,绿等快变黄要减速。