↓↓免费领取:面向智能车辆开发的开放性SOA方案↓↓Perception(感知)系统是以多种传感器的数据与高精度地图的信息作为输入,经过一系列的计算及处理,对自动驾驶车的周围环境精确感知的系统。它能够为下游模块提供丰富的信息,包括障碍物的位置、形状、类别及速度信息,也包括对一些特殊场景的语义理解(例如施工区域,交通信号灯及交通路牌等)。传感器:涉及到传感器的安装,视场角,探测距离,数据吞吐,标定精度,时间同步等。因为自动驾驶使用的传感器比较多,时间同步的解决方案至关重要。目标检测及分类:为了保证自动驾驶的安全,感知系统需要达到近似百分之百的召回率及非常高的准确率。目标检测及分类往往会涉及到深度学习方面的工作,包括3D点云及2D Image(图片)上的物体检测及多传感器深度融合等。多目标追踪:跟进多帧的信息计算并预测障碍物的运动轨迹。场景理解:包括交通信号灯,路牌,施工区域,以及特殊类别,比如校车,警车。数据:大量的标注数据,这里包括3D点云数据及2D的图片数据等。
目前自动驾驶应用的传感器主要分为三类:激光雷达(LiDAR),相机(Camera),毫米波雷达(Radar)。开头提到,感知系统的输入为多种传感器数据和高精地图,而上图展示了感知系统物体检测的输出结果,即能够检测车辆周围的障碍物,如车辆、行人、自行车等,同时结合高精度地图,感知系统也会对周边的Background(环境背景)信息进行输出。如上图所示,绿颜色的块状代表一辆乘用车,橙色代表一辆摩托车,黄色代表一位行人,灰色则是检测到的环境信息,如植被。感知系统结合多帧的信息(上图),还能对运动的行人和车辆的速度、方向、轨迹预测等进行精确的输出。
了解了关于感知系统从输入到输出的大致介绍,接下来,我简要介绍一下小马智行第三代自动驾驶系统PonyAlpha的传感器安装方案以及多传感器深度融合的解决方案。目前PonyAlpha传感器安装方案的感知距离能够覆盖车周360度、范围200米以内。具体来看,这套方案用到了3个激光雷达,在车的顶部和两侧。同时,通过多个广角的摄像头来覆盖360度的视野。远处的视野方面,前向的毫米波雷达以及长焦相机将感知距离扩到200米的范围,使其可以探测到更远处的物体信息。这套传感器配置能保证我们的自动驾驶车辆在居民区、商业区、工业区这样的场景进行自动驾驶。
多传感器深度融合的方案首要解决的是将不同的传感器的数据标定到同一个坐标系里,包括了相机的内参标定,激光雷达到相机的外参标定,毫米波雷达到GPS的外参标定等等。
传感器融合重要前提是使标定精度达到到极高水平,不论对于结果层面的传感器融合还是元数据层面的传感器融合,这都是必要的基础。通过上图你会发现,我们的感知系统将3D的激光点云精准地投射到影像上,可见传感器标定的精度是足够高的。整个传感器标定的工作基本上已做到完全自动化的方式。首先是相机内参的标定(上图),这是为了修正由相机自身特性导致的图像扭曲等。相机内参的标定平台使每一个相机能够在两到三分钟之内完成传感器的标定。其次是激光雷达与GPS/IMU的外参标定(上图),激光雷达的原始数据是基于雷达坐标系,因此我们需要将点由雷达坐标系转换为世界坐标系,这就涉及到激光雷达与GPS/IMU相对位置关系的计算。我们的标定工具在室外通过优化的方案,能够快速找到最优的位置关系。第三是相机到激光雷达的融合(上图)。激光雷达的感知环境是360度旋转的方式,每旋转一周是100毫秒,而相机是某一瞬时曝光,为了保证相机的曝光与激光雷达的旋转保证同步,需要对二者进行时间同步,即通过Lidar来触发相机曝光。比如说,可以通过激光雷达的位置信息来触发对应位置相机的曝光时间,以达到相机与激光雷达的精确同步。3D(激光雷达)和2D(相机)彼此互补,二者更好的融合可使得感知得到更精确的输出。最后是毫米波雷达(Radar)与GPS/IMU的标定(上图),同样是将Radar数据由Local(本地)坐标系将其转换到世界坐标系,我们将通过真实的3D环境来计算Radar与GPS/IMU的相对位置关系。好的标定结果能够保证感知系统给出200米距离以内障碍车的车道信息(如位于车道内或压车道线等)等。
下面这个demo视频简明生动地展示了多传感器深度融合的部分处理效果。那么车载感知系统架构是什么样的?它的解决方案又是什么?上图展示了整个车载感知系统的架构。首先激光雷达、相机、毫米波雷达三种传感器数据须进行时间同步,将所有的时间误差控制在毫秒级。结合传感器数据,感知系统以帧为基础(frame-based)进行检测(detection)、分割(segmentation)、分类(classification)等计算,最后利用多帧信息进行多目标跟踪,将相关结果输出。这个过程中将涉及到多传感器深度融合和深度学习相关的技术细节,我这里不做过多的讨论。
◆ 首先是安全,保证近乎百分之百的检测(Detection)召回率(Recall)。◆ 精度(Precision)要求非常高,如果低于某个阈值,造成False Positive(误报),会导致车辆在自动驾驶状态下行驶得非常不舒适。◆ 尽量输出所有对行车有帮助的信息,包括路牌,交通信号灯及其它场景理解的信息。◆ 保证感知系统的高效运行,能够近实时处理大量的传感器数据。◆ 可扩展性(Scalability)也很重要。深度学习(Deep learning)依赖大量数据,其训练模型的泛化能力对于感知系统非常重要。未来,我们希望模型(model)和新算法有能力适配更多的城市和国家的路况。上图展示了晚高峰时期十字路口的繁忙场景,此时有大量行人、摩托车穿过十字路口。通过3D点云数据(上图),能够看到此时对应的感知原始数据。
这里挑战是,经过计算处理后,感知系统需要在这样环境下输出所有障碍物的正确的分割(segmentation)结果和障碍物类别。
除了繁忙的十字路口,感知系统在处理一些特殊的或者恶劣的天气条件,也面临不小挑战。突降暴雨或者长时间降雨往往会造成路面积水,车辆经过自然会溅起水花。上方视频中白色点云展示了激光雷达检测到其他车辆经过溅起的水花并对其进行filter(过滤)的结果。如果感知系统不能对水花进行准确的识别和过滤,这会对自动驾驶造成麻烦。结合激光雷达与摄像头(Lidar&Camera)的数据,我们的感知系统对水花有很高的识别率。上图是我们在路测时曾遇到的两类洒水车(上图)。左边洒水车采用向上喷的雾炮,而右边是向两侧喷洒的洒水车。人类司机遇到洒水车时,可以很容易做出判断并超过洒水车,但是对于感知系统来说,则需要花一定时间去处理和识别这类场景和车辆,我们的自动驾驶在遇到类似场景已获得更优的乘坐体验。小物体检测的意义在于,面对意想不到的路测事件,比如流浪的小猫、小狗突然出现马路上,感知系统对这类小物体能够有准确的召回,以保证小生命的安全。随着越来越多地区和国家开展自动驾驶路测,感知系统在处理交通信号灯总会遇到新的长尾场景。例如,逆光的问题(上图)或者突然从桥洞中驶出后相机曝光的问题,我们可以通过动态调整相机的曝光等方法来解决问题。还有红绿灯倒计时的场景(上图),感知系统可以识别出倒计时的数字,这样能够让自动驾驶车辆在遇到黄灯时/前,给出更优的规划决策应对,优化乘车体验。雨天时,摄像头(照相机)会水珠密布(上图),感知系统需要处理这类特殊气候条件下的场景,准确识别红绿灯。一些地区使用的红绿灯带有进度条(上图),要求感知系统能够识别进度条的变动,这样可以帮助下游的规划决策模块在绿灯将变黄时,提前给出减速。转载自Pony.ai 小马智行,文中观点仅供分享交流,不代表本公众号立场,如涉及版权等问题,请您告知,我们将及时处理。
-- END --