基于棋盘标定板的优化相机参数标定方法

2023-12-30 05:26林绿开钮倩倩
计算机技术与发展 2023年12期
关键词:物距针孔标定

林绿开,钮倩倩,李 毅,2*

(1.温州大学 计算机与人工智能学院,浙江 温州 325000;2.浙江大学 计算机科学与技术学院,浙江 杭州 310058)

0 引 言

随着计算机图像处理和计算机视觉的发展,为适应不同的场景与产品的需求,工业界与科研工作者提出了许多相机标定技术。相机标定是机器视觉领域的重要基础,它在空间物体表面某点的三维几何坐标与其在二维图像的像素点之间建立关系,从而为三维重建、机器视觉、点云配准、尺寸测量[1-4]等其它计算机视觉领域提供辅助。在某些领域,相机标定对其后续工作有着直接影响,比如在工业机器人[5]的定位中,相机标定影响着机械手对目标物体的放置精度;在目标测距[6]时,标定参数结果的准确性和稳定性决定了系统测距的准确度。因此采用合适的相机标定方法对后续工作尤为关键。

理想针孔相机的成像原理是利用投影将三维世界坐标转换到二维相机坐标,相机标定即通过成对的坐标映射进行求解得到相机的内外参数。常见的相机标定算法有DLT[7](Direct Linear Transform)、Tasi[8]、张正友标定[9]等算法。其中,张正友标定算法是目前使用较广的一种标定算法,该算法仅需一个打印的平面棋盘格作为标定物,操作简单易于维护,具有较强的鲁棒性。

在张正友标定算法的基础上,该文采用一种简易的相机标定算法,首先通过打印的平面棋盘格获得角点的世界坐标和图像坐标,再进行单应矩阵求解,最后通过初步估计参数,求解理想状态下的模型,再用优化的方法求解相机的参数。该方法简化了张正友标定算法的参数计算。实验表明,该算法具有较高的标定精度,鲁棒性良好。

1 针孔成像原理和参数求解

1.1 针孔相机成像模型

相机标定技术根据相机的成像模型划分,可分为线性模型、非线性模型和无特定模型。其中最为常见的是针孔模型,它是简化的理想线性模型,在数学上可以表示为三维空间到二维平面的中心投影[10],具体表现为空间中一条直线上的点在相机上只映射为一个点,如图1所示。

图1 针孔相机模型

空间中一点P(X,Y,Z)与图像平面映射一点p(x,y)的关系可以用公式(1)表示。

(1)

其中,s为尺度因子;A为相机的内参矩阵,(u0,v0)是图像主点;[Rt]为相机的外参矩阵,R是由三个相互垂直的单位方向矢量构成。

1.2 标定求解

在理想针孔相机成像模型中,相机标定即是通过若干空间点和平面映射点求解公式(1)中参数的过程。DLT算法将内参与外参看成一个完整的3*4的矩阵,通过构建n个对应点的线性方程组进行参数求解;Tasi算法则是利用透视矩阵方法来求解内外参数,再引入畸变系数对参数进行优化。

张正友标定法在求解针孔相机模型时,选取已知大小的二维棋盘格为相机标定板。假定世界坐标系的Z轴分量为0,即规定二维棋盘格所在平面为Z=0,并规定棋盘中一点为世界坐标系的原点,则可获得棋盘中所有内角点的世界坐标,再通过提取内角点等方法获取其图像坐标。所有内角点及其映射在图像中的点,满足Z=0时的公式(1),再由图像的单应性[11]、旋转矩阵单位正交性等,构造方程求解满足约束条件的矩阵(B=A-TA-1),再由公式(2)求解相机参数,最后进行非线性优化。

(2)

2 简易标定算法

2.1 求解相机参数

在假设世界坐标系的Z轴分量为0的情况下,张正友标定法通过构建约束矩阵(B=A-TA-1)再逐个求解相机的标定参数,求解过程较为复杂繁琐。该文在实际成像规律的前提下,通过数值初步估计的方法,预估相机参数中u0,v0和λ初值,从而避免求解复杂的约束矩阵(B)而采用直接求解参数的方法,简化了相机参数的求解过程。

由针孔相机成像模型可知,当Z=0时,令:

(3)

由公式(1)展开整理可得:

(4)

根据上式,H矩阵包含9个未知数,一组对应的P(X,Y,Z)和p(x,y)可构建两条方程,若增加约束,使H的模为1,只需获得4组世界坐标与图像坐标的对应,即可求出H矩阵。在真实的场景中,为了减少噪声对求解的误差影响,常常使用多组点进行计算,采用最小二乘解作为方程的解,并进行非线性优化。

对于H矩阵,由公式(1),当Z=0时,假设λ=0,H可展开为:

(5)

在实际成像中,图像主点位于图像正中心附近,为了简化运算,假设(u0,v0)为图像大小的一半,再对H矩阵进行线性变换,令矩阵的第1行减去第3行乘以u0、矩阵的第2行减去第3行乘以v0,消去多余参数,则有:

(6)

