4. 畸变基础理论
在车载环视系统中,摄像头通常采用大视场角镜头以覆盖车身周边近场区域,但大视场角带来的直接代价就是成像畸变。畸变并不是“图像模糊”,而是空间直线在像平面上不再保持直线的几何误差。理解畸变的来源、分类与数学表达,是后续标定、去畸变、拼接和低照度优化的共同基础。如果畸变模型选错,即使标定板检测再精确,环视拼接缝也会出现错位、拉伸或“果冻”式扭曲。
一、核心原理:畸变从何而来
理想针孔模型假设物点、光心和像点严格共线,成像满足相似三角形关系。但真实镜头由多片球面或非球面透镜组成,光线在透镜表面折射时,不同视场角的光线实际焦距并不完全一致,导致像高与入射角之间偏离理想线性关系。这种偏离就是畸变。按几何成因,车载镜头畸变主要分为三类:
- 径向畸变:沿像平面半径方向产生,表现为桶形或枕形,是鱼眼镜头中最主要的畸变分量。
- 切向畸变:由镜头与传感器不平行、镜片装配偏心引起,表现为图像沿切向偏移,通常量级较小但会破坏对称性。
- 透视畸变:并非镜头缺陷,而是近大远小投影关系在倾斜拍摄或近距目标上产生的透视变形,属于投影几何效应。
此外,鱼眼镜头为把半球甚至更大视场压缩到有限像面,会主动引入强烈的径向畸变,因此不能简单用普通针孔模型描述,需要专门的鱼眼模型。工程上常把径向、切向和薄棱镜畸变统一写成多项式形式,再通过标定求解系数。
二、畸变数学表达与分类
在标定与去畸变中,通常先定义归一化像平面坐标 (x, y),再引入畸变模型。最常用的是 Brown-Conrady 模型,它把径向畸变和切向畸变叠加:
r² = x² + y²
x_d = x(1 + k1·r² + k2·r⁴ + k3·r⁶) + 2·p1·x·y + p2·(r² + 2x²)
y_d = y(1 + k1·r² + k2·r⁴ + k3·r⁶) + p1·(r² + 2y²) + 2·p2·x·y
其中 (x_d, y_d) 是畸变后的归一化坐标,k1、k2、k3 为径向畸变系数,p1、p2 为切向畸变系数。若镜头视场角极大,还需加入 k4、k5、k6 或改用鱼眼模型。鱼眼模型常见有等距投影、等立体角投影、正交投影和体视投影,它们描述入射角 θ 与像高 r 的关系:
| 模型 | 投影关系 | 适用场景 | 特点 |
|---|---|---|---|
| 等距投影 | r = f·θ | 车载鱼眼、全景监控 | 角度均匀,去畸变后边缘拉伸明显 |
| 等立体角投影 | r = 2f·sin(θ/2) | 需要亮度均匀的鱼眼 | 立体角均匀,边缘压缩较小 |
| 正交投影 | r = f·sinθ | 180°视场鱼眼 | 边缘压缩强,中心分辨率高 |
| 体视投影 | r = 2f·tan(θ/2) | 大视场但畸变较小 | 保角性好,适合拼接 |
三、方法流程:从标定到去畸变
工程上处理畸变的典型流程如下:
- 采集多姿态标定板图像,覆盖画面中心、边缘和四角。
- 提取角点,建立世界坐标与像素坐标的对应关系。
- 选择畸变模型,初始化内参和畸变系数。
- 使用最小二乘或 LM 算法迭代优化,最小化重投影误差。
- 用求得的系数对原始图像做去畸变映射,生成校正图。
- 在环视拼接中,将去畸变图再投影到地面鸟瞰图,完成多路融合。
四、案例与场景:环视拼接中的畸变影响
假设一辆车搭载 4 路 190° 鱼眼摄像头,前视摄像头安装于车标附近。若只用 k1、k2 两项径向畸变,画面四角仍会出现明显“拉伸拖尾”,导致前视与侧视拼接缝处的地面标线错位。此时应增加 k3、k4 项,或改用等距鱼眼模型,并在拼接前对每路图像做独立去畸变。另一个常见场景是侧视摄像头安装角度略向下倾斜,透视畸变会使近处地面被放大,远处被压缩,若直接按针孔模型投影到鸟瞰图,会导致车位线呈现梯形。正确做法是先做透视校正,再与径向去畸变结果统一到同一虚拟相机坐标系。
五、误区与复盘
- 误区一:只关注径向畸变。切向畸变虽小,但在高精度环视拼接中会引入 1~3 像素的系统偏差,边缘区域更明显。
- 误区二:用同一组畸变系数覆盖所有摄像头。每颗镜头的装配和传感器倾斜不同,必须独立标定。
- 误区三:忽略温度与振动影响。车载环境温度变化会导致镜筒材料形变,畸变系数发生漂移,量产阶段需考虑在线补偿或鲁棒拼接策略。
- 复盘要点:去畸变后应检查直线是否恢复为直线,尤其是画面边缘和四角;同时观察拼接缝处的地面标线是否连续。若边缘仍弯曲,优先增加径向高阶项或更换鱼眼模型,而不是盲目提高标定板数量。