• 美文
  • 文章
  • 散文
  • 日记
  • 诗歌
  • 小说
  • 故事
  • 句子
  • 作文
  • 签名
  • 祝福语
  • 情书
  • 范文
  • 读后感
  • 文学百科
  • 当前位置: 柠檬阅读网 > 范文 > 正文

    Tsai氏相机平面标定算法的一种解析改进*

    时间:2023-01-24 09:55:05 来源:柠檬阅读网 本文已影响 柠檬阅读网手机站

    姚隆兴,韩江涛,张志毅

    (西北农林科技大学信息工程学院,陕西 杨凌 712100)

    将相机用于图像三维重建时,需要事先明确图像上点的位置与空间物体表面相应点几何位置的关系。通过相机成像几何模型,并借助空间物体表面某点的世界坐标系与其在图像中对应点之间的相互关系来确定几何模型参数的过程称为相机标定。相机标定是计算机视觉研究中必不可少的步骤,相机标定结果的精度和标定过程操作难易度分别会影响到相机生产结果的准确性和方便性[1]。

    自1971年至今,研究人员提出了多种相机标定算法。Horaud等[2]针对相机线性模型提出了一种相机标定算法,Zhuang等[3]在此基础上引入畸变模型进行了改进。随后研究人员又提出了静态扫描成像标定算法和动态扫描成像标定算法,其中,Luna等[4]提出了一种由2个平行平面组成的标靶标定相机的算法,Li等[5]结合交比的性质提出了一种使用平面标靶标定相机的算法,Draréni等[6]针对线性相机提出了一种使用平面标靶估计相机内外参的算法,Donné等[7]在此基础上通过重新求解内参的方式使该算法变得更稳健。另外,经典的基于Kruppa方程的自标定方法[8]利用了绝对二次曲线在图像中的像与相机内参有关而与相机的刚体运动无关的性质,推导出Kruppa方程。求解Kruppa方程的方法通常有2种:第1种是将求解的Kruppa方程问题转换为相应的数学规划问题,在使用规划方法时目标函数在最小点周围呈现大范围的平坦区,导致规划方法很难获得最小点,容易陷入局部最优值的境况中;
    第2种是直接求解Kruppa方程,由于数据误差等原因,使用直接法求解Kruppa 方程在数学上往往无解。

    Zhang[9]针对径向畸变问题提出了一种用平面标靶求解相机内外参数的有效标定算法,标定的时候首先通过移动标定靶或者相机,获得3个(或3个以上)不同方位的标定靶图像,通过标定靶特征点在世界坐标系中的坐标和提取的标靶特征点在图像坐标系中的坐标,计算出每幅图像和标靶之间的单应性矩阵,从而进行相机标定。但是,该算法需要多幅图像才能完成标定,这给使用者带来了不便。孟晓桥等[10]提出了和文献[9]标定算法类似的圆标定算法,在标定过程中同样需要拍摄3幅以上不同方位的图像,利用摄影不变性,可以计算出圆环点在每幅图像上的坐标信息,这样就得到了6个以上关于内参矩阵的方程,从而可以解出内参数。和文献[9]标定算法相比,除所用标靶不同外,其优点是不需要进行特征点配对。Tsai等[11,12]给出了一种基于径向约束的平面标靶标定两步法标定算法,该算法具有精度高的优势,但存在优化程序复杂,速度较慢,结果精度取决于图像中心初始值的问题。

    本文通过引入针孔相机的成像模型和镜头畸变模型,借鉴Tsai氏相机平面标定算法,提出了一种简单快速的相机标定算法。

    2.1 线性针孔模型

    针孔相机成像过程坐标转换如图1所示,包括世界坐标系OwXwYwZw、相机坐标系OcXcYcZc、理想成像的物理坐标系OudXuYu、实际成像物理坐标系OudXdYd及实际图像像素坐标系OIUV。为了确保测量所得到的深度值均为正值,本文以左手坐标系来设置相机坐标系,具体的坐标转换关系如图1所示。

    Figure 1 Camera imaging mold图1 相机成像模型

    世界坐标系中的点Pw在相机坐标系中的坐标值Pc可以表示为式(1):

    Pc=RtPw

    (1)

    矩阵Rt除具有正交性质外,还有如式(2)所示的性质:

    (2)

    若点Pc在成像平面上所成的理想像点Pu在坐标系OudXuYu中的坐标值分别为xu和yu,当主距为f时,可设Pu=[xu,yu,f]T。根据透视投影模型,应有:

    (3)

    2.2 畸变模型

    理想的针孔模型不能准确描述实际映射关系,这是因为相机存在光学畸变,所以需要引入畸变校正模型。畸变模型主要包括切向畸变和径向畸变,切向畸变是由整个相机的组装过程造成的,而径向畸变是由透镜的形状造成的,其中切向畸变对测量影响较小,所以本文仅考虑径向畸变。Horn[13]指出,对非广角相机的镜头畸变建模如果考虑高阶分量,有时不仅不能提高测量精度,反而会造成测量结果不稳定。因此,通常只考虑一阶或二阶径向畸变即可满足系统测量精度要求,即:

    (4)

    (5)

    (6)

    2.3 相机内部参数

    实际上,Pu和Pd都是相机成像模型中的抽象概念,真正可观测到的是实际图像像素坐标系中各像素点的坐标值。而Pd与实际图像像素坐标(u,v,f)之间满足式(7):

    (7)

    由式(5)和式(7)可得到式(8):

    (8)

    2.4 综合模型

    在世界坐标系中设置已知点的集合{Pwi=(xwi,ywi,zwi,1)},它们在相机坐标系中可表示为{Pci=(xci,yci,zci)},投影成像后的对应像素坐标位置是可计测的{(ui,vi)},综合以上各式可得式(9):

    (9)

    从式(9)可得到式(10):

    (10)

    在已知Pwi和(ui,vi)条件下,求解A和Rt中相关参数的过程称为“相机标定”。从式(9)可见,畸变参数标定与内外参数标定可以分步进行。一种较好的策略是先进行畸变参数标定,然后再进行内外参数标定。

    3.1 标定板的设定

    常用标定点设置方式有圆点和角点2种。圆点标靶被证明比角点标靶在检测上更稳健和准确[14 - 16],所以本文采用圆点设置方式,所设计的平面标定图案如图2所示。

    Figure 2 Patterns on the calibration target图2 标靶上的图案

    3.2 畸变系数的标定

    由于存在镜头的非线性畸变,如果只考虑一阶径向畸变,参考贺俊吉等[17]的方法则只需要知道4个共线控制点即可求得其畸变系数k1,这符合多数工业应用场合的需求。

    如图2中Xw轴上Pw0,Pw1和Pw23点共线,以Pw0和Pw1为基础点,Pw2为分点(该点为内分点或外分点),由分点与基础点所确定的2条有向线段之比称为简比,如式(11)所示:

    (11)

    在几何学中,交比是指4个共线点(尤其是透视投影上的点)中2个简比的比值。图2中Pw0,Pw1,Pw2,Pw3交比如式(12)所示:

    (12)

    其中,点Pw0和Pw1为基础点对,点Pw2和Pw3为分隔点对,其交比可写成如式(13)的形式:

    (13)

    根据透视投影的交比不变性,其理想图像点的对应交比如式(14)所示:

    (14)

    对式(14)中的Jx进行推导可得到一个关于k1的一元二次方程式,如式(15)所示:

    (15)

    其中,

    cx=Jx(xd1-xd2)(xd0-xd3)-

    (xd0-xd2)(xd1-xd3)

    同理,对式(14)中的Jy进行推导可得到一个关于k1的一元二次方程式,如式(16)所示。

    (16)

    其中,

    cy=Jy(yd1-xd2)(yd0-yd3)-

    (yd0-yd2)(yd1-xd3)

    为了使求解出的k1更准确,本文采用残差最小约束进行求解。因为每一条直线都能得到2个关于k1的一元二次方程式,将n条直线得到的2n个方程左边平方后进行求和,得到式(17):

    (17)

    现在求解k1的问题就转换成了求f(k1)的最小值的问题。f(k1)的展开形式如式(18)所示:

    (18)

    其中,

    对f(k1)求导可得式(19):

    (19)

    令g′(k1)=0,使用泰勒方法解出k1的值,求解过程如下:

    由求导公式可知:

    (20)

    由式(20)可得式(21):

    g(k1+Δk1)=g′(k1)Δk1+g(k1)

    (21)

    令k1=0,则式(22)成立:

    g(0+Δk1)=g′(0)Δk1+g(0)

    (22)

    因为g(0+Δk1)=0,所以式(23)成立:

    (23)

    当k1=0+Δk1时,g(k1)=0,即k1=Δk1时g(k1)=0成立,如式(24)所示:

    (24)

    当然,利用求根公式对式(19)进行求解也是一种方法,但直接求根公式计算复杂,且是多解,需要判断哪个根更接近于k1的真实值,而泰勒方法可直接快速简单地解出k1的值。

    3.3 Rt矩阵和A矩阵的求解

    首先,给图像中心点(Cx,Cy)设置一个合理的估计,该点通常在CCD或CMOS传感器中间附近,所以取图像中心点处的对应值。结合式(10)可得式(25):

    (25)

    其中,

    由式(5)和式(8)可知,使用xci/yci可以天然地消除畸变对方程的影响,当设s=dx/dy并用旋转平移矩阵Rt的分量展开后,可得式(26):

    (26)

    其中,mi=pi/qi。

    当标靶是平面的时候,式(26)简化为式(27):

    (27)

    Tsai氏相机平面标定算法中在平面标靶情况下无法求比例因子s[11],因此,在最开始假设s=1,在本文中s依然被当作未知数来处理。式(26)经过交叉变化后得到式(28):

    xwir11+ywir12+xt)-

    (xwir21+ywir22+yt)mis=0

    (28)

    式(28)是含有未知数r11,r12,sr21,sr22,xt和syt的线性齐次方程。

    因为方程是齐次的,所以存在未知的比例因子,也就是说,如果存在方程的一组解,那么该解的任何倍数也是它的解。为了求解,Tsai氏相机平面标定算法将未知数syt设置为1后[13],将齐次方程转换为非齐次方程,在这个过程中并没有考虑到数值运算误差,本文为了使数值计算更加准确,对|u0-Cx|和|v0-Cy|的大小进行了分类讨论,通过比较|u0-Cx|和|v0-Cy|的大小来决定采取哪种解法。

    当|u0-Cx|>|v0-Cy|时,方程两边同时除以syt,可以使方程最右边矩阵中的数值较大,以此来减少极小值的出现,从而减小数值计算误差对计算结果的影响,经过推导可得方程式(29):

    (29)

    结合式(10)由透视投影变换关系,旋转变换关系和平移变换关系可得式(30):

    (30)

    (31)

    其中,

    Tsai氏相机平面标定算法只用到了旋转矩阵的正交性,故解的过程比较复杂,在确定r13,r23的正负号时,需将计算出的结果代回到相机模型中才能确定其正确的正负号。本文除了用到旋转矩阵的正交性还用到了式(2)的性质,可以直接确定r13,r23的正负号,避免了复杂的运算。

    (32)

    (33)

    (34)

    (35)

    (36)

    (37)

    结合式(36)、式(32)和式(34)可以求出(yts)2,进而求出s。Tsai氏相机平面标定算法中由于没有用到式(2)的性质,故未能求出s的值。

    结合式(35)、式(33)和式(34)可以求出(zt)2,进而求出zt。

    同理,当|u0-Cx|≤|v0-Cy|时,方程两边同时除以xt,经过推导可得式(38):

    (38)

    (39)

    其中,

    (40)

    (41)

    (42)

    (43)

    (44)

    (45)

    结合式(41)~式(43)可以求出(zt)2,进而求出zt。

    本文实验使用2台不同相机进行标定对比,各相机参数如表1所示,其中,MV-UBS300C-T相机的镜头是生产厂家原配的,华谷动力WP-UT530相机的镜头非厂家原配。所用标靶如图2所示,靶面中有20个标定圆点。各圆点直径16 mm,垂直和水平方向相邻圆点间距24 mm,且假设(Cx,Cy)取的是图像中心点。为了验证本文算法的准确性和效率,主要从重投影误差、图像中心误差、距离误差以及运行时间进行评估。

    Table 1 Parameters of each camera

    重投影误差是指世界坐标系中的点在图像平面上的投影位置与原始图像中相应点的实际位置之间的距离平方和。所用评估方法是将计算得到的内参和外参带入式(9),计算出标靶中圆心在图像平面上的投影位置(u′,v′),与原始图像中相应圆心实际位置(u,v)之间的平均距离,记为E1,如式(46)所示:

    (46)

    其中n为标定点的数量。

    图像中心误差是指已知的图像中心和计算出的图像中心之间的差值。将计算出的相机内参和外参代入式(47),计算出的图像中心记为(C′x,C′y):

    (47)

    则已知的图像中心(Cx,Cy)和计算出的(C′x,C′y)的误差记为E2,如式(48)所示:

    (48)

    E1和E2反映了标靶的平面度、特征点提取精度及数值计算的精确度。

    距离误差是指实际距离D与计算出的距离D′之间的差值,它反映的是标定算法在相对运动情况下的测量精度。本文将计算出的相机内参和外参代入式(9),计算出世界坐标系中的点Pwi在相机坐标系中的点Pci,通过控制轴将标定板移动一定的距离,再次计算出移动后世界坐标系中的点Pwi在相机坐标系中的点:P′ci,此时的误差记为E3,如式(49)所示:

    E3=|D′-D|

    (49)

    其中,

    表2和表3分别是用本文标定算法和Tsai氏相机平面标定算法标定2个相机10次所获得标定结果平均值。经比较可见,2种算法所得到的结果比较接近。其中,本文标定算法和Tsai氏相机平面标定算法标定2个相机时所计算出的E1和E2的平均值分别相等,MV-UBS300C-T相机E1平均值为1.573 95,E2平均值为0.413 33。华谷动力WP-UT530相机E1平均值为0.790 10,E2平均值为1.115 65。

    表4为实验所得距离误差E3和运行时间。由表4可知,在使用同一种标定算法时,相机的分辨率越高,所需要的运行时间就越长,这是因为相机的分辨率越高,数值计算越多,所消耗的时间就越长。当使用同一幅图像,但使用不同算法标定同一个相机时,本文的相机标定算法在精度上比Tsai氏相机平面标定算法更高,而且标定速度更快。这是因为Tsai氏相机平面标定算法在计算时包含复杂的迭代计算,消耗的时间比较多,而且计算过程中没有对数值计算进行优化,且假设比例因子s=

    Table 2 MV-UBS300C-T camera parameter calibration results

    Table 3 Huagu Power WP-UT530 camera parameter calibration results

    1,也导致最后的计算误差比较大。而本文算法线性求解出相机的内参和外参,并且对数值计算进行了优化,从而提高了相机标定的速度、精度和稳定性。通过比较2个相机的E3值,在使用同一种标定算法时,MV-UBS300C-T相机的E3值比华谷动力WP-UT530相机的E3值小。这是因为MV-UBS300C-T相机使用的镜头是厂家原配,而华谷动力WP-UT530相机使用的镜头非厂家原配,MV-UBS300C-T相机的(Cx,Cy)相对于华谷动力WP-UT530相机的(Cx,Cy)更加接近图像中心点[18]。

    Table 4 Distance error and running time experiment results

    与Tsai氏相机平面标定算法相比,本文算法需要的已知条件少,计算简单,并且计算过程完全是非迭代的,因此降低了计算复杂度,提高了标定速度及标定精度,标定过程简单易于操作,而且可以避免其他非线性优化方法中可能遇到的不稳定性。与文献[9]相机标定算法相比,本文算法只需1幅图像就能完成相机标定,对实时计测动态标靶的位姿[19]有一定的参考价值。与其他相机标定算法类似,本文算法的标定结果依赖于图像中心坐标值的选取。

    猜你喜欢 标靶畸变标定 矩形截面单箱双室箱梁的畸变效应分析西南交通大学学报(2022年5期)2022-11-03面切割结合k-means聚类的测点自识别隧道监测方法铁路技术创新(2022年3期)2022-10-27大型焊接容器局部热处理防畸变工装优化设计金属热处理(2022年3期)2022-04-09美媒:在中国沙漠发现第二个“美国航母标靶”文萃报·周五版(2021年45期)2021-11-17轻卡前视摄像头的售后标定汽车电器(2021年8期)2021-08-24使用朗仁H6 Pro标定北汽绅宝转向角传感器汽车维修与保养(2020年11期)2020-06-09几何特性对薄壁箱梁畸变效应的影响东南大学学报(自然科学版)(2020年1期)2020-01-16CT系统参数标定及成像—2智富时代(2019年2期)2019-04-18CT系统参数标定及成像—2智富时代(2019年2期)2019-04-18在Lightroom中校正镜头与透视畸变摄影之友(影像视觉)(2017年10期)2017-11-07
    相关热词搜索: 标定 算法 平面

    • 文学百科
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章