由旋转矩阵的性质:方向向量互相垂直;向量模长为1。即:r1r2=0;r1=r2=1。可构建方程:

(7)

为了简便计算,设W=(f+v)/2,S=(f-v)/2,则公式(7)转换为:

(8)

对公式(8)利用奇异值分解方法求解,即可求得相机内参矩阵。求得内参后根据公式(6)可分离出外参矩阵。同时,由于光学仪器失真[12]、配装等误差,相机存在畸变,该文采取张正友标定中的畸变求解方法对畸变参数进行求解。

2.2 LM优化

LM(Levenberg-Marquardt)算法是牛顿法与最速下降法的结合[13]。在上述的计算中,由于简便计算对一些参数进行了近似处理,在一定程度上增大了误差。为了使标定结果更加精确,该文采用LM优化算法进行迭代优化,待优化函数如下:

(9)

其中,PP2为重投影函数所求坐标,k1和k2为畸变系数。将优化后的参数作为最终参数输出,并实验求证。

2.3 文中标定算法流程

文中所用算法流程如图2所示。

图2 标定算法流程

3 实验结果与分析

3.1 实验环境

为验证文中算法的可用性,采用图3中的标定板对相机进行实验。其中,标定板的棋盘格大小为20 mm*20 mm,并以第一个角点为世界坐标原点,根据右手定则建立坐标系;标定相机型号为Microsoft Life Cam Studio单目相机,图片分辨率设置为640*480。

图3 标棋盘标定板与相机

图4 角点提取与建立坐标系(上物距0.5 m 下物距1 m)

实验时,首先固定标定板不动,然后从不同角度拍摄12张包含标定板所有角点信息的图片,最后检测角点[13]并进行参数求解和优化,最终完成相机标定。

除算法因素外,影响相机标定精度的外部因素主要是标定板平整性、特征点数量、标定物距等[14]。为验证文中算法的稳定性,减少外部因素对标定精度的影响,在保持其它条件相同的前提下,分别在2种物距和5种特征点数量下进行标定实验。同时,实验对同一物距相同数量特征点的情况进行5组标定实验,以减少偶然误差,共进行50组实验。

3.2 评价指标

由于无法获得标定相机的真实参数,故无法根据所求参数的数值大小对标定算法的可用性进行评判。同时,像素的真实坐标和重投影坐标较易获取,因此该文采用重投影误差作为算法的评价指标。重投影误差是指真实成像位置与标定参数预测成像位置之间的偏差,它在一定程度上反映了标定参数的准确度,重投影误差越小,标定算法越准确。重投影误差[15]小于一个像素时可满足多数应用需求。重投影误差如公式(10)所示:

(10)

其中,n为像素点个数,(xi,yi)为像素点真实坐标,(ai,bi)为像素点预测坐标。

3.3 结果分析

根据上述公式,50组标定实验的重投影误差结果如表1和表2所示。为了更直观地分析,根据数据绘制了图5。

表1 物距0.5 m下重投影误差 像素

表2 物距1 m下重投影误差 像素

图5 重投影误差分析

结合数据表和分析图可以看出,对于实验的50组数据,均满足重投影误差在一个像素点以内的要求,误差基本保持在0.1个像素附近,表明文中算法能够较好地完成标定任务,可以满足大部分应用的需求。同时可以从分析图中直观地看出,随着特征点的增加,重投影误差呈现较小幅度的下降趋势。并且,不难得出,相机标定精度与标定物距有较大的关系,在一定范围内,针孔相机模型在较远距离标定时结果较为精确。

为进一步验证算法的实用性,实验在其它条件不变的前提下,对物距1 m以内的情况使用张正友标定法和Halcon[16]分别各做了25组标定实验,并与文中算法进行对比。其中,对比实验1采用棋盘格标定板,对比实验2采用圆心标定板。根据实验数据,绘制了图6和图7。

图6 物距1 m以下平均误差对比实验1

图7 物距1 m以下平均误差对比实验2

通过图6和图7清晰地表明,物距1 m以下时,在大部分情况中,文中标定算法的平均重投影误差更小,优于张正友标定算法和Halcon。同时,在稳定性上,与张正友标定算法精度随特征点数量增加而先增后降相比,文中算法在不同特征点的标定精度上更具有稳定性,标定误差呈现随特征点的增加而减小的趋势。

4 结束语

文中在张正友标定法的基础上,采用一种简易优化的相机标定参数求解算法,并进行了50组重复性标定实验。实验结果表明,该方法误差保持在0.1个像素附近,波动较小,精度较高,能够满足大部分应用的标定需求。同时随着标定特征点数量的增加和物距在一定范围内的增大,该方法的精度能够进一步提高。

猜你喜欢
物距针孔标定
判断凸透镜成像看物距
一起来探案
使用朗仁H6 Pro标定北汽绅宝转向角传感器
探索凸透镜成实像时物距和像距
汽车电泳漆膜的缩孔与针孔
凸透镜成像规律复习例谈
摄影艺术中的光影呈现
针孔问题该如何处理
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
船载高精度星敏感器安装角的标定