3. 摄像头内参模型与标定基础
在 Mobileye EyeQ 这类前视 ADAS 系统中,摄像头标定的本质是建立“图像像素坐标”与“车体/世界坐标”之间的可计算映射。这个映射由两级模型串联而成:内参模型描述摄像头自身如何把三维相机坐标投影到二维像素平面,外参模型描述摄像头在车体上的安装位置与姿态。两者缺一不可——内参错了,图像几何失真无法还原;外参错了,即使图像再清晰,测距和车道定位也会系统性偏移。
针孔模型:从三维到二维的理想投影
针孔模型是最基础的内参模型。设相机坐标系下一点为 P_c = (X_c, Y_c, Z_c),其中 Z_c 为沿光轴向前方向,则理想投影到归一化平面的坐标为:
x_n = X_c / Z_c
y_n = Y_c / Z_c
再经焦距和主点映射到像素坐标 (u, v):
u = f_x * x_n + c_x
v = f_y * y_n + c_y
写成矩阵形式即内参矩阵 K:
K = [ f_x 0 c_x ]
[ 0 f_y c_y ]
[ 0 0 1 ]
其中 f_x = f / dx、f_y = f / dy,dx、dy 为单个像素在 x、y 方向的物理尺寸,c_x、c_y 为主点像素坐标。对 EyeQ 常用的约 1280×960 图像,主点通常接近图像中心,例如 c_x ≈ 640、c_y ≈ 480,但实际值需通过标定确定,不能直接假设为几何中心。
畸变模型:广角镜头的必要修正
车载前视摄像头多为广角镜头,针孔模型不足以描述真实成像。畸变主要分为径向畸变和切向畸变。径向畸变用 k1、k2、k3 描述,切向畸变用 p1、p2 描述。以归一化坐标 (x_n, y_n) 为例,r² = x_n² + y_n²,修正后的坐标为:
x_d = x_n(1 + k1 r² + k2 r⁴ + k3 r⁶) + 2 p1 x_n y_n + p2(r² + 2 x_n²)
y_d = y_n(1 + k1 r² + k2 r⁴ + k3 r⁶) + p1(r² + 2 y_n²) + 2 p2 x_n y_n
然后 (x_d, y_d) 再经 K 投影到像素。工程上常先做去畸变,把图像校正为近似针孔成像,再送入后续感知算法。EyeQ 内部通常固化畸变参数,标定时只需验证残差是否在允许范围内。
外参矩阵:安装位置与姿态
外参描述相机相对车体坐标系的旋转 R 与平移 t。若车体坐标系定义为:x 向前、y 向左、z 向上,则相机坐标系到车体坐标系的变换为:
P_vehicle = R * P_camera + t
外参中的俯仰角(pitch)对前视系统影响最大,它直接决定地平线在图像中的位置,进而影响测距。安装高度 h 与俯仰角 θ 共同决定地面点在图像中的纵向位置。工程上常通过车道线消失点或已知地面目标来估计和校验外参。
标定在 EyeQ 系统中的工程意义
EyeQ 芯片内部集成了图像信号处理与感知算法,标定参数直接写入其配置区。内参标定通常在产线或售后用标定板完成,输出 K 与畸变系数;外参标定则通过车辆直行时车道线消失点、或静态标定场中的已知目标来求解。实际工程中,外参的俯仰角偏差 0.1° 就可能在 50 m 处带来约 0.09 m 的纵向测距误差,因此标定后必须用已知距离目标做残差验证。
一个可参考的验证方法是:在车辆正前方 10 m、20 m、30 m 处放置高对比度目标,分别测量图像中的像素纵坐标,代入标定后的模型反算距离,与真实距离比较。若 30 m 处误差超过 0.3 m,则需重新检查外参俯仰角或内参主点。标定不是一次性的,车辆碰撞、悬架更换、摄像头拆装后都应重新校验外参。