无人驾驶中的视觉相机传感器

May 23,2022   2948 words   11 min

Tags: SLAM

本篇博客我们继续探讨无人驾驶中的“相机”传感器,主要是这篇微信推送的笔记。

1.无人驾驶到底需要多少摄像头?

在之前的这篇博客中,我们介绍了自动驾驶中常用的相机传感器,主要包括三种:环视摄像头、前侧后视摄像头、舱内摄像头。进一步介绍之前,我们先明确一下自动驾驶的等级,如下。

  • L0级自动驾驶:无自动,油门、煞车、方向盘全程皆由驾驶者掌控。
  • L1级自动驾驶:驾驶操控为主,系统适时辅助。
  • L2级自动驾驶:部份自动化,驾驶者仍需专心于路况。
  • L3级自动驾驶:有条件自动控制,该系统可自动控制车辆在大多数路况下,驾驶注意力不需专注于路况。
  • L4级自动驾驶:高度自动化,还具有方向盘等界面提供驾驶适时操控。
  • L5级自动驾驶:全自动化,人类完全成为乘客。

事实上,对于不同种类的自动驾驶,需要的摄像头个数也不尽相同,如下图。 可以看到,对于L1-2而言,只需要前后视摄像头即可,对于更复杂的场景则有更多的摄像头。一般而言总结如下:

  • L1-2阶段摄像头大概1-2个
  • L2阶段摄像头大概是1-5个
  • L2++阶段也就是现在摄像头大概3-12个
  • L3阶段大概5-20个

可以看到,要想实现较为高级的智能,十几个摄像头是必须的。

2.视觉摄像头在自动驾驶中的作用?

毫无疑问,视觉摄像头就是给自动驾驶提供各个角度的视觉影像。所以这个问题可以换个问法,视觉信息在自动驾驶中有什么作用? 总结一下主要在三个方面:

  • 智能驾驶环境感知:顾名思义就是利用摄像头实现对周围环境的视觉感知
  • 环境探测视觉呈现:简单来说主要用于给驾驶员看的视觉影像
  • 驾驶舱监控:实现对驾驶员姿态识别等功能

3.摄像头的技术原理?

这一部分就是摄像头是如何成像的。关于这个问题其实在前面的这篇博客这篇博客中已经提过很多次了,这里就只简单描述。 相机成像本质上是一个光电转换的过程,将光子转换为电子。一个完整的摄像头应该由镜头、感光元件和ISP组成。目前主要的感光元件包括CMOS和CCD两种,在这里我们介绍了两者的区别。CCD相比于CMOS感光度更高,劣势在于功耗更高。而CMOS读取速度快、成本低,所以目前车载摄像头普遍采用的都是基于CMOS的传感器。另外,还有专门针对夜视(Night View)和高动态范围(High Dynamic Range)的专用传感器。

3.1摄像头的色彩感知

无论是CMOS还是CCD,本质上都是一种感应入射光光强的传感器,换句话说它本身是没办法感知色彩的。这样的结果就是,直接拍出来的照片是黑白的。也就是最最古老的相机的原理——直接记录光强(通过特殊材料如溴化银AgBr记录光线的强弱)。说一句题外话,人类最早的照片你知道长什么样子吗?就是下面这样。 这是一张由法国摄影师约瑟夫·尼采芙·尼佩斯(Joseph Nicéphore Niépce)在1826年拍摄的照片,是人类已知的最早的照片之一。人类终于掌握了“摄影”技术。但是现在所有拍摄的照片都是黑白的,直接记录光强。如何记录彩色照片呢?直到将近半个世纪以后的1861年,詹姆斯·克拉克·麦克斯维尔和托马斯·萨顿才拍摄了人类第一张耐久彩色照片《格子缎带》,如下。 我们要如何实现从黑白到彩色的跨越呢?我们都知道,自然光是由不同波长的光组成的。通过红绿蓝三种光就可以组合出任意的颜色。所以如果我们能够分别记录下来这三个波段的光,就有可能记录下彩色照片。事实上,聪明的人类早就想到了这个办法,也是先人们曾经走过的路。我们在传感器上覆盖一层色彩滤镜(Color Filter),只让某种特定波长(颜色)的光入射。这样传感器就相当于是只感受了那个颜色的光线。比如,我们在传感器前全部覆盖红色滤镜,那么传感器就只能接收红色光,同理换成绿色、蓝色,最终就可以得到RGB三个波段,我们再将它们合成,就可以得到彩色图像。Prokudin-Gorskii在1905-1915年间,就通过这种方式拍摄了很多照片。感兴趣可以看很久之前写的这篇博客,里面有更详细的内容。

