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 | 决定鸟瞰图细节与去畸变后有效像素 |
| 水平 FOV | 190° | 决定单摄覆盖范围与重叠区大小 |
| 帧率 | 30 fps | 影响动态拼接与实时性 |
| 接口 | LVDS / 以太网 | 决定传输延迟与 ECU 接入方式 |
| 同步方式 | 硬触发或 PTP | 四摄不同步会导致运动物体错位 |
环视拼接基本流程
拼接的目标是把四张鱼眼图映射到同一个“车顶俯视”平面。流程可概括为:去畸变 → 透视变换 → 鸟瞰图生成 → 重叠区融合 → 输出。去畸变把鱼眼曲线拉直;透视变换用单应矩阵 H 把地面平面映射到俯视平面;四张鸟瞰图按标定得到的位置关系摆放;重叠区用加权平均或最佳缝合线融合,消除亮度差和鬼影。
单应矩阵 H 的求解依赖地面假设:我们假定地面是平面。若地面起伏或车辆载重变化,H 会失配,表现为拼接缝错位。因此量产环视常加入在线校准或基于车道线的动态修正。下面这张图把四摄布局、视场重叠与拼接数据流放在同一张示意图中,便于对照理解。
从图中可以看到,四摄的视场在车身四角形成重叠区,这些重叠区正是拼接缝所在。若某颗摄像头安装角度偏移 2°~3°,重叠区就会偏移,鸟瞰图在对应角落出现拉伸或断裂。因此量产下线时通常要做一次静态标定:车辆停在标定场,地面铺设已知图案,四摄同时拍摄,算法求解每颗摄像头的外参和单应矩阵,并检查四角拼接缝的直线度。
总结本节要点:鱼眼模型决定“如何把弯曲的光线还原成直线”,视场角与安装约束决定“四摄能否覆盖并重叠”,Bosch SVC 规格决定“分辨率、帧率与接口是否满足实时拼接”,而拼接流程则把前三者串成可运行的鸟瞰图。理解这四层关系,后续学习融合泊车时才能判断:当环视拼接出现错位,问题究竟出在标定、同步、地面假设,还是摄像头本身。