3. 环视系统原理与Bosch摄像头布局

环视系统(Surround View System,SVS)的本质,是用四颗超广角鱼眼摄像头把车身四周的短距视野“拼”成一张从车顶俯视的鸟瞰图。它并不像激光雷达那样直接测距,而是通过图像几何关系反推地面位置。因此,理解环视系统的第一步不是拼接算法,而是鱼眼相机模型、视场角与安装约束这三件事——它们决定了每颗摄像头“能看到什么、看不到什么、图像如何变形”。

鱼眼相机模型:从三维光线到二维像素

普通针孔相机遵循透视投影,视场角通常小于 90°。鱼眼镜头为了获得 180° 甚至更大的视场,故意引入强烈径向畸变,使入射角 θ 与像高 r 之间不再是 r=f·tanθ,而是一条被“压缩”的曲线。工程上常用四种模型描述这条曲线:等距投影 r=fθ、等立体角投影 r=2f·sin(θ/2)、正交投影 r=f·sinθ、体视投影 r=2f·tan(θ/2)。Bosch 环视摄像头多采用等距或等立体角模型,因为它们在中大角度区域压缩更均匀,边缘分辨率损失相对可控。

实际标定中,我们不会只用单一解析式,而是采用“针孔内参 + 畸变系数”的组合模型。以 OpenCV 常用的 fisheye 模型为例,其内参为 fx、fy、cx、cy,畸变系数为 k1~k4。给定相机坐标系下一点 (X,Y,Z),先计算 a=X/Z、b=Y/Z,再求 r²=a²+b²,得到畸变后的 θ_d=θ(1+k1θ²+k2θ⁴+k3θ⁶+k4θ⁸),最后映射到像素:u=fx·(θ_d/r)·a+cx,v=fy·(θ_d/r)·b+cy。反向去畸变时则需迭代求解 θ,这也是环视拼接前必须做的一步。

需要特别强调:鱼眼模型的参数不是“调出来”的,而是通过标定板拍摄多组姿态、最小化重投影误差求解的。标定质量直接决定拼接缝是否错位。若重投影误差 RMS 超过约 0.5 像素,通常说明标定板姿态覆盖不足或角点提取不准,应重新采集。

视场角与安装约束

环视四摄的典型布置是:前摄位于前保险杠或前格栅,后摄位于后牌照灯附近,左右摄位于外后视镜下方或车门。每颗摄像头的水平视场角约 180°,垂直视场角约 120°~150°。要覆盖车身四周且相邻摄像头有足够重叠,安装位置和朝向必须满足几个约束:

  • 离地高度:通常 0.5~1.2 m。过高会使近车区域盲区变大,过低则易被泥水遮挡。
  • 俯仰角:一般向下倾斜 30°~50°,使地面占据图像下半部,同时保留部分远处信息。
  • 偏航角:前摄朝前、后摄朝后,左右摄略向外下方,保证相邻视场在车身四角有 20°~40° 重叠。
  • 遮挡约束:摄像头不能被保险杠、牌照框、后视镜壳体自身遮挡,否则拼接图会出现固定黑边。

重叠区是拼接的“粘合带”。重叠不足会导致缝隙处出现拉伸或空洞;重叠过大则浪费有效分辨率。工程上常以车身四角为关键区域,要求该处至少有两颗摄像头同时可见地面纹理。

Bosch SVC 摄像头规格

Bosch 环视摄像头(SVC)通常为 1/3 英寸或 1/2.7 英寸 CMOS,有效像素约 1280×960 或 1920×1080,输出 LVDS 或以太网(如 BroadR-Reach)视频流。镜头为全玻璃鱼眼,水平 FOV 约 190°,垂直 FOV 约 150°,工作温度 -40℃~+85℃,防护等级 IP6K9K 或 IP67。以下为教学示例参数,用于说明规格如何影响拼接,并非某一具体量产型号的实测值:

参数示例值对环视的影响
分辨率1280×960决定鸟瞰图细节与去畸变后有效像素
水平 FOV190°决定单摄覆盖范围与重叠区大小
帧率30 fps影响动态拼接与实时性
接口LVDS / 以太网决定传输延迟与 ECU 接入方式
同步方式硬触发或 PTP四摄不同步会导致运动物体错位

环视拼接基本流程

拼接的目标是把四张鱼眼图映射到同一个“车顶俯视”平面。流程可概括为:去畸变 → 透视变换 → 鸟瞰图生成 → 重叠区融合 → 输出。去畸变把鱼眼曲线拉直;透视变换用单应矩阵 H 把地面平面映射到俯视平面;四张鸟瞰图按标定得到的位置关系摆放;重叠区用加权平均或最佳缝合线融合,消除亮度差和鬼影。

单应矩阵 H 的求解依赖地面假设:我们假定地面是平面。若地面起伏或车辆载重变化,H 会失配,表现为拼接缝错位。因此量产环视常加入在线校准或基于车道线的动态修正。下面这张图把四摄布局、视场重叠与拼接数据流放在同一张示意图中,便于对照理解。

环视四摄布局、视场重叠与拼接数据流 车身俯视(示意) 车辆 前摄 后摄 左摄 右摄 重叠 重叠 重叠 重叠 鱼眼投影模型 θ r r=fθ r=f·tanθ 鱼眼压缩边缘,透视拉伸边缘 拼接数据流 四路鱼眼原图 去畸变(k1~k4) 单应变换 H 四张鸟瞰图 重叠区融合 360° 鸟瞰输出 关键约束:地面平面假设 + 四摄同步 + 重叠区 ≥20°;任一不满足都会在拼接缝处表现为错位、鬼影或黑边

从图中可以看到,四摄的视场在车身四角形成重叠区,这些重叠区正是拼接缝所在。若某颗摄像头安装角度偏移 2°~3°,重叠区就会偏移,鸟瞰图在对应角落出现拉伸或断裂。因此量产下线时通常要做一次静态标定:车辆停在标定场,地面铺设已知图案,四摄同时拍摄,算法求解每颗摄像头的外参和单应矩阵,并检查四角拼接缝的直线度。

去畸变会消耗像素:1280×960 的鱼眼图去畸变后,有效区域往往只剩约 70%~80%。若发现鸟瞰图边缘模糊,先检查是否把去畸变后的无效黑边也纳入了单应变换。
四摄必须同步曝光。若前后摄相差超过约 5 ms,车辆运动时拼接缝处会出现“错位鬼影”。量产方案通常用硬触发或 PTP 同步,并在 ECU 内做时间戳对齐。

总结本节要点:鱼眼模型决定“如何把弯曲的光线还原成直线”,视场角与安装约束决定“四摄能否覆盖并重叠”,Bosch SVC 规格决定“分辨率、帧率与接口是否满足实时拼接”,而拼接流程则把前三者串成可运行的鸟瞰图。理解这四层关系,后续学习融合泊车时才能判断:当环视拼接出现错位,问题究竟出在标定、同步、地面假设,还是摄像头本身。