但这样又会有个新的问题:如果使用在同一个传感器前依次放置不同滤波片进行彩色图像的拍摄,拍摄一张照片的“代价”是比较高的——至少得拍三次。我们能不能只拍摄一次就可以同时获得RGB三个波段的光线强度呢?答案是肯定的。解决这个问题的,就是Bayer阵列了,由Bayer在1976年提出。想法也很简单,在不同像元上覆盖不同的滤光片,之后通过插值,依次获得每个像元对应的RGB值。一个经典的Bayer阵列为2×2,分别覆盖RGGB滤光片,如下所示。 尽管Bayer的RGGB阵列最为经典,也有人在此基础上进行了各种改进,比如RCCC、RCCB等。这里的C表示什么滤光片都不加。简单对RCCC和RCCB进行分析:

  • RCCC:如果不加滤光片拍出的就是黑白影像。但是加了一个R,这样相当于是在黑白影像的基础上强调了红波段,也就是越红的地方在拍出的影像上会越亮。同时不加滤光片也最大程度保证了进光量(只要有滤光片,必然会有光线的损失,因为只能透过一定波长范围内的光,其它光无法通过),提高了光灵敏度。这样做的好处是传感器对于红色波段更加敏感,可以用于识别来自刹车或交通信号灯的红光。所以当前大部分ADAS前置摄像头采用这个方案包括特斯拉HW2.0。
  • RCCB:由红色、蓝色滤光片组成。相比于RCCC,在提升了光灵敏度的同时,对于分辨色彩的能力更好。采集的图像既可以用于机器分析,也可以用于人眼观察。所以当前有不少采用RCCB的方案,例如特斯拉的HW2.5之后的摄像头以及蔚来ET5、ET7采用的索尼摄像头IMX424。
3.2摄像头选型需考虑的因素

对于自动驾驶而言,我们至少应该考虑以下几个方面:

  • 像素:一定程度上也是影像的分辨率,如24MP像素的传感器等。理论上像素越多可以看的东西就越精细,但也要考虑实际的计算平台能否承受住这么大的数据量。
  • 帧率:每秒能拍摄的帧数。类似的,帧率越大,能感知的运动就越细腻,但对应的对算力的要求也越高。
  • 动态范围:一般而言,动态范围越大,能够感知的场景信息也就越多。否则只能感知部分亮度,损失信息。

如下是特斯拉的摄像头相关信息: 如下是蔚来汽车采用的Sony IMX424的相关信息。

4.车载摄像头的应用难点?

无论是国外朝着L4,L5自动驾驶进军Robotaix的 Curise、Waymo,国内Robtaix的文行知远、Didi都采用RGB摄像头。所以对于未来L4-L5的真正全自动驾驶的感知至少应该是有多个RGB摄像头的,某些特定需求的摄像头可能会使用RCCC或RCCB。

当然智能汽车也只是产业化的产物,所以在摄像头甚至其他传感器的应用其实都在检测精度、计算处理需求、功率和成本限制、鲁棒性和可靠性、拓展延续性等实际参数之间选择和调和。所以也可以说是一门“艺术”而不是“科学”,难点是基于自身产品定位以及发展,对服务客户、满足发展等多个矛盾的调和最优解,而不是简单的从参数和数量上去论英雄。

5.参考资料

  • [1] https://mp.weixin.qq.com/s/u-rcgZEpkrEHh7wHcM5bDg

本文作者原创,未经许可不得转载,谢谢配合

返回顶部