3. 单相机成像模型:针孔相机模型、像平面与物平面映射、畸变参数简介
在四相机阵列环形布局设计中,理解单相机的成像模型是后续进行视场拼接、重叠区域计算和畸变校正的理论基础。本节从经典的针孔相机模型出发,逐步推导像平面与物平面的映射关系,并简要介绍影响成像精度的主要畸变参数。
3.1 针孔相机模型
针孔相机模型是几何光学中最基础的成像模型,它假设光线通过一个无限小的孔径(针孔)后,在成像平面上形成倒立的实像。该模型忽略了透镜的厚度和像差,将相机简化为一个线性投影系统。
在针孔模型中,三维空间中的任意点 P = (X, Y, Z) 通过光心投影到像平面上的点 p = (x, y)。其数学关系由相似三角形导出:
x = f * (X / Z)
y = f * (Y / Z)
其中 f 为焦距(光心到像平面的距离)。该模型在齐次坐标下可表示为:
s * [x, y, 1]^T = K * [R | t] * [X, Y, Z, 1]^T
其中 K 为相机内参矩阵,[R | t] 为外参矩阵,s 为尺度因子。
3.2 像平面与物平面映射
在实际应用中,我们更关心物平面(如地面、检测平面)上的点与像平面像素坐标之间的映射关系。对于环形阵列布局,每个相机通常以一定俯仰角和偏航角安装,物平面与像平面之间存在透视变换。
映射过程分为三个步骤:
- 世界坐标系 → 相机坐标系:通过旋转矩阵 R 和平移向量 t 进行刚体变换。
- 相机坐标系 → 归一化像平面:除以 Z 坐标,得到归一化坐标 (xn, yn)。
- 归一化像平面 → 像素坐标系:通过内参矩阵 K 进行仿射变换,得到像素坐标 (u, v)。
内参矩阵 K 的标准形式为:
K = [fx, 0, cx;
0, fy, cy;
0, 0, 1]
其中 fx、fy 为 x、y 方向的等效焦距(单位:像素),(cx, cy) 为光心在像素坐标系中的偏移。
| 坐标系 | 表示 | 维度 | 说明 |
|---|---|---|---|
| 世界坐标系 | (Xw, Yw, Zw) | 3D | 全局参考系,阵列标定基准 |
| 相机坐标系 | (Xc, Yc, Zc) | 3D | 以光心为原点,Z 轴指向物方 |
| 归一化像平面 | (xn, yn) | 2D | Zc = 1 的虚拟平面 |
| 像素坐标系 | (u, v) | 2D | 图像行列索引,单位像素 |
3.3 畸变参数简介
实际镜头由于制造和装配误差,成像点会偏离针孔模型的理想位置,这种偏离称为畸变。畸变主要分为径向畸变和切向畸变两类。
3.3.1 径向畸变
径向畸变由透镜形状引起,光线在透镜边缘的折射程度与中心不同。畸变程度随距离光心的半径增大而增大。数学模型为:
x_distorted = x * (1 + k1*r^2 + k2*r^4 + k3*r^6)
y_distorted = y * (1 + k1*r^2 + k2*r^4 + k3*r^6)
其中 r² = x² + y²,k1、k2、k3 为径向畸变系数。k1 主导畸变方向(正值为枕形畸变,负值为桶形畸变)。
3.3.2 切向畸变
切向畸变由透镜与成像平面不平行(装配倾斜)引起。数学模型为:
x_distorted = x + [2*p1*x*y + p2*(r^2 + 2*x^2)]
y_distorted = y + [p1*(r^2 + 2*y^2) + 2*p2*x*y]
其中 p1、p2 为切向畸变系数。
完整的畸变模型包含 5 个参数(k1, k2, p1, p2, k3),在 OpenCV 等工具中通常使用 cv::calibrateCamera() 函数进行标定求解。
3.4 单相机成像流程总览
下图总结了从三维世界点到二维像素坐标的完整成像流程,包含畸变环节:
3.5 畸变对阵列视场的影响
在四相机环形布局中,畸变会导致以下问题:
- 视场边界变形:桶形畸变使边缘视场向内收缩,实际覆盖区域小于理论值;枕形畸变则相反。
- 重叠区域计算误差:未校正畸变时,基于针孔模型计算的重叠区域与实际重叠区域存在偏差,影响拼接精度。
- 特征点匹配偏移:在相邻相机重叠区域,畸变会导致同名点像素坐标偏移,降低特征匹配的鲁棒性。