首页 > 汽车技术 > 正文

鱼眼相机在自动驾驶环境感知的应用和挑战

2025-01-05 12:46:55·  来源:智驾社  作者:小明师兄  
 
B. 配置

在环视相机系统中使用鱼眼相机的主要目的是覆盖车辆周边整个 360 度的近场区域。这是通过四个水平视场角(hFOV)约为 190 度、垂直视场角(vFOV)约为 150 度的鱼眼相机实现的。鱼眼相机的角覆盖范围很大,但其角分辨率相对较小,无法远距离感知较小的物体,所以它主要用作近场传感器。相比之下,典型的远场前置相机的水平视场角为 120 度,垂直视场角为 60 度,其角覆盖范围明显更小,但角分辨率要高得多,使其能够远距离感知物体。鱼眼相机较大的水平视场角使得仅用四个鱼眼相机就能实现 360 度覆盖。较大的垂直视场角能够捕捉到靠近车辆的区域,例如在路口停车时对交通信号灯等较高位置物体的检测。

图 1 展示了典型环视相机系统的安装位置和视场角情况。四个相机放置在汽车的四个侧面,用蓝色圆圈标记出它们的位置。前置相机安装在汽车的前格栅处,后置相机通常安装在后备箱门把手处。左右两侧的相机安装在后视镜下方。它们共同覆盖了车辆周边整个 360 度的区域。相机的放置方式能确保车辆紧邻区域可见,这对于泊车场景至关重要。正因如此,相机画面中很大一部分包含了本车。人们还可以注意到视场角存在明显的重叠区域,如交叉区域所示。这种重叠可用于解决运动结构问题中的尺度问题。然而,这种重叠出现在周边区域,而周边区域的畸变是最大的,很难让算法在该区域准确运行。图 10 展示了在一个已商业部署的近场感知系统上进行的物体检测和分割情况 [31]。

图片

图 10. 对一个已商业部署系统的圆柱校正环视图像进行物体检测和分割的示意图 [31]。通过留意拱形门及其前方的车辆,可以观察到视场重叠情况。

在巴黎一条繁忙的城市街道上进行了测试。通过留意位于前置相机中心以及左右两侧相机边缘处的拱形门,就能观察到视场重叠情况。门前的银色汽车在这三个相机中均能被检测到。还可以观察到对车辆(左侧相机左端)和行人(后置相机左端)的超大角度检测情况。

C. 校准

之前我们已经讨论了各种鱼眼相机模型。这些模型中的每一个都有一组参数(称为内参数),必须通过校准程序来估计。此外,还应当估计相机的外参数,即相机系统在车辆坐标系中的位置和方向 [62][63]。典型的校准过程是,首先检测图像特征(例如,棋盘格图案中的角点 [64]),然后算法会尝试通过最小化点的重投影误差,利用校准设置模型来估计内参数和外参数,以对检测到的特征进行投影。重投影误差在此表明了具有一组参数的模型能够在多大程度上表示镜头的投影函数。其他摄影测量方法利用消失点提取以及设定直线来估计校准参数 [34][44]。OpenCV 库中实现了一个广为人知的校准工具箱 [37]。OpenCV 还为鱼眼相机模型提供了一个版本 [20](见第二章 D.1 节)。其他已知的鱼眼相机校准工具箱还有 OCamCalib [42][65][66] 以及 Kalibr [67][68][69][70]。最后,在 [71] 中,基于棋盘格特征提取和相机间对应关系,提出了一种针对车辆上多个鱼眼相机(内参数和外参数)的校准过程。这适用于环视相机系统,因为相对于车辆提供准确的外校准是提供无缝环视图像的先决条件。当校准图案相对于车辆坐标系具有已知位置时,相机的位姿可以像上述那样在离线环境中进行估计 [72]。在车辆的使用寿命期间,由于机械部件的磨损,相机相对于车辆的位姿可能会发生漂移。理想的情况是相机系统能够利用一类算法自动更新其校准。为了校正相机位姿在在线环境中的变化,可以通过最小化相邻相机地面投影之间的光度误差来实现 [73]。崔(Choi)等人的方法利用相邻相机捕获和检测到的相应车道标线来优化初始校准 [74]。在欧阳(Ouyang)等人的 [75] 中,提出了一种通过考虑车辆里程计来优化外部方向的策略,即利用几何一致性估计车辆的前进运动,并利用垂直消失点估计来确定车辆的方向。这些算法大多用于校正几何错位,但需要通过离线校准获得初始位置。弗里尔(Friel)等人 [76] 描述了一种从汽车视频序列中自动提取鱼眼相机内参数的方法,不过该方法仅限于单参数鱼眼模型(如等距模型)。

