上一次的分享里,我介绍了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

图片出处: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)功能,能够实现复杂路况的全局定位能力。再看个视频感受一下。

REM功能演示_腾讯视频​v.qq.com


小结

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

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

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

无人驾驶技术入门(五)| 没有视觉传感器,还谈什么无人驾驶?相关推荐

  1. 无人驾驶技术入门(一)| 百度无人驾驶的引路人

    前言 各位老铁好!无人驾驶技术入门(硬件篇)的第一讲开课啦! 今天的课程我会介绍一个来自旧金山的创业公司,它曾是百度无人驾驶的引路人. 正文 百度在今年7月和9月分别发布了Apollo 1.0和Apo ...

  2. 疲劳驾驶样本集_无人驾驶技术入门(十六)| 初识深度学习之交通标志分类

    前言 在上两期的<无人驾驶技术入门>中,我以车道线检测为例,介绍了计算机视觉领域一些基本的算法.应用图像处理算法和调试算法阈值,就能实现车道线的检测和跟踪. 车道线检测.跟踪的项目,主要是 ...

  3. 无人驾驶技术入门(一):百度无人驾驶的引路人

    各位老铁好!无人驾驶技术入门的第一讲开课啦!今天的课程我会介绍一位来自旧金山的创业公司,他们曾是百度无人驾驶的引路人. 百度在2017年9月发布了Apollo 1.5,可以实现固定车道的自动驾驶功能. ...

  4. 无人驾驶技术入门(三)| 百度无人车传感器 GPS 深入剖析

    上一次的分享里,我对百度 Apollo 计划的技术框架做了介绍,如图. Apollo1.0 封闭场地循迹自动驾驶 如果要完成 Apollo 1.0 的"封闭场地寻迹自动驾驶"功能, ...

  5. 无人驾驶技术入门(八)| 被严重低估的传感器超声波雷达

    在上一次分享中,我介绍了毫米波雷达的原理.数据特性及优缺点.毫米波雷达的低环境敏感和低成本的特性使得其在ADAS和自动驾驶领域得到了广泛的应用. 今天要介绍的是一款极其常见的传感器--超声波雷达.如果 ...

  6. 激光雷达+imu_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析

    上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求. 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入 ...

  7. python无人驾驶_无人驾驶技术入门(四):无人车传感器 IMU 深入剖析

    上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求. 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入 ...

  8. 无人驾驶技术入门(四)| 百度无人车传感器 IMU 深入剖析

    上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车的定位要求. 为了能让无人驾驶系统更高频率地获取定位信息,就必须引入 ...

  9. 自动驾驶 无人驾驶技术入门(四):无人车传感器 IMU 深入剖析

    转自:https://www.d1ev.com/kol/65579 上一次的分享里,我介绍了GPS的原理(三角定位)及特性(精度.频率),同时也从无人车控制的角度,讨论了为什么仅有GPS无法满足无人车 ...

最新文章

  1. 【设计模式】—— 适配器模式Adapter
  2. 51nod1743-雪之国度【最小生成树,LCA,并查集】
  3. 响应式精美列商城发卡源码
  4. 浅谈自执行函数-立即调用的函数表达式
  5. CSS基础「三」盒子模型/产品模块案例/圆角边框/盒子阴影/文字阴影
  6. BlackBerry 开发笔记入门 J2ME
  7. jquery 逗号分割截取字符串_JS/JQUERY字符串截取分割匹配等处理汇总
  8. python log
  9. Eclipse利用正则表达式快速去掉注释的方法
  10. MVVM MVC MVP
  11. hadoop jar 找不到main class_10年老架构,教你HadoopJob使用第三方依赖jar文件,不来就后悔吧...
  12. amesim2020安装
  13. java中语言转换方法_语言切换的三种方法
  14. 一淘网价格监测数据惹恼京东当当
  15. 秩和检验的概念及python实现
  16. DBF文件格式及读写实践
  17. python的浅拷贝和深copy
  18. 想成为年薪30W+的运营,你必须具备这4个“运营思维”
  19. 概念模型,逻辑模型,物理模型
  20. 【原创】samba移植到android流程

热门文章

  1. 广州日报新媒体发展战略解析(转)
  2. 解决GitLab 502
  3. 使用pyfinance进行证券收益分析!金融界的一大帮手!
  4. 5G核心网技术基础自学系列 | 消息业务
  5. c中宏定义的特殊符号
  6. 杜绝企业机密外泄,U-Mail邮件防泄密解决方案
  7. linux gdb 跳出函数,gdb调试程序时跳进函数和跳出函数
  8. 2022-2028年中国固体浮力材料行业竞争现状及投资决策建议报告
  9. 【MySQL我可以讲一个小时】
  10. 证券交易金融知识学习(1)