基于三维标定板的相机标定方法*

2021-06-26 01:57施佳豪冯悠扬
传感器与微系统 2021年6期
关键词:针孔棋盘标定

施佳豪,王 庆,冯悠扬

(东南大学 仪器科学与工程学院,江苏 南京 210096)

0 引 言

随着计算机视觉的不断发展,相机标定成为了一项十分重要的议题。相机标定在三维世界和相机成像平面之间建立了对应关系,以辅助处理视觉计算、三维重建、目标识别等计算机视觉问题。在某些应用领域,相机标定将直接影响视觉测量精度的高低。例如,在视觉即时定位与地图构建(simultaneous localization and mapping,SLAM)[1~3]中,相机标定的精度直接决定了相机位姿和地图点的估计的准确度,从而也会对后续的优化迭代算法产生影响。因此选用适当的相机标定方法尤其重要。

常用的相机标定算法有很多[4~6],使用最为广泛的是张氏标定方法[7]。该方法鲁棒性较好,操作简便,仅利用一块平面棋盘标定板即可完成相机的完整标定。但方法中由于标定角点均位于同一平面,使得坐标维度信息缺失,进而限制了其的标定精度。

本文在张氏标定方法的基础上,提出一种基于三维棋盘格的相机标定方法,并通过实验对比证明此种方法能提升相机标定的稳定性和准确性。

1 张氏相机标定模型与方法

1.1 针孔相机模型

相机标定过程中常用的相机模型有针孔相机模型、全向相机模型、双球相机模型等。张氏标定方法中采用的是针孔相机模型,该模型示意图如图1所示。现实世界的空间点P,经过相机光心O投影后,落在物理成像平面上,成像为P′。针孔相机模型中涉及4个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系[8]。假设点P在世界坐标系下的齐次坐标Pw为(xw,yw,zw,1),经过旋转变换和平移变换过后可得点P在相机坐标系下的坐标,再根据光学投影关系可以获取成像点在图像坐标系中的坐标,最后经过采样和量化得到对应的像素坐标系下的齐次坐标为(u,v,1)。完整针孔相机模型可以用式(1)进行表示

图1 针孔相机模型

(1)

式中s为尺度因子;K为相机的内参矩阵,包含相机的固有属性参数[9];T被称为相机的外参矩阵,包含相机位姿变换的旋转矩阵R和平移向量t。

1.2 平面标定方法

张氏相机标定方法选用平面棋盘格作为相机标定板。在标定过程中,假定标定棋盘格所在的平面为世界坐标系中zw=0的平面,将棋盘格上的某一个角点设置为世界坐标系的原点,则理论上只要知道棋盘格每一个格子的尺寸就能得出所有棋盘内角点的世界坐标。同时棋盘格内角点的像素坐标可以通过图像处理的方法得出,从而借助于平面单应性[10]、旋转矩阵尺度特性、非线性优化等理论求解出相机的内外参数,并对其进行优化。

在求解过程中,由于已经假定棋盘格上的所有点的zw=0,所以在使用平面棋盘格进行相机标定时,未使用zw这一维度,导致在求解标定参数时忽略了部分有用信息。因此,使用该方法进行相机标定时,虽然简单易操作,但是对于一些高精度的视觉应用领域来说,其精度还有进一步提升的空间。因此,本文在该方法的基础上,使用三维棋盘格进行标定,并验证该方法得出的标定结果更符合针孔相机模型的投影规律。

2 改进的三维标定算法

2.1 相机内参求解

为了求解相机的内参矩阵,首先将式(1)中的KT矩阵乘积用如下矩阵表示

(2)

将式(1)按行展开可得

(3)

根据分析,H矩阵中有12个未知数,因此至少需要12条方程求解。一对世界坐标和像素坐标的匹配点可以构建式(3)中的两条方程,所以至少需要6对匹配点可以求解出H矩阵。在实际求解过程中,为了排除测量噪声对求解结果的影响,往往使用n对匹配点(n>6)来结算H。所以需将式(3)以矩阵相乘的形式改写为其次方程组,再使用奇异值分解(singular value decomposition,SVD)的方法[11],求解矩阵H。

同时由式(1)可知,H矩阵可以展开如下形式

(4)

为了从中解出相机的内参系数,先假设像素坐标系的原点位于图像的正中心,即cx=a/2,cy=b/2,其中a,b分别为相机获取图像的长和高。借助H矩阵的第三行,消去第一、二行中的cx和cy,得到如下矩阵

(5)

将T矩阵表示为列向量的形式[r1,r2,r3,t],其中前3列为旋转向量。旋转向量有两个约束条件:1)旋转向量点积为0;2)旋转向量模相等,均为1。由此根据一张图像可以列出5条方程

(6)

R11R12+R21R22+R31R32=0

(7)

根据式(5)可将式(7)改写为

(8)

以此类推,则式(6)可以改写为如下矩阵形式

(9)

同样采用SVD的方法对式(9)进行求解,从而算出fx和fy的值。

2.2 非线性优化