D. 投影几何

在针孔相机中,平面上的任意一组平行线会汇聚于单个消失点。这些可用于估计内参数和外参数。对于针孔相机模型,几何问题通常可以利用线性代数来构建。在这种情况下,可以使用霍夫变换(Hough-Transformation)[77] 来检测平行线。所有消失点的集合就是该平面的地平线。在现实世界的相机系统中,针孔相机是相机的一种数学模型,它存在诸如光学畸变等形式的误差。对于窄视场角相机来说,这通常是可以接受的,因为其畸变程度较小。对于宽视场角相机而言,畸变过大,以至于这种方法并非实用的解决方案,而且如果相机的视场角(FOV)大于 180 度,那么原始图像中的点与校正后的图像平面之间就不存在一一对应关系。对于鱼眼相机来说,一个更好的模型是球面投影面 [78][79]。在鱼眼图像中,休斯(Hughes)等人在 [34] 中描述了如何针对鱼眼相机将那些平行线近似拟合为圆或圆锥曲线,以确定消失点或地平线。这些平行线对应于球面的大圆。相应地,鱼眼相机所拍摄图像中的直线近似为圆锥曲线 [55],鱼眼相机拍摄图像中的平行线会汇聚于两个消失点(图 11)。

图片

图 11. 地平线、消失点和极线示意图。

鱼眼图像中的线条可近似为圆锥曲线。类似于透视图像中的平行直线汇聚于单个消失点,鱼眼图像中的平行直线汇聚于两个消失点。这两个消失点投影到单位球面上时,是球面上的对跖点。红色和绿色分别表示水平平行线(蓝色为相关地平线)和垂直平行线的透视情况。红色和绿色的点表示消失点,其中一个消失点位于图像之外。

E. 球面极线几何

立体视觉的几何关系由极线几何来描述,它可与特征提取器结合,用于深度估计和运动恢复结构方法。在针孔相机模型中,穿过两个相机光心的直线与像平面的交点定义了被称为对极点的特殊点。这条直线被称为基线。穿过基线的每个平面在两个像平面上定义了匹配的极线。一个相机中的点位于另一个相机的极线上,反之亦然。这将双视图相机设置中对应点的搜索(立体匹配)简化为一维问题。对于全向相机(如鱼眼相机),我们采用球面投影面来代替平面,此时讨论极面而非极线会更直观,如图 12 所示。从两个相机对单个三维点的理想观测将位于同一个极面上,这与针孔相机情况下它们位于极线上的原理相同。然而,需要注意的是,必须对相机进行校准,以便将图像特征映射到投影球面上。相比之下,对于窄视场角相机,极线几何是针对未校准情况通过基础矩阵来定义的。

F. 校正

它可以消除鱼眼相机的径向失真和重复使用标准的感知算法。虽然这是一种快速的方式开始鱼眼相机感知发展,但有几个问题与纠正。首先,理论上,由于水平视场大于180◦,没有水平视场,因此有光线入射在镜头上

图片

图12。球形外极几何。外极平面Π是围绕外极e的铅笔,由相机中心C和C定义。理想的观测值u和u将位于外极平面上。然而,实际观测点的u和u,在存在噪声的情况下,到外极平面的距离将为非零。

这些光线射向镜头后方,这在针孔相机设置中是行不通的。使用大视场角的鱼眼镜头,而后又因校正而损失部分视场角,这是适得其反的。第二个重要问题是重采样畸变,它在实际应用中更为常见。它是插值伪影的一种特殊表现形式,对于鱼眼图像而言,一个小区域(特别是在畸变较大的周边区域)在校正后的图像中会扩展成一个很大的区域,从而导致噪声较大。特别是,[80] 中讨论了重采样引入的虚假频率成分对计算机视觉造成的负面影响。此外,在推理阶段需要进行扭曲变换步骤,这会消耗大量的计算能力和内存带宽。它会生成带有无效像素的非矩形图像,这进一步降低了计算效率。

常用的鱼眼图像校正方法如图 13 所示。图 13(a)展示了标准直线校正。从缺失的水平白线可以看出近场区域有明显损失,左右边缘区域也有缺失。尽管存在明显损失,但这使得能够使用标准相机算法。图 13(b)展示了一种三次近似校正,其中鱼眼镜头流形表面由一个开口立方体近似表示。它可被解释为鱼眼投影表面的分段线性近似。每个平面都是直线校正,因此在每个块内都可以使用标准算法。然而,立方体两个表面之间存在较大畸变,对于跨越这两个区域的物体将很难进行检测。人们还可以注意到由于周边的重采样伪影导致的强烈透视畸变和模糊现象。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25