CN105139411B - 基于四套共线约束标定尺的大视场相机标定方法 - Google Patents

基于四套共线约束标定尺的大视场相机标定方法 Download PDF

Info

Publication number
CN105139411B
CN105139411B CN201510616889.0A CN201510616889A CN105139411B CN 105139411 B CN105139411 B CN 105139411B CN 201510616889 A CN201510616889 A CN 201510616889A CN 105139411 B CN105139411 B CN 105139411B
Authority
CN
China
Prior art keywords
msub
mrow
mtd
mtr
mtable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510616889.0A
Other languages
English (en)
Other versions
CN105139411A (zh
Inventor
刘巍
杨帆
高鹏
张洋
李晓东
贾振元
高航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201510616889.0A priority Critical patent/CN105139411B/zh
Publication of CN105139411A publication Critical patent/CN105139411A/zh
Application granted granted Critical
Publication of CN105139411B publication Critical patent/CN105139411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明基于四套共线约束标定尺的大视场相机标定方法属于视觉测量领域,涉及一种基于四套共线约束标定尺的大视场相机标定方法。标定方法通过在大型视觉测量视场内布置四套共线约束标定尺,利用交比不限性质以及直线约束求解畸变参数,通过空间的标定控制点,线性求解标定参数的初值,最后结合畸变系数以及标定初值利用L‑M优化方法,以重投影误差最小为目标函数进行整体优化,得到大视场相机标定的精确结果。本发明通过在大视场测量空间柔性布置标定控制点,并且结合四套共线约束标定尺,对标定结果进行了整体优化,实现了大视场相机的高精度标定,具有广泛的应用前景。

Description

基于四套共线约束标定尺的大视场相机标定方法
技术领域
本发明属于视觉测量领域,涉及一种基于四套共线约束标定尺的大视场相机标定方法。
背景技术
随着社会的不断进步,工业生产中面临越来越多的测量问题,如何提高测量的精度与效率成为相关研究领域的热点问题。视觉测量具有非接触,实时性好,效率高以及能够实现在机测量的优点,近年来在工业测量以及机械制造领域应用广泛,引起了极大的关注。相机标定环节作为视觉测量中关键的一部分,标定结果的精度将直接决定最终测量结果的精度。现阶段用于视觉测量的标定方法主要有三种:传统视觉测量方法、相机自标定方法以及基于主动视觉的相机标定方法;相机的自标定方法是依靠多目相机拍摄图片上一定数量具有对应关系的特征点进行标定,只需要利用多幅拍摄的图片即可实现,理论应用范围广,但是该方法鲁棒性较差精度难以保证;基于主动视觉的相机标定方法是利用相机之间的已知相对位置变换进行求解的,该方法鲁棒性较好,但是相机之间的精确位置关系难以保证,应用范围有限;传统相机标定方法主要是结合高精度的标准参照物进行标定,具有易操作、精度高优点,其中张氏标定法以及Tsai两步法是目前应用最为广泛的标定方法。针对大视场相机标定,南京航空航天大学的张丽艳等人于2012年在《光学学报》第九期发表了文章《面向大视场视觉测量的摄像机标定技术》,提出了利用三坐标测量机带动发光标志点在空间构建虚拟立体靶标的大视场标定方法,该方法摆脱了传统标定方法必须依靠标定物的局限,但是测量范围有限,且需要大量测量点标定效率较低。
发明内容
本发明为了解决现有标定方法针对大视场标定有一定局限性的问题,发明了一种基于四套共线约束标定尺的大视场相机标定方法。其目的是针对大视场标定中传统标定方法的高精度标定物难以加工,测量精度难以保证的问题,通过在大视场测量空间柔性布置标定控制点,并且结合四套共线约束标定尺,编写了相关Matlab运算以及图像提取函数,对标定结果进行了整体优化,实现了大视场相机的高精度标定。
本发明采用的技术方案是一种基于四套共线约束标定尺的大视场相机标定方法,其特征是,通过在大型视觉测量视场内布置四套共线约束标定尺,利用交比不限性质以及直线约束求解畸变参数,通过空间的标定控制点,线性求解标定参数的初值,最后结合畸变系数以及标定初值利用L‐M优化方法,以重投影误差最小为目标函数进行整体优化,得到大视场相机标定的精确结果,具体标定步骤如下:
(1)根据视场适应原则布置标定控制点
通过在测量现场视场中心布置圆形标定控制点1的方法求解相机标定的初始参数,由于标定控制点直接关系到优化求解的复杂程度,过多的点将增大计算量,使标定效率降低;过少的点得到的标定精度较低,不能满足测量要求,所以根据视场适应的原则提出了大视场标定控制点的数量公式:
其中,N是需要布置的标定控制点(1)的数量,根据计算要求N的数值要大于等于8,f是相机测量的焦距,L是左、右相机(7、8)距离被测零件的距离,w是相机图像传感器的水平尺寸,h是相机图像传感器的竖直尺寸;ceil函数表示取比括号内计算值大的最小整数,这样根据现场的实际情况就可以合理布置标定控制点。
(2)求解标定初始参数
标定控制点1在空间中的三维世界坐标为[Xw Yw Zw 1]T,投影到成像平面上对应的平面坐标为[x y 1]T,相应的像素坐标为[u v 1]T,根据直接线性变换原理将像点和物点的成像几何关系在齐次坐标下写成透视投影矩阵的形式如下:
其中,αx、αy分别代表x和y方向的等效焦距,u0、v0代表主点的像素坐标,矩阵K称为相机标定的內参数矩阵,[R t]矩阵为相机标定的外参数矩阵,S是尺度因子。
线性求解相机内外参数的初值,就是求解公式(2)中内外参数矩阵,求解过程如下所示:
a)M矩阵的求解
则根据坐标转换关系可得到以下方程:
其中,(Xwip,Ywip,Zwip)为空间点的世界坐标,(uip,vip)为对应图像点的像素坐标,(xip,yip,zip)为该点在摄像机坐标系中的坐标。
联立消去zip,得
上述方程用矩阵形式表示为式
上述关系记为Km=U,由于m矩阵乘以任一不为零的系数均不影响空间点的世界坐标和图像坐标之间的关系,将上式m34置为1,m矩阵与元素m34=1构成所求矩阵M′。注意由上述矩阵求解出的M′矩阵与实际的M矩阵相差一个常数因子m34,两者的关系为M=m34M′。
当坐标已知的点数np≥6时即可以求解上述方程(5),当方程个数多于未知量个数时,该方程组称为超定方程组,可采用最小二乘法进行求解。m是超定方程组Km=U最小二乘解的充要条件为:m为方程KTKm=KTA的解。因此,m=(KTK)-1KTU。
b)内外参数的分离求解
由M矩阵可以分解出摄像机内外参数矩阵M1和M2,由M=M1M2可得:
其中,为mij(j=1,2,3)组成的行向量,ri T为旋转矩阵R的第i行,而tx,ty,tz为平移矩阵T的三个分量,上述矩阵形式可化为:
比较等式两边,可得m34m3=r3,由于旋转矩阵R是正交矩阵,则有以下性质:列向量组是单位正交向量组,即
因此,|r3|=1,得到m34|m3|=1,求出至此,M矩阵12个元素全部求出。
由此可以求解参数u0,v0,αx,αy
其中,×表示向量积运算符。
由以上参数进一步求解r1,r2,r3,tx,ty,tz
r3=m34m3 (12)
tz=m34 (15)
这样就求解出来相机标定的內参数矩阵K以及外参数矩阵[R t],并以此作为整体优化的初始值。
(3)利用四套共线标定约束尺求解畸变系数
在大型零部件的测量现场,镜头的畸变现象非常明显,为了提高标定精度必须引入畸变参数进行非线性优化,基于以上分析,采用了放置在测量视场四角的左后、左前、右后、右前共线约束标定尺3、4、5、6,每一套共线约束标定尺是由三角支架d、可竖直升降的支撑杆c以及可以伸缩并且可以绕支撑杆旋转的标定尺b组成,标定尺上有共线的测量标志点a,在使用时可以根据测量现场的大小合理调节标定尺的高度、长度以及位置,但要保证每套共线约束标定尺上至少有四个共线点位于测量视场内。
选取每套标定尺上的四个点,记为A,B,C,D,其世界坐标分别为(xa,ya,za),(xb,yb,zb),(xc,yc,zc),(xd,yd,zd),由于四点共线,因此,易得交比:
设点A,B,C,D对应的图像点的坐标分别为(xia,yia),(xib,yib),(xic,yic),(xid,yid),根据交比不变性,则有:
由于存在畸变,图像点的实际坐标为而非理想点位置(xi,yi),考虑一阶径向畸变,则有下式成立:
其中,那么A,B,C,D的理想点坐标和实际点坐标有如下关系
将上述式子代入交比的表达式:
求解上述方程,即可求出畸变系数k1,k2,这里的k1,k2分别代表x和y方向上的一阶径向畸变系数,最终任意方向上的径向一阶畸变系数为了提高畸变求解的精度,因放置四套共线约束标定尺在畸变最大的视场四角,每次拍摄都会得到四套畸变系数ka,kb,kc,kd,取其平均值作为最终结果,即为
这样就得到了标定现场的畸变系数初值。
(4)整体标定参数优化
上述求解的相机标定内外参数以及畸变系数只是相互分离的标定粗略结果,为了进一步提高标定精度,根据重投影误差最小原则,也即根据标定结果进行空间点重建,使其计算结果与实际的测量数值进行比较,并使其差值最小的原则,建立如下的非线性全局优化目标函数:
其中,mi1j1为实际的图像坐标,为利用内外参数求解出的计算图像坐标,Mj1为图像点匹配的空间三维点的世界坐标,。K为內参数矩阵,k为一阶径向畸变系数,Ri为迭代的旋转矩阵,同理ti为对应的平移矩阵。
利用Levenberg-Marquardt算法求解上述的目标函数,先假设一个最大位移s,在以当前点为中心,s为半径的的区域内寻求目标函数的近似函数,对近似函数求最小值,并求得实际位移,再计算实际目标函数的值,将计算出的函数值和实际的函数值进行比较,判断是否满足使目标函数值有满意程度的下降,若符合满意程度则继续迭代计算,反复进行上述过程,若不符合则减小信赖域半径,缩小区域重新寻求近似函数。最终不断贴近真实的相机畸变模型,使目标函数达到最小值的参数组合即为所需的最优解,这样就完成了大视场相机的高精度标定。
本发明的有益效果是本发明采用了四套共线约束标定尺,结合线性相机标定求解以及利用交比不变计算相机畸变的方法,编写了相关Matlab运算以及图像提取函数,并且对标定结果进行了整体优化,改进了传统方法针对大视场标定问题的缺陷,实现了大视场相机的高精度标定,具有广泛的应用前景。
附图说明
图1是大视场相机标定示意图,其中,1‐标定控制点,2‐被测零件,3‐左后共线约束标定尺,4‐左前共线约束标定尺,5‐右后共线约束标定尺,6‐右前共线约束标定尺,7‐左相机,8‐右相机,9‐计算机。
图2是一套共线约束标定尺的示意图,其中,4‐左前共线约束标定尺,a‐测量标志点,b‐标定尺,c‐支撑杆,d‐三脚支架。
图3是大视场相机标定流程图
具体实施方式
以下结合技术方法和附图详细叙述本发明的具体实施方式。
图1是大视场相机标定示意图,本实施例是在大视场标定现场引入带有共线测量标志点的约束标定尺,通过标定尺求解畸变系数并根据空间适应原则柔性布置的标定控制点求解标定初始值,最后根据重投影误差最小原则进行参数整体优化,从而实现大视场相机的高精度标定。通过在测量现场视场中心布置圆形标定控制点1的方法求解相机标定的初始参数,由于标定控制点直接关系到优化求解的复杂程度,过多的点将增大计算量,使标定效率降低;过少的点得到的标定精度较低,不能满足测量要求,所以根据公式(1)布置大视场标定控制点的数量。标定方法的具体实施步骤如下:
1.标定设备准备
在进行大视场相机标定之前要进行相关的准备工作,如图1所示:首先根据被测零件1的具体位置,放置左、右相机7、8,选定合适的焦距和拍摄角度使相机的视场有重叠部分,本文所采用的相机是均为Viewworks公司2900万像素全画幅工业相机,拍摄帧频为20Hz。然后测量相机与被测物的距离,结合相机焦距并根据公式(1)计算现场的标定控制点1数量,布置好标定控制点1,最后,在测量视场四角放置左后、左前、右后、右前放置共线约束标定尺3、4、5、6,调整好每套共线约束标定尺三角支架d的位置、支撑杆c的高度和标定尺b的角度,使每套共线约束标定尺的标定尺b至少有四个测量标志点a在视场内。
2.求解相机内外矩阵初始参数
将左、右相机7、8连接好计算机9,利用辰维的MPS‐S36高精度工业测量系统对标定控制点1进行测量,得到所有点的空间三维坐标[Xw Yw Zw 1]T,之后左、右相机7、8同时进行拍摄,得到空间标定控制点1以及共线约束标定尺上测量控制点a的左右相机图像,利用Matlab软件编写了圆形标志点圆心提取程序,并分别对左右相机拍摄的图片进行提取,获取对应标定控制点1的二维平面像素坐标[u v 1]T,将一系列标定控制点1的空间世界坐标和二维像素坐标代入公式(5)求解对应的M矩阵,在求解过程中,所获得的点的数量很多,方程个数多于未知量个数,此时方程组称为超定方程组,通过最小二乘法进行求解,最小二乘解的充要条件为:m为方程KTKm=KTA的解,因此有m=(KTK)-1KTU。
在得到M矩阵的结果后,再把内外参数矩阵分离求解,由M矩阵可以分解出摄像机内外参数矩阵M1和M2,由M=M1M2可得式(6),其中,为mij(j=1,2,3)组成的行向量,ri T为旋转矩阵R的第i行,而tx,ty,tz为平移矩阵T的三个分量,上述矩阵形式可化为公式(7)的形式,比较等式两边,可得m34m3=r3,由于旋转矩阵R是正交矩阵,根据列向量单位正交的关系求出至此,M矩阵12个元素全部求出。
最后根据公式(8)~(17)依次求解参数u0,v0,αx,αy,r1,r2,r3,tx,ty,tz:这样就求解出来相机标定的內参数矩阵K以及外参数矩阵[R t],并以此作为整体优化的初始值。
3.结合共线约束标定尺求解畸变系数
在第二步中已经获得了左、右相机7、8拍摄的照片,在照片中选择四套共线约束标定尺的位置,每组标定尺b上选择四个测量标志点a,记为A,B,C,D,其世界坐标分别为(xa,ya,za),(xb,yb,zb),(xc,yc,zc),(xd,yd,zd)已经通过测量获得,对应的图像点的坐标分别为(xia,yia),(xib,yib),(xic,yic),(xid,yid)也通过编写的Matlab程序提取出来。
由于存在畸变,图像点的实际坐标为而非理想点位置(xi,yi),只考虑一阶径向畸变,并将径向畸变分解为相互垂直的两个方向上的畸变系数,根据共线点的交比不变性质将获得的坐标带入公式(18)、(19),求解这两个方程,即可求出畸变系数k1,k2,这里的k1,k2分别代表x和y方向上的一阶径向畸变系数,最终任意方向上的径向一阶畸变系数为了提高畸变求解的精度,每次拍摄都会得到四套畸变系数ka,kb,kc,kd,代入公式(21)取其平均值作为最终结果,这样就得到了标定现场的畸变系数初值。
4.整体标定参数优化
上述求解的相机标定内外参数以及畸变系数只是相互分离的标定粗略结果,为了进一步提高标定精度,根据重投影误差最小原则,也即根据标定结果进行空间点重建,使其计算结果与实际的测量数值进行比较,并使其差值最小的原则,建立非线性全局优化目标函数如式(22):
其中,mij为实际的图像坐标,为利用内外参数求解出的计算图像坐标,Mj为图像点匹配的空间三维点的世界坐标,。K为內参数矩阵,k为一阶径向畸变系数,Ri为迭代的旋转矩阵,同理ti为对应的平移矩阵。
利用Levenberg-Marquardt算法求解上述的目标函数,先假设一个最大位移s,在以当前点为中心,s为半径的区域内寻求目标函数的近似函数,对近似函数求最小值,并求得实际位移,再计算实际目标函数的值,将计算出的函数值和实际的函数值进行比较,判断是否满足使目标函数值有满意程度的下降,若符合满意程度则继续迭代计算,反复进行上述过程,若不符合则减小信赖域半径,缩小区域重新寻求近似函数。最终不断贴近真实的相机畸变模型,使目标函数达到最小值的参数组合即为所需的最优解,这样就完成了大视场相机的高精度标定。

