3、传感器标定-摄像头:摄像头内参标定、摄像头外参标定、标定板设计与使用

好,我们进入摄像头标定这个环节。说实话,摄像头是ADAS系统里最核心的传感器之一,但也是最容易出问题的。我见过太多项目,算法模型跑得挺好,一上车就拉胯,十有八九是标定没做好。

摄像头标定,说白了就是两件事:搞清楚镜头本身的特性,以及搞清楚镜头装在车上相对于地面的位置。前者叫内参标定,后者叫外参标定。嗯,咱们一个一个来拆。

3.1 摄像头内参标定

内参标定,就是给摄像头做“体检”。你要知道它的焦距、主点位置,还有镜头畸变参数。为什么重要?你想想看,如果内参不准,你看到的像素坐标和实际物理坐标之间就是错位的。车道线检测、障碍物测距,全都会偏。

我个人习惯用张正友标定法,也就是棋盘格标定。这个方法稳定、成熟,量产项目里90%都在用。核心思路就是:拍不同角度、不同距离的棋盘格图片,然后通过角点检测和单应性矩阵求解,算出内参矩阵和畸变系数。

内参矩阵长这样:

K = [fx  0  cx
     0  fy  cy
     0   0   1]

其中fx、fy是焦距(单位像素),cx、cy是主点坐标。畸变系数一般包括径向畸变k1、k2、k3和切向畸变p1、p2。

我在项目中遇到过一个问题:有些同事为了省事,只拍了十几张图片就跑去标定。结果内参算出来,重投影误差倒是挺小,但实际用起来就是不对。为什么?因为图片覆盖的角度不够,尤其是边缘区域拍得太少,畸变参数根本拟合不准。

避坑指南: 我曾经吃过这个亏。建议至少拍20-30张图片,覆盖视野的四个角落和中心区域。棋盘格要占画面1/4到1/2大小,太小了角点检测不稳定,太大了又容易出画面。

另外,标定时的光照也很关键。太暗了角点检测不到,太亮了反光严重。我一般建议在均匀光照下进行,避免直射阳光或强光斑。

3.2 摄像头外参标定

内参搞定了,接下来就是外参。外参标定,说白了就是确定摄像头在车上的安装位置和朝向。具体来说,就是旋转矩阵R和平移向量t。

外参标定通常有两种方式:

  • 基于标定场的方法: 在固定的标定场地里,放置已知位置的特征点,然后通过PnP算法求解外参。精度高,但需要专用场地。
  • 基于自然特征的方法: 利用车道线、地面纹理等自然特征进行在线标定。适合售后或OTA场景,但精度略低。

量产下线时,我建议用第一种。为什么?因为下线标定是最后一次保证精度的机会,出了厂门再想调就难了。

外参标定的核心公式其实很简单:

P_cam = R * P_world + t

其中P_world是世界坐标系下的点,P_cam是摄像头坐标系下的点。我们要做的就是解出R和t。

这里有个细节要注意:外参的参考系。不同车厂定义不同,有的以车辆后轴中心为原点,有的以GPS天线位置为原点。我建议在标定前先和系统工程师确认好,否则后面联调时会很痛苦。

个人经验: 我习惯在标定完成后,做一个简单的验证:把标定好的外参投影到地面上,看看车道线是否和实际对齐。如果偏差超过2个像素,我会重新标定。这个验证步骤虽然简单,但能省掉后面很多排查时间。

3.3 标定板设计与使用

标定板,是标定工作的“尺子”。尺子不准,量什么都白搭。所以标定板的设计和使用,我建议认真对待。

常见的标定板类型有:

类型 特点 适用场景
棋盘格 角点检测稳定,制作简单 内参标定、外参标定
圆点阵列 圆心检测精度高,抗畸变好 高精度内参标定
AprilTag/ArUco 自带ID,可识别不同标定板 多摄像头联合标定

我个人最常用的是棋盘格,因为它简单、可靠。但要注意几个关键参数:

  • 格子尺寸: 一般建议30-50mm。太小了远距离看不清,太大了近距离拍不全。
  • 格子数量: 内参标定建议9x7或11x8(内角点)。太少了解算不稳定,太多了没必要。
  • 制作精度: 这是最容易忽略的。标定板的格子尺寸误差要控制在0.1mm以内。我曾经见过有人用普通打印机打出来贴在纸板上,结果标定出来的焦距偏差了3%。
重要提醒: 标定板一定要平整!我遇到过最离谱的一次,标定板有点弯曲,结果标定出来的畸变参数全是错的。后来换了铝基板+覆膜工艺,问题才解决。建议使用亚克力或铝板作为底板,表面覆哑光膜减少反光。

使用标定板时,还有几个操作要点:

  • 标定板要尽量垂直于摄像头光轴,但也要有一些倾斜角度(15-30度),这样才能解算出畸变参数。
  • 拍摄距离要覆盖近、中、远三个范围。近处能看清细节,远处能覆盖视野边缘。
  • 每次移动标定板后,要确保它完全静止再拍照。手抖拍出来的图片,角点检测会飘。

嗯,摄像头标定这块内容比较多,但核心就是内参、外参、标定板这三个要素。内参决定“看得准不准”,外参决定“装得对不对”,标定板决定“量得准不准”。三者缺一不可。

下一章我们会聊毫米波雷达的标定,那个又是另一套玩法了。先消化好摄像头这部分,后面才能跟得上。