基于一阶径向畸变算法的双目摄像机多位姿标定方法
2018-10-16杨尚昆王岩松王孝兰刘宁宁
杨尚昆,王岩松,郭 辉,王孝兰,刘宁宁
(上海工程技术大学 汽车工程学院,上海 201620)
0 引言
三维测量技术是机器视觉重要研究领域之一。三维测量过程中,摄像机标定精度直接影响被测量物体的测量精度[1]。基于标定物的标定方法标定准确度高且算法简单而得以广泛应用[2]。
基于标定物的标定方法主要有线性法[3]、非线性法和两步法。线性法不考虑摄像机镜头畸变,用线性方法求解透视变换矩阵中的未知数。该方法计算速度快,但忽略了镜头非线性畸变,标定精度受到一定影响[4]。Weng等[5]提出的非线性标定方法考虑了摄像机的各种畸变模型,该方法标定精度高,但计算量大,且标定结果易受初始值选取的影响。另外,Zhang等[6]提出的标定方法也涉及到非线性优化问题的求解。Tsai等[7]在上述方法的基础上提出了两步法。该方法将线性法和非线性法相结合,能快速准确地计算出摄像机内、外参数[8],但该方法只考虑了摄像机径向畸变,且只能用于单目摄像机的标定。
为获取被测量物体的深度信息,本文将侧倾角ψ、旋转角Ф、俯仰角θ引入两步标定法,并由此推导出一种基于一阶径向畸变(Radial Alignment Constraint, RAC) 标定法的双目摄像机标定公式,为不同位姿下的双目摄像机标定提供了一个新思路。通过误差分析和三维重构实验,表明该种标定方法不但简单快速,且标定精度较高,可以满足双目摄像机标定需求。
1 摄像机模型
摄像机模型是光学成像几何关系的简化,可分为线性模型和非线性模型。当计算精度要求较高时,线性模型并不能准确地描述其光学成像关系。尤其是在远离图像中心处会出现较大的径向畸变、切向畸变和偏心畸变[9]。其中,径向畸变是影响机器视觉标定与测量精度的主要因素。考虑RAC的摄像机模型是对针孔摄像机模型的修正[10],其核心是利用一阶径向排列约束来求解摄像机的外参数,然后再求解其他参数。基于RAC的摄像机标定法所使用方程大部分是线性的,降低了参数求解的复杂性。RAC摄像机模型如图1。
图1 RAC摄像机模型
假设存在投影点P的物理空间坐标为(Xw,Yw,Zw),P在摄像机坐标系中的三维坐标为(X,Y,Z),矢量L1、L2的方向相同,Oi是图像中心。(X,Y)是中心Oi点且平行于X、Y轴的图像坐标系,(Xu,Yu)是在理想小孔摄像机模型下投影P点的图像坐标,(Xd,Yd)是由透镜变形引起的偏离(Xu,Yu)的实际图像坐标。物理空间坐标与摄像机空间坐标变换关系如式(1)所示:
(1)
其中:T为3×1的平移矢量矩阵,R为3×3的正交变换矩阵。
小孔摄像机模型下的理想投影变换关系[11]如式(2)所示:
(2)
用二阶多项式近似表示径向透镜畸变方法[12]如式(3)所示:
(3)
从实际图像坐标系到计算机图像坐标系变换方法如式(4)所示:
(4)
其中:(Xc,Yc)为图像中心坐标,(Nx,Ny)为图像平面上单位距离上的像素点数。
2 双目摄像机多位姿标定
双目摄像机标定目的是获取摄像的内外参数。内参数主要包括透视变换A、径向畸变K,外参数由和旋转矩阵R和平移矩阵T构成。
2.1 选取参数
旋转矩阵R、平移矩阵T表示方法如式(5)和式(6):
(5)
(6)
由式(1)、式(5)和式(6)可得式(7):
(8)
RAC条件意味着存在式(9)所示方法:
(9)
式(9)移项后两边同除以Ty,如式(10)所示:
(10)
将式(10)表示为矢量形式,如式(11)所示:
(11)
即选取7个点使系数矩阵满秩,就可解出列向量中的7个分量。
旋转矩阵R共有9个参数,但其正交性规定了R仅有3个自由度,即仅有3个变量是独立的。式(11)可解出r1、r2、r4、r5共4个独立变量,而正交阵加上一个比例(1/Ty)也有4个独立变量。故当方程数大于4时,可确定旋转矩阵R以及平移分量Tx、Ty。
2.2 双目摄像机多位姿标定实验
2.2.1 采集标定模板图像
双目摄像机的标定需要一个标定参照物,并由此计算摄像机的内外参数[13]。标定模板采用角点数为12×13的棋盘,棋盘格大小为30 mm×30 mm,角点拾取窗大小为5×5。为确保实验的精度,每个摄像头捕捉25张图像来进行标定工作,如图2。
图2 标定板图像采集
2.2.2 提取标定模板角点
拾取标定模板角点,根据提取到的角点位置,计算各棋盘格中心位置,如图3。
通过标定模板角点提取可得到每个棋盘格特征点的图像坐标(Xfi,Yfi)(i=1,2,…,N)。设特征点对应世界坐标为(Xwi,Ywi),由式(4)可得到由透镜变形而引起偏离理论位置的实际图像坐标[14],如式(12)所示。
(12)
联立式(11)、式(12)可得式(13):
(13)
利用最小二乘法求解这个超定方程组(N>4)可得如下变量r1′=r1/Ty,r2′=r2/Ty,Tx′=Tx/Ty,r4′=r4/Ty,r5′=r5/Ty。
(r1r5-r2r4)2=cos2θcos2φ
(14)
故有式(15):
(15)
以及式(16)
(16)
利用正交性和右手系特征[15]可计算R为:
(17)
其中:S=-sgn(r1r4+r2r5),r7、r8、r9可根据矩阵的正交性由前两行数值解得。
图3 角点提取
2.2.3 求解参数
在标定过程中,摄像机的内部参数是不变的,即无论摄像机从何种角度获取棋盘格标定板图像,其标定出的摄像机内部参数皆为常数。而摄像机的外部参数会随着标定板的空间位置发生相应的改变,其值表示了摄像机坐标系相对于图像坐标系的空间位置及姿态。实验所用双目摄像机存在一定的倾斜角和旋转角,实验所用标定板在相机坐标系及世界坐标系下的相对位置关系如图4。
图4 摄像机与标定板位置还原图
通过获得标定板在摄像机坐标系下的相对位置关系及世界坐标系下的相对位置关系,可分别计算出左右摄像机的外参数[16],以此建立摄像机坐标系、图像坐标系以及世界坐标系之间的关系。
对每个特征点Pi计算其Yi和Zi值,存在式(18):
(18)
若设Qi=r7Xwi+r8Ywi,则有式(19):
Yui/f=yi/zi
(19)
展开得Yfi-YuiTz=YuiQi
而Yui=(Yfi-Yc)/Ny,则可得式(20):
(20)
将上式用矩阵表示为式(21):
(21)
其中i=1,2,…,N。由式(21)可分别求出有效焦距f和平移分量Tz,然后将所得值代入非线性方程组式(22):
(22)
由式(22)可计算得出f、Tz、k的精确值。至此,多位姿双目摄像机的内外参数皆可确定。
采用基于RAC的双目摄像机多位姿标定方法进行标定,分别求出左右摄像机外部参数。
左摄像机旋转矩阵:
左摄像机平移矩阵:
右摄像机旋转矩阵:
右摄像机平移矩阵:
确定外参数后,将所求的外参数值代入推导出的多位姿摄像机标定线性求解公式,即式(21)和式(22)中,可求得左右相机内部参数。
左摄像机有效焦距:
左摄像机光学中心:
左摄像机垂直径变:
kl=-0.095 63
右摄像机有效焦距:
左摄像机光学中心:
左摄像机垂直径变:
kr=-0.095 47
2.3 标定误差分析
求取双目摄像机内外参数值之后,可通过标定结果重投影误差分析[17]验证基于RAC算法的双目摄像机多位姿标定效果。利用基于RAC算法的双目摄像机多位姿标定方法所得标定结果再投影误差如图5。
图5 再投影误差
从再投影误差图看出,所得误差点分布范围在[-0.3,0.3],误差点分布较为集中,这说明利用基于RAC算法的双目摄像机多位姿标定线性求解公式所得标定结果较为理想。个别投影误差点数值较大,考虑是由于可定误差所引起的,属于双目摄像机标定过程中的正常现象[18]。
3 三维重构实验
为了进一步验证标定效果,对多张连续采集的人耳图像进行动态识别和立体匹配,得出三维重建结果,并对三维重建后的测量结果进行分析。某一时刻左、右相机检测的人耳图像中心坐标如图6。
图6 人耳区域提取结果
从左、右相机人耳检测图可以得出左、右相机人耳图像的中心坐标。利用双目相机标定结果求出视差图,最终求得乘员耳侧空间坐标定位结果。基于坐标识别结果,绘制乘员耳侧坐标动态识别轨迹与实际运动轨迹,如图7。
图7 乘员耳侧运动轨迹
由图7可以看出,动态识别结果与实际运行轨迹趋势相同,测量误差在1 mm以内,轨迹重合率为96%。再次验证了基于RAC算法的双目摄像机多位姿标定方法对提高标定精度以及后续测量精准度具有积极性影响。
4 结语
针对传统两步标定法只考虑径向畸变,且不能用于三维测量的现状,本文对RAC多位姿双目摄像机标定方法进行了研究。首先,根据双目立体视觉实际测量需求,选择了系统所需的双目摄像机的内参数和外参数;其次,在径向排列约束两步标定方法的基础上,将侧倾角、旋转角以及俯仰角引入RAC标定法中,并由此推导出基于RAC算法的双目摄像机多位姿标定方法的线性求解公式;最后,利用此线性求解公式求出了双目摄像机内外参数,完成了对双目立体视觉系统的标定工作。通过对标定结果的重投影误差分析和三维重构实验测量误差分析,对此次标定精度进行验证。重投影误差结果和三维测量实验结果表明,改进后的基于RAC算法的双目摄像机多位姿标定方法标定精度较高,能够满足双目摄像机标定与三维测量时的实际精度需求。