Claims (1)

1.一种基于四套共线约束标定尺的大视场相机标定方法,其特征是,标定方法通过在大视场内布置四套共线约束标定尺,利用交比不变性质以及直线约束求解畸变参数,通过空间的标定控制点,线性求解标定参数的初值,最后结合畸变系数以及标定初值利用L-M优化方法,以重投影误差最小为目标函数进行整体优化,得到大视场相机标定的精确结果,标定方法的具体步骤如下:
步骤一根据视场适应原则布置标定控制点
根据视场适应的原则提出了大视场标定控制点的数量公式:
<mrow> <mi>N</mi> <mo>=</mo> <mi>c</mi> <mi>e</mi> <mi>i</mi> <mi>l</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <mn>15</mn> <msup> <mi>f</mi> <mn>2</mn> </msup> <mi>w</mi> <mi>h</mi> </mrow> <msup> <mi>L</mi> <mn>2</mn> </msup> </mfrac> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
其中,N是需要布置的标定控制点(1)的数量,根据计算要求N的数值要大于等于8,f是相机测量的焦距,L是左、右相机(7、8)距离被测零件的距离,w是相机图像传感器的水平尺寸,h是相机图像传感器的竖直尺寸;ceil函数表示取比括号内计算值大的最小整数,这样根据现场的实际情况就可以合理布置标定控制点;
步骤二求解标定初始参数
标定控制点(1)在空间中的三维世界坐标为[Xw Yw Zw 1]T,投影到成像平面上对应的平面坐标为[x y 1]T,相应的像素坐标为[u v 1]T,根据直接线性变换原理将像点和物点的成像几何关系在齐次坐标下写成透视投影矩阵的形式如下:
<mrow> <mi>S</mi> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>u</mi> </mtd> </mtr> <mtr> <mtd> <mi>v</mi> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>u</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>v</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>R</mi> </mtd> <mtd> <mi>t</mi> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>K</mi> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>R</mi> </mtd> <mtd> <mi>t</mi> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mi>M</mi> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
其中αx、αy分别代表x和y方向的等效焦距,u0、v0为相机主点坐标,矩阵K称为相机标定的內参数矩阵,[R t]矩阵为相机标定的外参数矩阵,S是尺度因子;
线性求解相机内外参数的初值,就是求解公式(2)中内外参数矩阵,求解过程如下所示:
a)M矩阵的求解
则根据坐标转换关系可得到以下方程:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>z</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>11</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>12</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>13</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>14</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>z</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>21</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>22</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>23</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>24</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>z</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>31</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>32</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>33</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
其中,(Xwip,Ywip,Zwip)为空间点的世界坐标,(uip,vip)为像素坐标,(xip,yip,zip)为摄像机坐标系中的坐标;
联立消去zip,得
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>11</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>12</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>13</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>14</mn> </msub> <mo>-</mo> <msub> <mi>m</mi> <mn>31</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>m</mi> <mn>32</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>m</mi> <mn>33</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>u</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>21</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>22</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>23</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>m</mi> <mn>24</mn> </msub> <mo>-</mo> <msub> <mi>m</mi> <mn>31</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>m</mi> <mn>32</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>m</mi> <mn>33</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>i</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>v</mi> <mrow> <mi>i</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow> 1
上述方程用矩阵形式表示为:
<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>u</mi> <mi>n</mi> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>u</mi> <mi>n</mi> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>u</mi> <mi>n</mi> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mtd> <mtd> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>v</mi> <mi>n</mi> </msub> <msub> <mi>X</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>v</mi> <mi>n</mi> </msub> <msub> <mi>Y</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>v</mi> <mi>n</mi> </msub> <msub> <mi>Z</mi> <mrow> <mi>w</mi> <mi>n</mi> <mi>p</mi> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>m</mi> <mn>11</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>12</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>13</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>14</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>21</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>22</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>23</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>24</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>31</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>32</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>m</mi> <mn>33</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mn>1</mn> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>v</mi> <mn>1</mn> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mn>2</mn> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>v</mi> <mn>2</mn> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mrow> <mi>n</mi> <mi>p</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>v</mi> <mrow> <mi>n</mi> <mi>p</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mrow> <mi>n</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>v</mi> <mrow> <mi>n</mi> <mi>p</mi> </mrow> </msub> <msub> <mi>m</mi> <mn>34</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
上述关系记为Km=U,由于m矩阵乘以任一不为零的系数均不影响空间点的世界坐标和图像坐标之间的关系,将上式m34置为1,m矩阵与元素m34=1构成所求矩阵M′;注意由上述矩阵求解出的M′矩阵与实际的M矩阵相差一个常数因子m34,两者的关系为M=m34M′;
当坐标已知的点数np≥6时即可以求解上述方程(5);当方程个数多于未知量个数时,该方程组称为超定方程组,采用最小二乘法进行求解;m是超定方程组Km=U最小二乘解的充要条件为:m为方程KTKm=KTU的解;因此,m=(KTK)-1KTU;
b)内外参数的分离求解
由M矩阵分解出摄像机内外参数矩阵M1和M2,由M=M1M2得到:
<mrow> <msub> <mi>m</mi> <mn>34</mn> </msub> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msubsup> <mi>m</mi> <mn>1</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>m</mi> <mn>14</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>m</mi> <mn>2</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>m</mi> <mn>24</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>m</mi> <mn>3</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>u</mi> <mn>0</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>v</mi> <mn>0</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msubsup> <mi>r</mi> <mn>1</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>t</mi> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>r</mi> <mn>2</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>t</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>r</mi> <mn>3</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msup> <mn>0</mn> <mi>T</mi> </msup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
其中,为mij,j=1,2,3,4组成的行向量,为旋转矩阵R的第i行,而tx,ty,tz为平移矩阵T的三个分量,上述矩阵形式化为:
<mrow> <msub> <mi>m</mi> <mn>34</mn> </msub> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msubsup> <mi>m</mi> <mn>1</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>m</mi> <mn>14</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>m</mi> <mn>2</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>m</mi> <mn>24</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>m</mi> <mn>3</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> <msubsup> <mi>r</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mo>+</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <msubsup> <mi>r</mi> <mn>3</mn> <mi>T</mi> </msubsup> </mrow> </mtd> <mtd> <mrow> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> <msub> <mi>t</mi> <mi>x</mi> </msub> <mo>+</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <msub> <mi>t</mi> <mi>z</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> <msubsup> <mi>r</mi> <mn>2</mn> <mi>T</mi> </msubsup> <mo>+</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <msubsup> <mi>r</mi> <mn>3</mn> <mi>T</mi> </msubsup> </mrow> </mtd> <mtd> <mrow> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> <msub> <mi>t</mi> <mi>y</mi> </msub> <mo>+</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <msub> <mi>t</mi> <mi>z</mi> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>r</mi> <mn>3</mn> <mi>T</mi> </msubsup> </mtd> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
比较等式两边,得m34m3=r3,由于旋转矩阵R是正交矩阵,则有以下性质:列向量组是单位正交向量组,即
<mrow> <msubsup> <mi>r</mi> <mi>i</mi> <mi>T</mi> </msubsup> <msub> <mi>r</mi> <mi>j</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mo>&amp;NotEqual;</mo> <mi>j</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>i</mi> <mo>=</mo> <mi>j</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
因此,|r3|=1,得到m34|m3|=1,求出至此,M矩阵12个元素全部求出;
由此求解参数u0,v0,αx,αy
<mrow> <mo>(</mo> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> <msubsup> <mi>r</mi> <mn>1</mn> <mi>T</mi> </msubsup> <mo>+</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <msubsup> <mi>r</mi> <mn>3</mn> <mi>T</mi> </msubsup> <mo>)</mo> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>34</mn> </msub> <msubsup> <mi>m</mi> <mn>1</mn> <mi>T</mi> </msubsup> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>=</mo> <msubsup> <mi>m</mi> <mn>34</mn> <mn>2</mn> </msubsup> <msubsup> <mi>m</mi> <mn>1</mn> <mi>T</mi> </msubsup> <msub> <mi>m</mi> <mn>3</mn> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mo>(</mo> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> <msubsup> <mi>r</mi> <mn>2</mn> <mi>T</mi> </msubsup> <mo>+</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <msubsup> <mi>r</mi> <mn>3</mn> <mi>T</mi> </msubsup> <mo>)</mo> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>=</mo> <msub> <mi>m</mi> <mn>34</mn> </msub> <msubsup> <mi>m</mi> <mn>2</mn> <mi>T</mi> </msubsup> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>=</mo> <msubsup> <mi>m</mi> <mn>34</mn> <mn>2</mn> </msubsup> <msubsup> <mi>m</mi> <mn>1</mn> <mi>T</mi> </msubsup> <msub> <mi>m</mi> <mn>3</mn> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>9</mn> <mo>)</mo> </mrow> </mrow> 2
其中,×表示向量积运算符;
由以上参数进一步求解r1,r2,r3,tx,ty,tz
r3=m34m3 (12)
<mrow> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>m</mi> <mn>34</mn> </msub> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> </mfrac> <mrow> <mo>(</mo> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <msub> <mi>m</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <msub> <mi>m</mi> <mn>34</mn> </msub> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> </mfrac> <mrow> <mo>(</mo> <msub> <mi>m</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <msub> <mi>m</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>14</mn> <mo>)</mo> </mrow> </mrow>
tz=m34 (15)
<mrow> <msub> <mi>t</mi> <mi>x</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>m</mi> <mn>34</mn> </msub> <msub> <mi>&amp;alpha;</mi> <mi>x</mi> </msub> </mfrac> <mrow> <mo>(</mo> <msub> <mi>m</mi> <mn>14</mn> </msub> <mo>-</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mi>t</mi> <mi>y</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>m</mi> <mn>34</mn> </msub> <msub> <mi>&amp;alpha;</mi> <mi>y</mi> </msub> </mfrac> <mrow> <mo>(</mo> <msub> <mi>m</mi> <mn>24</mn> </msub> <mo>-</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>
求解出来相机标定的內参数矩阵K以及外参数矩阵[R t],并以此作为整体优化的初始值;
步骤三利用四套共线标定约束尺求解畸变系数
放置在测量视场四角的左后、左前、右后、右前共线约束标定尺(3、4、5、6),每一套共线约束标定尺是由三角支架(d)、竖直升降的支撑杆(c)以及能伸缩,并且绕支撑杆旋转的标定尺(b)组成;标定尺上有共线的测量标志点(a),在使用时根据测量现场的大小合理调节标定尺的高度、长度以及位置,但要保证每组共线约束标定尺上至少有四个共线点位于测量视场内;
选取每套标定尺上的四个点,记为A,B,C,D,其世界坐标分别为(xa,ya,za),(xb,yb,zb),(xc,yc,zc),(xd,yd,zd),由于四点共线,因此,得到交比CR:
<mrow> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>z</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>z</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>z</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>z</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>z</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>z</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>z</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>z</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> </mrow>
设点A,B,C,D对应的图像点的坐标分别为(xia,yia),(xib,yib),(xic,yic),(xid,yid),根据交比不变性,则有:
<mrow> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>a</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>c</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>b</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>d</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>b</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>c</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>a</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>d</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>a</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>c</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>b</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>d</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>b</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>c</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>a</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>d</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> </mrow>
由于存在畸变,图像点的实际坐标为而非理想点位置(xio,yio),考虑一阶径向畸变,则有下式成立:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>o</mi> </mrow> </msub> <mo>=</mo> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <mi>r</mi> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>o</mi> </mrow> </msub> <mo>=</mo> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <mi>r</mi> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>18</mn> <mo>)</mo> </mrow> </mrow>
其中,那么A,B,C,D的理想点坐标和实际点坐标有如下关系
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>a</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>a</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>a</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>a</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>a</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>a</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> <mtd> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>b</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>b</mi> </msub> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>b</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>b</mi> </msub> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>c</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>c</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>c</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>c</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>c</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>c</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> <mtd> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mi>d</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>d</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>d</mi> </msub> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>i</mi> <mi>d</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>d</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>d</mi> </msub> <mn>2</mn> </msup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mtd> </mtr> </mtable> </mfenced>
将上述式子代入交比的表达式:
<mrow> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>a</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>a</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>c</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>c</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>b</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>d</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>d</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>b</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>c</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>c</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>a</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>a</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>x</mi> <mo>&amp;OverBar;</mo> </mover> <mi>d</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msup> <msub> <mi>r</mi> <mi>d</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>19</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>a</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>a</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>c</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>c</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>b</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>d</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>d</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>b</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>b</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>c</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>c</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>a</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>a</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>&amp;OverBar;</mo> </mover> <mi>d</mi> </msub> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <msub> <mi>r</mi> <mi>d</mi> </msub> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>=</mo> <mi>C</mi> <mi>R</mi> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>b</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>c</mi> </msub> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mi>a</mi> </msub> <mo>-</mo> <msub> <mi>y</mi> <mi>d</mi> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>20</mn> <mo>)</mo> </mrow> </mrow>
求解上述方程,即求出畸变系数k1,k2,这里的k1,k2分别代表x和y方向上的一阶径向畸变系数,最终任意方向上的径向一阶畸变系数
因放置四套共线约束标定尺在畸变最大的视场四角,每次拍摄都会得到四套畸变系数ka,kb,kc,kd,取其平均值作为最终结果,即为
<mrow> <mi>k</mi> <mo>=</mo> <mfrac> <mrow> <msqrt> <mrow> <msup> <msub> <mi>k</mi> <mrow> <mi>a</mi> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>k</mi> <mrow> <mi>a</mi> <mn>2</mn> </mrow> </msub> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <msqrt> <mrow> <msup> <msub> <mi>k</mi> <mrow> <mi>b</mi> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>k</mi> <mrow> <mi>b</mi> <mn>2</mn> </mrow> </msub> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <msqrt> <mrow> <msup> <msub> <mi>k</mi> <mrow> <mi>c</mi> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>k</mi> <mrow> <mi>c</mi> <mn>2</mn> </mrow> </msub> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <msqrt> <mrow> <msup> <msub> <mi>k</mi> <mrow> <mi>d</mi> <mn>1</mn> </mrow> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>k</mi> <mrow> <mi>d</mi> <mn>2</mn> </mrow> </msub> <mn>2</mn> </msup> </mrow> </msqrt> </mrow> <mn>4</mn> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>21</mn> <mo>)</mo> </mrow> </mrow>
得到了标定现场的畸变系数初值;
步骤四整体标定参数优化
根据重投影误差最小原则,也即根据标定结果进行空间点重建,使其计算结果与实际的测量数值进行比较,并使其差值最小的原则,建立如下的非线性全局优化目标函数:
<mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mn>1</mn> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mi>n</mi> </mrow> </munderover> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mn>1</mn> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>j</mi> <mi>n</mi> </mrow> </munderover> <mo>|</mo> <mo>|</mo> <msub> <mi>m</mi> <mrow> <mi>i</mi> <mn>1</mn> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mover> <mi>m</mi> <mo>^</mo> </mover> <mrow> <mo>(</mo> <mi>K</mi> <mo>,</mo> <msub> <mi>R</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>M</mi> <mrow> <mi>j</mi> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>22</mn> <mo>)</mo> </mrow> </mrow>
其中,mi1j1为实际的图像坐标,其中,1,2,....in、1,2,...jn分别为图像坐标行、列,为利用内外参数求解出的计算图像坐标,Mj1为图像点匹配的空间三维点的世界坐标,;K为內参数矩阵,k为一阶径向畸变系数,Ri1为迭代的旋转矩阵,同理,ti1为对应的平移矩阵;
利用Levenberg-Marquardt算法求解上述的目标函数,先假设一个最大位移s,在以当前点为中心,s为半径的的区域内寻求目标函数的近似函数,对近似函数求最小值,并求得实际位移,再计算实际目标函数的值,将计算出的函数值和实际的函数值进行比较,判断是否满足使目标函数值有满意程度的下降,若符合满意程度则继续迭代计算,反复进行上述过程,若不符合则减小信赖域半径,缩小区域重新寻求近似函数;最终不断贴近真实的相机畸变模型,使目标函数达到最小值的参数组合即为所需的最优解,完成了大视场相机的高精度标定。
CN201510616889.0A 2015-09-24 2015-09-24 基于四套共线约束标定尺的大视场相机标定方法 Active CN105139411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510616889.0A CN105139411B (zh) 2015-09-24 2015-09-24 基于四套共线约束标定尺的大视场相机标定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510616889.0A CN105139411B (zh) 2015-09-24 2015-09-24 基于四套共线约束标定尺的大视场相机标定方法

