APP下载

接触线双目视觉测量系统标定及立体校正方法研究

2019-03-28

制造业自动化 2019年3期
关键词:双目畸变标定

(青岛大学 机电工程学院,青岛 266071)

0 引言

接触线是沿电气化铁路钢轨上空“之”字形架设的高压输电线,它通过与电力机车上的受电弓滑板滑动摩擦直接向电力机车输送电能。接触线的高度(导高)、拉出值及其与受电弓滑板接触部分的磨损直接影响电力机车的受流质量和机车的安全运行[1]。因此,在电气化铁路建设和运营维护过程中,对接触线进行快速、准确的检测是必不可少的。综观已有的各种检测方法[2,3],双目视觉法是最具潜力的方法,它不仅具有非接触、速度快、柔性好等优点,而且具有检测接触线磨损的能力[4]。但由于接触线距离远(导高5370~6450mm)和户外测量易受干扰等原因,要实现接触线的高精度检测,双目测量系统的结构设计与参数标定非常关键。本文采用张正友的平面模板两步法[5,6],结合接触线检测的技术特点,对双目测量系统的参数标定、相机畸变补偿和立体矫正进行理论分析与实验研究,为实际测量系统的参数优化设计与仪器开发提供理论依据与实验参考。

1 接触线双目视觉测量原理

图1 接触线双目视觉测量系统示意图

基于双目立体视觉的接触线检测系统如图1所示。两个结构和性能参数相同(名义上相同,实际上很难做到完全相同)的面阵CCD相机对称地分布在竖直平面的两侧构成双目视觉测量系统。其中,f1、f2为左、右相机镜头焦距,α1、α2为左、右相机光轴的倾斜角度,理论上应有f1=f2、α1=α2,但实际上难以实现。2L为两相机像平面中心的距离。为确定被测对象的空间位置,建立坐标系如下:1)测量系统坐标系xoy:以两个面阵CCD光敏面中心o1和o2连线的中点o为原点,连线o1o2为x轴,方向由o1指向o2为正;y轴竖直向上为正;2)相机坐标系:分别以两个面阵CCD光敏面中心o1和o2为原点在两个CCD上建立各自的坐标系x1o1y1和x2o2y2。

设P点为接触线位置,其在xoy坐标系中的坐标为(x,y);P'(x1,0)和P''(x2,0)分别为P点在两相机像平面上成像点坐标。根据几何光学成像原理,可导出:

可见,P点坐标(x,y)取决于x1、x2、f1、f2、α1、α2和L这7个参数。其中任一参数的误差均会引起测量误差。因此,必须对测量系统进行标定与立体矫正。

1)f1、f2、α1、α2和L为系统设计的理论值,而实际值相对理论值总是有偏差的,进行标定的目的就是要尽可能准确地确定实际值的大小。

2)式(1)是按几何光学理想成像公式导出的,没有考虑成像畸变。因此,需要进行畸变补偿,以减小由x1、x2引起的测量误差。

3)理想情况下,两个相机的光轴应该共面、而且像平面行对齐,但实际中难以实现,立体校正将实际中非共面非行对齐的两幅图像校正成共面行对齐,可减小这一误差对测量的影响。

2 双目视觉测量系统标定方法

2.1 相机成像模型

为建立简化的相机模型,将镜头的通光孔径看做一个小孔,理论上这并不影响成像结果,因此可以只考虑镜头光心位置处的光线。一般情况下,相机成像的物距远大于像距。根据高斯公式[7],可近似认为相机镜头的焦点在成像平面上,物、像的方向是相反的。为了简化数学运算,将原成像平面平移到与物点同侧。虽然从物理学的角度来看这是不可行的,但从数学运算的角度进行分析,它们是等价的。简化后得到的成像模型就是针孔相机模型[8],如图2所示。图中,OcXcYcZc为相机坐标系,坐标原点为相机光心Oc;o1xy为图像物理坐标系,坐标原点为相机主轴与图像平面的交点o1;x轴、y轴与Xc、Yc轴平行同向。由三角形相似性可得基本投影等式:x=fXc/Zc,y=fYc/Zc。

图2 针孔相机模型示意图

图3 坐标系关系示意图

2.2 相机标定

标定是指建立实际场景点的三维坐标与相机二维投影图像坐标之间的关系,进而求解相机参数(包括内参、外参及畸变系数)实际值的过程[9]。首先定义4个坐标系,如图3所示。1)世界坐标系OwXwYwZw,描述物体在三维空间中的位置;2)相机坐标系OcXcYcZc,同图2;3)图像物理坐标系o1xy,同图2;4)像素坐标系o0uv,即将图像物理坐标点用像素的形式表示,坐标原点在CCD图像平面的左上角,用o0表示。

