4. 车载相机成像与标定
EyeQ 芯片上的道路目标检测与跟踪,本质上是在“像素坐标”与“车辆坐标”之间反复做几何换算。相机安装在前挡风玻璃后,镜头把三维世界投影成二维图像,而感知算法最终要回答的是:前方 30 米处那辆车在自车坐标系中的横向偏移是多少、它相对本车是否在靠近。这个从图像到物理世界的桥梁,就是相机成像模型与标定参数。理解内参、外参、畸变模型、在线标定和道路平面假设这五个概念,以及它们在 EyeQ 感知链路中各自承担的角色,是读懂后续检测、测距、跟踪模块的前提。
针孔模型:内参把像素和角度连起来
相机成像最基础的近似是针孔模型。设相机坐标系下一点为 (Xc, Yc, Zc),Zc 为沿光轴向前,投影到归一化平面得到 (Xc/Zc, Yc/Zc),再经内参矩阵 K 映射到像素坐标 (u, v):
u = fx * (Xc/Zc) + cx
v = fy * (Yc/Zc) + cy
K = [ fx 0 cx
0 fy cy
0 0 1 ]
其中 fx、fy 是以像素为单位的焦距,cx、cy 是主点(光轴与像面的交点)。以 EyeQ 常见的 1280×960 前视相机为例,一个合理的示例参数是 fx≈1000、fy≈1000、cx≈640、cy≈480,水平视场角约 2·arctan(640/1000)≈65°。内参决定了“一个像素对应多大角度”,因此它直接约束了可测距范围:目标越远,同样物理尺寸占据的像素越少,测距误差对像素误差越敏感。内参由镜头焦距、传感器像元尺寸共同决定,出厂标定后基本固定,但温度变化、镜头装配应力可能带来缓慢漂移。
外参:把相机坐标搬到车辆坐标
外参描述相机相对车辆坐标系(通常原点在后轴中心地面,X 向前、Y 向左、Z 向上)的安装位置和姿态,由旋转矩阵 R 和平移向量 t 组成。相机坐标下一点 Pc 与车辆坐标 Pv 的关系为 Pv = R·Pc + t。工程上更直观的表示是三个安装角:俯仰角 pitch(相机光轴相对水平面的上下倾角)、偏航角 yaw(左右偏转)、横滚角 roll(绕光轴旋转),加上相机离地高度 h 和相对后轴的纵向、横向偏移。
外参对测距的影响远大于内参。俯仰角误差 0.1°,在 50 米处引起的纵向距离误差约为 50×tan(0.1°)≈0.087 米,看似不大,但它会同时改变地平线在图像中的位置,进而影响基于道路平面的距离估计。偏航角误差则直接造成横向定位偏差,在车道保持和 AEB 横向判断中更敏感。因此外参标定精度通常要求俯仰、偏航角误差控制在 0.05°~0.1° 量级。
畸变模型:广角镜头的必要修正
实际镜头不是理想针孔,尤其前视相机常用较大视场角,边缘会产生明显畸变。EyeQ 感知中主要处理径向畸变,常用 Brown-Conrady 模型:
r² = x² + y² (x, y 为归一化平面坐标)
x_dist = x(1 + k1·r² + k2·r⁴) + 2·p1·x·y + p2·(r² + 2x²)
y_dist = y(1 + k1·r² + k2·r⁴) + p1·(r² + 2y²) + 2·p2·x·y
k1、k2 为径向畸变系数,p1、p2 为切向畸变系数。示例中一个 65° 视场镜头 k1 常在 -0.2~-0.3 之间,表现为桶形畸变:图像边缘的直线向外弯曲。畸变不校正的后果是,同一车道线在图像中部和边缘的曲率估计不一致,车道线拟合和基于消失点的自车姿态估计都会产生系统性偏差。EyeQ 的感知前端通常先做去畸变查找表(LUT)重映射,把畸变图像校正为近似针孔图像,后续检测和几何计算都在校正后的图像上进行。
道路平面假设:单目测距的支点
单目相机没有直接的深度信息,EyeQ 感知要获得目标距离,必须引入几何假设。最核心的一条是道路平面假设:目标接触点位于地平面上,即车辆坐标下 Zv=0。在这个假设下,图像中目标底边所在的像素行 v 与纵向距离 Z 之间有一一对应关系。设相机高度 h、俯仰角 θ,忽略横滚,简化关系为:
Z ≈ h · fy / (v - cy - fy·tanθ)
分母中的 (v - cy - fy·tanθ) 实际是目标底边相对地平线的像素差。地平线在图像中的行位置 v_h = cy + fy·tanθ,它由俯仰角决定。示例:h=1.2 m,fy=1000,θ=0,cy=480,若目标底边在 v=600,则 Z≈1.2×1000/(600-480)=10 m;若 v=520,则 Z≈1.2×1000/40=30 m。可以看到,v 越接近地平线,分母越小,距离对像素误差越敏感——这正是远距离测距精度下降的几何根源。因此地平线估计的准确性直接决定测距精度,而地平线位置又由外参俯仰角决定。
道路平面假设的适用边界也需要明确:上坡、下坡、前车腾空、路面坑洼都会破坏 Zv=0 条件,导致测距偏差。EyeQ 的工程做法通常是在平坦道路假设下给出主测距结果,同时用目标框高度、宽高比、历史跟踪轨迹的一致性做合理性校验,必要时切换到基于目标尺寸先验的测距作为补充。
在线标定:让外参在行驶中保持可信
外参不是标定一次就永久有效的。车辆载荷变化会改变车身俯仰,悬架老化、碰撞维修、挡风玻璃更换都会让相机安装角发生偏移。离线标定只能保证出厂状态,行驶中的慢变必须靠在线标定补偿。EyeQ 在线标定的典型思路是:在检测到稳定车道线的路段,利用左右车道线在图像中的消失点估计偏航角,利用车道线宽度随距离的变化和地平线位置估计俯仰角,再与离线标定值比较,得到 pitch/yaw 的修正量。
在线标定的关键工程约束是“慢更新、强校验”。更新速率通常限制在每公里或每若干帧一次,避免把车道线检测的瞬时噪声写进外参;同时设置置信度门限,只有在车道线清晰、曲率小、车辆直线行驶时才允许更新。若在线估计出的俯仰角与离线值偏差超过约 0.5°,往往先判定为异常并冻结更新,提示需要重新离线标定,而不是盲目跟随。
五个概念在感知链路中的分工
把上述内容串起来看:内参 K 负责像素与角度的换算,是几何计算的基础;畸变模型负责把真实镜头图像校正到针孔模型可用的状态;外参 R、t 负责相机坐标与车辆坐标的转换,决定目标在自车坐标系中的位置;道路平面假设提供单目测距所需的几何约束,把像素行映射为纵向距离;在线标定则持续维护外参的可信度,让前四者在整个生命周期内保持有效。任何一环失准,都会以测距偏差、横向偏移误差或跟踪漂移的形式出现在最终感知输出中。理解这条链路,才能在后续调试中判断误差究竟来自检测、标定还是假设条件。