Publications (2)

Publication Number Publication Date
CN105139411A CN105139411A (zh) 2015-12-09
CN105139411B true CN105139411B (zh) 2017-10-17

Family

ID=54724743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510616889.0A Active CN105139411B (zh) 2015-09-24 2015-09-24 基于四套共线约束标定尺的大视场相机标定方法

Country Status (1)

Country Link
CN (1) CN105139411B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105678088B (zh) * 2016-01-12 2019-01-18 西安交通大学 一种靶标测头的平差优化算法
CN107545591B (zh) * 2016-06-29 2021-04-06 沈阳新松机器人自动化股份有限公司 一种基于六点触点法的机器人手眼标定方法
CN106803273B (zh) * 2017-01-17 2019-11-22 湖南优象科技有限公司 一种全景摄像机标定方法
CN107748894A (zh) * 2017-10-26 2018-03-02 辽宁省颅面复原技术重点实验室 一种视频现场异地重构方法
CN108038885B (zh) * 2017-11-29 2019-09-24 深圳奥比中光科技有限公司 多深度相机标定方法
CN108154536A (zh) * 2017-12-13 2018-06-12 南京航空航天大学 二维平面迭代的相机标定法
CN108010090B (zh) * 2018-01-12 2024-03-29 深圳市道通科技股份有限公司 一种车载夜视摄像装置标定设备
CN108053450B (zh) * 2018-01-22 2020-06-30 浙江大学 一种基于多约束的高精度双目相机标定方法
CN110617800A (zh) * 2019-08-21 2019-12-27 深圳大学 基于民航客机的应急遥感监测方法、系统及存储介质
CN113256742B (zh) * 2021-07-15 2021-10-15 禾多科技(北京)有限公司 界面展示方法、装置、电子设备和计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025824A (zh) * 2007-03-30 2007-08-29 东南大学 三维扫描系统中的基于固定参数与可变参数的标定方法
CN102208108A (zh) * 2011-04-01 2011-10-05 哈尔滨工业大学 摄像机大视场高精度快速现场全局标定方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10008007B2 (en) * 2012-09-20 2018-06-26 Brown University Method for generating an array of 3-D points

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025824A (zh) * 2007-03-30 2007-08-29 东南大学 三维扫描系统中的基于固定参数与可变参数的标定方法
CN102208108A (zh) * 2011-04-01 2011-10-05 哈尔滨工业大学 摄像机大视场高精度快速现场全局标定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
大视场双目立体视觉的摄像机标定;元学芹 等;《研究与开发》;20101231;第10-13页 *
大视场多CCD拼接相机标定方法研究;王军 等;《光学与光电技术》;20041231;第2卷(第6期);第7-9页 *

