“800万像素”,“250m测距能力”等字眼频繁出现在自动驾驶相关的宣传报道中,这源于自动驾驶对感知能力“更远、更强”的不懈追求。车上不装十几个摄像头,主机厂市场部小姐姐都没底气宣传新车具备真正的高级辅助驾驶功能。而按照这种硬件堆叠的思路,在走到了自动驾驶量产落地的那一刻,平平无奇的车身不知道会不会更名为“摄像头车身”。
电子电气架构的分久必合,正在将车内几十个ECU往融合为个位数的域控制器方向发展,直至最终演变为一两个高性能计算单元。而智驾域内的传感器大佬阔太太们,虽仍处在数量和性能同时无序增长的阶段,但在可预见的时间节点,也终将走向融合与集中的发展道路。
对于相机一类传感器来说,如果视场角足够大,感知距离也在场景的需求范围内,那么再搭配上训练有素的感知算法,势必将大大减少此种场景下相机的需求数量,同步提高获取感知关联数据的能力。而可能具有此种潜质的选手,便是鱼眼相机,一种已经在环视和泊车场景中成熟应用,并在ADAS场景中崭露头角的希望之星。
在环视场景中,鱼眼相机通过将大角度范围(180°)内的光线,进行压缩、扭曲之后提供大角度范围内车辆周边环境数据,并通过将多个相机图像的拼接,去扭和变形之后实现低速场景下非常实用的360°全景影像功能。而在泊车场景下,通过和超声波雷达融合,完成对停车线的识别,障碍物的检测,从而实现不同等级的泊车功能。
伴随着鱼眼相机自身内力的提升(支持光流及多目标检测等)、针对鱼眼相机感知算法的突破,以及自动驾驶到了拼价格刺刀的时候,鱼眼相机有希望迎来在自动驾驶舞台上的“鲤鱼跃龙门”时刻。自动驾驶圈黑话第二十二期,延续作者以往的风格,选取当前平平无奇,但有希望在未来一鸣惊人的鱼眼相机来进行一番吹嘘。
成像原理
在前面介绍单目相机和双目相机的文章中,我们了解到这两位仁兄都是基于透镜成像原理工作的。在对相机建模时,通常使用形象通俗的小孔成像模型进行描述。
在小孔成像模型中,遵循相似成像准则。物体在经过射影变换之后成的像,保持了绝大部分几何性质不变。比如直线经过变换之后仍是直线,曲线经过变换之后仍是曲线,两线交点变换过来后仍是两线交点等等。而由于透镜制造工艺误差等原因引入的图像畸变,我们总是想方设法校正掉。
另一方面,在小孔成像模型中,如果焦距一定,那么图像传感器像素平面的面积直接决定了相机视场角的大小,超过这个视场角范围的物体不会被镜头获取到。因此基于透镜成像原理的相机,视场角无法做到足够大,水平视场角一般小于140°。
但是在一些领域,比如气象科学(这也是鱼眼相机诞生的地方),科技工作者需要对天空天象变化进行观测,需要有一种相机能将整个半球形天空一次性拍摄下来。而在安防监控领域,安保团队期望有一种相机能从俯视角度一次性拍摄整个监控区域。而为了实现这些目的,就需要相机具有水平180°甚至更大的视场角能力。
就在科研人员陷入苦苦思索的时候,这个时候仿生学义无反顾站了出来。科学家们发现鱼的眼睛在往上看的时候,可以看到水面上整个半球形空间。细究原因,科学家发现由于水的折射率比空气大,光线由空气进入水中后会发生折射,且折射角比入射角要小。同时随着入射角增加,折射角变小的程度也增加。基于这个特性,水面上180°半球形空间的物体就可以被扭曲、压缩到一个有限的成像平面上。
光学上有一个专业的术语来描述这种现象,叫“斯内尔窗”。斯内尔窗更准确的描述为:从水下往上看,180°的视角会被压成96°的光锥。受此现象启发,人们发明了鱼眼镜头,一种利用光的折射规律可以将很大范围内光线进行压缩和扭曲到一个相对较小空间内的镜头,从而可以被后面相机图像传感器记录下来,后续再通过去畸变,还原真实的图像比例。
鱼眼镜头设计的中心思想就是:拥有更大的球面弧度(超广角),成像平面离透镜更近(短焦距)。鱼眼镜头视场角可以达到或者超过180°,因其视角超大,最终成像会有非常大的桶形畸变。鱼眼镜头一般是由十几个不同的透镜组合而成,最前面的几个透镜直径短且呈抛物状,朝镜头前部凸出,主要负责折射,使入射角减小。其余的镜头相当于一个成像镜头。
所以,鱼眼相机是源于斯内尔现象而发明出来的。但在鱼眼镜头被设计出来后,人们发现极凸的造型非常像鱼的眼睛。渐渐地,大家一听到鱼眼相机、鱼眼镜头都以为是仿照鱼的眼睛而设计的,可以说是一个美丽的巧合。
成像模型
前文提到,普通单目/双目相机成像遵循的是相似成像准则,真实世界中的直线仍被投影为图像平面上的直线。而鱼眼相机为了将尽可能大的真实世界投影到有限的成像平面内,鱼眼相机允许了畸变的存在,遵循的是非相似成像准则。
在研究鱼眼相机成像模型时,一般分解为两个步骤。第一个步骤,将真实世界中的点投影到一个虚拟单位半球面上(如下图中的w点投影到q点),球心与鱼眼镜头坐标系的原点重合;第二个步骤,将单位半球面上的点投影到相机成像平面上,这是一个非线性过程(如下图q点到rd点)。
从相机成像模型示意图可以看到,由于单位半球面上的q点投影到相机成像平面上的rd点是一个非线性过程,折射角θd小于入射角θ。而投影模型要表征的就是成像平面的像高rd和入射角θ之间的映射关系。前人在不断失败试错中,总结出了几种投影模型,每种投影模型均对应一种鱼眼镜头类型。常用的投影模型有四种,分别是等距投影模型、等立体角投影模型、体视投影模型和正交投影模型。
和小孔成像模型一样,为了便于数学分析,在投影模型中我们将成像平面对称到镜头坐标系上方区域。在下文介绍中,f为鱼眼相机的焦距,θ为物体在空间中与光轴所成的入射角,rd为成像点到成像平面中心的成像高度。
(1)等距投影模型。这是最简单的一种投影模型,成像点到成像平面中心的成像高度rd与入射角度θ成正比,这个比例系数就是镜头焦距f,用公式表达即为 rd=f*θ。在这种投影模型中,入射光线之间的角度相同时,保持其对应各投影点之间的间距相同,这也是这个投影模型名称的来源。同时这种模型还可以解决在小孔成像下入射角90°时图像无限拉伸的问题。畸变量适中,在工程领域被广泛应用。
(2)等立体角投影模型。这是鱼眼相机常用的一种投影模型,从名字就能领会此种投影模型真谛的一二。在虚拟单位半球形面上两个相等立体角的入射面,在成像平面上的两个像的面积相同。用公式表达为rd=2f*sin(θ/2)。
(3)体视投影模型。这是一种保角不变投影模型,球形物面上的微小面元经过体视投影后,其像仍然是一个小圆。因此这种投影模型对微小物体成像具有相似性。但是相似性带来视场角不足的影响。用公式表示为rd=2f*tan(θ/2)。
(4)正交投影模型。这种投影方式带来的畸变最大,对边缘物体压缩最厉害近180°处的图像信息几乎全部丢失,且无法对180°以外的场景区域进行描述,因此实际上很少使用。但这种投影模型不会产生透射映射的近大远小结果。用公式表达就是rd=f*sin(θ)。
畸变校正
对于相机类传感器来说,畸变是必然存在的。而畸变校正就是寻找一个重映射矩阵来将原始图像中的部分像素点或插值点进行重新排列。当然,不同的需求往往对应不同的畸变校正方案。
对于单目相机来说,为了得到相机像素坐标系和三维世界坐标系的对应关系,我们需要对相机的桶形畸变和枕形畸变进行矫正。而对于双目相机来说,为了做极线对齐,实现深度估计。我们需要将两个相机,输出变换到同一个坐标系下。张正友老师的棋盘标定法是目前上述两类相机,矫正效果最好的方法。
而对于鱼眼相机来说,径向畸变太为严重,以至于我们都可以忽略其他方向的畸变。棋盘标定法、横向展开法、经纬度法是鱼眼相机常用的三种畸变校正方法。棋盘标定法只能校正鱼眼图像中间的一部分,靠近圆周的区域会被拉伸的很严重导致视觉效果变差。所以棋盘标定法一般用作简单测量或图像拼接的前置任务。
横向展开法将俯视视角变为正视视角,因此可以根据区域功能,进行切片,再用普通视角的检测模型,做后续任务。但是缺点也一目了然,比如展开图的左右两侧,在真实世界中应该是连通的。所以当有目标在鱼眼图中穿过分界线时,在展开图中该目标会从左侧消失,右侧出现(或者倒过来),看起来不是很自然。
经纬度法包含经度和纬度两个方面,对经度进行校正时,只对竖直方向进行了校正,水平方向依然是扭曲的。而对纬度进行校正时,水平方向可实现较好的校正,但竖直方向依然是扭曲的。这种方法可谓是鱼和熊掌不可兼得。
行业进展
2020年,华为推出的800万像素超级鱼眼摄像头,采用自主视觉算法 玻璃模压非均匀镜头,相比市面上200万像素鱼眼摄像头,检测距离翻倍、分辨率更高。官方宣称,4个超级鱼眼摄像头,可以替代传统4个侧视 4个环视的高阶360度感知方案,支持大FOV视角以及80米的环视检测距离。
2021年7月,三星发布适用于车载环视系统或后视摄像头的专用图像传感器ISOCELL Auto 4AC。该款图像传感器采用1/3.7英寸感光面积,120万像素分辨率(1280x960) ,3.0μm像素尺寸,并内置ISP图像处理功能,可输出YUV422,RGB888,RGB565图像数据。同时支持120分贝高动态范围图像,支持发光二极管闪烁抑制功能,可为自动驾驶系统辨识车灯、交通信号灯提供更加准确的数据。
2021年11月,法雷奥公司发布了世界上第一个面向量产的鱼眼相机开源数据集WoodScape,整个数据集含10000多张图片,旨在通过提供足够的相关数据,推动适应自动驾驶行车和泊车领域的鱼眼相机视觉算法的深度开发,而不再停留在传统的校正算法。
数据集是由几辆法雷奥汽车在欧洲不同地理位置拍摄,每辆车上配备了四个鱼眼相机,每个鱼眼相机提供100万像素24位分辨率,30帧/秒的图像数据。数据集经过人工标注后可用于语义分割、深度估计、2D物体检测、视觉测距、运动分割、污垢检测以及端到端驾驶等任务训练。
小结
未来,伴随着鱼眼相机在像素、视场角、感知距离等性能参数方面的不断突破,我相信没有厂家愿意拒绝由此带来的硬件成本较低和算力资源需求降低。鱼眼相机在高速场景的江湖地位还不可预测,但在低速场景的领导能力,已经开始凸显。
往期精彩:
车载红外相机
车载单目相机,自动驾驶的“眼睛”
车载双目相机,老兵的二次出征
参考文献:
鱼眼镜头是怎么「鱼眼」的?
https://zhuanlan.zhihu.com/p/29273352
一文详解分析鱼眼相机投影成像模型和畸变模型
https://mp.weixin.qq.com/s/TffJXlFjGwOKC1kIFs3sjQ
环视鱼眼拒绝“被边缘”,如何破解市场“洼地效应
”https://mp.weixin.qq.com/s/-WT2YuOANeNbsQkpK6XVNg
一文讲透鱼眼相机畸变矫正,及目标检测项目应用
https://mp.weixin.qq.com/s/azoQTrSlmk5Vy4-s5B6dOw
,