具体标定过程是:世界坐标系通过旋转平移变换到相机坐标系,相机坐标系通过投影变换到图像物理坐标系,图像物理坐标系再通过像素转换到像素坐标系。这一坐标变换过程的数学描述如下:

式中,M1为包含内部参数的3×4矩阵;M2为4×4外部参数矩阵;H=M1·M2为单应性矩阵;f/dx、f/dy分别是u轴与v轴的有效焦距;r是图像横向u坐标与纵向V坐标轴的不垂直因子,一般可忽略,记为0;u0、v0是主点的像素坐标;R3×3、T3×1表示相机坐标系相对于世界坐标系的位置关系[10]。

以上是不考虑镜头畸变的情况,然而镜头畸变是一个不可忽略的因素。畸变主要有径向畸变和切向畸变,而且以径向畸变为主[5]。设未考虑成像畸变时像点的物理坐标为(x,y),考虑畸变时的实际成像点坐标为(xd,yd),则有:

式中,r2=x2+y2,k1、k2分别为初级和二级径向畸变系数;p1为初级切向畸变系数。

由于相机标定所采用的棋盘格标定板是一个平面板,将世界坐标系构造在标定板平面上,即令标定板平面为ZW=0的平面,则可将H化为3×3的齐次矩阵,其中有8个未知量,至少需要8个方程方可求解。而一对物像共轭点(Xw,Yw)与(u,v)可以提供两个方程,故需要4对物像共轭点,便可以计算出世界坐标平面到图像坐标平面的单应性矩阵H,因此每幅棋盘格标定板至少需要提供4个有用的物点,即角点。通过数学计算后得到内参数矩阵M1与单应性矩阵中列向量h1、h2之间的关系:

式中,h1、h2已知,而M1中含有5个未知量,因此至少需要3个不同的单应性矩阵产生6个方程来求解内参数矩阵。而外参数矩阵M2可由单应性矩阵与内参数矩阵M1求得。

以上分析表明,理论上,单相机内参数和外参数的标定至少需要拍摄3幅不同方位的棋盘格图像。但由于实际采集的图像不可避免存在噪声,为了得到高质量结果,一般需要采集多于10幅不同方位的7×8或者更大棋盘格的图像,再通过最大似然估计对得到的结果进行优化,以提高标定精度。

在获得M1和M2的标定结果后,由式(2)求得没有畸变时图像物理坐标(x,y),然后将拍摄的n幅图像每幅取m个角点,可以构成n·m个如式(3)所示的方程组。利用最小二乘法可求得畸变系数k1、k2、p1。最后,建立如式(5)所示的目标函数,通过Levenberg-Marquarat算法进行优化,得到优化的畸变系数。

式中,mij表示第i幅图像上的第j个角点的像点坐标,m'(M1,k1,k2,p1,Ri,Ti,Mj)表示加入畸变系数k1、k2、p1后,第i幅图像上的第j个角点的世界坐标Wj通过Ri的旋转与Ti平移后得到的像点坐标。利用同一个标定板同时对两个相机进行标定,分别得到二者相对同一坐标系的旋转矩阵和平移向量这一过程就是双目标定的过程。本文设定左相机坐标系为参考坐标系,用R、T表示右相机相对于左相机的旋转矩阵和平移向量,则有:

式中,Rl、Tl、Rr、Tr分别为世界坐标系中一点相对于左、右相机的旋转矩阵与平移向量,通过单相机标定获得。由于图像采集过程中噪声的存在,利用两个相机同时拍摄标定板后,采集的每一组图像对计算得到的R、T都会有一定偏差,为使计算得到的R、T值更加准确,可通过Levenberg-Marquardt算法,取所有图像对中计算得到的R、T的中值来作为初始近似值进行非线性优化,得到准确的结果。

3 Bouguet立体校正方法

由于实际的双目测量系统不可避免地存在结构参数误差及相机自身参数误差,因此左、右两相机同时获取的同一目标的两幅图像一般是非共面、非行对齐。立体校正的目的就是将这两幅图像校正成共面、且行对齐,以便于后续特征匹配与测距[11]。Bouguet算法利用标定得到的相机内外参数,首先对图像进行畸变校正,使得左右两幅图像投影畸变达到最小,实现图像观测面积最大化。然后,将选择矩阵R分成两个对等的矩阵,使两幅图像均旋转一半,达到两幅图像在同一个成像面上的效果。最后,结合平移矩阵T使得同一成像平面上的左右两幅图像极线平移成同一行,并且与基线平行[10]。Bouguet校正算法正是利用相机内、外参数以及畸变系数的标定结果进行立体校正,如图4所示。

图4 Bouguet立体校正示意图

4 标定实验及结果评价

4.1 双目测量实验系统的组成

