下面把内参标定(Intrinsic Calibration)系统性讲清楚:相机内参、LiDAR内参,以及张正友标定法的原理与步骤。
一、什么是内参标定?
一句话定义:
内参标定是确定传感器自身成像/测量模型中的参数,使“测量值 → 真实几何关系”的映射尽可能准确。
两大类传感器
- 相机(Camera)
- 激光雷达(LiDAR)
二、相机内参标定
1. 相机成像模型(核心)
针孔模型:
$$ s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = K \begin{bmatrix} X \\ Y \\ Z \end{bmatrix} $$2. 相机内参矩阵 K
$$ K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix} $$3. 参数解释
1️⃣ 焦距(focal length)
- ( f_x, f_y )
- 单位:像素
- 作用:
- 控制视角(FOV)
- 决定尺度关系
2️⃣ 主点(principal point)
- ( (c_x, c_y) )
- 图像中心(不一定在正中央)
- 表示光轴与成像平面的交点
3️⃣ 像素比例/非正交(一般忽略)
- skew(通常为0)
4. 畸变参数(Distortion)
现实相机存在镜头畸变:
1️⃣ 径向畸变(Radial)
$$ [ x_{distorted} = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6) ] $$- 桶形畸变
- 枕形畸变
2️⃣ 切向畸变(Tangential)
$$ [ x' = x + 2p_1xy + p_2(r^2 + 2x^2) ] $$原因:
- 镜头安装不完美
5. 相机内参总结
| 参数 | 含义 |
|---|---|
| fx, fy | 焦距 |
| cx, cy | 主点 |
| k1~k3 | 径向畸变 |
| p1, p2 | 切向畸变 |
三、LiDAR内参标定
与相机不同,LiDAR内参更多是硬件误差模型。
1. LiDAR测量模型
LiDAR测量:
- 距离(range)
- 水平角(azimuth)
- 垂直角(elevation)
2. LiDAR内参类型
1️⃣ 角度偏移(Angle Offset)
- 每条激光束存在误差
- 表现为:
- 垂直角偏移(vertical angle)
- 水平角偏移
2️⃣ 距离误差(Range Bias)
- 测距系统误差
- 表现:
- 固定偏差
- 随距离变化
3️⃣ 时间偏差(Time Offset)
- 扫描是逐点完成
- 时间不同 → 位置不同(运动畸变)
4️⃣ 强度误差(Intensity Calibration)
- 反射强度受多因素影响
- 可做归一化
3. LiDAR内参标定方法
- 使用平面(墙、标定板)
- 最小化点到平面误差
- 多帧优化
4. 本质
校正“测量角度 + 距离” → 提高点云几何精度
四、相机 vs LiDAR内参对比
| 维度 | 相机 | LiDAR |
|---|---|---|
| 模型 | 投影模型 | 几何测距模型 |
| 参数 | 焦距 + 畸变 | 角度 + 距离误差 |
| 误差来源 | 镜头畸变 | 机械/时间误差 |
| 标定方式 | 标定板(棋盘格) | 平面/环境 |
五、张正友标定法(重点)
这是相机标定的经典方法,高频。
1. 核心思想
利用多个不同姿态的平面标定板(棋盘格),通过2D-3D对应关系求解相机内参与畸变参数。
2. 关键前提
- 标定板是平面(Z=0)
- 已知世界坐标(棋盘格尺寸)
3. 基本流程
Step 1:采集多张图像
- 不同角度
- 不同位置
Step 2:提取角点
- 棋盘格交点(亚像素级)
Step 3:建立映射关系
平面 → 图像:
$$ s \mathbf{m} = H \mathbf{M} $$- ( H ):单应矩阵(Homography)
Step 4:求解单应矩阵 H
- 每张图像一个 H
Step 5:求解内参 K(核心)
利用多个 H:
构造约束:
$$ H = K [r_1 \ r_2 \ t] $$通过多组H求解 K
Step 6:求外参
- R(旋转)
- t(平移)
Step 7:估计畸变参数
- 最小化重投影误差
Step 8:非线性优化(Bundle Adjustment)
优化目标:
$$ \min \sum || x_{observed} - x_{projected} ||^2 $$4. 本质理解
张正友标定法本质是通过多个视角下的平面约束,将相机投影模型转化为单应性问题,从而线性求解内参,再通过非线性优化进一步提高精度。
六、为什么张正友方法好?
优点
- 不需要已知相机运动
- 标定简单(打印棋盘格即可)
- 精度高
- 工程中广泛使用(OpenCV)
缺点
- 依赖角点检测精度
- 对图像质量敏感
七、标准回答(必背)
问:张正友标定法的原理是什么?
建议回答:
张正友标定法通过拍摄多张不同姿态的平面标定板图像,利用已知的平面几何结构与图像中的角点建立2D-3D对应关系。对于每一张图像,可以求解一个单应矩阵,该矩阵与相机内参存在约束关系。通过多组单应矩阵可以线性求解相机内参矩阵,随后再通过最小化重投影误差进行非线性优化,最终得到相机的内参和畸变参数。
八、工程经验
相机标定注意事项
- 多角度(覆盖整个视野)
- 避免共面(多姿态)
- 光照均匀
- 使用亚像素角点
LiDAR标定建议
- 使用大平面(墙)
- 多距离采样
- 静态环境
九、结合你项目的加分表达
你可以这样说:
在实际项目中,相机内参通常通过张正友标定法完成,而LiDAR内参则通过平面约束进行优化,从而保证点云和图像数据的几何一致性,为后续的融合和感知提供基础。
十、一句话总结
内参标定是建立传感器测量模型的关键步骤,其中相机通过投影模型标定焦距和畸变,LiDAR则校正角度和距离误差,而张正友标定法通过平面单应性实现了高效、实用的相机标定。