CN104036512A - 一种基于正交消隐点的新型Tsai’s摄像机标定改进方法 - Google Patents
一种基于正交消隐点的新型Tsai’s摄像机标定改进方法 Download PDFInfo
- Publication number
- CN104036512A CN104036512A CN201410292608.6A CN201410292608A CN104036512A CN 104036512 A CN104036512 A CN 104036512A CN 201410292608 A CN201410292608 A CN 201410292608A CN 104036512 A CN104036512 A CN 104036512A
- Authority
- CN
- China
- Prior art keywords
- vid
- mad
- hor
- ver
- row
- 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.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
本发明提出一种基于正交消隐点的新型Tsai’s摄像机标定改进方法,首先拍摄若干幅棋盘格标定板平面图像,并对所有图像进行预处理,对每一幅图像的角点进行亚像素坐标提取,然后将角点坐标划分成四组,应用最小二乘指标函数拟合每个方向上的平行直线束,计算每个方向上的最佳消隐点坐标,接着建立摄像机内部参数的约束方程组,求解内部参数fx,fy,u0,v0,将这些计算值作为初始值,代入外部参数的方程组中,求解所有的外部参数;最后引入一阶、二阶径向畸变系数,在实际图像平面坐标系上,建立图像残差当量最小化寻优函数,对所有的参数进行优化。本发明大大减少了计算量,速度快、精度高,可广泛应用于机器视觉研究、工业三维测量等多个领域的摄像机标定。
Description
技术领域
本发明属于光学测量技术领域,涉及一种基于正交消隐点的新型Tsai’s摄像机标定改进方法。
背景技术
在计算机视觉测量领域中,摄像机标定是从2D图像信息获取3D空间信息必不可少的步骤,具体是根据获取的2D图像信息来确定摄像机内部参数,畸变参数和外部参数的过程。
目前,学者们在传统标定方法的理论基础上,已经研究出了众多简单灵活的摄像机新型标定方法。这些新型标定方法:一是在标定模板上进行不断创新,从最初工艺要求极高的3D精密标定立方块到现今的2D平面模板和1D线性模板,其中2D的主要有圆点靶标、十字叉靶标、棋盘格靶标等,1D的要属单条结构光最为广泛应用;二是在标定的理论方法上改进与创新,自标定方法中的消隐点、圆环点、Kruppa方程、绝对二次曲线、绝对二次曲面等。其中,B.CAPRILE和P.Beardsley等人首次提出了利用消隐点的几何特性来标定摄像机。
近几年,研究者从消隐点的产生模型、方法、拍摄图像的数量等方面不断改进与创新,出现了一些便捷灵活的新标定方法。比如在消隐点的产生模型有两对正交的平行直线、非平行的矩形对、圆柱、长方块、正方形等,这些模型虽然选取简易灵活,但不适合于精度要求高的场合,且有一个共同的问题:仅仅只凭借一对平行直线产生消隐点,这样会出现消隐点退化的情形,即在图像上不能够形成消隐点。
而在方法上,将消隐点作为计算圆环点的过度量,应用于建立标定的约束方程;或者通过消隐点与摄像机光心轨迹的连线所形成的球,建立约束方程进行标定等,这些方法并没有直接利用正交消隐点的性质来建立与摄像机内部参数的约束方程,导致计算量较大,过程复杂。
另外,对Tsai标定法改进的现有技术中,普遍采用Tsai法的计算思路,一是人为的约定内部参数的主点坐标就是拍摄的图像中心,这在现今的CCD摄像机中不再适合,由于镜头制造工艺存在偏差,导致主点会偏离图像中心;二是在计算方程组的过程中,依然采用先计算ty这个未知量,这样会引入判定未知量正负号的麻烦,增大了计算量,降低了运算效率。
发明内容
本发明目的是解决上述背景技术中提出的三个技术问题,为此公开了一种基于正交消隐点的新型Tsai’s摄像机标定改进方法。
本发明的技术方案为:
所述一种基于正交消隐点的新型Tsai’s摄像机标定改进方法,其特征在于:采用以下步骤:
Step1:搭建光学测量系统,建立CCD摄像机模型;
Step2:使摄像机光轴与棋盘格标定板平面所成夹角在0°~80°之间,拍摄若干幅不同位姿的棋盘格标定板平面图像:并对拍摄的图像进行中值滤波、锐化预处理;棋盘格标定板的图案规格为m×n,其中m=n或m=n-1;
Step3:应用Harris角点提取算法对预处理后的图像提取角点亚像素坐标,角点亚像素坐标为si,j=[ui,j,vi,j]T,i=1,2,...m,j=1,2,...n;
Step4:将Step3中提取的角点划分成水平、垂直、主对角线、副对角线四组S={gs|g=hor,ver,mad,vid};hor对应水平,ver对应垂直,mad对应主对角线,vid对应副对角线:
4.1若m=n,则执行步骤4.2→4.6;若m=n-1,则执行步骤4.7→4.11;
4.2定义棋盘格标定板的左下角第一个角点为s1,1,水平向右依次为s1,1,s1,2,...,s1,n,垂直向上依次为s1,1,s2,1,...,sn,1;
4.3第一组:水平方向的角点坐标集合为
hors={hors1,hors2,...,horsi,...,horsn},i=1,2,...,n,
其中子集合horsi={si,1,si,2,...si,j,...si,n},j=1,2,...n;
4.4第二组:垂直方向的角点坐标集合为
vers={vers1,vers2,...,versj,...,versn},j=1,2,...,n,
其中子集合versj={s1,j,s2,j,...si,j,...sn,j},i=1,2,...n;
4.5第三组:主对角线方向的角点坐标集合为
mads={mads1,mads2,...,madsk,...,mads2n-3},k=1,2,...,2n-3;
其中:
1)当k=1时,子集合mads1={s2,1,s1,2},表示第2行第1列的角点和第1行第2列的角点组成的集合;
2)当k=2时,子集合mads2={s3,1,s2,2,s1,3},表示第3行第1列、第2行第2列和第1行第3列的角点组成的集合;
3)当k=n-1时,子集合madsn-1={sn,1,sn-1,2,...,sn-i,j,...,s1,n},i=0,1,...,n-1;j=1,2,...,n;
4)当k=n时,子集合madsn={sn,2,sn-1,3,...,sn-i,j,...,s2,n},i=0,1,...,n-2;j=2,3,...,n;
5)当k=2n-4时,子集合mads2n-4={sn,n-2,sn-1,n-1,sn-2,n};
6)当k=2n-3时,子集合mads2n-3={sn,n-1,sn-1,n};
4.6第四组:副对角方向的角点坐标集合为
vids={vids1,vids2,...,vidsq,...,vids2n-3},q=1,2,...,2n-3;
其中:
1)当q=1时,子集合vids1={sn-1,1,sn,2},表示第n-1行第1列的角点和第n行第2列的角点组成的集合;
2)当q=2时,子集合vids2={sn-2,1,sn-1,2,sn,3},表示第n-2行第1列、第n-1行第2列和第n行第3列的角点组成的集合;
3)当q=n-1时,子集合vidsn-1={s1,1,s2,2,...,si,j},i,j=1,2,...,n;
4)当q=n时,子集合vidsn={s1,2,s2,3,...,si,j},i=1,2,...,n-1;j=2,3,...,n;
5)当q=2n-4时,子集合vids2n-4={s1,n-2,s2,n-1,s3,n};
6)当q=2n-3时,子集合vids2n-3={s1,n-1,s2,n};
4.7定义棋盘格标定板的左下角第一个角点为s1,1,水平向右依次为s1,1,s1,2,...,s1,n,垂直向上依次为s1,1,s2,1,...,sm,1;
4.8第一组:水平方向的角点坐标集合为
hors={hors1,hors2,...,horsi,...,horsm},i=1,2,...,m,
其中子集合horsi={si,1,si,2,...si,j,...si,n},j=1,2,...n;
4.9第二组:垂直方向的角点坐标集合为
vers={vers1,vers2,...,versj,...,versn},j=1,2,...,n,
其中子集合versj={s1,j,s2,j,...si,j,...sm,j},i=1,2,...m;
4.10第三组:主对角线方向的角点坐标集合为
mads={mads1,mads2,...,madsk,...,madsm+n-3},k=1,2,...,m+n-3;
其中:
1)当k=1时,子集合mads1={s2,1,s1,2},表示第2行第1列的角点和第1行第2列的角点组成的集合;
2)当k=2时,子集合mads2={s3,1,s2,2,s1,3},表示第3行第1列、第2行第2列和第1行第3列的角点组成的集合;
3)当k=m-1时,子集合madsm-1={sm,1,sm-1,2,...,sm-i,j},i=0,1,...,m-1;j=1,2,...,n-1;
4)当k=m时,子集合madsm={sm,2,sm-1,3,...,sm-i,j},i=0,1,...,m-1;j=2,3,...,n;
5)当k=m+n-4时,子集合madsm+n-4={sm,n-2,sm-1,n-1,sm-2,n};
6)当k=m+n-3时,子集合madsm+n-3={sm,n-1,sm-1,n};
4.11第四组:副对角方向的角点坐标集合为
vids={vids1,vids2,...,vidsq,...,vidsm+n-3},q=1,2,...,m+n-3;
其中:
1)当q=1时,子集合vids1={sm-1,1,sm,2},表示第m-1行第1列的角点和第m行第2列的角点组成的集合;
2)当q=2时,子集合vids2={sm-2,1,sm-1,2,sm,3},表示第m-2行第1列、第m-1行第2列和第m行第3列的角点组成的集合;
3)当q=n-1时,子集合vidsn-1={s1,1,s2,2,...,si,j},i,j=1,2,...,n;
4)当q=n时,子集合vidsn={s1,2,s2,3,...,si,j},i=1,2,...,m;j=2,3,...,n;
5)当q=m+n-4时,子集合vidsm+n-4={s1,n-2,s2,n-1,s3,n};
6)当q=m+n-3时,子集合vidsm+n-3={s1,n-1,s2,n};
Step5:应用Step4中角点的划分结果,采用最小二乘法计算hor、ver、mad、vid方向上的平行直线束参数:
若m=n,则平行直线束参数为:
horli[horai,-1,horbi],i=1,2,...,n
verlj[veraj,-1,verbj],j=1,2,...,n
madlk[madak,-1,madbk],k=1,2,...,2n-3
vidlq[vidaq,-1,vidbq],q=1,2,...,2n-3
若m=n-1,则平行直线束参数为:
horli(horai,-1,horbi),i=1,2,...,m
verlj(veraj,-1,verbj),j=1,2,...,n
madlk(madak,-1,madbk),k=1,2,...,m+n-3
vidlq(vidaq,-1,vidbq),q=1,2,...,m+n-3
Step6:建立hor、ver、mad、vid方向的最佳消隐点目标函数:
并应用Levenberg-Marquard算法对最佳消隐点目标函数寻优计算出最佳的消隐点坐标gV=[guva,gvva]T;
Step7:利用消隐线,验证消隐点计算的是否合理:
7.1对Step6中4个消隐点进行随机组合,生成种组合,并拟合出条直线,计算这些直线两两间的夹角,选择出最大的夹角θmax;
7.2判断若θ≤θmax,则这4个消隐点共线,形成了消隐线;反之,转到Step3,重新提取角点亚像素坐标,其中θ为阈值;
Step8:建立摄像机内部参数几何约束方程组:
其中:
fx,fy为CCD摄像机模型u轴和v轴上的归一化像素焦距,(u0,v0)是CCD摄像机模型成像平面的中心坐标;根据摄像机内部参数几何约束方程组,采用奇异值(SVD)分解和Zhang’s的方法计算该内部参数fx,fy,u0,v0;
Step9:计算CCD摄像机模型中摄像机外部参数平移向量T的ZC轴方向的分量tz为:
9.1建立摄像机外部参数的方程组:
其中:摄像机外部参数的平移向量
摄像机外部参数的旋转矩阵
WXi,j和WYi,j为棋盘格标定板中角点的空间坐标;
9.2将摄像机外部参数的方程组变形为矩阵形式为:
式中:向量b=[b1 b2 b3 b4 b5 b6 b7 b8]T;Ux=ui,j-u0;Vx=vi,j-v0;
9.3应用最小二乘法计算9.2中矩阵形式,得到向量b=[b1 b2 b3 b4 b5 b6 b7 b8]T;并根据公式
tz=(tz1+tz2+tz3)/3
得到tz;
Step10:计算旋转矩阵R中的分量r1,r2,r3,r4,r5,r6,r7,r8,r9和平移向量中的分量tx,ty;
Step11:引入一、二阶径向畸变系数k1,k2,对内部参数fx,fy,u0,v0和外部参数R,T进行非线性全局优化:
在摄像机的实际图像平面坐标系UV内建立图像残差当量最小化寻优函数:
式中::3D空间点WS从世界坐标系XWYWZW投影到物理图像平面坐标系UV的畸变2D点实际图像平面坐标;:3D空间点WS从像素图像平面坐标系uv逆向投影到物理图像平面坐标系UV的畸变2D点实际图像坐标。
有益效果
本发明的实现过程为:首先搭建光学测量系统,建立摄像机模型,使摄像机光轴与标定板平面所成夹角在0°~80°之间,拍摄若干幅不同位姿的棋盘格标定板平面图像,并对所有图像进行中值滤波、锐化预处理,且应用Harris算法对预处理的每一幅图像的角点进行亚像素坐标提取;然后按照棋盘格的水平、垂直、主对角线和副对角线四个方向的纹理特征,将这些角点坐标划分成四组,应用最小二乘指标函数拟合每个方向上的平行直线束,进而建立最佳消隐点目标函数,计算每个方向上的最佳消隐点坐标,并通过消隐线来判定消隐点的正确性;接着应用正交消隐点的性质,直接建立摄像机内部参数的约束方程组,求解内部参数fx,fy,u0,v0,将这些计算值作为初始值,代入外部参数的方程组中,通过先计算tz来避免学者们在计算过程中引入的判定未知量正负号的步骤,进而求解所有的外部参数;最后引入一阶、二阶径向畸变系数,在实际图像平面坐标系上,建立图像残差当量最小化寻优函数,对所有的参数进行优化。相比于现有技术,本发明大大减少了计算量,速度快、精度高,可广泛应用于机器视觉研究、工业三维测量等多个领域的摄像机标定。
附图说明
图1一种基于新型正交消隐点的Tsai’s摄像机标定改进方法的流程图;
图2摄像机模型示意图;
图3常见的消隐点产生模型;
其中,(a)正交的平行线;(b)非平行的矩形;(c)正方形;(d)圆柱;(e)长方体(正方体);(f)退化;
图4新型的消隐点产生模型;
图5实际拍摄的3幅棋盘格标定板图像;
图6划分后的3幅角点坐标图像;
图7实验计算出的消隐点坐标及形成的消隐线图像;
图8非线性全局优化模型。
具体实施方式
下面结合具体实施例描述本发明:
Step1:搭建光学测量系统,建立CCD摄像机模型;
上述Step1的具体实现方法是:
1.1不考虑摄像机镜头畸变,建立线性CCD摄像机针孔模型:
式中:
K=M2M1=[fx 0 u0;0 fy v0;0 0 1]:摄像机的内部参数矩阵;
(fx,fy)=(f/dx,f/dy):u轴和v轴上的归一化像素焦距;
f:有效的物理焦距;
(dx,dy):CCD传感器单元的尺寸大小
(u0,v0):成像平面的中心坐标;
WS=[WX,WY,WZ]T:3D空间中的点; WS的齐次坐标;
s=[u,v]T:像素图像平面坐标系uv的2D点;s的齐次坐标;
λ:不确定因子;
1.2引入一、二阶径向畸变,建立畸变的数学模型:
式中:
k1,k2:一、二阶径向畸变系数;
SI=[U,V]T:物理图像平面坐标系UV的无畸变2D点坐标;
S*=[U*,V*]T:畸变后的图像平面坐标;
Step2:使摄像机光轴与棋盘格标定板平面所成夹角在0°~80°之间,拍摄若干幅不同位姿的棋盘格标定板平面图像:并对拍摄的图像进行中值滤波、锐化预处理;棋盘格标定板的图案规格为m×n,其中m=n或m=n-1;
本实施例中:
(1)设置摄像机的拍摄参数,见表1:
表1 摄像机拍摄参数
(2)使用的棋盘格标定板图案规格为12×13,格子间距为6mm,为了避免与摄像机光轴垂直,使摄像机光轴与标定板平面所成夹角在0°~80°之间,拍摄3幅不同位姿的棋盘格标定板平面图像,见图5。
(3)对这3幅图像进行中值滤波、锐化预处理。
Step3:应用Harris角点提取算法对预处理后的图像提取角点亚像素坐标,角点亚像素坐标为si,j=[ui,j,vi,j]T,i=1,2,…m,j=1,2,…n;
本实施例中,在Matlab平台上,采用Harris原理提取格子的角点,Image1的部分角点坐标见表2;
表2 Image1的部分角点坐标
Step4:将Step3中提取的角点划分成水平、垂直、主对角线、副对角线四组S={gs|g=hor,ver,mad,vid};hor对应水平,ver对应垂直,mad对应主对角线,vid对应副对角线:
4.1若m=n,则执行步骤4.2→4.6;若m=n-1,则执行步骤4.7→4.11;
4.2定义棋盘格标定板的左下角第一个角点为s1,1,水平向右依次为s1,1,s1,2,…,s1,n,垂直向上依次为s1,1,s2,1,…,sn,1;
4.3第一组:水平方向的角点坐标集合为
hors={hors1,hors2,…,horsi,…,horsn},i=1,2,…,n,
其中子集合horsi={si,1,si,2,…si,j,…si,n},j=1,2,…n;
4.4第二组:垂直方向的角点坐标集合为
vers={vers1,vers2,…,versj,…,versn},j=1,2,…,n,
其中子集合versj={s1,j,s2,j,…si,j,…sn,j},i=1,2,…n;
4.5第三组:主对角线方向的角点坐标集合为
mads={mads1,mads2,…,madsk,…,mads2n-3},k=1,2,…,2n-3;
其中:
1)当k=1时,子集合mads1={s2,1,s1,2},表示第2行第1列的角点和第1行第2列的角点组成的集合;
2)当k=2时,子集合mads2={s3,1,s2,2,s1,3},表示第3行第1列、第2行第2列和第1行第3列的角点组成的集合;
3)当k=n-1时,子集合madsn-1={sn,1,sn-1,2,…,sn-i,j,…,s1,n},i=0,1,…,n-1;j=1,2,…,n;
4)当k=n时,子集合madsn={sn,2,sn-1,3,…,sn-i,j,…,s2,n},i=0,1,…,n-2;j=2,3,…,n;
5)当k=2n-4时,子集合mads2n-4={sn,n-2,sn-1,n-1,sn-2,n};
6)当k=2n-3时,子集合mads2n-3={sn,n-1,sn-1,n};
4.6第四组:副对角方向的角点坐标集合为
vids={vids1,vids2,…,vidsq,…,vids2n-3},q=1,2,…,2n-3;
其中:
1)当q=1时,子集合vids1={sn-1,1,sn,2},表示第n-1行第1列的角点和第n行第2列的角点组成的集合;
2)当q=2时,子集合vids2={sn-2,1,sn-1,2,sn,3},表示第n-2行第1列、第n-1行第2列和第n行第3列的角点组成的集合;
3)当q=n-1时,子集合vidsn-1={s1,1,s2,2,…,si,j},i,j=1,2,…,n;
4)当q=n时,子集合vidsn={s1,2,s2,3,…,si,j},i=1,2,…,n-1;j=2,3,…,n;
5)当q=2n-4时,子集合vids2n-4={s1,n-2,s2,n-1,s3,n};
6)当q=2n-3时,子集合vids2n-3={s1,n-1,s2,n};
4.7定义棋盘格标定板的左下角第一个角点为s1,1,水平向右依次为s1,1,s1,2,…,s1,n,垂直向上依次为s1,1,s2,1,…,sm,1;
4.8第一组:水平方向的角点坐标集合为
hors={hors1,hors2,…,horsi,…,horsm},i=1,2,…,m,
其中子集合horsi={si,1,si,2,…si,j,…si,n},j=1,2,…n;
4.9第二组:垂直方向的角点坐标集合为
vers={vers1,vers2,…,versj,…,versn},j=1,2,…,n,
其中子集合versj={s1,j,s2,j,…si,j,…sm,j},i=1,2,…m;
4.10第三组:主对角线方向的角点坐标集合为
mads={mads1,mads2,…,madsk,…,madsm+n-3},k=1,2,…,m+n-3;
其中:
1)当k=1时,子集合mads1={s2,1,s1,2},表示第2行第1列的角点和第1行第2列的角点组成的集合;
2)当k=2时,子集合mads2={s3,1,s2,2,s1,3},表示第3行第1列、第2行第2列和第1行第3列的角点组成的集合;
3)当k=m-1时,子集合madsm-1={sm,1,sm-1,2,…,sm-i,j},i=0,1,…,m-1;j=1,2,…,n-1;
4)当k=m时,子集合madsm={sm,2,sm-1,3,…,sm-i,j},i=0,1,…,m-1;j=2,3,…,n;
5)当k=m+n-4时,子集合madsm+n-4={sm,n-2,sm-1,n-1,sm-2,n};
6)当k=m+n-3时,子集合madsm+n-3={sm,n-1,sm-1,n};
4.11第四组:副对角方向的角点坐标集合为
vids={vids1,vids2,…,vidsq,…,vidsm+n-3},q=1,2,…,m+n-3;
其中:
1)当q=1时,子集合vids1={sm-1,1,sm,2},表示第m-1行第1列的角点和第m行第2列的角点组成的集合;
2)当q=2时,子集合vids2={sm-2,1,sm-1,2,sm,3},表示第m-2行第1列、第m-1行第2列和第m行第3列的角点组成的集合;
3)当q=n-1时,子集合vidsn-1={s1,1,s2,2,…,si,j},i,j=1,2,…,n;
4)当q=n时,子集合vidsn={s1,2,s2,3,…,si,j},i=1,2,…,m;j=2,3,…,n;
5)当q=m+n-4时,子集合vidsm+n-4={s1,n-2,s2,n-1,s3,n};
6)当q=m+n-3时,子集合vidsm+n-3={s1,n-1,s2,n};
本实施例中,利用发明内容中的步骤4.7→4.11,将这些角点划分水平、垂直、主对角、副对角4组,附图6是部分角点坐标的划分,坐标见表3;
表3 Image1的部分角点坐标的划分
Step5:应用Step4中角点的划分结果,采用最小二乘法计算hor、ver、mad、vid方向上的平行直线束参数:
若m=n,则平行直线束参数为:
horli[horai,-1,horbi],i=1,2,…,n
verlj[veraj,-1,verbj],j=1,2,…,n (3)
madlk[madak,-1,madbk],k=1,2,…,2n-3
vidlq[vidaq,-1,vidbq],q=1,2,…,2n-3
若m=n-1,则平行直线束参数为:
horli(horai,-1,horbi),i=1,2,…,m
verlj(veraj,-1,verbj),j=1,2,…,n
madlk(madak,-1,madbk),k=1,2,…,m+n-3 (4)
vidlq(vidaq,-1,vidbq),q=1,2,…,m+n-3
Step5的具体实现方法是:
若m=n时:
1)对水平方向上的n条平行直线组成的平行直线束建立第i行的直线最小二乘误差指标函数:
2)对垂直方向上的n条平行直线组成的平行直线束建立第j列的直线最小二乘误差指标函数:
3)对主对角方向上的2n-3条平行直线组成的平行直线束建立第k条的直线最小二乘误差指标函数:
4)对副对角方向上的2n-3条平行直线组成的平行直线束建立第q条的直线最小二乘误差指标函数:
若m=n-1时:
1)对水平方向上的m条平行直线组成的平行直线束建立第i行的直线最小二乘误差指标函数:
2)对垂直方向上的n条平行直线组成的平行直线束建立第j列的直线最小二乘误差指标函数:
3)对主对角方向上的m+n-3条平行直线组成的平行直线束建立第k条的直线最小二乘误差指标函数:
4)对副对角方向上的m+n-3条平行直线组成的平行直线束建立第q条的直线最小二乘误差指标函数:
本实施例中,利用式(9)→(12),计算水平、垂直、主对角线和副对角线可得到最佳的直线参数horli[horai,-1,horbi],verlj[veraj,-1,verbj],madlk[madak,-1,madbk],vidlq[vidaq,-1,vidbq],选取Image1图像其各个方向上的直线束参数见表4。
表4 Image1各个方向上的直线束参数
Step6:建立hor、ver、mad、vid方向的最佳消隐点目标函数:
并应用Levenberg-Marquard算法对最佳消隐点目标函数寻优计算出最佳的消隐点坐标gV=[guva,gvva]T;
本实施例中,利用式(13)→(16),计算每一幅图像上的4个消隐点坐标,附图7是Image1、Image2、Image3的消隐点坐标,坐标见表5。
表5 消隐点坐标(单位:pixel)
Step7:利用消隐线,验证消隐点计算的是否合理:
7.1对Step6中4个消隐点进行随机组合,生成种组合,并拟合出条直线,计算这些直线两两间的夹角,选择出最大的夹角θmax;
7.2判断若θ≤θmax,则这4个消隐点共线,形成了消隐线;反之,转到Step3,重新提取角点亚像素坐标,其中θ为阈值;
本实施例中,设定阈值θ=0.01。这3幅图像上对应的4条直线的斜率见表6。从表中,可以观察出:最大误差在给定的阈值之内,计算出的消隐点共线。
表6 直线的斜率一览表
Step8:计算摄像机的内部参数fx,fy,u0,v0:
Step8的具体实现方法是:
8.1建立摄像机内部参数几何约束方程组
其中:
fx,fy为CCD摄像机模型u轴和v轴上的归一化像素焦距,(u0,v0)是CCD摄像机模型成像平面的中心坐标;
8.2根据摄像机内部参数几何约束方程组,采用奇异值(SVD)分解和Zhang’s的方法计算该内部参数fx,fy,u0,v0;
本实施例中,利用式(17)、(18)、(19),计算摄像机内部参数fx,fy,u0,v0,标定结果见表7。
表7 摄像机的内部参数标定结果
Step9:计算CCD摄像机模型中摄像机外部参数平移向量T的ZC轴方向的分量tz为:
tz=(tz1+tz2+tz3)/3 (20)
式中:
上述Step9的具体实现方法是:
9.1建立摄像机外部参数的方程组:
其中:摄像机外部参数的平移向量
摄像机外部参数的旋转矩阵
WXi,j和WYi,j为棋盘格标定板中角点的空间坐标;
式中:向量b=[b1 b2 b3 b4 b5 b6 b7 b8]T;Ux=ui,j-u0;Vx=vi,j-v0;
9.3应用最小二乘法计算9.2中矩阵形式,得到向量b=[b1 b2 b3 b4 b5 b6 b7 b8]T;进而得到tz。
本实施例利用式(20)→(25),计算得到tz=447.4675mm;
Step10:计算旋转矩阵R中的分量r1,r2,r3,r4,r5,r6,r7,r8,r9和平移向量中的分量tx,ty;
上述Step10的具体实现方法是:
10.1向量b中的各分量为
b1=r1/tz,b2=r2/tz,b3=tx/tz,b4=r4/tz,b5=r5/tz,b6=ty/tz,b7=r7/tz,b8=r8/tz将tz带入各分量便可求得r1,r2,r4,r5,r7,r8,tx,ty。
10.2对旋转矩阵R的前两列叉乘,边可得到r3,r6,r9:
[r3 r6 r9]T=[r1 r4 r7]T×[r2 r5 r8]T (26)
本实施例计算结果见表8:
表8 外部参数[R T]
Step11:引入一、二阶径向畸变系数k1,k2,对内部参数fx,fy,u0,v0和外部参数R,T进行非线性全局优化:
在摄像机的实际图像平面坐标系UV内建立图像残差当量最小化寻优函数:
式中::3D空间点WS从世界坐标系XWYWZW投影到物理图像平面坐标系UV的畸变2D点实际图像平面坐标;:3D空间点WS从像素图像平面坐标系uv逆向投影到物理图像平面坐标系UV的畸变2D点实际图像坐标。
本实施例中引入畸变系数之后,利用式(27),优化的内部参数、外部参数标定结果见表9-a和表9-b:
表9-a 内部参数优化结果
Claims (1)
1.一种基于正交消隐点的新型Tsai’s摄像机标定改进方法,其特征在于:采用以下步骤:
Step1:搭建光学测量系统,建立CCD摄像机模型;
Step2:使摄像机光轴与棋盘格标定板平面所成夹角在0°~80°之间,拍摄若干幅不同位姿的棋盘格标定板平面图像:并对拍摄的图像进行中值滤波、锐化预处理;棋盘格标定板的图案规格为m×n,其中m=n或m=n-1;
Step3:应用Harris角点提取算法对预处理后的图像提取角点亚像素坐标,角点亚像素坐标为si,j=[ui,j,vi,j]T,i=1,2,...m,j=1,2,...n;
Step4:将Step3中提取的角点划分成水平、垂直、主对角线、副对角线四组S={gs|g=hor,ver,mad,vid};hor对应水平,ver对应垂直,mad对应主对角线,vid对应副对角线:
4.1若m=n,则执行步骤4.2→4.6;若m=n-1,则执行步骤4.7→4.11;
4.2定义棋盘格标定板的左下角第一个角点为s1,1,水平向右依次为s1,1,s1,2,...,s1,n,垂直向上依次为s1,1,s2,1,...,sn,1;
4.3第一组:水平方向的角点坐标集合为
hors={hors1,hors2,...,horsi,...,horsn},i=1,2,...,n,
其中子集合horsi={si,1,si,2,...si,j,...si,n},j=1,2,...n;
4.4第二组:垂直方向的角点坐标集合为
vers={vers1,vers2,...,versj,...,versn},j=1,2,...,n,
其中子集合versj={s1,j,s2,j,...si,j,...sn,j},i=1,2,...n;
4.5第三组:主对角线方向的角点坐标集合为
mads={mads1,mads2,...,madsk,...,mads2n-3},k=1,2,...,2n-3;
其中:
1)当k=1时,子集合mads1={s2,1,s1,2},表示第2行第1列的角点和第1行第2列的角点组成的集合;
2)当k=2时,子集合mads2={s3,1,s2,2,s1,3},表示第3行第1列、第2行第2列和第1行第3列的角点组成的集合;
3)当k=n-1时,子集合madsn-1={sn,1,sn-1,2,...,sn-i,j,...,s1,n},i=0,1,...,n-1;j=1,2,...,n;
4)当k=n时,子集合madsn={sn,2,sn-1,3,...,sn-i,j,...,s2,n},i=0,1,...,n-2;j=2,3,...,n;
5)当k=2n-4时,子集合mads2n-4={sn,n-2,sn-1,n-1,sn-2,n};
6)当k=2n-3时,子集合mads2n-3={sn,n-1,sn-1,n};
4.6第四组:副对角方向的角点坐标集合为
vids={vids1,vids2,...,vidsq,...,vids2n-3},q=1,2,...,2n-3;
其中:
1)当q=1时,子集合vids1={sn-1,1,sn,2},表示第n-1行第1列的角点和第n行第2列的角点组成的集合;
2)当q=2时,子集合vids2={sn-2,1,sn-1,2,sn,3},表示第n-2行第1列、第n-1行第2列和第n行第3列的角点组成的集合;
3)当q=n-1时,子集合vidsn-1={s1,1,s2,2,...,si,j},i,j=1,2,...,n;
4)当q=n时,子集合vidsn={s1,2,s2,3,...,si,j},i=1,2,...,n-1;j=2,3,...,n;
5)当q=2n-4时,子集合vids2n-4={s1,n-2,s2,n-1,s3,n};
6)当q=2n-3时,子集合vids2n-3={s1,n-1,s2,n};
4.7定义棋盘格标定板的左下角第一个角点为s1,1,水平向右依次为s1,1,s1,2,...,s1,n,垂直向上依次为s1,1,s2,1,...,sm,1;
4.8第一组:水平方向的角点坐标集合为
hors={hors1,hors2,...,horsi,...,horsm},i=1,2,...,m,
其中子集合horsi={si,1,si,2,...si,j,...si,n},j=1,2,...n;
4.9第二组:垂直方向的角点坐标集合为
vers={vers1,vers2,...,versj,...,versn},j=1,2,...,n,
其中子集合versj={s1,j,s2,j,...si,j,...sm,j},i=1,2,...m;
4.10第三组:主对角线方向的角点坐标集合为
mads={mads1,mads2,...,madsk,...,madsm+n-3},k=1,2,...,m+n-3;
其中:
1)当k=1时,子集合mads1={s2,1,s1,2},表示第2行第1列的角点和第1行第2列的角点组成的集合;
2)当k=2时,子集合mads2={s3,1,s2,2,s1,3},表示第3行第1列、第2行第2列和第1行第3列的角点组成的集合;
3)当k=m-1时,子集合madsm-1={sm,1,sm-1,2,...,sm-i,j},i=0,1,...,m-1;j=1,2,...,n-1;
4)当k=m时,子集合madsm={sm,2,sm-1,3,...,sm-i,j},i=0,1,...,m-1;j=2,3,...,n;
5)当k=m+n-4时,子集合madsm+n-4={sm,n-2,sm-1,n-1,sm-2,n};
6)当k=m+n-3时,子集合madsm+n-3={sm,n-1,sm-1,n};
4.11第四组:副对角方向的角点坐标集合为
vids={vids1,vids2,...,vidsq,...,vidsm+n-3},q=1,2,...,m+n-3;
其中:
1)当q=1时,子集合vids1={sm-1,1,sm,2},表示第m-1行第1列的角点和第m行第2列的角点组成的集合;
2)当q=2时,子集合vids2={sm-2,1,sm-1,2,sm,3},表示第m-2行第1列、第m-1行第2列和第m行第3列的角点组成的集合;
3)当q=n-1时,子集合vidsn-1={s1,1,s2,2,...,si,j},i,j=1,2,...,n;
4)当q=n时,子集合vidsn={s1,2,s2,3,...,si,j},i=1,2,...,m;j=2,3,...,n;
5)当q=m+n-4时,子集合vidsm+n-4={s1,n-2,s2,n-1,s3,n};
6)当q=m+n-3时,子集合vidsm+n-3={s1,n-1,s2,n};
Step5:应用Step4中角点的划分结果,采用最小二乘法计算hor、ver、mad、vid方向上的平行直线束参数:
若m=n,则平行直线束参数为:
horli[horai,-1,horbi],i=1,2,...,n
verlj[veraj,-1,verbj],j=1,2,...,n
madlk[madak,-1,madbk],k=1,2,...,2n-3
vidlq[vidaq,-1,vidbq],q=1,2,...,2n-3
若m=n-1,则平行直线束参数为:
horli(horai,-1,horbi),i=1,2,...,m
verlj(veraj,-1,verbj),j=1,2,...,n
madlk(madak,-1,madbk),k=1,2,...,m+n-3
vidlq(vidaq,-1,vidbq),q=1,2,...,m+n-3
Step6:建立hor、ver、mad、vid方向的最佳消隐点目标函数:
并应用Levenberg-Marquard算法对最佳消隐点目标函数寻优计算出最佳的消隐点坐标gV=[guva,gvva]T;
Step7:利用消隐线,验证消隐点计算的是否合理:
7.1对Step6中4个消隐点进行随机组合,生成种组合,并拟合出条直线,计算这些直线两两间的夹角,选择出最大的夹角θmax;
7.2判断若θ≤θmax,则这4个消隐点共线,形成了消隐线;反之,转到Step3,重新提取角点亚像素坐标,其中θ为阈值;
Step8:建立摄像机内部参数几何约束方程组:
其中:
fx,fy为CCD摄像机模型u轴和v轴上的归一化像素焦距,(u0,v0)是CCD摄像机模型成像平面的中心坐标;根据摄像机内部参数几何约束方程组,采用奇异值(SVD)分解和Zhang’s的方法计算该内部参数fx,fy,u0,v0;
Step9:计算CCD摄像机模型中摄像机外部参数平移向量T的ZC轴方向的分量tz为:
9.1建立摄像机外部参数的方程组:
其中:摄像机外部参数的平移向量
摄像机外部参数的旋转矩阵
WXi,j和WYi,j为棋盘格标定板中角点的空间坐标;
9.2将摄像机外部参数的方程组变形为矩阵形式为:
式中:向量b=[b1 b2 b3 b4 b5 b6 b7 b8]T;Ux=ui,j-u0;Vx=vi,j-v0;
9.3应用最小二乘法计算9.2中矩阵形式,得到向量b=[b1 b2 b3 b4 b5 b6 b7 b8]T;并根据公式
tz=(tz1+tz2+tz3)/3
得到tz;
Step10:计算旋转矩阵R中的分量r1,r2,r3,r4,r5,r6,r7,r8,r9和平移向量中的分量tx,ty;
Step11:引入一、二阶径向畸变系数k1,k2,对内部参数fx,fy,u0,v0和外部参数R,T进行非线性全局优化:
在摄像机的实际图像平面坐标系UV内建立图像残差当量最小化寻优函数:
式中::3D空间点WS从世界坐标系XWYWZW投影到物理图像平面坐标系UV的畸变2D点实际图像平面坐标;:3D空间点WS从像素图像平面坐标系uv逆向投影到物理图像平面坐标系UV的畸变2D点实际图像坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410292608.6A CN104036512A (zh) | 2014-06-25 | 2014-06-25 | 一种基于正交消隐点的新型Tsai’s摄像机标定改进方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410292608.6A CN104036512A (zh) | 2014-06-25 | 2014-06-25 | 一种基于正交消隐点的新型Tsai’s摄像机标定改进方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104036512A true CN104036512A (zh) | 2014-09-10 |
Family
ID=51467271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410292608.6A Pending CN104036512A (zh) | 2014-06-25 | 2014-06-25 | 一种基于正交消隐点的新型Tsai’s摄像机标定改进方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104036512A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392450A (zh) * | 2014-11-27 | 2015-03-04 | 苏州科达科技股份有限公司 | 确定相机焦距与旋转角度的方法、相机标定方法及系统 |
CN104881874A (zh) * | 2015-06-04 | 2015-09-02 | 西北工业大学 | 基于二元四次多项式畸变误差补偿的双远心镜头标定方法 |
CN105488779A (zh) * | 2014-09-18 | 2016-04-13 | 宝山钢铁股份有限公司 | 摄像机畸变修正标定板及标定方法 |
CN108520541A (zh) * | 2018-03-07 | 2018-09-11 | 鞍钢集团矿业有限公司 | 一种广角摄像机的标定方法 |
CN109410207A (zh) * | 2018-11-12 | 2019-03-01 | 贵州电网有限责任公司 | 一种基于ncc特征的无人机巡线图像输电线路检测方法 |
CN110163918A (zh) * | 2019-04-24 | 2019-08-23 | 华南理工大学 | 一种基于射影几何的线结构光标定方法 |
CN111445532A (zh) * | 2020-03-26 | 2020-07-24 | 北京易康医疗科技有限公司 | 一种专用于磁共振影像几何失真校正的标定方法 |
CN112541952A (zh) * | 2020-12-08 | 2021-03-23 | 北京精英路通科技有限公司 | 停车场景相机标定方法、装置、计算机设备及存储介质 |
-
2014
- 2014-06-25 CN CN201410292608.6A patent/CN104036512A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488779A (zh) * | 2014-09-18 | 2016-04-13 | 宝山钢铁股份有限公司 | 摄像机畸变修正标定板及标定方法 |
CN104392450A (zh) * | 2014-11-27 | 2015-03-04 | 苏州科达科技股份有限公司 | 确定相机焦距与旋转角度的方法、相机标定方法及系统 |
CN104881874A (zh) * | 2015-06-04 | 2015-09-02 | 西北工业大学 | 基于二元四次多项式畸变误差补偿的双远心镜头标定方法 |
CN104881874B (zh) * | 2015-06-04 | 2017-10-27 | 西北工业大学 | 基于二元四次多项式畸变误差补偿的双远心镜头标定方法 |
CN108520541A (zh) * | 2018-03-07 | 2018-09-11 | 鞍钢集团矿业有限公司 | 一种广角摄像机的标定方法 |
CN109410207A (zh) * | 2018-11-12 | 2019-03-01 | 贵州电网有限责任公司 | 一种基于ncc特征的无人机巡线图像输电线路检测方法 |
CN109410207B (zh) * | 2018-11-12 | 2023-05-02 | 贵州电网有限责任公司 | 一种基于ncc特征的无人机巡线图像输电线路检测方法 |
CN110163918A (zh) * | 2019-04-24 | 2019-08-23 | 华南理工大学 | 一种基于射影几何的线结构光标定方法 |
CN110163918B (zh) * | 2019-04-24 | 2023-03-28 | 华南理工大学 | 一种基于射影几何的线结构光标定方法 |
CN111445532A (zh) * | 2020-03-26 | 2020-07-24 | 北京易康医疗科技有限公司 | 一种专用于磁共振影像几何失真校正的标定方法 |
CN112541952A (zh) * | 2020-12-08 | 2021-03-23 | 北京精英路通科技有限公司 | 停车场景相机标定方法、装置、计算机设备及存储介质 |
CN112541952B (zh) * | 2020-12-08 | 2024-07-23 | 北京精英路通科技有限公司 | 停车场景相机标定方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104036512A (zh) | 一种基于正交消隐点的新型Tsai’s摄像机标定改进方法 | |
CN103530880B (zh) | 基于投影高斯网格图案的摄像机标定方法 | |
CN104392435B (zh) | 鱼眼相机标定方法及标定装置 | |
CN103278138A (zh) | 一种复杂结构薄部件三维位置及姿态的测量方法 | |
CN106443650A (zh) | 一种基于几何关系的单目视觉测距方法 | |
CN103150724B (zh) | 一种基于分段模型的摄像机标定方法 | |
CN109523595A (zh) | 一种建筑工程直线棱角间距视觉测量方法 | |
CN105300316A (zh) | 基于灰度重心法的光条中心快速提取方法 | |
CN111062131A (zh) | 一种输电线路弧垂计算方法和相关装置 | |
CN103077524A (zh) | 混合视觉系统标定方法 | |
CN103473771A (zh) | 一种摄相机标定方法 | |
CN104268876A (zh) | 基于分块的摄像机标定方法 | |
CN109465830B (zh) | 机器人单目立体视觉标定系统及方法 | |
CN110706291A (zh) | 一种适用于水池实验中运动物体三维轨迹的视觉测量方法 | |
CN105139355A (zh) | 一种深度图像的增强方法 | |
CN109255818A (zh) | 一种新型标靶及其亚像素级角点的提取方法 | |
CN104167001B (zh) | 基于正交补偿的大视场摄像机标定方法 | |
CN103424087B (zh) | 一种大尺度钢板三维测量拼接方法 | |
CN104504691A (zh) | 基于低秩纹理的摄像机位置和姿态测量方法 | |
CN104807405A (zh) | 一种基于光线角度标定的三维坐标测量方法 | |
CN104574273A (zh) | 点云拼接系统及方法 | |
CN104123726B (zh) | 基于消隐点的大锻件测量系统标定方法 | |
CN112613107A (zh) | 杆塔工程确定施工进度的方法、装置、存储介质及设备 | |
CN104021543A (zh) | 一种基于平面棋盘模板的镜头畸变自校正方法 | |
CN102034234B (zh) | 一种多视图结构光系统自标定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140910 |