前言

上一次的分享里,我介绍了GPS+IMU这组黄金搭档,这两个传感器的组合能够实现城区道路自动驾驶的稳定定位功能,解决了第一个大问题“我”在哪的问题。

为了能让无人车能像人一样,遇到障碍物或红灯就减速,直到停止;遇到绿灯或前方无障碍物的情况,进行加速等操作。这就需要车载传感器去周围的环境进行感知。

应用于无人车上的传感器目前有四大类,分别是摄像机,激光雷达、毫米波雷达和超声波雷达。不同的传感器根据其传感特性,布置在车身的不同位置。

今天我以百度Apollo 2.0开放的摄像头及其模块作为引子,对无人车上的摄像机进行详细介绍。

下图就是百度Apollo 2.0推荐使用的摄像机LI-USB30-AR023ZWDR。

Apollo 2.0 摄像机LI-USB30-AR023ZWDR

Apollo 2.0中使用了两个同样的摄像机,通过USB3.0的转接线接入控制器,传递彩色图像信息。两个摄像机的镜头的焦距分别是6mm和25mm,分别用于检测近处和远处的红绿灯。


正文

摄像机的分类

摄像机根据镜头和布置方式的不同主要有以下四种:单目摄像机、双目摄像机、三目摄像机和环视摄像机。

单目摄像机

单目摄像机模组

单目摄像机模组只包含一个摄像机和一个镜头。

由于很多图像算法的研究都是基于单目摄像机开发的,因此相对于其他类别的摄像机,单目摄像机的算法成熟度更高。

但是单目有着两个先天的缺陷。

一是它的视野完全取决于镜头。

焦距短的镜头,视野广,但缺失远处的信息。反之亦然。因此单目摄像机一般选用适中焦距的镜头。

二是单目测距的精度较低。

摄像机的成像图是透视图,即越远的物体成像越小。近处的物体,需要用几百甚至上千个像素点描述;而处于远处的同一物体,可能只需要几个像素点即可描述出来。这种特性会导致,越远的地方,一个像素点代表的距离越大,因此对单目来说物体越远,测距的精度越低。

双目摄像机

双目摄像机模组

由于单目测距存在缺陷,双目摄像机应运而生。相近的两个摄像机拍摄物体时,会得到同一物体在摄像机的成像平面的像素偏移量。有了像素偏移量、相机焦距和两个摄像机的实际距离这些信息,根据数学换算即可得到物体的距离。原理图下图。

图片出处:https://www.slideshare.net/DngNguyn43/stereo-vision-42147593

根据双目测距原理应用在图像上每一个像素点时,即可得到图像的深度信息,如下图。

图片出处:Computer Vision and Image Understanding《2D-3D-based on-board pedestrian detection system》

深度信息的加入,不仅能便于障碍物的分类,更能提高高精度地图定位匹配的精度。

虽然双目能得到较高精度的测距结果和提供图像分割的能力,但是它与单目一样,镜头的视野完全依赖于镜头。而且双目测距原理对两个镜头的安装位置和距离要求较多,这就会给相机的标定带来麻烦。

三目摄像机

由于单目和双目都存在某些缺陷,因此广泛应用于无人驾驶的摄像机方案为三目摄像机。三目摄像机其实就是三个不同焦距单目摄像机的组合。下图为特斯拉 AutoPilot 2.0安装在挡风玻璃下方的三目摄像机。

三目摄像机模组

根据焦距不同,每个摄像机所感知的范围也不尽相同。

如下图,可以看出三个摄像头的感知范围由远及近,分别为前视窄视野摄像头(最远感知250米)、前视主视野摄像头(最远感知150米)及前视宽视野摄像头(最远感知60米)。

特斯拉AutoPilot 2.0视觉传感器感知范围

对摄像机来说,感知的范围要么损失视野,要么损失距离。三目摄像机能较好地弥补感知范围的问题。因此在业界被广泛应用。

那么测距精度的问题怎么办?

正是由于三目摄像机每个相机的视野不同,因此近处的测距交给宽视野摄像头,中距离的测距交给主视野摄像头,更远的测距交给窄视野摄像头。这样一来每个摄像机都能发挥其最大优势。

