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 感知链路中的作用 车辆坐标系 原点:后轴中心地面 X前 Y左 Z上 目标:(Xv, Yv, Zv) 外参 R, t pitch / yaw / roll 安装高度 h Pv = R·Pc + t 相机坐标系 Zc 沿光轴向前 Xc 右 Yc 下 目标:(Xc, Yc, Zc) 内参 K fx, fy, cx, cy 像素↔角度 u = fx·Xc/Zc + cx 畸变模型(去畸变 LUT) 径向 k1, k2 切向 p1, p2 桶形畸变 → 直线弯曲 校正后近似针孔图像 道路平面假设 地面 Zv = 0 v 像素 → 纵向距离 Z Z = h·fy / (v - cy - Δpitch) 地平线位置决定测距基准 在线标定 利用车道线/消失点 估计 pitch / yaw 漂移 补偿外参慢变 保证长时测距稳定 EyeQ 感知输出 目标距离 Z、横向偏移 Y、相对速度 → 检测 / 跟踪 / AEB 决策 外参修正反馈

道路平面假设:单目测距的支点

单目相机没有直接的深度信息,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 负责相机坐标与车辆坐标的转换,决定目标在自车坐标系中的位置;道路平面假设提供单目测距所需的几何约束,把像素行映射为纵向距离;在线标定则持续维护外参的可信度,让前四者在整个生命周期内保持有效。任何一环失准,都会以测距偏差、横向偏移误差或跟踪漂移的形式出现在最终感知输出中。理解这条链路,才能在后续调试中判断误差究竟来自检测、标定还是假设条件。

工程提示:排查测距异常时,可先检查地平线在图像中的实际位置是否与标定值一致。若地平线整体上移或下移,优先怀疑俯仰角漂移;若同一距离的目标在图像左右两侧测距不一致,优先怀疑偏航角或畸变校正问题。