双目测量系统及其标定实验如图5所示。该系统由两个FC-IU320C-6型工业相机组成,镜头为FUJINON HF25HA-1B定焦镜头,焦距f=25mm,分辨率为2048×1536,像元大小为3.2μm×3.2μm。两个相机分别安装在两个“球型云台+板型云台”的组合云台上。两个组合云台分别固定在底座(由100mm×48 mm×5.3mm槽钢制作)的两端。球型云台和板型云台均带有调节刻度,方便调节两相机成像平面的中心距2L,使其约等于高速铁路两根钢轨轨距。标定所用的平面棋盘格为自制,格数8×6,每格的尺寸为80mm×80 mm,用A1图纸打印,粘贴在A0绘图板上。

图5 双目测量系统标定实验场景图

4.2 标定实验及其结果分析

标定板放置在一个可旋转、可升降、带滚轮的座椅上,便于调整距离和转动不同方向。本实验采集20对(对于同一标定板位置,左、右相机各采集一幅图像为一对)不同方位下的棋盘格标定板图像。标定软件是在Visual Studio 2010开发环境下,利用C++自主设计开发,程序界面如图6所示。图中“左相机”下方输出3×3矩阵即为左相机内参数矩阵,矩阵中的元素与式(2)中各内参数相对应,例如u0为1023.982,v0为768.033。同理,图中“右相机”下方输出3×3矩阵即为右相机的内参数矩阵。图中“双目标定”下方输出的是右相机相对于左相机的相对位置关系。

图6 双目系统标定程序界面

标定结果分析:

由图6标定结果,计算左相机焦距f1与右相机焦距f2,得焦距f1=8006.137×3.2×10-3≈25.6196mm,f2=8006.393×3.2×10-3≈25.6205mm,即二者偏差很小,但均不等于标称值25mm。左相机光轴与其图像平面的交点为(1023.982,768.033),右相机光轴与其图像平面的交点为(1024.035,767.849),两相机的主点几乎在图像平面中心(1024,768)处。标定结果中畸变系数顺序为k1、k2、p1、p2、k3,由于不考虑p2、k3,故二者均为0,两个相机的畸变系数k1、p1均较小,k2稍大一些,说明有一定径向畸变,而切向畸变很小,可以忽略。一般平均重投影误差小于0.2个像素即可认为标定结果不错,左相机平均重投影误差为0.161313个像素,右相机平均重投影误差为0.168885个像素,均小于0.2个像素,说明标定结果良好。

图7 光心距离与光轴倾斜角求解示意图

由图6右相机相对于左相机的位置关系,可进一步求解相机光轴倾角与光心距离,原理图如图7所示。

式中β1为左相机光轴倾斜角的余角,由式(7)可以求得β1为85.0018°,则左相机光轴的倾斜角为α1=90°-β1=4.998°,同理,知道左相机相对于右相机的位置关系后求得右相机光轴倾角为α2=4.978°;由式(7)可以求得两个相机光心之间的距离为b=1406.65mm。以上求出的值,与实验中设定(通过仔细调节实验装置来设定,肯定有误差)的两个相机光轴倾角为5°和两个相机光心距离为1405mm非常接近,表明标定结果良好。

4.3 Bouguet立体校正

在完成双目测量系统标定后,利用所得到的标定结果进行Bouguet立体校正。校正程序也是在Visual Studio 2010开发环境下,利用C++自主设计开发。通过对左、右相机拍摄的一个图像对进行处理,得到图8所示的校正结果。由图可见,校正前左、右图像非共面且行不对齐;校正后,两幅图像实现了良好的共面与行对齐,证明了标定结果的准确性。

图8 Bouguet立体校正结果图

5 结论

本文对接触线双目视觉测量系统的标定与立体校正问题进行了分析研究,结果表明:1)针对本文涉及的高铁接触线检测应用,采用张正友的平面模板两步法进行相机的内、外参数标定,左、右两相机的平均重投影误差均小于0.2个像素,达到了比较理想的标定精度。Bouguet立体校正所得到的结果也充分验证了这一点。因为Bouguet立体校正是在标定结果的基础上进行的,标定结果的误差将直接导致Bouguet立体校正结果不理想。2)相机镜头的径向畸变远大于切向畸变,后者通常可以忽略。3)文中的标定与校正方法及所开发的双目测量系统标定与立体校正软件可推广应用到类似的双目测量系统。

猜你喜欢

双目畸变标定
大型焊接容器局部热处理防畸变工装优化设计
使用朗仁H6 Pro标定北汽绅宝转向角传感器
几何特性对薄壁箱梁畸变效应的影响
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于双目视觉的高耸类游乐设施晃动测试方法研究
CT系统参数标定及成像—2
CT系统参数标定及成像—2
在Lightroom中校正镜头与透视畸变
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
基于MATLAB 的CT 系统参数标定及成像研究