三目的缺点是需要同时标定三个摄像机,因而工作量更大。其次软件部分需要关联三个摄像机的数据,对算法要求也很高。

环视摄像机

之前提到的三款摄像机它们所用的镜头都是非鱼眼的,环视摄像机的镜头是鱼眼镜头,而且安装位置是朝向地面的。某些高配车型上会有“360°全景显示”功能,所用到的就是环视摄像机。

安装于车辆前方、车辆左右后视镜下和车辆后方的四个鱼眼镜头采集图像,采集到的图像与下图类似。鱼眼摄像机为了获取足够大的视野,代价是图像的畸变严重。

图片出处:https://www.aliexpress.com/item/360-bird-View-Car-DVR-record-system-with-4HD-rear-backup-front-side-view-camera-for/32443455018.html

通过标定值,进行图像的投影变换,可将图像还原成俯视图的样子。之后对四个方向的图像进行拼接,再在四幅图像的中间放上一张车的俯视图,即可实现从车顶往下看的效果。如下图。

图片出处:https://www.aliexpress.com/item/360-bird-View-Car-DVR-record-system-with-4HD-rear-backup-front-side-view-camera-for/32443455018.html

环视摄像机的感知范围并不大,主要用于车身5~10米内的障碍物检测、自主泊车时的库位线识别等。

摄像机的功能

摄像机在无人车上的应用,主要有两大类功能。主要是感知能力,其次是定位能力。

感知能力

在无人驾驶领域,摄像机的主要功能是实现各种环境信息的感知。接下来我会以Mobileye为例介绍摄像机能够实现的功能。Mobileye是国际上公认的做视觉最牛的公司之一。先来一段视频。视频见原文:

Mobileye视觉监测效果

如果流量告急,就直接看图吧。

可以看出摄像机可以提供的感知能力有:

①车道线(lane)

图中的深绿色线。车道线是摄像机能够感知的最基本的信息,拥有车道线检测功能即可实现高速公路的车道保持功能。

②障碍物(Obstacle)

图中使用矩形框框中的物体。图中仅有汽车、行人和自行车等物体。其实障碍物的种类可以更丰富,比如摩托车、卡车,甚至动物都是可以检测到的。有了障碍物信息,无人车即可完成车道内的跟车行驶。

③交通标志牌和地面标志(Traffic Sign and Road Sign)

图中使用绿色或红色矩形框框出的物体。这些感知信息更多的是作为道路特征与高精度地图做匹配后,辅助定位。当然也可以基于这些感知结果进行地图的更新。

④可通行空间(FreeSpace)

图中使用透明绿的覆盖的区域。该区域表示无人车可以正常行使的区域。可通行空间可以让车辆不再局限于车道内行驶,实现更多跨车道的超车功能等,把车开的更像老司机。

⑤交通信号灯(Traffic Light)

图中使用绿框框出来的物体。交通信号灯状态的感知能力对于城区行驶的无人驾驶汽车十分重要,这也是为什么百度Apollo 2.0实现“简单路况自动驾驶”所必须开放的功能。

定位能力

相信大家都对视觉SLAM技术都有所耳闻,根据提前建好的地图和实时的感知结果做匹配,获取当前无人车的位置。视觉SLAM需要解决的最大问题在于地图的容量过大,稍微大一点的区域,就对硬盘的容量要求很高。如何制作出足够轻量化的地图,成为SLAM技术商业化的关键。

Mobileye在已实现的道路经验管理(Road Experience Management,REM)功能,能够实现复杂路况的全局定位能力。再看个视频感受一下。


小结

目前百度Apollo 2.0仅开放了摄像机的交通信号灯检测能力,障碍物的感知还是强烈依赖于激光雷达和毫米波雷达。相信在未来,文章中介绍的这些功能都会慢慢开放的。

摄像机是所有车载传感器中,感知能力最强的,没有之一。这也是为什么特斯拉采用了纯视觉的感知方案,而坚持不使用激光雷达的原因(当然激光雷达贵也是一个因素)。

好了\(^o^)/~,这篇分享基本上让大家了解了无人车所使用到的视觉感知技术。

如果您觉得有收获,就给我点个赞吧,如果能加个关注就更好啦~

感谢(・ω・)ノ!