CN113129385A - 基于空间中多编码平面靶标的双目摄像机内外参数标定方法 - Google Patents
基于空间中多编码平面靶标的双目摄像机内外参数标定方法 Download PDFInfo
- Publication number
- CN113129385A CN113129385A CN202110391614.7A CN202110391614A CN113129385A CN 113129385 A CN113129385 A CN 113129385A CN 202110391614 A CN202110391614 A CN 202110391614A CN 113129385 A CN113129385 A CN 113129385A
- Authority
- CN
- China
- Prior art keywords
- calibration
- target
- coding
- camera
- shot
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种基于空间中多编码平面靶标的双目摄像机内外参数标定方法,利用两台具有公共视场的大视场摄像机同时拍摄位于空间中多个具有不同姿态的的编码平面靶标,从而获得一组包含多个编码平面靶标的靶标图像;利用编码平面靶标的解码方法和标定角点归类方法,分别获得左摄像机和右摄像机图像上每个编码平面靶标的标定角点信息,使得每幅编码平面靶标都满足标定条件;最后利用张正友标定算法求解每台摄像机的内参数,以及左、右摄像机之间的旋转和平移关系,完成双目摄像机内外参数标定。本发明使得每台摄像机只需拍摄一幅图像即可完成双目摄像机标定,能够在保证标定精度的基础上简化标定过程,提高了摄像机标定的适用性。
Description
技术领域
本发明涉及计算机视觉中摄像机标定方法领域,具体为一种基于空间中多编码平面靶标的双目摄像机标定方法。
背景技术
计算机视觉技术在工业控制、测量学等领域有着广泛的应用,计算机视觉技术主要是利用摄像机的成像,通过图像信息获取空间中被测物体的三维信息,由此重建和识别物体。计算机视觉技术的根本问题是摄像机标定,通过摄像机标定技术可以获得空间三维坐标与图像二维坐标之间的映射关系,摄像机标定技术是计算机视觉测量技术的研究重点,摄像机标定的任务就是求解摄像机的内外参数,摄像机标定技术得到越来越多的关注和发展。
1986年Roger Tsai提出了基于径向约束的摄像机标定算法,该标定算法需要3D立体靶标,使得标定过程不灵活;1999年前后,张正友(Z.Y Zhang)提出了基于平面靶标的摄像机标定算法,该标定算法使用了不包含方向信息和编码信息的平面靶标,标定过程中无法判断出无方向信息的平面靶标的旋转方向,并且张正友(Z.Y Zhang)提出的基于平面靶标的摄像机标定算法要求摄像机拍摄到完整的平面靶标,但实际标定过程中摄像机常常会拍摄不到完整的平面靶标,此时使用传统的没有包含方向信息和编码信息的平面靶标难以进行摄像机标定,特别是双目摄像机的标定,同时难以保证摄像机标定精度。
发明内容
本发明旨在克服现有技术的不足,提出了一种基于空间中多编码平面靶标的双目摄像机内外参数标定方法,利用空间中放置的多个包含方向信息和编码信息的编码平面靶标进行双目摄像机标定,能够保证双目摄像机标定时标定角点的亚像素坐标与其靶标坐标匹配的精度,以及左摄像机图像和右像机图像中同名标定角点的匹配精度,从而提高双目摄像机标定的精度;只需拍摄一张满足标定条件的标定图像即可完成双目摄像机的标定工作,简化标定的复杂程度。
为实现上述效果,本发明采用的技术方案为:
一种基于空间中多编码平面靶标的双目摄像机内外参数标定方法,利用空间中两台具有公共视场的大视场摄像机同时拍摄空间中放置的多个编码平面靶标,从而获得一组包含多个编码平面靶标的标定图像;利用编码平面靶标的解码方法和标定角点的归类方法,分别获得左摄像机和右摄像机图像上每个编码平面靶标的标定角点信息,并筛选出不满足标定条件的编码平面靶标;调整不满足标定条件的编码平面靶标的空间位姿,并重新进行拍摄和判断;最终使得左摄像机和右摄像机图像上的每幅编码平面靶标都满足标定条件;最后利用张正友标定算法求解每台摄像机的内参数,以及左、右摄像机之间的旋转和平移关系,完成双目摄像机内外参数标定。
空间中放置的两台大视场摄像机具有公共视场,且两台摄像机的绝对位置和相对位置均为固定;所述编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,所述编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,所述编码平面靶标一共包含M行×N列个标定角点,其中M和N均为正整数;编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括定位图案、定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中每一个平行四边形编码单元和每一个标定角点进行编码。
空间中所有编码平面靶标上的所有平行四边形编码单元的编码号互不相同;且同一个编码平面靶标上的所有平行四边形编码单元的编码号具有连续性;空间中任意两个编码平面靶标的标定角点数可以相同也可以不相同;空间中任意两个编码平面靶标的尺寸可以相同也可以不同;空间中任意两个编码平面靶标的空间姿态具有明显差异。
所述标定方法包括以下具体步骤:
步骤1、定义标定角点数阈值k1、公共标定角点数阈值k2、双目标定外参优化靶标数阈值G′,其中k1、k2和G′均为整数,k2>1,G′≥1;根据空间中多编码平面靶标的布局规则,将G个编码平面靶标放置在空间中,其中G为整数;
所述空间中多编码平面靶标的布局规则,具体如下:
(1)空间中任意两个编码平面靶标的姿态具有明显的差异;
(2)左摄像机视场中放置N1个编码平面靶标(其中N1为整数);
(3)右摄像机视场中放置N2个编码平面靶标(其中N2为整数);
(4)左摄像机和右摄像机的公共视场中放置N3个编码平面靶标(其中为N3整数,N3≥G′);
(5)编码平面靶标之间可以相互遮挡,即空间中可以有完整的编码平面靶标,也可以存在局部的编码平面靶标。
步骤2、将G个编码平面靶标的初始编码号按照从小到大的顺序排列,并分别记为z1、z2、z3、…、zG,根据编码平面靶标上的第1行第1个平行四边形编码单元的4个顶点中是标定角点的个数,选取合适的标定角点作为该平面靶标的靶标坐标系的原点,并以此原点建立靶标坐标系,其中z1、z2、z3、…、zG均为整数;
建立靶标坐标系的具体步骤为:
步骤2.1、定义整数变量i并赋值i=1;
步骤2.2、将初始编码号为zi的编码平面靶标记为i号编码平面靶标;
步骤2.3、将i号编码平面靶标的最后一个平行四边形编码单元的编号记为z′i;
情况1、当时,记i号编码平面靶标上第1行第1个平行四边形编码单元Γ1 (i)1中的标定角点为原点标定角点此时选取原点标定角点作为i号靶标坐标系的原点以i号编码平面靶标上的辅助向量的方向作为i号靶标坐标系轴的方向;
步骤2.6、判断i是否小于G,若i小于G,则将i+1赋值给i并返回步骤2.2顺序执行;否则执行步骤3;
步骤3、将左摄像机拍摄的空间中放置的多个编码平面靶标所得的图像记为左摄像机靶标图像,将右摄像机拍摄的空间中放置的多个编码平面靶标所得的图像记为右摄像机靶标图像;以左摄像机靶标图像的左上角作为左摄像机靶标图像的标定角点像素坐标系的原点ol,自左向右作为所述左摄像机靶标图像的标定角点像素坐标系的xl轴方向,自上向下作为所述左摄像机靶标图像的标定角点像素坐标系的yl轴方向,建立左摄像机靶标图像的标定角点像素坐标系ol-xlyl;以右摄像机靶标图像的左上角作为右摄像机靶标图像的标定角点像素坐标系的原点or,自左向右作为所述右摄像机靶标图像的标定角点像素坐标系的xr轴方向,自上向下作为所述右摄像机靶标图像的标定角点像素坐标系的yr轴方向,建立右摄像机靶标图像的标定角点像素坐标系or-xryr;
步骤4、以左摄像机的光心作为左摄像机坐标系的原点Ol,c,以左摄像机靶标图像的标定角点像素坐标系的xl轴方向为左摄像机坐标系的Xl,c轴方向,以左摄像机靶标图像的标定角点像素坐标系的yl轴方向作为左摄像机坐标系的Yl,c轴方向,且所述左摄像机坐标系的Xl,c轴、Yl,c轴和Zl,c轴满足右手定则,建立所述左摄像机坐标系Ol,c-Xl,cYl,cZl,c;
以右摄像机的光心作为右摄像机坐标系的原点Or,c,以右摄像机靶标图像的标定角点像素坐标系的xr轴方向为右摄像机坐标系的Xr,c轴方向,以右摄像机靶标图像的标定角点像素坐标系的yr轴方向作为右摄像机坐标系的Yr,c轴方向,且所述右摄像机坐标系的Xr,c轴、Yr,c轴和Zr,c轴满足右手定则,建立所述右摄像机坐标系Or,c-Xr,cYr,cZr,c;
定义整数变量τ并赋值τ=1;
步骤5、利用两台相对位置和绝对位置均固定且具有共视场的大视场摄像机同时拍摄空间中放置的G个编码平面靶标,获得第τ次拍摄的一组靶标图像,其中包含了第τ次拍摄的左摄像机靶标图像和第τ次拍摄的右摄像机靶标图像,其中为τ正整数;
步骤6、将第τ次拍摄的左摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合、第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);
步骤7、将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第τ次拍摄的左摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、G号编码平面靶标上的标定角点个数(若第τ次拍摄的左摄像机靶标图像中不包含某个编码平面靶标,则其标定角点个数输出为0);
步骤8、依次判断第τ次拍摄的左摄像机靶标图像中第i个编码平面靶标上的标定角点个数是否满足标定角点个数阈值k1,并对不满足标定条件的编码平面靶标进行标记,其中i为正整数且i∈[1,G];具体判定方法为:
步骤8.1、取整数变量i并赋值i=1;定义整数变量β1并赋值β1=0;定义整型数组L[N1]并将数组中的所有元素赋值为0;
若则将i赋值给L[β1],将β1+1赋值给β1,并将第τ次拍摄的左摄像机靶标图像中i号编码平面靶标作为第τ次拍摄的第β1个左摄像机标定靶标,将第τ次拍摄的左摄像机靶标图像中i号编码平面靶标上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下亚像素坐标集合和标定角点唯一编码序号集合作为第τ次拍摄的第β1个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和标定角点唯一编码序号集合,而后执行步骤8.3;
步骤8.3、判断i是否小于G,若i<G,则将i+1赋值给i,并返回步骤8.2顺序执行;
步骤9、判断每个编码平面靶标上是否均获得满足标定条件的标定角点个数,即判断β1是否等于N1,若β1==N1,则执行步骤10;否则,若不满足则对所标记的不满足标定条件的编码平面靶标进行位姿调整,将τ+1赋值给τ后返回循环执行步骤5至步骤8,直至每个编码平面靶标上均获得满足标定条件的标定角点个数;
在调整被标记的编码平面靶标时,需满足以下要求:
(1)被标记的编码平面靶标进行调整后,其空间姿态与其他任一编码平面靶标仍具有明显差异;
(2)在调整被标记的编码平面靶标时,不会影响其它编码平面靶标上标定角点的提取;
步骤10、采用所述步骤6至步骤9与左摄像机相同的处理方法,将第τ次拍摄的右摄像机靶标图像作为输入条件,直至右摄像机获得的靶标图像中每个编码平面靶标上均获得满足标定条件的标定角点个数;获得第τ次拍摄的右摄像机靶标图像上提取到的所有标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下的亚像素坐标集合、第τ次拍摄的右摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);获得第τ次拍摄的右摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、G号编码平面靶标上的标定角点个数(若第τ次拍摄的右摄像机靶标图像中不包含某个编码平面靶标,则其标定角点个数输出为0),以及第τ次拍摄的第β2个右摄像机标定靶标上的标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下亚像素坐标集合和标定角点唯一编码序号集合;
步骤11、依次对第τ次拍摄的左摄像机靶标图像中i号编码平面靶标上的标定角点个数和第τ次拍摄的右摄像机靶标图像中i号编码平面靶标上的标定角点个数进行判断,将满足条件的第τ次拍摄的左摄像机靶标图像中i号编码平面靶标作为对应的左摄像机外参标定靶标,将将满足条件的第τ次拍摄的右摄像机靶标图像中i号编码平面靶标作为对应的右摄像机外参标定靶标;具体判定方法为:
步骤11.1、取整数变量i并赋值i=1;定义整数变量β3并赋值β3=0;定义整型数组A1[N3]并将数组中的所有元素赋值为0;
若且则将i赋值给A1[β3],将β3+1赋值给β3,将第τ次拍摄的左摄像机靶标图像中i号编码平面靶标作为第τ次拍摄的第β3个左摄像机外参标定靶标,将第τ次拍摄的右摄像机靶标图像中i号编码平面靶标作为第β3个右摄像机外参标定靶标,而后执行步骤11.3;否则直接执行步骤11.3;
步骤11.3、判断i是否小于G,若i<G,则将i+1赋值给i后返回步骤11.2顺序执行;否则执行步骤11.4;
步骤11.4、取整数变量i并赋值i=1;定义整数变量β′3并赋值β′3=0;定义整型数组A2[N3]并将数组中的所有元素赋值为0;
步骤11.5、比较第τ次拍摄的左摄像机靶标图像中第i个外参标定靶标的标定角点唯一编码序号集合和第τ次拍摄的右摄像机靶标图像中第i个外参标定靶标的标定角点唯一编码序号集合,统计相同的标定角点唯一编码序号的公共标定角点个数并进行判断:
若则将i赋值给A2[β′3],将β′3+1赋值给β′3,并将第τ次拍摄的第i个左摄像机外参标定靶标作为第τ次拍摄的第β3′个左摄像机外参优化靶标,将第τ次拍摄的第i个右摄像机外参标定靶标作为第τ次拍摄的第β3′个右摄像机外参优化靶标,而后执行步骤11.6;否则将第τ次拍摄的第i个左摄像机外参标定靶标和第τ次拍摄的第i个右摄像机外参标定靶标进行标记,并执行步骤11.6;
步骤11.6、判断i是否小于N3,若i<N3,则将i+1赋值给i后返回步骤11.5顺序执行;否则执行步骤11.7;
步骤11.7、判断β3′是否小于G′,若β′3<G′则执行步骤12;
步骤11.8、将τ+1赋值给τ后返回步骤5顺序执行;
步骤12、在被标记的第τ次拍摄的左摄像机外参标定靶标和第τ次拍摄的右摄像机外参标定靶标中,分别对对应的实际空间中放置的编码平面靶标进行位姿调整,使其公共标定角点数满足公共标定角点数阈值;本步骤中,在调整被标记的编码平面靶标时,需满足与步骤9中相同的要求。
步骤13、获得左摄像机标定匹配组和右摄像机标定匹配组,具体步骤为:
步骤13.1、取整数i并赋值i=1;
步骤13.2、利用编码平面靶标上标定角点的靶标坐标计算方法,计算出第τ次拍摄的第i个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标和与之一一对应的空间中第L[i-1]个编码平面靶标上具有相同唯一编码序号的标定角点在第L[i-1]个靶标坐标系下的靶标坐标之间的匹配关系,并将此匹配关系记为第τ次拍摄的第i个左摄像机标定匹配组;
步骤13.3、判断i是否小于N1,若i<N1,则将i+1赋值给i后返回步骤13.2顺序执行;否则,即获得了第τ次拍摄的N1个左摄像机标定匹配组;
步骤13.4、定义整数变量i1、i2并赋值i1=0,i2=0;
步骤13.5、判断L[i1]是否等于A1[i2],若L[i1]==A1[i2],则将第τ次拍摄的第(i1+1)个左摄像机标定匹配组作为第τ次拍摄的第(i2+1)个左摄像机外参标定匹配组,将第τ次拍摄的第(i1+1)个左摄像机标定靶标作为第τ次拍摄的第(i2+1)个左摄像机外参标定靶标,并执行步骤13.6;否则将(i1+1)赋值给i1后重新执行本步骤;
步骤13.6、判断i2是否小于(N3-1),若i2<(N3-1),则将(i2+1)赋值给i2,重新给第i1赋值i1=0,并返回步骤13.5顺序执行;否则找到了第τ次拍摄的N1个左摄像机标定匹配组中包含的N3个左摄像机外参标定匹配组;
步骤13.7、取i整数变量并赋值i=0;
步骤13.8、将第τ次拍摄的第A2[i]个左摄像机外参标定匹配组作为第τ次拍摄的第(i+1)个左摄像机外参优化匹配组;
步骤13.9、判断i是否小于(β′3-1),若i<(β′3-1),则将i+1赋值给i后返回步骤13.8顺序执行,否则获得了第τ次拍摄的β′3个左摄像机外参优化匹配组。
采用与获得左摄像机标定匹配组相同的方法获得右摄像机标定匹配组。
步骤14、根据第τ次拍摄的N1个左摄像机标定匹配组,利用单目摄像机内外参数标定算法计算出左摄像机的内参数、畸变系数以及从左摄像机坐标系分别变换到空间中L[0]号靶标坐标系、L[1]号靶标坐标系、…、L[N1-1]号靶标坐标系的旋转矩阵 和平移向量
根据第τ次拍摄的N2个右摄像机标定匹配组,利用单目摄像机内外参数标定算法计算出右摄像机的内参数、畸变系数以及从右摄像机坐标系分别变换到空间中R[0]号靶标坐标系、R[1]号靶标坐标系、…、R[N2-1]号靶标坐标系的旋转矩阵 和平移向量
步骤15、在获得的左摄像机坐标系分别变换到L[0]号靶标坐标系、L[1]号靶标坐标系、…、L[N1-1]号靶标坐标系的旋转矩阵和平移向量 中,寻找左摄像机坐标系分别变换到A1[0]号靶标坐标系、A1[1]号靶标坐标系、…、A1[N3]号靶标坐标系的旋转矩阵和平移向量
在获得的右摄像机坐标系分别变换到空间中R[0]号靶标坐标系、R[1]号靶标坐标系、…、R[N2-1]号靶标坐标系的旋转矩阵和平移向量 中,寻找右摄像机坐标系分别变换到A1[0]号靶标坐标系、A1[1]号靶标坐标系、…、A1[N3]号靶标坐标系的旋转矩阵和平移向量
步骤16、利用左摄像机坐标系变换到A1[i]号靶标坐标系的旋转矩阵R′l,i+1和平移向量T′l,i+1以及右摄像机坐标系变换到A1[i]号靶标坐标系的旋转矩阵R′r,i+1和平移向量T′r,i+1,根据式(1)和(2)求解出左摄像机坐标系和右摄像机坐标系之间的旋转和平移关系:
判断i是否小于N3,若i<N3,则将i+1赋值给i后返回步骤16顺序执行;否则执行步骤17;
步骤17、通过公式(3)计算出从左摄像机坐标系变换到右摄像机坐标系的旋转矩阵R和平移向量T(双目摄相机的外参数)的初始值:
步骤18、根据获得左摄像机的内参数和畸变系数、右摄像机的内参数和畸变系数以及左摄像机与右摄像机之间的初始外参数后,利用基于标准长度的优化方法,计算出双目摄像机外参的精确值R′和T′,以此完成双目摄像机标定。
将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点进行归类,获得第τ次拍摄的左摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、G号编码平面靶标上的标定角点个数其步骤如下:
步骤2、定义整数变量j、k,并赋值j=1,k=1;
(1)若则将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合中第j个标定角点亚像素坐标放入第τ次拍摄的左摄像机靶标图像上k号编码平面靶标的标定角点亚像素坐标集合中,将赋值给并执行步骤4;
(2)判断k是否小于G,若k<G,则将k+1赋值给k后重新执行本步骤3;否则执行步骤4;
步骤4、判断j是否小于若则将j+1赋值给j,重新给k赋值k=1,并返回步骤3顺序执行;否则,已将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点进行了归类,获得了第τ次拍摄的左摄像机靶标图像上每个编码平面靶标的标定角点在左摄像机图像的标定角点像素坐标系ol-xlyl下亚像素坐标集合,同时获得第τ次拍摄的左摄像机靶标图像上1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、G号编码平面靶标上的标定角点个数
还提供了一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行所述的参数标定方法。
与现有技术相比较,本发明的有益效果如下:
(1)相较于传统的棋盘格靶标,本发明中提出的编码平面靶标上具有编码图案,包含了编码立体靶标的方向信息和标定角点的编码信息,能够在标定时准确地给出标定角点的亚像素坐标、标定角点的唯一编码序号和标定角点靶标坐标三者的一一对应关系,保证并提高了标定结果的精度;
(2)与利用传统棋盘格靶标进行标定的方法相比,本发明提出的基于空间中多编码平面靶标的双目摄像机标定方法,在满足标定条件的前提下,即使拍摄的图像中包含局部的编码平面靶标,依然能够完成标定工作,提高了双目摄像机标定的鲁棒性;
(3)与传统的双目摄像机标定方法相比,本发明提出的基于空间中多编码平面靶标的双目摄像机标定方法只需拍摄到一组(一幅左摄像机图像和一幅右摄像机图像)满足标定条件的靶标图像即可进行标定工作,极大简化了标定工作的复杂程度;
(4)本发明提出的基于空间中多编码平面靶标的双目摄像机标定方法适用于小视场或大视场、复杂背景下的双目摄像机标定,尤其在大视场双目摄像机标定情况下,具有极强的适用性;
(5)本发明提出的标定方法,在获取图像中标定角点的编码信息时,能够去除复杂背景,并消除其对编码图案和标定角点的干扰,以保证获得的标定角点数据和编码信息的准确性和可靠性;
(6)本发明提出的基于空间中多编码平面靶标的双目摄像机标定方法,通过标定角点的唯一编码号进行标定角点归类和左、右摄像机图像中同名标定角点的匹配,使得双目标定过程更加鲁棒,极大提高了双目摄像机标定结果的精度。
附图说明
图1为本发明基于空间中多编码平面靶标的双目摄像机标定方法标定设备示意图;
图2为空间中1号编码平面靶标的结构示意图;
图3为空间中2号编码平面靶标的结构示意图;
图4为空间中3号编码平面靶标的结构示意图;
图5为空间中4号编码平面靶标的结构示意图;
图6为空间中5号编码平面靶标的结构示意图;
图7为编码平面靶标中平行四边形编码单元的编码区域划分示意图;
图8为空间中1号编码平面靶标中正向向量和规定向量的选取示意图;
图9为空间中2号编码平面靶标中正向向量和规定向量的选取示意图;
图10为空间中3号编码平面靶标中正向向量和规定向量的选取示意图;
图11为空间中4号编码平面靶标中正向向量和规定向量的选取示意图;
图12为空间中5号编码平面靶标中正向向量和规定向量的选取示意图;
图13为空间中建立每个编码平面靶标的靶标坐标系的示意图;
图14为第1次拍摄的左摄像机靶标图像;
图15为第1次拍摄的右摄像机靶标图像;
图16为第1次拍摄的左摄像机靶标图像上标定角点提取结果示意图;
图17为第1次拍摄的右摄像机靶标图像上标定角点提取结果示意图;
图18为第2次拍摄的左摄像机靶标图像;
图19为第2次拍摄的右摄像机靶标图像;
图20为第2次拍摄的左摄像机靶标图像上标定角点提取结果示意图;
图21为第2次拍摄的右摄像机靶标图像上标定角点提取结果示意图;
图22为第3次拍摄的左摄像机靶标图像;
图23为第3次拍摄的右摄像机靶标图像;
图24为第3次拍摄的左摄像机靶标图像上标定角点提取结果示意图;
图25为第3次拍摄的右摄像机靶标图像上标定角点提取结果示意图;
图26为第1个无复杂背景靶标图像p′1;
图27为第2个无复杂背景靶标图像p′2;
图28为第3个无复杂背景靶标图像p′3;
图29为第4个无复杂背景靶标图像p′4;
图30为第5个无复杂背景靶标图像p′5;
图31为第1个靶标二值化腐蚀图像p″′1;
图32为第1个无复杂背景的单元二值化图像E1;
图33为本发明基于空间中多编码平面靶标的双目摄像机标定方法流程示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
基于空间中多编码平面靶标的双目摄像机内外参数标定方法,利用空间中两台具有公共视场的大视场摄像机同时拍摄空间中放置的多个编码平面靶标,从而获得一组包含多个编码平面靶标的标定图像;利用编码平面靶标的解码方法和标定角点的归类方法,分别获得左摄像机和右摄像机图像上每个编码平面靶标的标定角点信息,并筛选出不满足标定条件的编码平面靶标;调整不满足标定条件的编码平面靶标的空间位姿,并重新进行拍摄和判断;最终使得左摄像机和右摄像机图像上的每幅编码平面靶标都满足标定条件;最后利用张正友标定算法求解每台摄像机的内参数,以及左、右摄像机之间的旋转和平移关系,完成双目摄像机内外参数标定。本实施例中,在空间中共放置了5个编码平面靶标,如图1所示;其中5个编码平面靶标的结构示意图如图2至图6所示;
基于空间中多编码平面靶标的双目摄像机内外参数标定方法,空间中放置的两台大视场摄像机具有公共视场,且两台摄像机的绝对位置和相对位置均为固定;如图1所示;空间中任意两个编码平面靶标的空间姿态具有明显差异。
所述编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,所述编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,所述编码平面靶标一共包含M行×N列个标定角点,其中M和N均为正整数;编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括定位图案、定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中每一个平行四边形编码单元和每一个标定角点进行编码;本实施例中,每个编码平面靶标均包含5行×5列个标定角点,平行四边形编码单元的背景颜色均为黑色,平行四边形非编码单元的背景颜色为白色,定位图案为白色实心圆,定向图案为白色圆环,每个编码单元图案均为实心小圆。
如图7所示,编码平面靶标中的每个平行四边形编码单元被划分为6个编码区域,每个编码区域中均包含2个编码单元图案(即编码标志圆),且每个编码区域中的2个编码标志圆又分为第1位编码标志圆和第2位编码标志圆,则任意一个编码区域内的2个编码标志圆的编码取值可分别记为和(其中g代表编码区域号,即g=1,2,3,4,5,6);且当编码标志圆的颜色位黑色时,其对应编码值为0,当编码标志圆为白色时,其对应的编码值为1;则最终可以得出平行四边形编码单元的编码号为z=UT·V,其中z为整数,U=(20,21,...,211)T,
空间中所有编码平面靶标上的所有平行四边形编码单元的编码号互不相同;且同一个编码平面靶标上的所有平行四边形编码单元的编码号具有连续性;本实施例中,5个编码平面靶标的初始编码号分别为z1=0,z2=20,z3=60,z4=87,z5=105;并根据初始编码号的大小按照从小到大的顺序依此将5个编码平面靶标记为1号编码平面靶标、2号编码平面靶标、…、5号编码平面靶标;并且1号编码平面靶标的平行四边形编码单元的编号范围为0至17,2号编码平面靶标的平行四边形编码单元的编号范围为20至37,3号编码平面靶标的平行四边形编码单元的编号范围为60至77,4号编码平面靶标的平行四边形编码单元的编号范围为87至104,5号编码平面靶标的平行四边形编码单元的编号范围为105至122。
空间中任意两个编码平面靶标的标定角点数可以相同也可以不相同;实施例中每个编码平面靶标的标定角点个数均为25个。
空间中任意两个编码平面靶标的尺寸可以相同也可以不同;在具体实施例中,1号编码平面靶标中每个平行四边形编码单元均为边长为82mm的正方形,2号编码平面靶标中每个平行四边形编码单元均为边长为65mm的正方形,3号编码平面靶标中每个平行四边形编码单元均为边长为65mm的正方形,4号编码平面靶标中每个平行四边形编码单元均为边长为82mm的正方形,5号编码平面靶标中每个平行四边形编码单元均为边长为65mm的正方形。
以1号编码平面靶标为例,任取1号编码平面靶标中的一个平行四边形编码单元记为1号编码平面靶标向量确定编码单元任取1号编码平面靶标向量确定编码单元的一个顶点记为向量确定编码单元第一顶点o″1 (1),在1号编码平面靶标向量确定编码单元中将相交形成向量确定编码单元第一顶点o″1 (1)的任意一条边记为向量确定编码单元第一边在向量确定编码单元第一边上取向量确定编码单元的顶点记为向量确定编码单元第一边上第一点o″2 (1),其中向量确定编码单元第一边上第一点o″2 (1)与向量确定编码单元第一顶点o″1 (1)是互不重合的2个点,记向量为1号编码平面靶标的规定向量并且编码平面靶标内的每一个平行四边形编码单元中的定位图案和定向图案的位置关系如下:在同一平行四边形编码单元内由定向图案质心指向定位图案质心的方向与1号编码平面靶标的规定向量的方向相同;1号编码平面靶标的规定向量的选取如图8所示。
将1号编码平面靶标所在的平面记为1号靶标平面以向量确定编码单元第一顶点o″1 (1)为起点做一个与1号编码平面靶标的规定向量同向的单位向量记为1号编码平面靶标的第1个规定单位向量当人正视看向编码平面靶标时,以向量确定编码单元第一顶点o″1 (1)为旋转中心,在1号靶标平面Pt (1)内将1号编码平面靶标的第1个规定单位向量逆时针旋转β′角度(0°<β′<90°)得到1号编码平面靶标的第2个规定单位向量在空间中以向量确定编码单元第一顶点o″1 (1)为起点做一个与所得向量的方向相同的单位向量,并记为1号编码平面靶标的正向向量将1号编码平面靶标向量确定编码单元上距离1号编码平面靶标向量确定编码单元中的定向图案最近的两个顶点分别记为第1临时顶点o″3 1和第2临时顶点o″4 1;若向量叉乘1号编码平面靶标的规定向量所得向量的方向与1号编码平面靶标的规定向量正向向量的方向相同,则将向量记为1号编码平面靶标的辅助向量若向量叉乘1号编码平面靶标的规定向量所得向量的方向与1号编码平面靶标的正向向量的方向不相同,则将向量记为1号编码平面靶标的辅助向量1号编码平面靶标的辅助向量和1号编码平面靶标的正向向量选取如图8所示。
其余编码平面靶标上辅助向量和正向向量的选取可参考1号编码平面靶标,其结果如图9至图12所示。
请参阅图33,所述基于空间中多个编码平面靶标的双目摄像机内外参数标定方法,其标定方法包括以下步骤:
步骤1、定义标定角点数阈值k1=15、公共标定角点数阈值k2=3、双目标定外参优化靶标数阈值G′=1;根据空间中多编码平面靶标的布局规则,将G(其中G==5)个编码平面靶标放置在空间中;本实施例中,左摄像机视场中放置N1(N1==5)个编码平面靶标,右摄像机视场中放置N2(N2==5)个编码平面靶标,左摄像机和右摄像机的公共视场中放置N3(N3==5,N3>G′)个编码平面靶标。
步骤2:将5个编码平面靶标的初始编码号按照从小到大的顺序排列,并分别记为z1、z2、z3、…、z5,在具体实施例中,根据空间中的每个编码平面靶标上的第1行第1个平行四边形编码单元的4个顶点中是标定角点的个数为情况,每个编码平面靶标的靶标坐标系的建立如图13所示。
步骤3、将左摄像机拍摄的空间中放置的多个编码平面靶标所得的图像记为左摄像机靶标图像,将右摄像机拍摄的空间中放置的多个编码平面靶标所得的图像记为右摄像机靶标图像;
以左摄像机靶标图像的左上角作为左摄像机靶标图像的标定角点像素坐标系的原点ol,自左向右作为所述左摄像机靶标图像的标定角点像素坐标系的xl轴方向,自上向下作为所述左摄像机靶标图像的标定角点像素坐标系的yl轴方向,从而建立左摄像机靶标图像的标定角点像素坐标系ol-xlyl;
以右摄像机靶标图像的左上角作为右摄像机靶标图像的标定角点像素坐标系的原点or,自左向右作为所述右摄像机靶标图像的标定角点像素坐标系的xr轴方向,自上向下作为所述右摄像机靶标图像的标定角点像素坐标系的yr轴方向,从而建立右摄像机靶标图像的标定角点像素坐标系or-xryr;
步骤4、以左摄像机的光心作为左摄像机坐标系的原点Ol,c,以左摄像机靶标图像的标定角点像素坐标系的xl轴方向为左摄像机坐标系的Xl,c轴方向,以左摄像机靶标图像的标定角点像素坐标系的yl轴方向作为左摄像机坐标系的Yl,c轴方向,且所述左摄像机坐标系的Xl,c轴、Yl,c轴和Zl,c轴满足右手定则,从而建立所述左摄像机坐标系Ol,c-Xl,cYl,cZl,c;
以右摄像机的光心作为右摄像机坐标系的原点Or,c,以右摄像机靶标图像的标定角点像素坐标系的xr轴方向为右摄像机坐标系的Xr,c轴方向,以右摄像机靶标图像的标定角点像素坐标系的yr轴方向作为右摄像机坐标系的Yr,c轴方向,且所述右摄像机坐标系的Xr,c轴、Yr,c轴和Zr,c轴满足右手定则,建立所述右摄像机坐标系Or,c-Xr,cYr,cZr,c。
下面以本实施例的5个编码平面靶标的具体标定过程来说明本发明标定方法的具体应用过程。
定义整数变量τ并赋值τ=1。
第1次拍摄:
步骤5、利用两台相对位置和绝对位置均固定且具有共视场的大视场摄像机同时拍摄空间中放置的5个编码平面靶标,获得第1次拍摄的一组靶标图像,其中包含了第1次拍摄的左摄像机靶标图像(如图14所示)和第1次拍摄的右摄像机靶标图像(如图15所示);
步骤6、将第1次拍摄的左摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第1次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合、第1次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);角点提取结果如图16所示;
步骤7、将第1次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和第1次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将第1次拍摄的左摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第1次拍摄的左摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、5号编码平面靶标上的标定角点个数
步骤8.1、取整数变量i并赋值i=1;定义整数变量β1并赋值β1=0;定义整型数组L[5]并将数组中的所有元素赋值为0;
步骤8.2、判断第1次拍摄的左摄像机靶标图像中i号编码平面靶标上的标定角点个数是否大于标定角点个数阈值15:在具体实施例中,只有3号编码平面靶标的标定角点个数不满足标定角点个数阈值则对空间中放置的3号编码平面靶标进行标记,β1==4,则执行步骤9;
步骤9、在实际空间中,对上述经过步骤8.1至8.3标记的编码平面靶标(即3号编码平面靶标)进行位姿调整,将τ+1赋值给τ后返回步骤5顺序执行。
第2次拍摄:
步骤5、利用两台相对位置和绝对位置均固定且具有共视场的大视场摄像机同时拍摄空间中放置的5个编码平面靶标,获得第2次拍摄的一组靶标图像,其中包含了第2次拍摄的左摄像机靶标图像(如图18所示)和第2次拍摄的右摄像机靶标图像(如图19所示);
步骤6、将第2次拍摄的左摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第2次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合、第2次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);角点提取结果如图20所示;
步骤7、将第2次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和第2次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将第2次拍摄的左摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第2次拍摄的左摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、5号编码平面靶标上的标定角点个数
步骤8、在具体实施例中,第2次拍摄时,左摄像机靶标图像中所有编码平面靶标的标定角点个数均满足阈值,β1==5,则执行步骤10;
步骤10、将第2次拍摄的右摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第2次拍摄的右摄像机靶标图像上提取到的所有标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下的亚像素坐标集合、第2次拍摄的右摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);角点提取结果如图21所示。
将第2次拍摄的右摄像机靶标图像上提取到的所有标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下的亚像素坐标集合和第2次拍摄的右摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将右摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第2次拍摄的右摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、5号编码平面靶标上的标定角点个数
具体实施例中,在第2次拍摄的右摄像机靶标图像中,1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数3号编码平面靶标上的标定角点个数4号编码平面靶标上的标定角点个数5号编码平面靶标上的标定角点个数
取整数变量i并赋值i=1;定义整数变量β2并赋值β2=0;定义整型数组R[5]并将数组中的所有元素赋值为0;在实施例中,第2次拍摄时,右摄像机靶标图像中只有2号编码平面靶标的标定角点个数不满足阈值则对空间中放置的2号编码平面靶标进行标记,β2==4,则在实际空间中,对上述标记的编码平面靶标(即2号编码平面靶标)进行位姿调整,将τ+1赋值给τ后返回步骤5顺序执行。
第3次拍摄:
步骤5、利用两台相对位置和绝对位置均固定且具有共视场的大视场摄像机同时拍摄空间中放置的5个编码平面靶标,获得第3次拍摄的一组靶标图像,其中包含了第3次拍摄的左摄像机靶标图像(如图22所示)和第3次拍摄的右摄像机靶标图像(如图23所示);
步骤6、将第3次拍摄的左摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第3次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合、第3次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);角点提取结果如图24所示;
步骤7、将第3次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和第3次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将第3次拍摄的左摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第3次拍摄的左摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、5号编码平面靶标上的标定角点个数
具体实施例中,在第3次拍摄的左摄像机靶标图像中,1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数3号编码平面靶标上的标定角点个数4号编码平面靶标上的标定角点个数5号编码平面靶标上的标定角点个数
步骤8.1、取整数变量i并赋值i=1;定义整数变量β1并赋值β1=0;定义整型数组L[5]并将数组中的所有元素赋值为0;
步骤8.2、在具体实施例中,第3次拍摄时,左摄像机靶标图像中所有编码平面靶标的标定角点个数均满足阈值,β1==5,则执行步骤10;
步骤10、将第3次拍摄的右摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第3次拍摄的右摄像机靶标图像上提取到的所有标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下的亚像素坐标集合、第3次拍摄的右摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合(其中每个标定角点的亚像素坐标与其唯一编码序号一一对应);角点提取结果如图25所示;
将第3次拍摄的右摄像机靶标图像上提取到的所有标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下的亚像素坐标集合和第3次拍摄的右摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将右摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第2次拍摄的右摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、5号编码平面靶标上的标定角点个数
具体实施例中,在第3次拍摄的右摄像机靶标图像中,1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数3号编码平面靶标上的标定角点个数4号编码平面靶标上的标定角点个数5号编码平面靶标上的标定角点个数
取整数变量i并赋值i=1;定义整数变量β2并赋值β2=0;定义整型数组R[5]并将数组中的所有元素赋值为0;
在实施例中,第3次拍摄时,右摄像机靶标图像中每个编码平面靶标的标定角点个数均满足阈值,β2==5,则执行步骤11;
步骤11.1、取整数变量i并赋值i=1;定义整数变量β3并赋值β3=0;定义整型数组A1[5]并将数组中的所有元素赋值为0;
本次实施例中,第3此拍摄时,左、右摄像机靶标图像中的所有标定角点个数均满足阈值,故将第3次拍摄的左摄像机靶标图像中的1号编码平面靶标、2号编码平面靶标、…、5号编码平面靶标分别作为第1个左摄像机外参标定靶标、第2个左摄像机外参标定靶标、…、第5个左摄像机外参标定靶标;将第3次拍摄的右摄像机靶标图像中的1号编码平面靶标、2号编码平面靶标、…、5号编码平面靶标分别作为第1个右摄像机外参标定靶标、第2个右摄像机外参标定靶标、…、第5个右摄像机外参标定靶标;
步骤11.4、取整数变量i并赋值i=1;定义整数变量β3′并赋值β3′=0;定义整型数组A2[5]并将数组中的所有元素赋值为0;
步骤11.5、比较第3次拍摄的左摄像机靶标图像中第i个外参标定靶标的标定角点唯一编码序号集合和第3次拍摄的右摄像机靶标图像中第i个外参标定靶标的标定角点唯一编码序号集合,统计相同的标定角点唯一编码序号的公共标定角点个数并进行判断:
在第3次拍摄时,左、右摄像机靶标图像中第1个外参标定靶标的公共标定角点个数第2个外参标定靶标的公共标定角点个数第3个外参标定靶标的公共标定角点个数第4个外参标定靶标的公共标定角点个数第5个外参标定靶标的公共标定角点个数β3′==5>1,则执行步骤13;
步骤13.1、取整数i并赋值i=1;
步骤13.2、将第3次拍摄的第i个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和标定角点唯一编码序号集合作为输入条件,利用编码平面靶标上标定角点的靶标坐标计算方法,计算出第3次拍摄的第i个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标和与之一一对应的空间中第L[i-1]个编码平面靶标上具有相同唯一编码序号的标定角点在第L[i-1]个靶标坐标系下的靶标坐标之间的匹配关系,将此匹配关系记为第3次拍摄的第i个左摄像机标定匹配组;
步骤13.3、判断i是否小于5,若i<5,则将i+1赋值给i后返回步骤8.2顺序执行;否则,即获得了第3次拍摄的5个左摄像机标定匹配组;
实施例中,第3次拍摄的第1个左摄像机靶标匹配组如下表1.1所示:
表1.1
第3次拍摄的第2个左摄像机靶标匹配组如下表1.2所示:
表1.2
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (1565.95,593.658) | 34_6 | (260,260,0) |
2 | (1515.15,597.294) | 33_1 | (195,260,0) |
3 | (1463.81,600.978) | 33_6 | (130,260,0) |
4 | (1411.79,604.626) | 32_1 | (65,260,0) |
5 | (1359.26,608.39) | 32_6 | (0,260,0) |
6 | (1569.41,647.203) | 31_1 | (260,195,0) |
7 | (1518.63,651.051) | 31_6 | (195,195,0) |
8 | (1467.39,654.965) | 30_1 | (130,195,0) |
9 | (1415.41,658.847) | 30_6 | (65,195,0) |
10 | (1362.81,662.706) | 29_1 | (0,195,0) |
11 | (1572.67,700.67) | 28_6 | (260,130,0) |
12 | (1522.01,704.775) | 27_1 | (195,130,0) |
13 | (1470.74,708.871) | 27_6 | (130,130,0) |
14 | (1418.85,712.957) | 26_1 | (65,130,0) |
15 | (1366.3,717.055) | 26_6 | (0,130,0) |
16 | (1575.85,753.958) | 25_1 | (260,65,0) |
17 | (1525.21,758.159) | 25_6 | (195,65,0) |
18 | (1473.96,762.558) | 24_1 | (130,65,0) |
19 | (1422.01,766.885) | 24_6 | (65,65,0) |
20 | (1369.68,771.145) | 23_1 | (0,65,0) |
21 | (1578.66,807.115) | 22_6 | (260,0,0) |
22 | (1528.1,811.685) | 21_1 | (195,0,0) |
23 | (1476.89,816.128) | 21_6 | (130,0,0) |
24 | (1425.14,820.66) | 20_1 | (65,0,0) |
25 | (1372.72,825.194) | 20_6 | (0,0,0) |
第3次拍摄的第3个左摄像机靶标匹配组如下表1.3所示:
表1.3
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (43.0295,213.566) | 72_1 | (65,260,0) |
2 | (40.3195,262.27) | 70_6 | (65,195,0) |
3 | (37.3387,312.53) | 66_1 | (65,130,0) |
4 | (34.7482,364.339) | 64_6 | (65,65,0) |
5 | (32.302,417.482) | 60_1 | (65,0,0) |
6 | (106.736,219.495) | 73_6 | (130,260,0) |
7 | (104.815,267.565) | 70_1 | (130,195,0) |
8 | (103.002,317.404) | 67_6 | (130,130,0) |
9 | (101.341,368.812) | 64_1 | (130,65,0) |
10 | (99.8036,421.57) | 61_6 | (130,0,0) |
11 | (169.235,225.168) | 73_1 | (195,260,0) |
12 | (168.514,272.809) | 71_6 | (195,195,0) |
13 | (167.585,322.438) | 67_1 | (195,130,0) |
14 | (166.952,373.072) | 65_6 | (195,65,0) |
15 | (166.57,425.488) | 61_1 | (195,0,0) |
16 | (230.967,230.616) | 74_6 | (260,260,0) |
17 | (231.051,277.897) | 71_1 | (260,195,0) |
18 | (231.147,326.904) | 68_6 | (260,130,0) |
19 | (231.542,377.322) | 65_1 | (260,65,0) |
20 | (232.113,429.225) | 62_6 | (260,0,0) |
第3次拍摄的第4个左摄像机靶标匹配组如下表1.4所示:
表1.4
第3次拍摄的第5个左摄像机靶标匹配组如下表1.5所示
表1.5
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (748.144,364.867) | 117_6 | (0,260,0) |
2 | (742.393,411.733) | 114_1 | (0,195,0) |
3 | (736.537,458.532) | 111_6 | (0,130,0) |
4 | (730.917,505.054) | 108_1 | (0,65,0) |
5 | (725.343,551.282) | 105_6 | (0,0,0) |
6 | (793.21,370.438) | 117_1 | (65,260,0) |
7 | (787.404,417.024) | 115_6 | (65,195,0) |
8 | (781.617,463.388) | 111_1 | (65,130,0) |
9 | (775.803,50***) | 109_6 | (65,65,0) |
10 | (770.292,555.5) | 105_1 | (65,0,0) |
11 | (837.653,376.085) | 118_6 | (130,260,0) |
12 | (831.768,422.207) | 115_1 | (130,195,0) |
13 | (826.005,468.337) | 112_6 | (130,130,0) |
14 | (820.195,514.124) | 109_1 | (130,65,0) |
15 | (814.503,559.708) | 106_6 | (130,0,0) |
16 | (881.286,381.725) | 118_1 | (195,260,0) |
17 | (875.429,427.436) | 116_6 | (195,195,0) |
18 | (869.561,473.221) | 112_1 | (195,130,0) |
19 | (863.789,518.6) | 110_6 | (195,65,0) |
20 | (858.074,563.866) | 106_1 | (195,0,0) |
21 | (924.214,387.092) | 119_6 | (260,260,0) |
22 | (918.42,432.487) | 116_1 | (260,195,0) |
23 | (912.524,477.886) | 113_6 | (260,130,0) |
24 | (906.76,522.956) | 110_1 | (260,65,0) |
25 | (901.026,567.834) | 107_6 | (260,0,0) |
步骤13.4、定义整数变量i1、i2并赋值i1=0,i2=0;
步骤13.5、判断L[i1]是否等于A1[i2],若L[i1]==A1[i2],则将第3次拍摄的第(i1+1)个左摄像机标定匹配组作为第τ次拍摄的第(i2+1)个左摄像机外参标定匹配组,将第3次拍摄的第(i1+1)个左摄像机标定靶标作为第3次拍摄的第(i2+1)个左摄像机外参标定靶标,并执行步骤13.6;否则将(i1+1)赋值给i1后重新执行本步骤;
步骤13.6、判断i2是否小于N3-1,若i2<N3-1,则将否则将(i2+1)赋值给i2,重新给第i1赋值i1=0,并返回步骤8.5顺序执行;否则找到了第3次拍摄的5个左摄像机标定匹配组中包含的5个左摄像机外参标定匹配组;
经过比较,第3次拍摄的第1个左摄像机标定匹配组可作为第1个左摄像机外参标定匹配组,第2个左摄像机标定匹配组作为第2个左摄像机外参标定匹配组,第3个左摄像机标定匹配组作为第3个左摄像机外参标定匹配组,第4个左摄像机标定匹配组作为第4个左摄像机外参标定匹配组,第5个左摄像机标定匹配组作为第5个左摄像机外参标定匹配组;
步骤13.7、取i整数变量并赋值i=0;
步骤13.8、将第τ次拍摄的第A2[i]个左摄像机外参标定匹配组作为第τ次拍摄的第(i+1)个左摄像机外参优化匹配组;
步骤13.9、判断i是否小于β′3-1,若i<β′3-1,则将i+1赋值给i后返回步骤8.8顺序执行,否则获得了第τ次拍摄的β′3个左摄像机外参优化匹配组;
第3次拍摄的第1个左摄像机外参标定匹配组可作为第1个左摄像机外参优化匹配组,第2个左摄像机外参标定匹配组可作为第2个左摄像机外参优化匹配组,第3个左摄像机外参标定匹配组可作为第3个左摄像机外参优化匹配组,第4个左摄像机外参标定匹配组可作为第4个左摄像机外参优化匹配组,第5个左摄像机外参标定匹配组可作为第5个左摄像机外参优化匹配组;
通过步骤13.1至步骤13.9,获得了第3次拍摄的5个左摄像机标定匹配组,其中第3次拍摄的5个左摄像机标定匹配组亦为第3次拍摄的5个左摄像机外参标定匹配组,第3次拍摄的5个左摄像机外参标定匹配组亦为第3次拍摄的5个左摄像机外参优化匹配组。
采用与获得左摄像机标定匹配组相同的方法获得右摄像机标定匹配组。
本实施例中,第3次拍摄的第1个右摄像机靶标匹配组如下表2.1所示:
表2.1
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (715.358,731.569) | 14_6 | (328,328,0) |
2 | (691.878,776.753) | 13_1 | (246,328,0) |
3 | (667.72,823.381) | 13_6 | (164,328,0) |
4 | (642.61,871.737) | 12_1 | (82,328,0) |
5 | (616.712,921.885) | 12_6 | (0,328,0) |
6 | (768.652,761.59) | 11_1 | (328,246,0) |
7 | (746.432,807.149) | 11_6 | (246,246,0) |
8 | (723.217,854.153) | 10_1 | (164,246,0) |
9 | (699.152,903.021) | 10_6 | (82,246,0) |
10 | (674.441,953.499) | 9_1 | (0,246,0) |
11 | (821.98,791.476) | 8_6 | (328,164,0) |
12 | (800.682,837.323) | 7_1 | (246,164,0) |
13 | (778.585,884.752) | 7_6 | (164,164,0) |
14 | (755.725,933.895) | 6_1 | (82,164,0) |
15 | (732.103,984.895) | 6_6 | (0,164,0) |
16 | (874.587,820.93) | 5_1 | (328,82,0) |
17 | (854.49,867.128) | 5_6 | (246,82,0) |
18 | (833.376,914.889) | 4_1 | (164,82,0) |
19 | (811.665,964.463) | 4_6 | (82,82,0) |
20 | (789.134,1015.63) | 3_1 | (0,82,0) |
21 | (926.976,849.965) | 2_6 | (328,0,0) |
22 | (907.828,896.412) | 1_1 | (246,0,0) |
23 | (887.759,944.562) | 1_6 | (164,0,0) |
24 | (867.164,994.396) | 0_1 | (82,0,0) |
25 | (845.68,1046.04) | 0_6 | (0,0,0) |
第3次拍摄的第2个右摄像机靶标匹配组如下表2.2所示:
表2.2
第3次拍摄的第3个右摄像机靶标匹配组如下表2.3所示:
表2.3
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (395.911,273.272) | 72_6 | (0,260,0) |
2 | (388.755,318.026) | 69_1 | (0,195,0) |
3 | (381.666,364.229) | 66_6 | (0,130,0) |
4 | (374.213,411.522) | 63_1 | (0,65,0) |
5 | (366.753,460.387) | 60_6 | (0,0,0) |
6 | (452.381,274.184) | 72_1 | (65,260,0) |
7 | (446.089,318.827) | 70_6 | (65,195,0) |
8 | (439.753,364.932) | 66_1 | (65,130,0) |
9 | (433.272,412.603) | 64_6 | (65,65,0) |
10 | (426.794,461.259) | 60_1 | (65,0,0) |
11 | (509.217,275.65) | 73_6 | (130,260,0) |
12 | (503.758,320.331) | 70_1 | (130,195,0) |
13 | (498.167,366.492) | 67_6 | (130,130,0) |
14 | (492.665,413.994) | 64_1 | (130,65,0) |
15 | (486.924,462.692) | 61_6 | (130,0,0) |
16 | (566.16,277.061) | 73_1 | (195,260,0) |
17 | (561.459,321.534) | 71_6 | (195,195,0) |
18 | (556.873,367.937) | 67_1 | (195,130,0) |
19 | (552.044,415.063) | 65_6 | (195,65,0) |
20 | (547.24,464.099) | 61_1 | (195,0,0) |
第3次拍摄的第4个右摄像机靶标匹配组如下表2.4所示:
表2.4
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (1280.53,907.446) | 99_6 | (0,328,0) |
2 | (1220.96,925.79) | 96_1 | (0,246,0) |
3 | (1161.17,944.185) | 93_6 | (0,164,0) |
4 | (1101.19,962.458) | 90_1 | (0,82,0) |
5 | (1041.61,980.399) | 87_6 | (0,0,0) |
6 | (1300.16,965.798) | 99_1 | (82,328,0) |
7 | (1240.15,984.559) | 97_6 | (82,246,0) |
8 | (1179.79,1003.16) | 93_1 | (82,164,0) |
9 | (1119.44,1021.59) | 91_6 | (82,82,0) |
10 | (1059.21,1039.62) | 87_1 | (82,0,0) |
11 | (1320.02,1025.37) | 100_6 | (164,328,0) |
12 | (1259.57,1044.21) | 97_1 | (164,246,0) |
13 | (1198.76,1063.09) | 94_6 | (164,164,0) |
14 | (1137.99,1081.68) | 91_1 | (164,82,0) |
15 | (1077.24,1099.94) | 88_6 | (164,0,0) |
16 | (1340.21,1085.59) | 100_1 | (246,328,0) |
17 | (1279.25,1104.77) | 98_6 | (246,246,0) |
18 | (1217.9,1123.74) | 94_1 | (246,164,0) |
19 | (1156.59,1142.52) | 92_6 | (246,82,0) |
20 | (1095.36,1161.02) | 88_1 | (246,0,0) |
第3次拍摄的第5个右摄像机靶标匹配组如下表2.5所示:
表2.5
经过比较,第3次拍摄的第1个右摄像机标定匹配组可作为第1个右摄像机外参标定匹配组,第2个右摄像机标定匹配组作为第2个右摄像机外参标定匹配组,第3个右摄像机标定匹配组作为第3个右摄像机外参标定匹配组,第4个右摄像机标定匹配组作为第4个右摄像机外参标定匹配组,第5个右摄像机标定匹配组作为第5个右摄像机外参标定匹配组;
本实施例中,第3次拍摄的第1个右摄像机外参标定匹配组可作为第1个右摄像机外参优化匹配组,第2个右摄像机外参标定匹配组可作为第2个右摄像机外参优化匹配组,第3个右摄像机外参标定匹配组可作为第3个右摄像机外参优化匹配组,第4个右摄像机外参标定匹配组可作为第4个右摄像机外参优化匹配组,第5个右摄像机外参标定匹配组可作为第5个右摄像机外参优化匹配组;
通过上述过程获得了第3次拍摄的5个右摄像机标定匹配组,其中第3次拍摄的5个右摄像机标定匹配组亦为第3次拍摄的5个右摄像机外参标定匹配组,第3次拍摄的5个右摄像机外参标定匹配组亦为第3次拍摄的5个右摄像机外参优化匹配组。
步骤14、根据第3次拍摄的5个左摄像机标定匹配组,利用单目摄像机内外参数标定算法计算出左摄像机的内参数、畸变系数以及从左摄像机坐标系分别变换到空间中1号靶标坐标系、2号靶标坐标系、…、5号靶标坐标系的旋转矩阵Rl,1、Rl,2、Rl,3、…Rl,5和平移向量Tl,1、Tl,2、Tl,3、…Tl,5;
在本实施例中,左摄像机的标定结果如下:
左摄像机的内参数:
左摄像机的畸变系数:(-0.191702 0.160288 -0.00514017 0.00600753);
1号编码平面靶标的旋转矩阵:
1号编码平面靶标的平移向量:Tl,1=(-885.609 145.787 2569.82)T;
2号编码平面靶标的旋转矩阵:
2号编码平面靶标的平移向量:Tl,2=(491.602 270.343 2457.58)T;
3号编码平面靶标的旋转矩阵:
3号编码平面靶标的平移向量:Tl,3=(-970.715 -178.611 1931.17)T;
4号编码平面靶标的旋转矩阵:
4号编码平面靶标的平移向量:Tl,4=(-459.75 475.362 2653.55)T;
5号编码平面靶标的旋转矩阵:
5号编码平面靶标的平移向量:Tl,5=(-324.872 -66.8535 2875.99)T;
根据第3次拍摄的5个右摄像机标定匹配组,利用单目摄像机内外参数标定算法计算出右摄像机的内参数、畸变系数以及从右摄像机坐标系分别变换到空间中1号靶标坐标系、2号靶标坐标系、…、5号靶标坐标系的旋转矩阵Rr,1、Rr,2、Rr,3、…Rr,5和平移向量Tr,1、Tr,2、Tr,3、…Tr,5;
在具体实施时,右摄像机标定结果如下:
右摄像机的内参数:
右摄像机的畸变系数:(-0.183288 0.00305116 0.000170336 -0.00281504);
1号编码平面靶标的旋转矩阵:
1号编码平面靶标的平移向量:Tr,1=(-325.365 177.251 2855.17)T;
2号编码平面靶标的旋转矩阵:
2号编码平面靶标的平移向量:Tr,2=(784.959 276.542 2280.85)T;
3号编码平面靶标的旋转矩阵:
3号编码平面靶标的平移向量:Tr,3=(-638.01 -150.861 2281.31)T;
4号编码平面靶标的旋转矩阵:
4号编码平面靶标的平移向量:Tr,4=(107.478 501.364 2791.31)T;
5号编码平面靶标的旋转矩阵:
5号编码平面靶标的平移向量:Tr,5=(298.534 -42.8695 2943.63)T;
步骤15、在上述步骤14中获得的左摄像机坐标系分别变换到1号靶标坐标系、2号靶标坐标系、…、5号靶标坐标系的旋转矩阵Rl,1、Rl,2、Rl,3、…Rl,5和平移向量Tl,1、Tl,2、Tl,3、…Tl,5中,寻找左摄像机坐标系分别变换到1号靶标坐标系、2号靶标坐标系、…、5号靶标坐标系的旋转矩阵R′l,1、R′l,2、R′l,3、…R′l,5和平移向量T′l,1、T′l,2、T′l,3、…T′l,5;
在上述步骤14中获得的右摄像机坐标系分别变换到空间中1号靶标坐标系、2号靶标坐标系、…、5号靶标坐标系的旋转矩阵Rr,1、Rr,2、Rr,3、…Rr,5和平移向量Tr,1、Tr,2、Tr,3、…Tr,5中,寻找右摄像机坐标系分别变换到1号靶标坐标系、2号靶标坐标系、…、5号靶标坐标系的旋转矩阵R′r,1、R′r,2、R′r,3、…R′r,5和平移向量T′r,1、T′r,2、T′r,3、…T′r,5;
步骤16.1、令整数变量i=0;
步骤16.2、利用左摄像机坐标系变换到A1[i]号靶标坐标系的旋转矩阵R′l,i+1和平移向量T′l,i+1以及右摄像机坐标系变换到A1[i]号靶标坐标系的旋转矩阵R′r,i+1和平移向量T′r,i+1,求解出左摄像机坐标系和右摄像机坐标系之间的旋转和平移关系;
步骤16.3、判断i是否小于5,若5,则将i+1赋值给i后返回步骤16.2顺序执行;否则执行步骤17;在实施例中,可求得:
步骤17、通过公式(3)计算出从左摄像机坐标系变换到右摄像机坐标系的旋转矩阵R和平移向量T(双目摄相机的外参数)的初始值:
经过计算得出:
步骤18、在上述中获得左摄像机的内参数和畸变系数、右摄像机的内参数和畸变系数以及左摄像机与右摄像机之间的初始外参数后,利用基于标准长度的优化方法,计算出双目摄像机外参的精确值R′和T′,以此完成双目摄像机标定。本实施例中,双目摄像机外参数优化结果如下:
优化平均误差:0.093652毫米;
在具体实施时,利用空间中多编码平面靶标的标定角点归类方法,将图像上提取到的所有标定角点进行归类,其方法步骤如下(因利用空间中多编码平面靶标的标定角点归类方法处理图像中标定角点的方法类似,故本实施例中以第3次拍摄的左摄像机靶标图像为例进行详细讲解):
步骤2、定义整数变量j、k,并赋值j=1,k=1;
(1)若则将第3次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合中第j个标定角点亚像素坐标放入第3次拍摄的左摄像机靶标图像上k号编码平面靶标的标定角点亚像素坐标集合中,将赋值给并执行步骤4;
(2)判断k是否小于5,若k<5,则将k+1赋值给k后重新执行本步骤3;否则执行步骤4;
步骤4、判断j是否小于若则将j+1赋值给j,重新给k赋值k=1,并返回步骤3顺序执行;否则,已将第3次拍摄的左摄像机靶标图像上提取到的所有标定角点进行了归类,获得了第3次拍摄的左摄像机靶标图像上每个编码平面靶标的标定角点在左摄像机图像的标定角点像素坐标系ol-xlyl下亚像素坐标集合,同时获得第3次拍摄的左摄像机靶标图像上1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、5号编码平面靶标上的标定角点个数在本实施例中,标定角点最终归类结果如表1.1至1.5所示,且第3次拍摄的左摄像机靶标图像上1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数3号编码平面靶标上的标定角点个数4号编码平面靶标上的标定角点个数5号编码平面靶标上的标定角点个数
在具体实施例中,利用编码平面靶标的解码方法,获得图像上提取到的所有标定角点在标定角点像素坐标系下的亚像素坐标、图像上提取到的所有标定角点的唯一编码序号其方法步骤如下(因利用编码平面靶标的解码方法获得图像中标定角点编码信息的方法类似,故本实施例中以第3次拍摄的左摄像机靶标图像为例进行详细讲解):
步骤1、对第3次拍摄的左摄像机靶标图像进行8位灰度处理,并将得到的图像记为多编码平面靶标灰度图像P1;其中,编码平面靶标灰度图像P1为8位灰度图;如图22所示;
步骤2、在上述多编码平面靶标灰度图像P1中,利用Automatic Camera and RangeSensor Calibration using a single Shot提出的基于生长的棋盘格角点提取算法,在多编码平面靶标灰度图像P中识别出γt个完整或局部的编码平面靶标,并分别记为第1个编码平面靶标、第2个编码平面靶标、…、第γt个编码平面靶标,并获得每个编码平面靶标上所有标定角点在左摄像机标定角点像素坐标系ol-xlyl下的亚像素坐标;具体实施时,在多编码平面靶标灰度图像P中共检测到γt==5个编码平面靶标(如图24所示),第1个编码平面靶标、第2个编码平面靶标、…、第5个编码平面靶标上的所有标定角点亚像素坐标分别如表3.1至表3.5所示;
表3.1
序号 | 标定角点亚像素坐标 | 序号 | 标定角点亚像素坐标 |
1 | (262.379,712.833) | 14 | (320.828,924.864) |
2 | (243.133,760.545) | 15 | (302.467,978.998) |
3 | (223.107,810.086) | 16 | (425.669,805.175) |
4 | (202.202,861.848) | 17 | (410.541,853.209) |
5 | (180.759,915.859) | 18 | (394.71,903.058) |
6 | (317.694,744.323) | 19 | (378.389,955.04) |
7 | (299.887,792.099) | 20 | (361.517,1009.23) |
8 | (281.307,841.768) | 21 | (478.118,834.562) |
9 | (262.005,893.737) | 22 | (464.33,882.501) |
10 | (242.062,947.8) | 23 | (449.676,932.375) |
11 | (372.223,775.113) | 24 | (434.799,984.418) |
12 | (355.79,823.042) | 25 | (419.238,1038.53) |
13 | (338.595,872.829) |
表3.2
序号 | 标定角点亚像素坐标 | 序号 | 标定角点亚像素坐标 |
1 | (1565.95,593.658) | 14 | (1418.85,712.957) |
2 | (1515.15,597.294) | 15 | (1366.3,717.055) |
3 | (1463.81,600.978) | 16 | (1575.85,753.958) |
4 | (1411.79,604.626) | 17 | (1525.21,758.159) |
5 | (1359.26,608.39) | 18 | (1473.96,762.558) |
6 | (1569.41,647.203) | 19 | (1422.01,766.885) |
7 | (1518.63,651.051) | 20 | (1369.68,771.145) |
8 | (1467.39,654.965) | 21 | (1578.66,807.115) |
9 | (1415.41,658.847) | 22 | (1528.1,811.685) |
10 | (1362.81,662.706) | 23 | (1476.89,816.128) |
11 | (1572.67,700.67) | 24 | (1425.14,820.66) |
12 | (1522.01,704.775) | 25 | (1372.72,825.194) |
13 | (1470.74,708.871) |
表3.3
表3.4
序号 | 标定角点亚像素坐标 | 序号 | 标定角点亚像素坐标 |
1 | (837.76,886.718) | 11 | (881.645,1001.1) |
2 | (780.777,905.964) | 12 | (824.331,1021.51) |
3 | (723.065,925.463) | 13 | (766.24,1042.37) |
4 | (664.361,945.202) | 14 | (707.445,1063.08) |
5 | (605.502,964.834) | 15 | (647.891,1083.81) |
6 | (859.55,943.492) | 16 | (903.958,1059.06) |
7 | (802.386,963.445) | 17 | (846.605,1080.17) |
8 | (744.37,983.509) | 18 | (788.28,1101.42) |
9 | (685.753,1003.66) | 19 | (729.36,1122.83) |
10 | (626.421,1023.94) | 20 | (669.728,1144.25) |
表3.5
序号 | 标定角点亚像素坐标 | 序号 | 标定角点亚像素坐标 |
1 | (748.144,364.867) | 14 | (820.195,514.124) |
2 | (742.393,411.733) | 15 | (814.503,559.708) |
3 | (736.537,458.532) | 16 | (881.286,381.725) |
4 | (730.917,505.054) | 17 | (875.429,427.436) |
5 | (725.343,551.282) | 18 | (869.561,473.221) |
6 | (793.21,370.438) | 19 | (863.789,518.6) |
7 | (787.404,417.024) | 20 | (858.074,563.866) |
8 | (781.617,463.388) | 21 | (924.214,387.092) |
9 | (775.803,50***) | 22 | (918.42,432.487) |
10 | (770.292,555.5) | 23 | (912.524,477.886) |
11 | (837.653,376.085) | 24 | (906.76,522.956) |
12 | (831.768,422.207) | 25 | (901.026,567.834) |
13 | (826.005,468.337) |
步骤3.1、取整数变量k,并赋予初始值k=1;k=1时,即为多编码平面靶标灰度图像P中第1个编码平面靶标的解码过程:
步骤3.2、将多编码平面靶标灰度图像P复制得到第1个靶标复制图像p1;
步骤4.1、在第i个靶标复制图像pi中,选取第i个编码平面靶标上最***的标定角点即第1行标定角点、第1列标定角点、第5行标定角点和第5列标定角点),并将所述最***角点所围成的多边形记为最大标定角点数多边形L;
步骤4.2、利用数字图像处理的方法,将最大标定角点数多边形L内部的所有像素点的灰度值保持不变,最大标定角点数多边形L以外的所有像素点的灰度值均赋值为255,并将处理后的图像记为第1个无复杂背景靶标图像p′1;
具体实施例中,第1个无复杂背景靶标图像p′1、第2个无复杂背景靶标图像p′2、第3个无复杂背景靶标图像p′3、第4个无复杂背景靶标图像p′4和第5个无复杂背景靶标图像p′5分别如图26至图30所示;
步骤5、对第1个无复杂背景靶标图像p′1进行二值化处理,并将第1个无复杂背景靶标图像p′1经过二值化处理得到的图像记为第1个无复杂背景靶标二值化图像p″1,使得在第1个无复杂背景靶标二值化图像p″1中平行四边形编码单元的背景颜色变为黑色,平行四边形非编码单元背景颜色、定位图案、定向图案的颜色均变为白色,编码标志图案的颜色根据编码规则可以为白色也可以为黑色;
步骤6、根据在最大标定角点数多边形L内部包含m行×n列个标定角点数目,可将本步骤分为如下情况:
情况1、当m、n均为奇数,或者m、n一奇一偶时可由公式(1-1)计算出多边形L内部包含的平行四边形编码单元个数μ(μ为整数);
μ=(m-1)(n-1)/2 (1-1)
然后执行步骤7.1.1;
情况2、若m、n均为偶数时,可由公式(1-2)计算出多边形L内包含的平行四边形编码单元预估个数μ′(μ′为整数);
μ′=[(m-1)(n-1)+1]/2 (1-2)
此时多边形L内实际包含的平行四边形编码单元的个数μ满足μ≤μ′;
设置平行四边形编码单元个数判断阀值L′;在无复杂背景靶标二值化图像P2上做黑色连通域腐蚀,使得无复杂背景靶标二值化图像P2中所有平行四边形编码单元对角处断开,并将无复杂背景靶标二值化图像P2经过此处理得到的图像记为靶标二值化腐蚀图像P′2;其中对无复杂背景靶标二值化图像P2进行黑色连通域腐蚀处理时,须满足以下条件:
(1)最大标定角点数多边形L内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向圆的白色连通域、定位圆环的白色连通域、定位圆环中心的黑色连通域和编码标志图案的白色连通域均保持完整;
(2)最标定大角点数多边形L内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向图案、定位图案和编码标志图案的连通域互不相通;
(3)最大标定角点数多边形L内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向图案、定位图案和编码标志图案均处于平行四边形编码单元背景中;
在靶标二值化腐蚀图像P′2上寻找μ′个最大的黑色连通域,并计算前μ′-1个最大黑色连通域包含像素点的平均值χ′;
将多边形L内μ′个最大黑色连通域中最小的黑色连通域记为末端黑色连通域,并计算末端黑色连通域包含的像素点数χm,根据公式(1-3)进行判断;
(1)若L″≤L′,则多边形L内实际包含μ′个平行四边形编码单元,将μ′的数值赋值给μ,μ=μ′;并执行步骤7.1.2;
(2)若L″>L′,则多边形L内实际包含μ′-1个平行四边形编码单元,将μ′-1的数值赋值给μ,μ=μ′-1;并执行步骤7.1.2;
在具体实施例中,m==5,n==5,于是可以计算得出:μ=(m-1)(n-1)/2=8;并执行步骤7.1.1;
步骤7.1.1、在第1个无复杂背景靶标二值化图像p″1上,做黑色连通域腐蚀,使得第1个无复杂背景靶标二值化图像p″1中所有平行四边形编码单元对角处断开,并将第1个无复杂背景靶标二值化图像p″1经过此处理得到的图像记为第1个靶标二值化腐蚀图像p″′1(如图31所示);其中对无复杂背景靶标二值化图像P2进行黑色连通域腐蚀处理满足上述条件。
步骤7.1.2、寻找在第1个靶标二值化腐蚀图像p″′1中的μ==8个最大黑色连通域并分别记为方格连通域Ω1、方格连通域Ω2、…、方格连通域Ω8;取整数变量i,并赋予其初始值i=1;
步骤7.2在第1个靶标二值化腐蚀图像p″′1上,计算上述步骤7.1.2中方格连通域Ωi质心的像素坐标(xi,yi)i,将i+1重新赋值给i后继续执行此步骤直到i>8,由此得到第1个靶标二值化腐蚀图像p″′1上的方格连通域Ω1、方格连通域Ω2、…、方格连通域Ω8质心像素坐标(302,884)1、(414,946)2、…、(220,904)8,并将(302,884)1、(414,946)2、…、(220,904)8依次作为平行四边形编码单元质心像素坐标集合A中的第1个元素、第2个元素、…、第8个元素;
步骤8.1、给整数变量i重新赋予初值i=1;
步骤8.2、在第1个靶标二值化腐蚀图像p″′1中,计算距离方格连通域Ωi的质心像素坐标值(xi,yi)i最近的黑色连通域,并记为第1个靶标二值化腐蚀图像p″′1中的圆环中心连通域Ω′i;将i+1重新赋值给i后继续执行此步骤,直到i>8时结束;由此分别得到第1个靶标二值化腐蚀图像p″′1中的圆环中心连通域Ω′1、圆环中心连通域Ω′2、…、圆环中心连通域Ω′8;
步骤8.3、给整数变量i重新赋予初值i=1;
步骤8.4、在第1个靶标二值化腐蚀图像p″′1中,计算上述第1个靶标二值化腐蚀图像p″′1中的圆环中心连通域Ω′i质心像素坐标o″d,i(x″d,i,y″d,i),将i+1重新赋值给i后继续执行此步骤,直到i>8时结束;由此得到第1个靶标二值化腐蚀图像p″′1中的圆环中心连通域Ω′1、圆环中心连通域Ω′2、…、圆环中心连通域Ω′8的质心像素坐标o″d,1(331,889)、o″d,2(424,950)、…、o″d,8(232,911),并将o″d,1(331,889)、o″d,2(424,950)、…、o″d,8(232,911)依次作为圆环质心像素坐标集合B中的第1个元素、第2个元素、…、第8个元素;
步骤9.1、在第1个靶标二值化腐蚀图像p″′1中,将除方格连通域Ω1、方格连通域Ω2、…、方格连通域Ω8以及圆环中心连通域Ω′1、圆环中心连通域Ω′2、…、圆环中心连通域Ω′8以外的黑色连通域的灰度值均赋值为255,并将第1个靶标二值化腐蚀图像p″′1经过此处理得到的图像记为第1个解码二值化图像P1;
步骤9.2、取整数变量ζ,并赋予初始值ζ=1;
步骤10.1、对第1个解码二值化图像P1进行复制备份,将复制得到的图像记为第ζ个备份二值化图像P1,ζ(其中ζ=1);
步骤10.2、在第1个备份二值化图像P1,1上,取平行四边形编码单元质心像素坐标集合A中第1个质心像素坐标值(302,884)1,在标定角点集合Q中寻找距离质心像素坐标值(302,884)1最近的4个标定角点的像素坐标值,并将这4个标定角点的像素坐标值在第1个备份二值化图像P1,1上对应的4个像素点分别记为C″1,1(281.307,841.768)、C″1,2(338.595,872.829)、C″1,3(320.828,924.864)、C″1,4(262.005,893.737);并将该4个像素点作为第1个标定角点四边形S1的4个顶点,并将4个顶点相连形成第1个标定角点四边形S1;
步骤11.1、在步骤8.2中的圆环质心像素坐标集合B中,找出与平行四边形编码单元质心像素坐标集合A中第1个质心像素坐标值(302,884)1相对应的第1个圆环质心像素坐标值(331,889);
步骤11.2、在第1个备份二值化图像P1,1中,寻找距离上述圆环质心像素坐标值(331,889)最近的白色连通域,并将此白色连通域的灰度值赋值为0;
步骤12、在第1个备份二值化图像P1,1上,将第1个标定角点四边形S1以外的所有像素点的灰度值均赋值为255,第1个标定角点四边形S1内部的所有像素点的灰度值保持不变,并将得到的图像记为第1个无复杂背景的单元二值化图像E1,如图32所示;
步骤13、在第1个无复杂背景的单元二值化图像E1中,寻找最大黑色连通域并记为第1个无复杂背景的单元二值化图像E1中的最大黑色连通域Ω1,E;提取第1个无复杂背景的单元二值化图像E1中的最大黑色连通域Ω1,E的所有内、外轮廓,并记为质心像素坐标值为(302,884)1的平行四边形编码单元的轮廓集合D1;
步骤14、在质心像素坐标为值(302,884)1的平行四边形编码单元的轮廓集合D1中,统计每个轮廓中包含的像素点数,其中包含像素点数第二多的轮廓即为在第1个无复杂背景的单元二值化图像E1上的质心像素坐标值为(302,884)1的平行四边形编码单元中定位圆的轮廓G1,计算此定位圆轮廓G1的质心像素坐标并记为在第1个无复杂背景的单元二值化图像E1上的质心像素坐标值为(302,884)1的平行四边形编码单元中定位圆质心像素坐标o′l,1(291,878);
骤15.1、在上述步骤13中质心坐标为(302,884)1的平行四边形编码单元的轮廓集合D1中,除去包含像素点数最多的2个轮廓,剩余其他κ1(其中κ1=0,1,2,3...)个轮廓,分为以下情况:
情况1、若κ1==0,则进行步骤16.1;
情况2、若κ1≠0,则这κ1个轮廓即为在第1个无复杂背景的单元二值化图像E1上的质心像素坐标值为(302,884)1的平行四边形编码单元中编码标志圆的轮廓,并分别记为编码标志圆轮廓编码标志圆轮廓…、编码标志圆轮廓在实施例中,κ1==2,属于本步骤中的情况2,在第1个无复杂背景的单元二值化图像E1上,除去包含像素点数最多的2个轮廓,将剩余的2个轮廓分别记为编码标志圆轮廓编码标志圆轮廓
步骤15.2、给整数变量i重新赋予初值i=1;
步骤15.3、在第1个无复杂背景的单元二值化图像E1中,计算编码标志圆轮廓的质心像素坐标o′1 i(x′1 i,y′1 i),将i+1重新赋值给i后继续执行此步骤,直到i>2结束;由此可以得到质心像素坐标值为(302,884)1的平行四边形编码单元中的编码标志圆轮廓编码标志圆轮廓S1 2的质心像素坐标o′1 1(292,858)、o′1 2(303,864);
步骤16.1、在第1个无复杂背景的单元二值化图像E1上,将像素坐标值为(331,889)的像素点记为质心像素坐标值为(302,884)1的平行四边形编码单元上的定向圆环质心o′d,1(331,889);并且在第1个无复杂背景的单元二值化图像E1上,将像素坐标值分别为(281.307,841.768)、(338.595,872.829)、(320.828,924.864)、(262.005,893.737)的4个像素点记为C′1,1(281.307,841.768)、C′1,2(338.595,872.829)、C′1,3(320.828,924.864)、C′1,4(262.005,893.737);
步骤16.2、在第1个无复杂背景的单元二值化图像E1上,取C1,1(x1,1,y1,1)、C1,2(x1,2,y1,2)、C1,3(x1,3,y1,3)、C1,4(x1,4,y1,4)分别表示在质心坐标为(302,884)1的平行四边形编码单元中第1编码区域、第3编码区域、第4编码区域和第6编码区域的标定角点的像素坐标;质心像素坐标值为(302,884)1的平行四边形编码单元中的方向向量可由公式(1-4)得出,同时记通过定位圆质心o′l,1和定向圆环质心o′d,1的直线为l1,3;
步骤17、在第1个无复杂背景的单元二值化图像E1上,将4个像素点C′1,1(281.307,841.768)、C′1,2(338.595,872.829)、C′1,3(320.828,924.864)、C′1,4(262.005,893.737)中距离定位圆质心o′l,1(291,878)最近的2个像素点分别记为C1,1min(281.307,841.768)和C1,2min(262.005,893.737);通过公式(1-5)和(1-6)计算出在质心像素坐标值为(302,884)1的平行四边形编码单元中的第1判断向量和第2判断向量并通过式(1-7)和式(1-8)计算出区域划分正弦值1sinα1和区域划分正弦值2sinβ1;
情况1、若sinα1<0,sinβ1>0,则C1,1min(x1,1min,y1,1min)是质心像素坐标值为(302,884)1的平行四边形编码单元中第1编码区域的标定角点,把C1,1min(x1,1min,y1,1min)的像素坐标值赋值给C1,1(x1,1,y1,1);C1,2min(x1,2min,y1,2min)为质心像素坐标值为(302,884)1的平行四边形编码单元中第6编码区域的标定角点,把C1,2min(x1,2min,y1,2min)的像素坐标值赋值给C1,4(x1,4,y1,4);
情况2、若sinα1>0,sinβ1<0,则C1,2min(x1,2min,y1,2min)为质心像素坐标值为(302,884)1的平行四边形编码单元中第1编码区域的标定角点,把C1,2min(x1,2min,y1,2min)的像素坐标值赋值给C1,1(x1,1,y1,1);C1,1min(x1,1min,y1,1min)为质心像素坐标值为(302,884)1的平行四边形编码单元中第6编码区域的标定角点,把C1,1min(x1,1min,y1,1min)的像素坐标值赋值给C1,4(x1,4,y1,4);
在具体实施时,本步骤属于情况1,sinα1<0,sinβ1>0,则:
C1,1min(281.307,841.768)是质心像素坐标值为(302,884)1的平行四边形编码单元中第1编码区域的标定角点,把C1,1min(281.307,841.768)的像素坐标值赋值给C1,1(281.307,841.768);C1,2min(262.005,893.737)为质心像素坐标值为(302,884)1的平行四边形编码单元中第6编码区域的标定角点,把C1,2min(262.005,893.737)的像素坐标值赋值给C1,4(262.005,893.737);
步骤18、在第1个无复杂背景的单元二值化图像E1上,通过上述步骤17已找到质心像素坐标值为(302,884)1的平行四边形编码单元中第1编码区域和第6编码区域的标定角点C1,1(281.307,841.768)和C1,4(262.005,893.737),将4个标定角点的亚像素坐标C′1,1(281.307,841.768)、C′1,2(338.595,872.829)、C′1,3(320.828,924.864)、C′1,4(262.005,893.737)中余下的2个像素点的亚像素坐标分别赋值给质心像素坐标值为(302,884)1的平行四边形编码单元的第1临时坐标值,记为C′1,5(338.595,872.829),以及第2临时坐标值,记为C′1,6(320.828,924.864);根据公式(1-9)和(1-10)可以求出在质心像素坐标值为(302,884)1的平行四边形编码单元中的第3判断向量和第4判断向量
情况1、若sinω1<sinξ1,则C′1,5(338.595,872.829)即为质心像素坐标值为(302,884)1的平行四边形编码单元中第3编码区域的标定角点,把C′1,5(338.595,872.829)的坐标值赋值给C1,2(x1,2,y1,2);C′1,6(320.828,924.864)为质心像素坐标值为(302,884)1的平行四边形编码单元中第4编码区域的标定角点,把C′1,6(320.828,924.864)的坐标值赋值给C1,3(x1,3,y1,3);
情况2、若sinω1>sinξ1,则C′1,6(320.828,924.864)即为质心像素坐标值为(302,884)1的平行四边形编码单元中第3编码区域的标定角点,把C′1,6(320.828,924.864)的坐标值赋值给C1,2(x1,2,y1,2);C′1,5(338.595,872.829)为质心像素坐标值为(302,884)1的平行四边形编码单元中第4编码区域的标定角点的,把C′1,5(338.595,872.829)的坐标值赋值给C1,3(x1,3,y1,3);
在具体实施时,本步骤属于情况1,sinω1<sinξ1,则:
C′1,5(338.595,872.829)即为质心像素坐标值为(302,884)1的平行四边形编码单元中第3编码区域的标定角点,把C′1,5(338.595,872.829)的坐标值赋值给C1,2(338.595,872.829);C′1,6(320.828,924.864)为质心像素坐标值为(302,884)1的平行四边形编码单元中第4编码区域的标定角点,把C′1,6(320.828,924.864)的坐标值赋值给C1,3(320.828,924.864);
至此在第1个无复杂背景的单元二值化图像E1上,找到了质心像素坐标值为(302,884)1的平行四边形编码单元中第1编码区域的标定角点C1,1(281.307,841.768)、第3编码区域的标定角点C1,2(338.595,872.829)、第4编码区域的标定角点C1,3(320.828,924.864)和第6编码区域的标定角点C1,4(262.005,893.737);
步骤20、在第1个无复杂背景的单元二值化图像Eζ上,根据步骤17中得出的在质心像素坐标值为(302,884)1的平行四边形编码单元中第1编码区域的标定角点C1,1(281.307,841.768),第6编码区域的标定角点C1,4(262.005,893.737),可由公式(1-13)得出质心像素坐标值为(302,884)1的平行四边形编码单元中的第5判断向量
在第1个无复杂背景的单元二值化图像E1上,以质心像素坐标值为(302,884)1的平行四边形编码单元的定位圆质心o′l,1(291,878)为起点做与第5判断向量平行且同向的单位向量,记为并记单位向量所在的直线为l1,1;以质心像素坐标值为(302,884)1的平行四边形编码单元的定向圆环质心o′d,1(331,889)为起点做与第5判断向量平行且同向的单位向量,记为并记单位向量所在的直线为l1,2;将整数变量i重新赋值i=1;
步骤21.1、定义6个浮点型二维数组 用于存放质心像素坐标值为(302,884)1的平行四边形编码单元中分别位于第1编码区域、第2编码区域、第3编码区域、第4编码区域、第5编码区域和第6编码区域的编码标志圆轮廓质心在第1个无复杂背景的单元二值化图像Eζ上的像素坐标,初始化这6个二维数组中的所有元素,且均赋值为-1;另外取6个整数变量并将其初始化,
步骤21.2、在第1个无复杂背景的单元二值化图像E1上,计算步骤15.2中质心像素坐标值为(302,884)1的平行四边形编码单元中编码标志圆轮廓的质心像素坐标o′1 i(x′1 i,y′1 i)分别与定位圆中心o′l,1和定向环中心o′d,1所形成的第i组第1个象限向量和第i组第2个象限向量
判断在质心像素坐标值为(302,884)1的平行四边形编码单元中,编码标志圆所属编码区域的方式如下:
情况1、若编码标志圆轮廓落在质心像素坐标值为(302,884)1的平行四边形编码单元的第1编码区域内;令 然后把赋值给把i+1重新赋值给i,当i≤2时重新开始执行步骤21.2,当i>2时执行下一步骤22;
情况2、若编码标志圆轮廓落在质心像素坐标值为(302,884)1的平行四边形编码单元的第2编码区域内;令 然后把赋值给把i+1重新赋值给i,当i≤2时重新开始执行步骤21.2,当i>2时执行下一步骤22;
情况3、若编码标志圆轮廓落在质心像素坐标值为(302,884)1的平行四边形编码单元的第3编码区域内;令 然后把赋值给把i+1重新赋值给i,当i≤2时重新开始执行步骤21.2,当i>2时执行下一步骤22;
情况4、若编码标志圆轮廓落在质心像素坐标值为(302,884)1的平行四边形编码单元的第4编码区域内;令 然后把赋值给把i+1重新赋值给i,当i≤2时重新开始执行步骤21.2,当i>2时执行下一步骤22;
情况5、若编码标志圆轮廓落在质心像素坐标值为(302,884)1的平行四边形编码单元的第5编码区域内;令 然后把赋值给把i+1重新赋值给i,当i≤2时重新开始执行步骤21.2,当i>2时执行下一步骤22;
情况6、若编码标志圆轮廓落在质心像素坐标值为(302,884)1的平行四边形编码单元的第6编码区域内;令 然后把赋值给把i+1重新赋值给i,当i≤2时重新开始执行步骤21.2,当i>2时执行下一步骤22;
在具体实施例中,
并得出以下结果:
步骤22、定义代表质心像素坐标值为(302,884)1的平行四边形编码单元中第λ编码区域(其中λ=1,2,3,4,5,6)中第w位编码标志圆(其中w=1,2)的编码值,取0或1;取整数变量i,给i重新赋予初值i=1;
步骤23.1、本步骤分为以下情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则把i+1赋值给i,当满足i>2时,继续执行下一步骤23.2;否则返回执行步骤23.1;
情况2、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,记坐标点(Cr1 i[1][0],Cr1 i[1][1])到直线l1,1的距离为到直线l1,3的距离为若并令若则令把i+1赋值给i,当满足i>2时,继续执行下一步骤23.2;否则返回执行步骤23.1;
情况3、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,记坐标点(Cr1 i[0][0],Cr1 i[0][1])到直线l1,1的距离为到直线l1,3的距离为若则令若令把i+1赋值给i,当满足i>2时,继续执行下一步骤23.2;否则返回执行步骤23.1;;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令把i+1赋值给i,当满足i>2时,继续执行下一步骤23.2;否则返回执行步骤23.1;
在具体实施例中,根据本步骤可得:
步骤23.2、本步骤分为以下情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则把i+1赋值给i,当满足i>4时,继续执行下一步骤23.3;否则返回执行步骤23.2;
情况2、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,记坐标点(Cr1 i[1][0],Cr1 i[1][1])到直线l1,2的距离为到直线l1,3的距离为若并令若则令把i+1赋值给i,当满足i>4时,继续执行下一步骤23.3;否则返回执行步骤23.2;
情况3、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,记坐标点(Cr1 i[0][0],Cr1 i[0][1])到直线l1,2的距离为到直线l1,3的距离为若则令若令把i+1赋值给i,当满足i>4时,继续执行下一步骤23.3;否则返回执行步骤23.2;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令把i+1赋值给i,当满足i>4时,继续执行下一步骤23.3;否则返回执行步骤23.2;
在本实施例中,
步骤23.3、本步骤分为以下情况:
情况1、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,则把i+1赋值给i,当满足i>6时,继续执行下一步骤24;否则返回执行步骤23.3;
情况2、若Cr1 i[0][0]==-1,Cr1 i[0][1]==-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,记坐标点到直线l1,1的距离为到直线l1,3的距离为若并令若则令把i+1赋值给i,当满足i>6时,继续执行下一步骤24;否则返回执行步骤23.3;
情况3、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]==-1,Cr1 i[1][1]==-1,记坐标点(Cr1 i[0][0],Cr1 i[0][1])到直线l1,1的距离为到直线l1,3的距离为若则令若令把i+1赋值给i,当满足i>6时,继续执行下一步骤24;否则返回执行步骤23.3;
情况4、若Cr1 i[0][0]≠-1,Cr1 i[0][1]≠-1,Cr1 i[1][0]≠-1,Cr1 i[1][1]≠-1,则令把i+1赋值给i,当满足i>6时,继续执行下一步骤24;否则返回执行步骤23.3;
具体实施例中,本步骤可得:
步骤24、通过上述步骤23.1、23.2和23.3得出的质心像素坐标值为(302,884)1的平行四边形编码单元中所有编码标志圆的编码值,可由公式(1-20)可求出与第1个无复杂背景的单元二值化图像E1中质心像素坐标为值(302,884)1的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号W1;
W1=V1 T·U=10 (1-20)
其中,列向量U=(20,21,22,...211)T,列向量V1=(0,1,0,1,0,0,0,0,0,0,0,0)T;
在本实施例中,可计算得出与在靶标图像中质心坐标为(302,884)1的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号W1=10;且W1=10处在1号编码平面靶标的平行四边形编码单元的编码号范围内(0~17),即目前解码过程中的第1个编码平面靶标为1号编码平面靶标;
步骤25、记在第1个无复杂背景的单元二值化图像E1上质心像素坐标值为(302,884)1的平行四边形编码单元中属于第σ编码区域(其中σ=1,3,4,6)的标定角点的非唯一编码序号为其中下脚标W1==10为标定角点所属平行四边形编码单元的编码号,上角标σ的取值代表了标定角点所属的第σ编码区域;即得到了质心像素坐标为(302,884)1的平行四边形编码单元上4个标定角点C1,1(281.307,841.768)、C1,2(338.595,872.829)、C1,3(320.828,924.864)、C1,4(262.005,893.737)的非唯一编码序号分别为(其中σ1,1=1,σ1,2=3,σ1,3=4,σ1,4=6);
在本实施例中,可得到:
步骤26.1、取Δ′1,1_σ′1,1、Δ′1,2_σ′1,2、Δ′1,3_σ′1,3、Δ′1,4_σ′1,4分别用于存放质心像素坐标值为(302,884)1的平行四边形编码单元上4个标定角点C1,1(281.307,841.768)、C1,2(338.595,872.829)、C1,3(320.828,924.864)、C1,4(262.005,893.737)的唯一编码序号,其中Δ′1,1、Δ′1,2、Δ′1,3、Δ′1,4、σ′1,1、σ′1,2、σ′1,3、σ′1,4均为正整数;
步骤26.2、取整数变量i并重新赋值i=1;
步骤26.3判断N是否为偶数(其中N为实际空间中1号编码平面靶标上标定角点的列数),若N为奇数则执行步骤26.4;若N为偶数,则取整数参数Δ并赋值Δ=N/2,根据标定角点C1,i(x1,i,y1,i)的非唯一编码序号可将本步骤26.3分为如下情况:
情况1、若σ1,i==1或σ1,i==6,将W1的值赋值给Δ′1,i,将σ1,i的值赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;
情况2、若σ1,i==3,将(W1-Δ)的值赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;
情况3、若σ1,i==4,将(W1-Δ-1)的值赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤26.3顺序执行;否则执行步骤27;
情况1、若σ1,i==1或σ1,i==6,将W1的值赋值给Δ′1,i,将σ1,i的值赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;
情况2、若σ1,i==3,又分为如下两种情况:
(1)当Φp==1时,将(W1-Δ′)的值赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;Δ′可由式(1-21)得出,
其中Δ″=2(W1-z1)/(N+1)+1(只保留整数);
(2)当Φp==2时,将(W1-Δ″′)的值赋值给Δ′1,i,将6赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i;Δ″′可由式(1-22)得出,
其中Δ″=2(W1-z1+1)/(N+1)+1(只保留整数);
情况3、若σ1,i==4,又分为如下两种情况:
(1)当Φp==1时,将(W1-Δ′)的值赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i,其中Δ′可由式(1-23)得出;
其中Δ″=2(W1-z1)/(N+1)+1(只保留整数);
(2)当Φp==2时,将(W1-Δ″′)的值赋值给Δ′1,i,将1赋值给σ′1,i,则标定角点C1,i(x1,i,y1,i)的唯一编码序号为Δ′1,i_σ′1,i,Δ″′可由式(1-24)得出,
其中Δ″=2(W1-z1+1)/(N+1)+1(只保留整数);
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤26.4顺序执行;否则执行步骤27;
本实施例中,N为奇数,经过计算可以得出:
标定角点C1,1(281.307,841.768)的唯一编码号为10_1;
标定角点C1,2(338.595,872.829)的唯一编码号为7_6;
标定角点C1,3(320.828,924.864)的唯一编码号为6_1;
标定角点C1,4(262.005,893.737)的唯一编码号为10_6;
步骤27、将ζ+1赋值给ζ,然后重新回到权利要求15中的步骤10顺序执行;直到满足ζ>μ时,结束此循环,完成第3次拍摄的左摄像机靶标图像中第1个编码平面靶标的解码工作,并执行步骤28;
步骤28、就将k+1赋值给k,而后返回步骤3.2顺序执行;直至满足k>5时结束此循环,完成第3次拍摄的左摄像机靶标图像中所有编码平面靶标的解码工作。
在具体实施例中,利用编码平面靶标上标定角点的靶标坐标计算方法获取标定角点的靶标坐标的步骤如下:(由于利用编码平面靶标上标定角点的靶标坐标计算方法获取标定角点的靶标坐标的过程类似,故以第3次拍摄的左摄像机靶标图像中1号编码平面靶标为例进行详细说明)
步骤1、第3次拍摄的左摄像机靶标图像中1号编码平面靶标的解码结果,如下表4.1所示;
表4.1
序号 | 标定角点亚像素坐标 | 唯一编码序号 | 序号 | 标定角点亚像素坐标 | 唯一编码序号 |
1 | (262.379,712.833) | 14_6 | 14 | (320.828,924.864) | 6_1 |
2 | (243.133,760.545) | 13_1 | 15 | (302.467,978.998) | 6_6 |
3 | (223.107,810.086) | 13_6 | 16 | (425.669,805.175) | 5_1 |
4 | (202.202,861.848) | 12_1 | 17 | (410.541,853.209) | 5_6 |
5 | (180.759,915.859) | 12_6 | 18 | (394.71,903.058) | 4_1 |
6 | (317.694,744.323) | 11_1 | 19 | (378.389,955.04) | 4_6 |
7 | (299.887,792.099) | 11_6 | 20 | (361.517,1009.23) | 3_1 |
8 | (281.307,841.768) | 10_1 | 21 | (478.118,834.562) | 2_6 |
9 | (262.005,893.737) | 10_6 | 22 | (464.33,882.501) | 1_1 |
10 | (242.062,947.8) | 9_1 | 23 | (449.676,932.375) | 1_6 |
11 | (372.223,775.113) | 8_6 | 24 | (434.799,984.418) | 0_1 |
12 | (355.79,823.042) | 7_1 | 25 | (419.238,1038.53) | 0_6 |
13 | (338.595,872.829) | 7_6 |
步骤2.1、取整数变量i并赋值i=1;
步骤2.2、将第i个标定角点的唯一编码号记为Δ′i_σ′i;
步骤3.1、若N为奇数,则执行步骤3.2;若N为偶数,则本步骤分为如下情况:
本步骤执行结束后,直接执行步骤3.3;
步骤3.2、本步骤分为如下两种情况:
在本步骤3.2中δi=2(Δ′i-z1)/(N+1)(结果只保留整数位);
步骤3.3、判断i是否小于25,若i<25,则将i+1赋值给i并返回步骤3.1顺序执行;若i≥25,则获得了第3次拍摄的左摄像机靶标图像上1号编码平面靶标中所有标定角点的唯一编码号,如表4.2所示;
表4.2
序号 | 标定角点亚像素坐标 | 标定角点唯一编码序号 | 标定角点靶标坐标 |
1 | (262.379,712.833) | 14_6 | (328,328,0) |
2 | (243.133,760.545) | 13_1 | (246,328,0) |
3 | (223.107,810.086) | 13_6 | (164,328,0) |
4 | (202.202,861.848) | 12_1 | (82,328,0) |
5 | (180.759,915.859) | 12_6 | (0,328,0) |
6 | (317.694,744.323) | 11_1 | (328,246,0) |
7 | (299.887,792.099) | 11_6 | (246,246,0) |
8 | (281.307,841.768) | 10_1 | (164,246,0) |
9 | (262.005,893.737) | 10_6 | (82,246,0) |
10 | (242.062,947.8) | 9_1 | (0,246,0) |
11 | (372.223,775.113) | 8_6 | (328,164,0) |
12 | (355.79,823.042) | 7_1 | (246,164,0) |
13 | (338.595,872.829) | 7_6 | (164,164,0) |
14 | (320.828,924.864) | 6_1 | (82,164,0) |
15 | (302.467,978.998) | 6_6 | (0,164,0) |
16 | (425.669,805.175) | 5_1 | (328,82,0) |
17 | (410.541,853.209) | 5_6 | (246,82,0) |
18 | (394.71,903.058) | 4_1 | (164,82,0) |
19 | (378.389,955.04) | 4_6 | (82,82,0) |
20 | (361.517,1009.23) | 3_1 | (0,82,0) |
21 | (478.118,834.562) | 2_6 | (328,0,0) |
22 | (464.33,882.501) | 1_1 | (246,0,0) |
23 | (449.676,932.375) | 1_6 | (164,0,0) |
24 | (434.799,984.418) | 0_1 | (82,0,0) |
25 | (419.238,1038.53) | 0_6 | (0,0,0) |
本发明提供的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,需要编制相应的计算机程序,并在计算机上执行程序以实现相应的运算处理及逻辑控制功能,因而本发明也提供一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以所述的标定方法。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:利用空间中两台具有公共视场的大视场摄像机同时拍摄空间中放置的多个编码平面靶标,从而获得一组包含多个编码平面靶标的标定图像;利用编码平面靶标的解码方法和标定角点的归类方法,分别获得左摄像机和右摄像机图像上每个编码平面靶标的标定角点信息,并筛选出不满足标定条件的编码平面靶标;调整不满足标定条件的编码平面靶标的空间位姿,并重新进行拍摄和判断;最终使得左摄像机和右摄像机图像上的每幅编码平面靶标都满足标定条件;最后利用张正友标定算法求解每台摄像机的内参数,以及左、右摄像机之间的旋转和平移关系,完成双目摄像机内外参数标定。
2.根据权利要求1所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:所述标定方法包括以下具体步骤:
步骤1、定义标定角点数阈值k1、公共标定角点数阈值k2、双目标定外参优化靶标数阈值G′,其中k1、k2和G′均为整数,k2>1,G′≥1;根据空间中多编码平面靶标的布局规则,将G个编码平面靶标放置在空间中,其中G为整数;
步骤2、将G个编码平面靶标的初始编码号按照从小到大的顺序排列,并分别记为z1、z2、z3、…、zG,根据编码平面靶标上的第1行第1个平行四边形编码单元的4个顶点中是标定角点的个数,选取合适的标定角点作为该平面靶标的靶标坐标系的原点,并以此原点建立靶标坐标系,其中z1、z2、z3、…、zG均为整数;
步骤3、以左摄像机靶标图像的左上角作为左摄像机靶标图像的标定角点像素坐标系的原点ol,建立左摄像机靶标图像的标定角点像素坐标系ol-xlyl;以右摄像机靶标图像的左上角作为右摄像机靶标图像的标定角点像素坐标系的原点or,建立右摄像机靶标图像的标定角点像素坐标系or-xryr;
步骤4、以左摄像机的光心作为左摄像机坐标系的原点Ol,c,建立所述左摄像机坐标系Ol,c-Xl,cYl,cZl,c;以右摄像机的光心作为右摄像机坐标系的原点Or,c,建立所述右摄像机坐标系Or,c-Xr,cYr,cZr,c;
步骤5、利用两台相对位置和绝对位置均固定且具有共视场的大视场摄像机同时拍摄空间中放置的G个编码平面靶标,获得第τ次拍摄的一组靶标图像,其中包含了第τ次拍摄的左摄像机靶标图像和第τ次拍摄的右摄像机靶标图像,其中为τ正整数;
步骤6、将第τ次拍摄的左摄像机靶标图像作为输入条件,利用编码平面靶标的解码方法,获得第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合、第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合;
步骤7、将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点的唯一编码序号集合作为输入条件,利用空间中多编码平面靶标的标定角点归类方法,将第τ次拍摄的左摄像机靶标图像上提取到的所有标定角点进行归类,找到每个标定角点所属的编码平面靶标,同时可获得第τ次拍摄的左摄像机靶标图像中1号编码平面靶标上的标定角点个数2号编码平面靶标上的标定角点个数…、G号编码平面靶标上的标定角点个数
步骤9、判断每个编码平面靶标上是否均获得满足标定条件的标定角点个数,若不满足则对所标记的不满足标定条件的编码平面靶标进行位姿调整,并循环执行步骤5至步骤8,直至每个编码平面靶标上均获得满足标定条件的标定角点个数;
步骤10、采用所述步骤6至步骤9与左摄像机相同的处理方法,将第τ次拍摄的右摄像机靶标图像作为输入条件,直至右摄像机获得的靶标图像中每个编码平面靶标上均获得满足标定条件的标定角点个数;
步骤11、依次对第τ次拍摄的左摄像机靶标图像中i号编码平面靶标上的标定角点个数和第τ次拍摄的右摄像机靶标图像中i号编码平面靶标上的标定角点个数进行判断,将满足条件的第τ次拍摄的左摄像机靶标图像中i号编码平面靶标作为对应的左摄像机外参标定靶标,将将满足条件的第τ次拍摄的右摄像机靶标图像中i号编码平面靶标作为对应的右摄像机外参标定靶标;
步骤12、在被标记的第τ次拍摄的左摄像机外参标定靶标和第τ次拍摄的右摄像机外参标定靶标中,分别对对应的实际空间中放置的编码平面靶标进行位姿调整,使其公共标定角点数满足公共标定角点数阈值;
步骤13、依次将第τ次拍摄的第i个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和标定角点唯一编码序号集合作为输入条件,利用编码平面靶标上标定角点的靶标坐标计算方法,得到第τ次拍摄的第i个左摄像机标定匹配组;
将第τ次拍摄的第i个右摄像机标定靶标上的标定角点在右摄像机靶标图像的标定角点像素坐标系or-xryr下的亚像素坐标集合和标定角点唯一编码序号集合作为输入条件,利用编码平面靶标上标定角点的靶标坐标计算方法,得到第τ次拍摄的第i个右摄像机标定匹配组;
步骤14、根据第τ次拍摄的多个左摄像机标定匹配组,利用单目摄像机内外参数标定算法计算出左摄像机的内参数、畸变系数以及从左摄像机坐标系分别变换到空间中对应编号靶标坐标系的旋转矩阵和平移向量;
根据第τ次拍摄的多个右摄像机标定匹配组,利用单目摄像机内外参数标定算法计算出右摄像机的内参数、畸变系数以及从右摄像机坐标系分别变换到空间中对应编号靶标坐标系的旋转矩阵和平移向量;
步骤15、在获得的左摄像机坐标系对应的旋转矩阵和平移向量中,寻找左摄像机坐标系分别变换到空间中对应编号的左摄像机外参标定靶标坐标系的旋转矩阵和平移向量;
在获得的对应的旋转矩阵和平移向量中,寻找右摄像机坐标系分别变换到空间中对应编号的右摄像机外参标定靶标坐标系的旋转矩阵和平移向量;
步骤16、利用左摄像机坐标系分别变换到空间中对应编号的左摄像机外参标定靶标坐标系的旋转矩阵和平移向量,以及摄像机坐标系分别变换到空间中对应编号的右摄像机外参标定靶标坐标系的旋转矩阵和平移向量,求解出左摄像机坐标系和右摄像机坐标系之间的旋转和平移关系;
步骤17、计算出从左摄像机坐标系变换到右摄像机坐标系的旋转矩阵R和平移向量T的初始值;
步骤18、根据获得左摄像机的内参数和畸变系数、右摄像机的内参数和畸变系数以及左摄像机与右摄像机之间的初始外参数后,利用基于标准长度的优化方法,计算出双目摄像机外参的精确值R′和T′,以此完成双目摄像机标定。
3.根据权利要求2所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:步骤3中,靶标坐标系的创建步骤为:
步骤3.1、定义整数变量i并赋值i=1;
步骤3.2、将初始编码号为zi的编码平面靶标记为i号编码平面靶标;
步骤3.2、将i号编码平面靶标的最后一个平行四边形编码单元的编号记为z′i;
步骤3.4、记空间中的i号编码平面靶标上的第1行第1个平行四边形编码单元的4个顶点中是标定角点的个数为根据数值情况,选取相应的原点标定角点作为i号靶标坐标系的原点以i号编码平面靶标上的辅助向量的方向作为i号靶标坐标系轴的方向;
步骤3.6、判断i是否小于G,若i小于G,则将i+1赋值给i并返回步骤3.2顺序执行。
4.根据权利要求2所述的一种基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:在步骤8中,每个编码平面靶标上是否均获得满足标定条件的标定角点个数的具体判定方法为:
步骤8.1、取整数变量i并赋值i=1;定义整数变量β1并赋值β1=0;定义整型数组L[N1]并将数组中的所有元素赋值为0;
若则将i赋值给L[β1],将β1+1赋值给β1,并将第τ次拍摄的左摄像机靶标图像中i号编码平面靶标作为第τ次拍摄的第β1个左摄像机标定靶标,将第τ次拍摄的左摄像机靶标图像中i号编码平面靶标上提取到的所有标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下亚像素坐标集合和标定角点唯一编码序号集合作为第τ次拍摄的第β1个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标集合和标定角点唯一编码序号集合,而后执行步骤8.3;
步骤8.3、判断i是否小于G,若i<G,则将i+1赋值给i,并返回步骤8.2顺序执行。
5.根据权利要求2所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:在步骤9和步骤12中,在调整被标记的编码平面靶标时,需满足以下要求:被标记的编码平面靶标进行调整后,其空间姿态与其他任一编码平面靶标仍具有明显差异;在调整被标记的编码平面靶标时,不会影响其它编码平面靶标上标定角点的提取。
6.根据权利要求2所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:在步骤11中,左摄像机外参标定靶标和右摄像机外参标定靶标判定的步骤为:
步骤11.1、取整数变量i并赋值i=1;定义整数变量β3并赋值β3=0;定义整型数组A1[N3]并将数组中的所有元素赋值为0;
若且则将i赋值给A1[β3],将β3+1赋值给β3,将第τ次拍摄的左摄像机靶标图像中i号编码平面靶标作为第τ次拍摄的第β3个左摄像机外参标定靶标,将第τ次拍摄的右摄像机靶标图像中i号编码平面靶标作为第β3个右摄像机外参标定靶标,而后执行步骤11.3;否则直接执行步骤11.3;
步骤11.3、判断i是否小于G,若i<G,则将i+1赋值给i后返回步骤11.2顺序执行;否则执行步骤11.4;
步骤11.4、取整数变量i并赋值i=1;定义整数变量β′3并赋值β′3=0;定义整型数组A2[N3]并将数组中的所有元素赋值为0;
步骤11.5、比较第τ次拍摄的左摄像机靶标图像中第i个外参标定靶标的标定角点唯一编码序号集合和第τ次拍摄的右摄像机靶标图像中第i个外参标定靶标的标定角点唯一编码序号集合,统计相同的标定角点唯一编码序号的公共标定角点个数并进行判断:
若则将i赋值给A2[β′3],将β′3+1赋值给β′3,并将第τ次拍摄的第i个左摄像机外参标定靶标作为第τ次拍摄的第β′3个左摄像机外参优化靶标,将第τ次拍摄的第i个右摄像机外参标定靶标作为第τ次拍摄的第β′3个右摄像机外参优化靶标,而后执行步骤11.6;否则将第τ次拍摄的第i个左摄像机外参标定靶标和第τ次拍摄的第i个右摄像机外参标定靶标进行标记,并执行步骤11.6;
步骤11.6、判断i是否小于N3,若i<N3,则将i+1赋值给i后返回步骤11.5顺序执行;否则执行步骤11.7;
步骤11.7、判断β′3是否小于G′,若β′3<G′则执行步骤12;
步骤11.8、将τ+1赋值给τ后返回步骤5顺序执行。
7.根据权利要求2所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:在步骤13中,获得左摄像机标定匹配组和右摄像机标定匹配组的具体步骤为:
步骤13.1、取整数i并赋值i=1;
步骤13.2、利用编码平面靶标上标定角点的靶标坐标计算方法,计算出第τ次拍摄的第i个左摄像机标定靶标上的标定角点在左摄像机靶标图像的标定角点像素坐标系ol-xlyl下的亚像素坐标和与之一一对应的空间中第L[i-1]个编码平面靶标上具有相同唯一编码序号的标定角点在第L[i-1]个靶标坐标系下的靶标坐标之间的匹配关系,并将此匹配关系记为第τ次拍摄的第i个左摄像机标定匹配组;
步骤13.3、判断i是否小于N1,若i<N1,则将i+1赋值给i后返回步骤13.2顺序执行;否则,即获得了第τ次拍摄的N1个左摄像机标定匹配组;
步骤13.4、定义整数变量i1、i2并赋值i1=0,i2=0;
步骤13.5、判断L[i1]是否等于A1[i2],若L[i1]==A1[i2],则将第τ次拍摄的第(i1+1)个左摄像机标定匹配组作为第τ次拍摄的第(i2+1)个左摄像机外参标定匹配组,将第τ次拍摄的第(i1+1)个左摄像机标定靶标作为第τ次拍摄的第(i2+1)个左摄像机外参标定靶标,并执行步骤13.6;否则将(i1+1)赋值给i1后重新执行本步骤;
步骤13.6、判断i2是否小于(N3-1),若i2<(N3-1),则将(i2+1)赋值给i2,重新给第i1赋值i1=0,并返回步骤13.5顺序执行;否则找到了第τ次拍摄的N1个左摄像机标定匹配组中包含的N3个左摄像机外参标定匹配组;
步骤13.7、取i整数变量并赋值i=0;
步骤13.8、将第τ次拍摄的第A2[i]个左摄像机外参标定匹配组作为第τ次拍摄的第(i+1)个左摄像机外参优化匹配组;
步骤13.9、判断i是否小于(β′3-1),若i<(β′3-1),则将i+1赋值给i后返回步骤13.8顺序执行,否则获得了第τ次拍摄的β′3个左摄像机外参优化匹配组。
8.根据权利要求1所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:所述编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,所述编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,所述编码平面靶标一共包含M行×N列个标定角点,其中M和N均为正整数;编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括定位图案、定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中每一个平行四边形编码单元和每一个标定角点进行编码。
9.根据权利要求1或8所述的基于空间中多编码平面靶标的双目摄像机内外参数标定方法,其特征在于:空间中所有编码平面靶标上的所有平行四边形编码单元的编码号互不相同;且同一个编码平面靶标上的所有平行四边形编码单元的编码号具有连续性。
10.一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以如权利要求1所述的参数标定方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020115409647 | 2020-12-23 | ||
CN202011540964 | 2020-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113129385A true CN113129385A (zh) | 2021-07-16 |
CN113129385B CN113129385B (zh) | 2022-08-26 |
Family
ID=76775848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110391614.7A Active CN113129385B (zh) | 2020-12-23 | 2021-04-12 | 基于空间中多编码平面靶标的双目摄像机内外参数标定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113129385B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299172A (zh) * | 2021-12-31 | 2022-04-08 | 广东工业大学 | 一种用于视觉***的平面编码靶标及其实时位姿测量方法 |
CN114302173A (zh) * | 2021-12-31 | 2022-04-08 | 广东工业大学 | 一种平面编码靶标及应用其的图像拼接***、方法 |
CN117036506A (zh) * | 2023-08-25 | 2023-11-10 | 浙江大学海南研究院 | 一种双目摄像机标定方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102506758A (zh) * | 2011-10-12 | 2012-06-20 | 北京航空航天大学 | 物体表面三维形貌多传感器柔性动态视觉测量***和方法 |
CN104851104A (zh) * | 2015-05-29 | 2015-08-19 | 大连理工大学 | 采用柔性靶标高速摄相机近景大视场标定方法 |
CN104933717A (zh) * | 2015-06-17 | 2015-09-23 | 合肥工业大学 | 基于方向性标定靶标的摄像机内外参数自动标定方法 |
CN105157609A (zh) * | 2015-09-01 | 2015-12-16 | 大连理工大学 | 基于两组相机的大型零件全局形貌测量方法 |
CN105469418A (zh) * | 2016-01-04 | 2016-04-06 | 中车青岛四方机车车辆股份有限公司 | 基于摄影测量的大视场双目视觉标定装置及方法 |
US20170278270A1 (en) * | 2016-03-24 | 2017-09-28 | Magna Electronics Inc. | Targetless vehicle camera calibration system |
CN108182708A (zh) * | 2017-12-27 | 2018-06-19 | 深圳进化动力数码科技有限公司 | 一种双目相机的标定方法、标定装置及终端设备 |
CN109767474A (zh) * | 2018-12-31 | 2019-05-17 | 深圳积木易搭科技技术有限公司 | 一种多目相机标定方法、装置及存储介质 |
-
2021
- 2021-04-12 CN CN202110391614.7A patent/CN113129385B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102506758A (zh) * | 2011-10-12 | 2012-06-20 | 北京航空航天大学 | 物体表面三维形貌多传感器柔性动态视觉测量***和方法 |
CN104851104A (zh) * | 2015-05-29 | 2015-08-19 | 大连理工大学 | 采用柔性靶标高速摄相机近景大视场标定方法 |
CN104933717A (zh) * | 2015-06-17 | 2015-09-23 | 合肥工业大学 | 基于方向性标定靶标的摄像机内外参数自动标定方法 |
CN105157609A (zh) * | 2015-09-01 | 2015-12-16 | 大连理工大学 | 基于两组相机的大型零件全局形貌测量方法 |
CN105469418A (zh) * | 2016-01-04 | 2016-04-06 | 中车青岛四方机车车辆股份有限公司 | 基于摄影测量的大视场双目视觉标定装置及方法 |
US20170278270A1 (en) * | 2016-03-24 | 2017-09-28 | Magna Electronics Inc. | Targetless vehicle camera calibration system |
CN108182708A (zh) * | 2017-12-27 | 2018-06-19 | 深圳进化动力数码科技有限公司 | 一种双目相机的标定方法、标定装置及终端设备 |
CN109767474A (zh) * | 2018-12-31 | 2019-05-17 | 深圳积木易搭科技技术有限公司 | 一种多目相机标定方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
HONGYANG ZHAO 等: "The Calibration of Binocular Stereo Measurement System Based on a Coded Model", 《APPLIED MECHANICS AND MATERIALS》 * |
乔晓勇等: "双目立体视觉中靶标的设计与识别", 《电子技术》 * |
杨博文等: "面向大视场视觉测量的摄像机标定技术", 《光学学报》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299172A (zh) * | 2021-12-31 | 2022-04-08 | 广东工业大学 | 一种用于视觉***的平面编码靶标及其实时位姿测量方法 |
CN114302173A (zh) * | 2021-12-31 | 2022-04-08 | 广东工业大学 | 一种平面编码靶标及应用其的图像拼接***、方法 |
CN114299172B (zh) * | 2021-12-31 | 2022-07-08 | 广东工业大学 | 一种用于视觉***的平面编码靶标及其实时位姿测量方法 |
CN114302173B (zh) * | 2021-12-31 | 2022-07-15 | 广东工业大学 | 一种平面编码靶标的二维图像拼接***及其拼接方法 |
US11689737B1 (en) | 2021-12-31 | 2023-06-27 | Guangdong University Of Technology | Plane coding target and image splicing system and method applying the same |
US11699244B2 (en) | 2021-12-31 | 2023-07-11 | Guangdong University Of Technology | Planar coding target for vision system and real-time pose measurement method thereof |
CN117036506A (zh) * | 2023-08-25 | 2023-11-10 | 浙江大学海南研究院 | 一种双目摄像机标定方法 |
CN117036506B (zh) * | 2023-08-25 | 2024-05-10 | 浙江大学海南研究院 | 一种双目摄像机标定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113129385B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113129385B (zh) | 基于空间中多编码平面靶标的双目摄像机内外参数标定方法 | |
CN112066879B (zh) | 基于计算机视觉的气浮运动模拟器位姿测量装置及方法 | |
CN110490912B (zh) | 基于局部灰度顺序模型描述符的3d-rgb点云配准方法 | |
CN110853075B (zh) | 一种基于稠密点云与合成视图的视觉跟踪定位方法 | |
CN104867160B (zh) | 一种用于摄像机内外参数标定的方向性标定靶标 | |
CN104933717A (zh) | 基于方向性标定靶标的摄像机内外参数自动标定方法 | |
CN111981982B (zh) | 一种基于加权sfm算法的多向合作靶标光学测量方法 | |
CN113129386B (zh) | 基于编码平面靶标的双目摄像机内外参数的智能标定方法 | |
CN109191562B (zh) | 基于彩色伪随机编码结构光的三维重建方法 | |
CN113160329B (zh) | 用于摄像机标定的编码平面靶标及其解码方法 | |
CN112686950B (zh) | 位姿估计方法、装置、终端设备及计算机可读存储介质 | |
CN113920205B (zh) | 一种非同轴相机的标定方法 | |
CN113096191B (zh) | 基于编码平面靶标的单目摄像机智能标定方法 | |
CN113129397B (zh) | 一种基于图形几何关系的平行四边形编码标志的解码方法 | |
CN112929626A (zh) | 一种基于智能手机影像的三维信息提取方法 | |
CN113963067B (zh) | 一种采用小靶标对大视场视觉传感器进行标定的标定方法 | |
CN105488535B (zh) | 一种三维点云匹配方法 | |
CN112270716B (zh) | 一种人工视觉地标的解码定位方法 | |
CN113112550B (zh) | 一种用于摄像机内外参数标定的编码平面靶标及其编码方法 | |
CN113112548B (zh) | 基于编码立体靶标的双目摄像机内外参数的快速标定方法 | |
CN113129396B (zh) | 一种基于区域分割的平行四边形编码标志的解码方法 | |
CN115222828A (zh) | 用于视觉定位的正六边形编码标志解码方法 | |
CN114299172B (zh) | 一种用于视觉***的平面编码靶标及其实时位姿测量方法 | |
CN113192143B (zh) | 一种用于摄像机快速标定的编码立体靶标及其解码方法 | |
CN113129388B (zh) | 用于快速标定摄像机内外参数的编码立体靶标及其编码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |