4. 相机模型与标定

在无人机视觉精准降落任务中,相机是把三维世界映射到二维图像的关键传感器。若不知道“像素点如何对应真实空间方向”,后续的地面标记检测、位姿估计与下降控制都会失去尺度与几何依据。本节围绕针孔成像、畸变建模、内外参标定、手眼标定以及误差评估,建立从模型到工程落地的完整链路。

一、针孔模型:从三维点到像素坐标

针孔模型是最常用的相机成像近似。设相机坐标系下一点为 P_c = (X_c, Y_c, Z_c),归一化平面坐标为 x = X_c / Z_c、y = Y_c / Z_c,再经内参矩阵投影到像素坐标:

u = fx * x + cx
v = fy * y + cy

[u]   [fx  0  cx] [X_c/Z_c]
[v] = [0  fy  cy] [Y_c/Z_c]
[1]   [0   0   1] [   1   ]

其中 fx、fy 为焦距(像素单位),cx、cy 为主点。内参描述相机自身属性,外参描述相机相对世界坐标系的旋转 R 与平移 t。无人机降落时,若已知降落标志在世界系中的位置,结合外参即可反推相机位姿,进而得到相对高度与水平偏移。

针孔模型的核心价值:把“像素误差”转换为“角度误差”,再把角度误差结合高度转换为“米制误差”。这是精准降落控制量计算的基础。

二、畸变模型:真实镜头的修正

真实镜头存在径向畸变与切向畸变。径向畸变使直线在图像边缘弯曲,常用 k1、k2、k3 描述;切向畸变由镜头与成像平面不平行引起,常用 p1、p2 描述。去畸变过程通常先对归一化坐标修正,再乘内参:

x_dist = x(1 + k1*r^2 + k2*r^4 + k3*r^6)
       + 2*p1*x*y + p2*(r^2 + 2*x^2)
y_dist = y(1 + k1*r^2 + k2*r^4 + k3*r^6)
       + p1*(r^2 + 2*y^2) + 2*p2*x*y

对于降落场景,畸变会直接导致标志中心偏移与角点位置误差。广角镜头在低空近距离时畸变尤为明显,因此必须在检测前完成去畸变,或在校正后的图像上提取角点。

三、内参外参标定与手眼标定

内参标定常用棋盘格或圆点标定板,采集多姿态图像,通过张正友标定法求解内参与畸变系数。外参标定则确定相机相对机体或世界系的安装关系。手眼标定解决的是相机与无人机机体系(或云台、降落平台)之间的坐标变换,典型形式为 AX = XB,其中 X 为待求手眼矩阵。

  • 内参标定:输入多张标定板图像,输出 fx、fy、cx、cy、k1、k2、p1、p2。
  • 外参标定:确定相机到机体的 R、t,用于把视觉结果转到控制坐标系。
  • 手眼标定:通过多组机械运动与对应观测,求解相机与执行机构间的固定变换。

工程中常用 ROS 与 OpenCV 完成标定,命令示例如下:

rosrun camera_calibration cameracalibrator.py \
  --size 8x6 --square 0.025 \
  image:=/camera/image_raw camera:=/camera

# 标定完成后保存
camera_calibration_parsers

四、标定误差评估与工程复盘

标定不是“跑一次就结束”,误差评估决定视觉降落是否可信。常用指标包括重投影误差、角点残差、位姿重复性与实际降落偏差。重投影误差反映标定参数对训练图像的解释能力,但过低也可能过拟合;更关键的是在独立验证集与真实飞行中的表现。

评估项含义典型目标异常处理
重投影误差三维点投影回图像与检测点的偏差< 0.3 px增加姿态多样性,剔除模糊帧
角点残差分布误差是否集中在图像边缘均匀分布检查畸变模型与标定板覆盖
位姿重复性同一位置多次估计的波动厘米级检查时间同步与标定板平整度
实际降落偏差最终落点与目标点距离满足任务指标联合优化手眼矩阵与控制延迟
建议把标定结果、验证误差与飞行日志一起归档。每次更换镜头、调整云台或碰撞后,都应重新评估外参与手眼矩阵,而不是只复用车内参。
常见误区:只关注内参重投影误差,却忽略手眼矩阵与控制坐标系的一致性;或在低空广角畸变未校正时直接做角点定位,导致降落阶段出现固定方向偏移。
无人机视觉降落:相机模型与标定链路 三维世界点 降落标志 / 合作目标 世界坐标 P_w 外参 R, t 世界系 → 相机系 P_c = R·P_w + t 针孔投影 归一化 + 内参 K u = fx·x + cx 像素坐标 (u, v) 图像检测 内参标定 棋盘格多姿态采集 fx, fy, cx, cy k1, k2, p1, p2 畸变校正 径向 + 切向畸变 去畸变后角点更准 低空广角尤其重要 手眼标定 相机 ↔ 机体 / 云台 AX = XB 统一控制坐标系 标定误差评估闭环 重投影误差 · 角点残差 · 位姿重复性 · 实际降落偏差 误差超标 → 重采标定数据 / 检查安装 / 联合优化手眼矩阵

综上,针孔模型给出理想投影关系,畸变模型修正真实镜头偏差,内参外参标定建立像素与空间的桥梁,手眼标定统一相机与机体坐标,误差评估则决定这套参数能否支撑稳定降落。只有把五者串成闭环,视觉精准降落才具备可重复、可验证的工程基础。