获取相机内参后可以将内参系数代回式(4)求取相机的外参系数,并使用张氏标定文中的方法求解相机畸变模型。由于在上文计算过程中对某些参数进行了近似估计,所以上述结果并不能作为标定的最终结果。为了获取更为精确的结果,使用非线性优化方法[11]对相机的内、外参进行优化。构建优化方程

(10)

式中k1,k2为畸变系数,U为棋盘点的像素坐标,U′()为通过相机内外参和畸变系数计算像素坐标的函数。使用非线性优化中的L-M方法对式(10)进行不断迭代,直至收敛,以此作为标定参数的最终结果。

3 实验与结果分析

3.1 实验设备与流程

为了验证上述方法得出的标定参数更符合针孔相机模型的投影规律,使用了如图2(a)所示的三维标定板对相机进行标定实验。以三块平面的交点为原点,根据右手系原则建立世界坐标系。为了提升测量精度,使用全站仪测出每一个棋盘格内角点在世界坐标系中的坐标。实验所用均为7×5的棋盘格标定板,每个棋盘格子大小为3 cm×3 cm。标定相机如图2(b)所示,型号为MYNTEYE S1030,分辨率为752×480,像素尺寸为6.0 μm×6.0 μm,标定时只使用该双目相机的左目图像。

图2 三维标定板与相机

实验过程中,以标定板三块平面的交点为原点,根据右手系原则建立世界坐标系,从而得出所有棋盘内角的世界坐标。固定三维标定板,移动相机获取不同视角下的标定板图像,每张图像需包含3张棋盘格的所有内角点信息。同时为了进行实验对比,用同样的方法仅获取三维标定板中某一平面棋盘格的图像,用以进行平面标定实验。为了排除棋盘格点数对标定结果的影响,在三维标定和平面标定的过程中均只使用12个棋盘内角点进行计算,点的位置由标定程序随机选取,且三维标定的12个点平均分布在3块棋盘平面上。标定程序借助于OpenCV框架实现。

3.2 稳定性分析

为了验证本文提出的三维标定算法相比于平面标定算法具有更高的稳定性,分别用该两种方法对相机进行20组标定实验,得到标定参数的数值,根据式(11)计算各个参数的标准差,并绘制成图3所示的柱状图。图3(a)对比了相机内参系数fx,fy,cx,cy实验数据的标准差大小,从中可以看出,三维标定方法的标准差明显小于平面标定方法。图3(b)对比了畸变系数k1,k2的标准差大小,从图中数据可以看出,两种方法标定结果的标准差相差无几,都具有很高的稳定性,相比而言,三维标定得出的标准差更小。综上所述,无论是相机内参还是畸变系数,三维标定得出的结果稳定性更强

图3 标准差对比

(11)

3.3 准确性分析

由于相机内、外参数的真值不容易获取,因此无法简单地根据标定参数的数值大小判定标定结果是否准确,需要额外设计合理的评价指标。本文使用“内符合重投影误差”和“外符合重投影误差”对标定参数进行评价,两者定义如下:

内符合重投影误差:利用标定得到的相机模型参数,将标定过程中所使用到的12个点的世界坐标投影到像素坐标系中得到新的像素坐标(u′,v′),计算新的像素坐标与图像处理提取的原始像素坐标(u,v)之间的平均误差。

外符合重投影误差:利用标定得到的相机模型参数,将标定过程中所有未使用到的点的世界坐标投影到像素坐标系中得到新的像素坐标(u′,v′),计算新的像素坐标与图像处理提取的原始像素坐标(u,v)之间的平均误差。

虽然在计算两种误差时,使用的像素点不同,但是均可以用式(12)进行表示,计算结果单位为像素

(12)

根据上述定义,计算10组标定结果的内、外符合重投影误差,如表1,并绘制图4所示柱状图。

表1 平面、三维标定的准确性对比 像素

图4 内、外符合重投影误差对比

从图中可以明显看出,对于任一组实验数据,无论是内符合重投影误差还是外符合重投影误差,三维标定的结果都要优于平面标定,且对于三维标定而言,平均外符合投影误差比平均内符合重投影误差更小。表明三维标定方法,不仅能根据实验所用角点准确计算模型参数,同时能更好地拟合其余角点的投影规律。因此,相对于平面标定,三维标定获取的标定参数更符合针孔相机模型。

4 结束语

本文基于张氏相机标定理论,提出了基于三维标定板的相机标定方法。实验结果表明:使用三维棋盘格标定相机,不仅能提升标定结果的稳定性,同时也能降低相机模型的投影误差,所得标定结果更符合针孔相机的投影规律。本文仅验证了三维标定方法标定单目相机的优越性,在下一步工作中,将使用该方法标定双目相机,并进行双目图像的匹配校正,验证三维标定方法在标定双目时的实用性与准确性。

猜你喜欢
针孔棋盘标定
一起来探案
使用朗仁H6 Pro标定北汽绅宝转向角传感器
汽车电泳漆膜的缩孔与针孔
针孔问题该如何处理
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
船载高精度星敏感器安装角的标定
棋盘人生
决战前夜
基于Harris-张正友平面标定法的摄像机标定算法
棋盘里的天文数字