Also Published As

Publication number Publication date
CN105139411A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
CN105139411B (zh) 基于四套共线约束标定尺的大视场相机标定方法
CN104182982B (zh) 双目立体视觉摄像机标定参数的整体优化方法
CN109598762B (zh) 一种高精度双目相机标定方法
CN106091984B (zh) 一种基于线激光的三维点云数据获取方法
CN103971353B (zh) 采用激光辅助大型锻件测量图像数据的拼接方法
CN108648232B (zh) 一种基于精密二轴转台的双目立体视觉传感器一体式标定方法
CN103278138B (zh) 一种复杂结构薄部件三维位置及姿态的测量方法
CN103530880B (zh) 基于投影高斯网格图案的摄像机标定方法
CN103854291B (zh) 四自由度双目视觉系统中的摄像机标定方法
CN110378969B (zh) 一种基于3d几何约束的汇聚式双目相机标定方法
CN108053450A (zh) 一种基于多约束的高精度双目相机标定方法
CN105654476B (zh) 基于混沌粒子群优化算法的双目标定方法
Chatterjee et al. Algorithms for coplanar camera calibration
CN104268876A (zh) 基于分块的摄像机标定方法
CN109712232B (zh) 一种基于光场的物体表面轮廓三维成像方法
CN111667536A (zh) 一种基于变焦相机深度估计的参数标定方法
CN102855620B (zh) 基于球形投影模型的纯旋转摄像机自标定方法
CN110070598A (zh) 用于3d扫描重建的移动终端及其进行3d扫描重建方法
CN112258588A (zh) 一种双目相机的标定方法、系统及存储介质
CN108801175B (zh) 一种高精度空间管路测量系统及方法
Yang et al. A calibration method for binocular stereo vision sensor with short-baseline based on 3D flexible control field
CN110349257B (zh) 一种基于相位伪映射的双目测量缺失点云插补方法
CN102567991B (zh) 一种基于同心圆合成图像匹配的双目视觉标定方法和系统
CN109974618B (zh) 多传感器视觉测量系统的全局标定方法
CN109360230A (zh) 一种基于2d相机与3d相机的图像配准方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant