标定参数类型与表示:内参、外参、畸变系数、尺度因子、偏移量、温度补偿系数等参数的含义与数学表示
传感器标定参数是连接原始测量数据与真实物理量之间的桥梁。无论是视觉相机、激光雷达、惯性测量单元(IMU),还是温度、压力传感器,其输出信号都需要经过一系列数学变换才能还原为具有物理意义的测量值。这些变换所依赖的系数集合,即标定参数,决定了传感器系统的精度上限。本章将系统梳理六类核心标定参数——内参、外参、畸变系数、尺度因子、偏移量、温度补偿系数——的物理含义、数学表示方法及其在工程实践中的固化与调用方式,为后续章节的参数固化流程和模型输入一致性验证奠定理论基础。
3.1 内参(Intrinsic Parameters)
核心原理
内参描述传感器内部光学或电学结构对测量值的影响。对于相机类传感器,内参包括焦距(fx, fy)、主点坐标(cx, cy)以及像素尺寸(dx, dy),它们构成相机内参矩阵K:
K = [f_x 0 c_x]
[ 0 f_y c_y]
[ 0 0 1 ]
其中f_x = f/d_x,f_y = f/d_y,f为镜头物理焦距。对于非视觉传感器(如压力传感器、加速度计),内参通常表现为灵敏度系数(即单位物理量对应的电信号变化量),其数学形式为增益矩阵G。内参的物理意义在于:它将传感器坐标系下的原始读数映射到归一化坐标或物理量纲。
标定与固化方法
- 相机内参标定:使用棋盘格或圆点阵列,采集10-20张不同位姿图像,通过张正友标定法求解K矩阵。
- 惯性传感器内参:通过六位置静态测试(三轴正反六个方向)确定加速度计灵敏度矩阵,通过转台速率实验确定陀螺仪标度因数。
- 温度/压力传感器内参:使用标准源(如干井炉、活塞压力计)施加已知物理量,记录输出电信号,拟合线性或多项式增益系数。
案例拆解:工业相机内参标定与固化
某3D视觉引导项目使用500万像素工业相机,镜头焦距12mm,像素尺寸3.45μm。标定得到内参矩阵:
K = [3478.2 0 1224.5]
[ 0 3476.8 1024.3]
[ 0 0 1 ]
其中f_x = 12mm / 0.00345mm ≈ 3478.2像素。该内参矩阵被固化到相机配置文件中,后续所有图像坐标到相机坐标系的转换均调用此矩阵。若更换镜头或调整光圈导致焦距变化,必须重新标定并更新固化参数,否则3D重建精度将从±0.5mm恶化至±5mm以上。
常见误区
3.2 外参(Extrinsic Parameters)
核心原理
外参描述传感器坐标系与参考坐标系(如车体坐标系、世界坐标系)之间的刚性变换关系,由旋转矩阵R和平移向量t组成:
P_world = R * P_sensor + t
其中R为3×3正交旋转矩阵,t为3×1平移向量。R可用欧拉角(roll, pitch, yaw)、四元数或轴角表示。外参的数学本质是坐标系间的欧氏变换,保持尺度不变。在多传感器融合系统中,外参决定了各传感器数据能否在统一空间坐标系下对齐。
标定方法
- 相机-激光雷达外参:使用标定板,同时采集图像和点云,通过特征点对应关系求解R和t。
- 多相机外参:通过拍摄同一标定物,利用对极几何或PnP算法求解相对位姿。
- IMU-相机外参:使用Kalibr工具,通过运动激励(旋转和平移)联合优化求解。
数学表示与参数化
旋转矩阵R有9个元素但只有3个自由度,实际存储时通常使用四元数(qw, qx, qy, qz)或欧拉角(α, β, γ)以减少存储空间并避免正交性约束。平移向量t直接存储三个分量(tx, ty, tz),单位通常为米或毫米。
案例拆解:自动驾驶多传感器外参标定
某自动驾驶测试车搭载1个前视相机和1个64线激光雷达。初始外参由CAD模型估算,导致相机图像与激光点云投影偏差约15像素。使用标定板在车前5米处采集20帧数据,通过最小化重投影误差优化得到精确外参:
R = [ 0.9998 -0.0152 0.0121]
[ 0.0154 0.9998 -0.0089]
[-0.0119 0.0091 0.9999]
t = [0.082, -0.015, 0.125] # 单位:米
优化后重投影误差降至0.8像素以内。该外参被固化到自动驾驶系统的传感器配置文件中,每次启动时加载。若车辆发生碰撞或更换传感器支架,必须重新标定,否则融合感知的目标检测精度将下降30%以上。
3.3 畸变系数(Distortion Coefficients)
核心原理
镜头畸变导致实际成像点偏离理想针孔模型预测位置。畸变主要分为径向畸变(由透镜形状引起)和切向畸变(由透镜与成像平面不平行引起)。常用Brown-Conrady模型表示:
x_distorted = x * (1 + k1*r² + k2*r⁴ + k3*r⁶) + 2*p1*x*y + p2*(r² + 2*x²)
y_distorted = y * (1 + k1*r² + k2*r⁴ + k3*r⁶) + p1*(r² + 2*y²) + 2*p2*x*y
其中(x, y)为归一化平面理想坐标,r² = x² + y²,k1, k2, k3为径向畸变系数,p1, p2为切向畸变系数。对于鱼眼镜头,还需使用等距投影模型或Kannala-Brandt模型,包含k1-k4四个径向系数。
标定与固化
- 标准流程:使用OpenCV或MATLAB标定工具箱,拍摄20张以上棋盘格图像,通过非线性优化同时求解内参和畸变系数。
- 固化格式:畸变系数通常以数组形式存储,如
[k1, k2, p1, p2, k3],顺序需与算法库要求一致。 - 去畸变处理:固化后,运行时可通过查表法或实时计算将畸变图像校正为理想图像。
案例拆解:广角相机畸变校正
某车载环视系统使用鱼眼相机(视场角190°),原始图像边缘畸变严重。标定得到畸变系数:
k1 = -0.035, k2 = 0.012, k3 = -0.004, p1 = 0.0002, p2 = -0.0001
固化后,系统在运行时对每帧图像进行去畸变处理,将鱼眼图像映射为透视图像。实测表明,校正后图像边缘的直线度误差从12像素降至0.5像素,满足全景拼接的精度要求。若未固化畸变系数而直接使用理想针孔模型,拼接图像将出现明显的重影和错位。
3.4 尺度因子(Scale Factor)与偏移量(Offset)
核心原理
对于大多数非视觉传感器,原始输出为数字量(如ADC码值、脉冲计数),需要线性变换为物理量:
物理量 = 尺度因子 × 原始数字量 + 偏移量
尺度因子s表示单位数字量对应的物理量变化,偏移量b表示零输入时的输出值。例如,压力传感器输出16位ADC值,量程0-100kPa对应0-65535,则s = 100/65535 ≈ 0.001526 kPa/LSB,b = 0。加速度计在零加速度时输出可能不为零,偏移量b即为零偏。
标定方法
- 两点标定:施加两个已知标准物理量,记录输出,求解s和b。
- 多点最小二乘:施加多个标准点,通过线性回归拟合最优s和b,可减小随机误差影响。
- 温度修正:若s和b随温度变化,需在不同温度点标定,建立温度补偿模型。
案例拆解:压力传感器标定
某工业压力传感器量程0-10MPa,输出4-20mA电流环。使用活塞压力计施加标准压力,记录电流值:
标准压力(MPa) 输出电流(mA)
0.0 4.00
2.5 8.02
5.0 12.01
7.5 15.99
10.0 20.00
线性拟合得到:s = 1.600 mA/MPa,b = 4.00 mA。固化后,系统运行时通过P = (I - 4.00) / 1.600计算压力值。若未进行偏移量校正,零点误差将导致全量程范围内压力读数偏高4MPa,造成严重安全事故。
3.5 温度补偿系数(Temperature Compensation Coefficients)
核心原理
许多传感器的输出受温度影响显著,表现为尺度因子和偏移量随温度变化。温度补偿系数用于建立温度与传感器参数之间的数学模型,常见形式包括:
s(T) = s₀ * (1 + TC_s1 * (T - T₀) + TC_s2 * (T - T₀)²)
b(T) = b₀ + TC_b1 * (T - T₀) + TC_b2 * (T - T₀)²
其中T₀为参考温度(通常25°C),TC_s1、TC_s2为尺度因子的温度系数,TC_b1、TC_b2为偏移量的温度系数。对于高精度应用,可能使用更高阶多项式或分段线性插值模型。
标定流程
- 将传感器置于温控箱中,在-40°C至+85°C范围内设置至少5个温度点。
- 在每个温度点充分热稳定后(通常保温30分钟),进行完整的尺度因子和偏移量标定。
- 拟合温度-参数曲线,求解温度补偿系数。
- 将补偿系数固化到传感器参数文件中,运行时根据实时温度计算当前s(T)和b(T)。
案例拆解:MEMS惯性传感器温度补偿
某MEMS陀螺仪在-40°C至+85°C范围内零偏变化达±0.5°/s,无法满足导航精度要求。通过温控转台标定,得到零偏温度模型:
b(T) = 0.02 + 0.0012*(T-25) + 0.00003*(T-25)² # 单位:°/s
固化补偿系数后,在-40°C时零偏从0.5°/s降至0.02°/s,改善25倍。该补偿模型在系统启动时加载,运行时根据温度传感器读数实时计算零偏并扣除。若未进行温度补偿,惯性导航系统在温度变化环境下10分钟内的姿态误差将超过5°。
3.6 参数固化的统一数学框架
综合上述各类参数,传感器标定参数的完整数学表示可统一为:
Y = F(X; Θ) = M(T) * [D(X; K, dist) * R * X_sensor + t] + b(T)
其中:X为原始信号,Y为物理量输出,Θ为全部标定参数集合,M(T)为温度相关的尺度因子矩阵,D为畸变校正函数,R和t为外参,b(T)为温度相关的偏移量。参数固化即确定Θ的最优估计值并持久化存储。
| 参数类型 | 典型传感器 | 数学表示 | 固化格式 | 验证要点 |
|---|---|---|---|---|
| 内参 | 相机、IMU | K矩阵 / 灵敏度矩阵 | 3×3矩阵 / 3×3矩阵 | 单位一致性、分辨率匹配 |
| 外参 | 多传感器系统 | R, t | 四元数+平移 / 4×4齐次矩阵 | 坐标系方向、变换顺序 |
| 畸变系数 | 相机、鱼眼镜头 | k1,k2,k3,p1,p2 | 浮点数组 | 模型类型、分辨率关联 |
| 尺度因子 | 压力、温度、加速度 | s | 浮点数+单位 | 量程范围、线性度 |
| 偏移量 | 所有传感器 | b | 浮点数+单位 | 零点漂移、长期稳定性 |
| 温度补偿系数 | MEMS、精密传感器 | TC_s1, TC_s2, TC_b1, TC_b2 | 浮点数组+参考温度 | 温度区间覆盖、滞后效应 |
参数固化的工程规范
- 版本管理:每次标定生成唯一版本号,记录标定时间、设备、环境条件。
- 冗余存储:关键参数(如外参)建议同时存储原始标定数据和优化后数据,便于追溯。
- 格式标准化:使用JSON、YAML或Protobuf等结构化格式,包含参数名、数值、单位、坐标系定义等字段。
- 校验机制:固化时写入CRC校验码,加载时验证完整性,防止参数文件损坏。
本章系统梳理了六类核心标定参数的物理含义与数学表示。内参和外参解决"传感器在哪里、如何感知"的问题,畸变系数修正光学系统的非线性误差,尺度因子和偏移量完成数字量到物理量的线性变换,温度补偿系数则保证参数在全温域内的有效性。这些参数共同构成了传感器标定参数集Θ,是后续参数固化流程和模型输入一致性验证的核心对象。工程实践中,必须深刻理解每个参数的数学本质、单位体系和适用范围,才能确保标定参数在从固化到调用的全链路中保持正确性和一致性。