CN113096191B - 基于编码平面靶标的单目摄像机智能标定方法 - Google Patents
基于编码平面靶标的单目摄像机智能标定方法 Download PDFInfo
- Publication number
- CN113096191B CN113096191B CN202110386596.3A CN202110386596A CN113096191B CN 113096191 B CN113096191 B CN 113096191B CN 202110386596 A CN202110386596 A CN 202110386596A CN 113096191 B CN113096191 B CN 113096191B
- Authority
- CN
- China
- Prior art keywords
- target
- calibration
- alpha
- coding
- image
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration by the use of local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了基于编码平面靶标的单目摄像机智能标定方法,利用基于生长的棋盘格角点检测算法提取编码平面靶标图像中各个标定角点的亚像素级坐标;利用编码平面靶标上的编码图案及解码方法判断编码平面靶标的旋转方向,并获得编码平面靶标图像中各个标定角点在靶标坐标系下一一对应的靶标坐标;利用平面靶标空间姿态估算算法估算编码平面靶标在空间中的旋转和平移;获得G幅满足条件的标定图像后,利用张正友标定算法求解摄像机的内外参数。本发明能够实现单目摄像机内外参数的自动标定,能够充分利用满足条件的局部编码平面靶标图像,提高了单目摄像机标定的适用性和鲁棒性。
Description
技术领域
本发明涉及计算机视觉领域中的摄像机标定领域,具体为基于编码平面靶标的单目摄像机智能标定方法。
背景技术
计算机视觉技术在工业控制、测量学等领域有着广泛的应用,计算机视觉技术主要是利用摄像机的成像,通过图像信息获取空间中被测物体的三维信息,由此重建和识别物体。计算机视觉技术的根本问题是摄像机标定,通过摄像机标定技术可以获得空间三维坐标与图像二维坐标之间的映射关系,摄像机标定技术是计算机视觉测量技术的研究重点,摄像机标定的任务就是求解摄像机的内外参数,摄像机标定技术得到越来越多的关注和发展。
1986年Roger Tsai提出了基于径向约束的摄像机标定算法,该标定算法需要3D立体靶标,使得标定过程不灵活;1999年前后,张正友(Z.Y Zhang)提出了基于平面靶标的摄像机标定算法,该标定算法使用了不包含方向信息和编码信息的平面靶标,标定过程中无法判断出无方向信息的平面靶标的旋转方向,并且张正友(Z.Y Zhang)提出的基于平面靶标的摄像机标定算法要求摄像机拍摄到完整的平面靶标,但实际标定过程中摄像机常常会拍摄不到完整的平面靶标,此时使用传统的没有包含方向信息和编码信息的平面靶标难以进行摄像机标定和保证摄像机标定精度。
发明内容
本发明旨在克服现有技术的不足,提出了基于编码平面靶标的单目摄像机智能标定方法,利用包含方向信息和编码信息的编码平面靶标进行摄像机标定,能够精确地判断出编码平面靶标的旋转方向,且编码平面靶标中的编码信息能够保证摄像机标定时像素坐标和靶标坐标匹配的精度;另外编码平面靶标中的编码图像具有独立性,不依赖于某个具体的方向图案,因此与方向性平面靶标相比,没有拍摄到方向性图案的局部靶标图像仍可以用于摄像机标定。
为实现上述效果,本发明采用的技术方案为:提供一种用于摄像机标定的编码平面靶标,所述编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,所述编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,所述编码平面靶标一共包含M行×N列个标定角点,其中M和N均为正整数;编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括定位图案、定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;定向图案和定位图案用于编码平面靶标旋转方向的判断;编码标志图案用于给编码平面靶标中每一个标定角点进行编码。
编码平面靶标中每一个平行四边形编码单元内部的定位图案、定向图案和编码单元图案均不重叠且不连通。
编码平面靶标中所有平行四边形编码单元和平行四边形非编码单元均为长度为a且宽度为b的平行四边形,a和b均大于零,所述平行四边形内的锐角记为λ(其中0°<λ<90°),且当平行四边形编码单元为矩形时,λ=90°。
任取编码平面靶标中的一个平行四边形编码单元记为编码平面靶标向量确定编码单元Γv,任取编码平面靶标向量确定编码单元Γv的一个顶点记为向量确定编码单元第一顶点o″1,在编码平面靶标向量确定编码单元Γv中将相交形成向量确定编码单元第一顶点o1″的任意一条边记为向量确定编码单元第一边Νv1,在向量确定编码单元第一边Νv1上取向量确定编码单元Γv的顶点记为向量确定编码单元第一边上第一点o″2,其中向量确定编码单元第一边上第一点o″2与向量确定编码单元第一顶点o″1是互不重合的2个点,记向量为规定向量并且编码平面靶标内的每一个平行四边形编码单元中的定位图案和定向图案的位置关系如下:在同一平行四边形编码单元内由定向图案质心指向定位图案质心的方向与规定向量的方向相同;
将编码平面靶标所在的平面记为靶标平面Pt,以向量确定编码单元第一顶点o″1为起点做一个与规定向量同向的单位向量记为第1个规定单位向量当人正视看向靶标平面Pt时,以向量确定编码单元第一顶点o″1为旋转中心,在靶标平面Pt内将第1个规定单位向量逆时针旋转β′角度(0°<β′<90°)得到第2个规定单位向量在空间中以向量确定编码单元第一顶点o″1为起点做一个与所得向量的方向相同的单位向量,并记为正向向量将编码平面靶标向量确定编码单元Γv上距离编码平面靶标向量确定编码单元Γv中的定向图案最近的两个顶点分别记为第1临时顶点o″3和第2临时顶点o″4;若所得向量的方向与正向向量的方向相同,则将记为向量辅助向量若所得向量的方向与正向向量的方向相同,则将向量记为辅助向量
提供一种基于编码平面靶标的单目摄像机智能标定方法,包括以下主要步骤:
步骤1、定义标定图像总数G,其中G为整数且G>3;定义旋转阈值k1和平移阈值k2;定义编码平面靶标图像中标定角点个数阈值k3;定义整数变量α、整数变量β、整数变量i′,并初始化α=1,β=0,i′=0;
步骤2、以所述摄像机的光心作为摄像机坐标系的原点Oc,以标定角点像素坐标系的x轴方向为摄像机坐标系的Xc轴方向,以标定角点像素坐标系的y轴方向作为摄像机坐标系的Yc轴方向,且所述摄像机坐标系的Xc轴、Yc轴和Zc轴满足右手定则,从而建立所述摄像机坐标系Oc-XcYcZc;
步骤3、利用位置固定的摄像机实时拍摄空间中移动的编码平面靶标,获得靶标图像;
步骤4、将所述靶标图像为第α个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第α幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
分为以下两种情况:
情况1、当Φp==1时,记第α个移动位置上的编码平面靶标上第1行第1个平行四边形编码单元Γ1 (α)1中的标定角点为原点标定角点此时选取原点标定角点作为第α个靶标坐标系的原点以第α个移动位置上的编码平面靶标上的辅助向量的方向作为第α个靶标坐标系轴的方向;
情况2、当Φp==2时,分别记第α个移动位置上的编码平面靶标上第1行第1个平行四边形编码单元中的两个标定角点为ε′1 (α)和ε″1 (α),根据标定角点ε′1 (α)和ε″1 (α)的位置关系又可分为以下情况:
(1)当向量的方向与第α个移动位置上的编码平面靶标上的辅助向量的方向相同时,此时选取标定角点ε′1 (α)作为第α个靶标坐标系的原点以第α个移动位置上的编码平面靶标上的辅助向量的方向作为第α个靶标坐标系的轴的方向;
(2)当向量的方向与第α个移动位置上的编码平面靶标上的辅助向量的方向不同时,此时选取标定角点ε″1 (α)作为第α个靶标坐标系的原点以第α个移动位置上的编码平面靶标上的辅助向量的方向作为第α个靶标坐标系的轴的方向;
步骤7、将第α幅靶标图像进行复制备份得到第α幅复制靶标图像;
步骤8、将第α幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第α幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第α幅复制靶标图像上提取到的标定角点的个数γ(α)、第α幅复制靶标图像中提取到的每个标定角点的唯一编码序号以及第α幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第α个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第α个靶标坐标系下的靶标坐标之间的匹配关系,其中γ(α)为正整数;
所述编码平面靶标的解码方法具体步骤为:
步骤8.1、输入放置在空间中的编码平面靶标的基本信息,即位于空间中的编码平面靶标包含M行×N列个标定角点,编码平面靶标的初始平行四边形编码单元编码号为zv,编码平面靶标上第1行第1个平行四边形编码单元的4个顶点中作为标定角点的个数Φp;
步骤8.2、对所述第α幅复制靶标图像进行8位灰度处理,得到第α个编码平面靶标灰度图像P1 (α);
步骤8.3、在所述第α个编码平面靶标灰度图像P1 (α)中,利用棋盘格角点提取算法提取第α个编码平面靶标灰度图像P1 (α)中所包含标定角点个数最多的mα行×nα列个标定角点的亚像素坐标集合并记为第α个标定角点亚像素坐标集合Q(α),并将所述mα行×nα列个标定角点亚像素坐标集合中最外围角点(即第1行标定角点、第1列标定角点、第mα行标定角点和第nα列标定角点)所围成的多边形记为第α个最大标定角点数多边形Lα;其中,经过角点提取后的第α个编码平面靶标灰度图像P1 (α)没有发生改变;
步骤8.4、在所述第α个编码平面靶标灰度图像P1 (α)中,利用数字图像处理的方法令第α个最大标定角点数多边形Lα内部的所有像素点的灰度值均保持不变,Lα以外的所有像素点的灰度值均赋值为255,并将第α个编码平面靶标灰度图像P1 (α)经过此处理得到的图像记为第α个无复杂背景靶标灰度图像P1′(α);
步骤8.5、对第α个无复杂背景靶标灰度图像P1′(α)进行二值化处理,得到第α个无复杂背景靶标二值化图像P2 (α),使得在第α个无复杂背景靶标二值化图像中平行四边形编码单元的背景颜色变为黑色,平行四边形非编码单元背景颜色、定位图案、定向图案的颜色均变为白色,编码标志图案的颜色根据编码规则可以为白色也可以为黑色;
步骤8.6、根据在第α个编码平面靶标灰度图像P1 (α)中提取的第α个最大标定角点数多边形Lα内部包含mα行×nα列个标定角点数目,确定最大标定角点数多边形Lα内部包含的平行四边形编码单元个数μα,其中mα、nα和μα均为整数;
本步骤分为如下情况:
情况1、当mα、nα均为奇数,或者mα、nα一奇一偶时可由公式(8-1)计算出多边形Lα内部包含的平行四边形编码单元个数μα(μα为整数);
μα=(mα-1)(nα-1)/2 (8-1)
情况2、若mα、nα均为偶数时,可由公式(8-2)计算出多边形Lα内包含的平行四边形编码单元预估个数μ′α(μ′α为整数);
μ′α=[(mα-1)(nα-1)+1]/2 (8-2)
此时多边形Lα内实际包含的平行四边形编码单元的个数μα满足μα≤μ′α;
设置平行四边形编码单元个数判断阀值L′;
步骤8.7、在第α个无复杂背景靶标二值化图像上,作黑色连通域腐蚀处理,使得第α个无复杂背景靶标二值化图像中所有平行四边形编码单元对角处断开,并将第α个无复杂背景靶标二值化图像经过此处理得到的图像记为第α个靶标二值化腐蚀图像P′2 (α);其中对第α个无复杂背景靶标二值化图像进行黑色连通域腐蚀处理时,须满足以下条件:
(1)第α个最大标定角点数多边形Lα内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向圆的白色连通域、定位圆环的白色连通域、定位圆环中心的黑色连通域和编码标志图案的白色连通域均保持完整;
(2)第α个最大标定角点数多边形Lα内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向图案、定位图案和编码标志图案的连通域互不相通;
(3)第α个最大标定角点数多边形Lα内的每一个平行四边形编码单元均满足,平行四边形编码单元内的定向图案、定位图案和编码标志图案均处于平行四边形编码单元背景中;
在第α个靶标二值化腐蚀图像P′2 (α)上寻找μ′α个最大的黑色连通域,并计算前μ′α-1个最大黑色连通域包含像素点的平均值χ′α;
将多边形Lα内μ′α个最大黑色连通域中最小的黑色连通域记为第α个末端黑色连通域,并计算末端黑色连通域包含的像素点数χm,α,根据公式(8-3)进行判断;
(1)若L″α≤L′α,则多边形Lα内实际包含μ′α个平行四边形编码单元,将μ′α的数值赋值给μα,μα=μ′α;并执行步骤8.8;
(2)若L″α>L′α,则多边形Lα内实际包含μ′α-1个平行四边形编码单元,将μ′α-1的数值赋值给μα,μα=μ′α-1;并执行步骤8.8;
计算方格连通域质心的像素坐标将i+1重新赋值给i后继续执行此步骤直到i>μ,由此得到计算得到靶标二值化腐蚀图像P2′上的方格连通域方格连通域方格连通域质心像素坐标 并将依次作为平行四边形编码单元质心像素坐标集合A(α)中的第1个元素、第2个元素、…、第μα个元素;
步骤8.9、给整数变量i重新赋予初值i=1;
在第α个靶标二值化腐蚀图像P′2 (α)中,计算距离方格连通域的质心像素坐标值最近的黑色连通域,并记为第α个靶标二值化腐蚀图像P′2 (α)中的圆环中心连通域Ω′i (α);将i+1重新赋值给i后继续执行此步骤,直到i>μα时结束;由此分别得到第α个靶标二值化腐蚀图像P′2 (α)中的圆环中心连通域Ω′1 (α)、圆环中心连通域圆环中心连通域
步骤8.10、给整数变量i重新赋予初值i=1;
在第α个靶标二值化腐蚀图像P′2 (α)中,计算上述第α个靶标二值化腐蚀图像P′2 (α)中的圆环中心连通域Ω′i (α)质心像素坐标将i+1重新赋值给i后继续执行此步骤,直到i>μα时结束;由此得到第α个靶标二值化腐蚀图像P′2 (α)中的圆环中心连通域Ω′1 (α)、圆环中心连通域圆环中心连通域的质心像素坐标并将 依次作为圆环质心像素坐标集合B(α)中的第1个元素、第2个元素、…、第μα个元素;
步骤8.11、在第α个靶标二值化腐蚀图像P′2 (α)中,将除方格连通域方格连通域方格连通域以及圆环中心连通域Ω′1 (α)、圆环中心连通域圆环中心连通域以外的黑色连通域的灰度值均赋值为255,并将第α个靶标二值化腐蚀图像P′2 (α)经过此处理得到的图像记为第α个解码二值化图像P3 (α);
步骤8.12、取整数变量ζ,并赋予初始值ζ=1;
具体方法包括以下步骤:
步骤8.13.1、在第α组第ζ个备份二值化图像上,取平行四边形编码单元质心像素坐标集合A(α)中第ζ个质心像素坐标值在第α个标定角点集合Q(α)中寻找距离质心像素坐标值最近的4个标定角点的像素坐标值,并将这4个标定角点的像素坐标值在第α组第ζ个备份二值化图像上对应的4个像素点分别记为并将该4个像素点作为第α组第ζ个标定角点四边形的4个顶点,并将4个顶点相连形成第α组第ζ个标定角点四边形
步骤8.14.1、在第α组第ζ个无复杂背景的单元二值化图像中,寻找最大黑色连通域并记为第α组第ζ个无复杂背景的单元二值化图像中的最大黑色连通域提取第α组第ζ个无复杂背景的单元二值化图像中的最大黑色连通域的所有内、外轮廓,并记为质心像素坐标值为的平行四边形编码单元的轮廓集合
步骤8.14.2、在质心像素坐标为值的平行四边形编码单元的轮廓集合中,统计每个轮廓中包含的像素点数,其中包含像素点数第二多的轮廓即为在第α组第ζ个无复杂背景的单元二值化图像上的质心像素坐标值为的平行四边形编码单元中定位圆的轮廓计算此定位圆轮廓的质心像素坐标并记为在第α组第ζ个无复杂背景的单元二值化图像上的质心像素坐标值为的平行四边形编码单元中定位圆质心像素坐标
步骤8.14.3、在质心坐标为的平行四边形编码单元的轮廓集合中,除去包含像素点数最多的2个轮廓,剩余其他个轮廓即为在第α组第ζ个无复杂背景的单元二值化图像上的质心像素坐标值为的平行四边形编码单元中编码标志圆的轮廓,并分别记为编码标志圆轮廓编码标志圆轮廓编码标志圆轮廓其中
步骤8.14.4、给整数变量i重新赋予初值i=1;
步骤8.14.5、在第α组第ζ个无复杂背景的单元二值化图像中,计算编码标志圆轮廓的质心像素坐标将i+1重新赋值给i后继续执行此步骤,直到结束,得到质心像素坐标值为的平行四边形编码单元中的编码标志圆轮廓编码标志圆轮廓编码标志圆轮廓的质心像素坐标
步骤8.14.6、在第α组第ζ个无复杂背景的单元二值化图像上,将像素坐标值为的像素点记为质心像素坐标值为的平行四边形编码单元上的定向圆环质心并且在第α组第ζ个无复杂背景的单元二值化图像上,将像素坐标值分别为的4个像素点记为
步骤8.14.7、在第α组第ζ个无复杂背景的单元二值化图像上,取分别表示在质心坐标为的平行四边形编码单元中第1编码区域、第3编码区域、第4编码区域和第6编码区域的标定角点的像素坐标;根据定位圆质心像素坐标和定向圆环质心计算出质心像素坐标值为的平行四边形编码单元中的第α组第ζ个方向向量
步骤8.14.8、在第α组第ζ个无复杂背景的单元二值化图像上,将4个像素点中距离定位圆质心最近的2个像素点分别记为和分别计算出在质心像素坐标值为的平行四边形编码单元中的第1判断向量和第2判断向量以及区域划分正弦值和区域划分正弦值根据和的取值情况确定质心像素坐标值为的平行四边形编码单元中第1编码区域和第6编码区域的标定角点;
步骤8.14.9、在第α组第ζ个无复杂背景的单元二值化图像上,通过已找到质心像素坐标值为的平行四边形编码单元中第1编码区域和第6编码区域的标定角点和将4个像素点 中余下的2个像素点的像素坐标分别赋值给质心像素坐标值为的平行四边形编码单元的第1临时坐标值,记为以及第2临时坐标值,记为求出在质心像素坐标值为的平行四边形编码单元中的第3判断向量和第4判断向量
步骤8.14.11、在第α组第ζ个无复杂背景的单元二值化图像上,根据在质心像素坐标值为的平行四边形编码单元中第1编码区域的标定角点和第6编码区域的标定角点得出质心像素坐标值为的平行四边形编码单元中的第5判断向量
以质心像素坐标值为的平行四边形编码单元的定位圆质心为起点作与第5判断向量平行且同向的单位向量以质心像素坐标值为的平行四边形编码单元的定向圆环质心为起点作与第5判断向量平行且同向的单位向量,记为将整数变量i重新赋值i=1;
步骤8.14.12、定义6个浮点型二维数组 用于存放质心像素坐标值为的平行四边形编码单元中分别位于第1编码区域、第2编码区域、第3编码区域、第4编码区域、第5编码区域和第6编码区域的编码标志圆轮廓质心在第α组第ζ个无复杂背景的单元二值化图像上的像素坐标,初始化这6个二维数组中的所有元素,且均赋值为-1;取6个整数变量并初始化为:
步骤8.14.13、在第α组第ζ个无复杂背景的单元二值化图像上,计算质心像素坐标值为的平行四边形编码单元中编码标志圆轮廓的质心像素坐标分别与定位圆中心和定向环中心所形成的第i组第1个象限向量和第i组第2个象限向量
步骤8.15、根据质心像素坐标值为的平行四边形编码单元中所有编码标志圆的编码值,求出与第α组第ζ个无复杂背景的单元二值化图像中质心像素坐标值为的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号
具体步骤如下:
步骤8.15.1、定义代表质心像素坐标值为的平行四边形编码单元中第λ编码区域(其中λ=1,2,3,4,5,6)中第w位编码标志圆(其中w=1,2)的编码值,取0或1;取整数变量i,给i重新赋予初值i=1;
步骤8.15.2、本步骤分为以下情况:
步骤8.15.3、本步骤分为以下情况:
步骤8.15.4、本步骤分为以下情况:
步骤8.15.5、通过上述步骤得出的质心像素坐标值为的平行四边形编码单元中所有编码标志圆的编码值,可求出与第α组第ζ个无复杂背景的单元二值化图像中质心像素坐标值为的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号
记在第α组第ζ个无复杂背景的单元二值化图像上质心像素坐标值为的平行四边形编码单元中属于第σ编码区域(其中σ=1,3,4,6)的标定角点的非唯一编码序号为其中下脚标Wζ为标定角点所属平行四边形编码单元的编码号,上角标σ的取值代表了标定角点所属的第σ编码区域;即得到了质心像素坐标为的平行四边形编码单元上4个标定角点 的非唯一编码序号分别为 (其中σζ,1=1,σζ,2=3,σζ,3=4,σζ,4=6);
具体步骤如下:
步骤8.17.2、取整数变量i并重新赋值i=1;
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤8.17.3顺序执行;否则执行步骤8.18;
情况1、若σζ,i==1或σζ,i==6,将Wζ的值赋值给Δ′ζ,i,将σζ,i的值赋值给σ′ζ,i,则标定角点Cζ,i(xζ,i,yζ,i)的唯一编码序号为Δ′ζ,i_σ′ζ,i;
情况2、若σζ,i==3,又分为如下两种情况:
(1)当Φp==1时,将(Wζ-Δ′)的值赋值给Δ′ζ,i,将6赋值给σ′ζ,i,则标定角点Cζ,i(xζ,i,yζ,i)的唯一编码序号为Δ′ζ,i_σ′ζ,i;其中:
Δ″=2(Wζ-zv)/(N+1)+1(只保留整数);
(2)当Φp==2时,将(Wζ-Δ″′)的值赋值给Δ′ζ,i,将6赋值给σ′ζ,i,则标定角点Cζ,i(xζ,i,yζ,i)的唯一编码序号为Δ′ζ,i_σ′ζ,i;其中:
Δ″=2(Wζ-zv+1)/(N+1)+1(只保留整数);
情况3、若σζ,i==4,又分为如下两种情况:
(1)当Φp==1时,将(Wζ-Δ′)的值赋值给Δ′ζ,i,将1赋值给σ′ζ,i,则标定角点Cζ,i(xζ,i,yζ,i)的唯一编码序号为Δ′ζ,i_σ′ζ,i,其中:
Δ″=2(Wζ-zv)/(N+1)+1(只保留整数);
(2)当Φp==2时,将(Wζ-Δ″′)的值赋值给Δ′ζ,i,将1赋值给σ′ζ,i,则标定角点Cζ,i(xζ,i,yζ,i)的唯一编码序号为Δ′ζ,i_σ′ζ,i,其中:
Δ″=2(Wζ-zv+1)/(N+1)+1(只保留整数);
判断i是否小于4,若i<4,则将i+1赋值给i,返回步骤8.17.4顺序执行;否则执行步骤8.18;
具体步骤如下:
步骤8.18.1、取整数变量i并重新赋值i=1;
步骤8.18.2、判断N是否为偶数,若N为偶数,则执行步骤8.18.3,否则执行8.18.4;
步骤8.18.3、本步骤分为如下情况:
本步骤执行结束后,直接执行步骤8.18.5;
步骤8.18.4、本步骤分为如下两种情况:
步骤8.18.5、判断i是否小于4,若i<4,则将i+1赋值给i并返回步骤8.18.2顺序执行;若i≥4,则获得了第号标定角点的靶标坐标第号标定角点的靶标坐标第号标定角点的靶标坐标和第号标定角点的靶标坐标
步骤8.20、将ζ+1赋予ζ,循环执行步骤8.13至步骤8.19,完成μα个平行四边形编码单元的解码。
步骤9、判断第α幅复制靶标图像上提取的标定角点的个数γ(α)是否小于标定角点个数阈值k3;若γ(α)<k3,则执行步骤14;
步骤10、将第α幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第α个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第α个靶标坐标系下的靶标坐标之间的匹配关系记为第α个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用编码平面靶标空间姿态判断法获得返回的姿态判断值的步骤如下:
步骤11.1、将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用平面靶标空间姿态估算算法计算出从第α个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第α个靶标旋转矩阵Rα和第α个靶标平移矩阵Tα;
步骤11.2、判断i′是否等于0;若i′==0,则直接跳转至步骤11.6执行;否则执行步骤11.3;
Rα,i′=(R′i′)-1·Rα (1)
Tα,i′=(R′i′)-1·(Tα-T′i′) (2)
步骤11.5、判断旋转角度θα,i′是否大于旋转阀值k1且平移矩阵Tα,i′的范数是否大于平移阀值k2,其中若旋转角度平均值θα,i′大于旋转阀值k1且平移矩阵Tα,i′的范数大于平移阀值k2,则执行步骤11.6;否则执行步骤11.7;
步骤11.6、定义整型判断返回值Jp并赋值Jp=1,而后结束姿态判断;
步骤11.7、定义整型判断返回值Jp并赋值Jp=-1,而后结束姿态判断;
若Jp=1,则从步骤12顺序执行;否则执行步骤14;
步骤12、将α的值赋值给i′,i′=α,将β+1赋值给β,将所述第α幅靶标图像作为第β幅标定图像,并将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为第β个标定角点亚像素级坐标与靶标坐标的匹配组,同时将第α个靶标旋转矩阵Rα和第α个靶标平移矩阵Tα分别赋值给第β个标定旋转矩阵R′β和第β个标定平移矩阵T′β,
步骤13、判断β是否等于标定图像总数G;若β==G,则获得了G幅标定图像和G个标定角点亚像素级坐标与靶标坐标的匹配组;否则执行步骤14;
步骤14、将α+1赋值给α,返回步骤4顺序执行;
步骤15、根据所述G个标定角点亚像素级坐标与靶标坐标的匹配组,利用张正友摄像机标定算法计算出所述摄像机的内外参数。
本发明还提供了一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以如权利要求1所述的智能标定方法。
与现有技术相比较,本发明的有益效果如下:
(1)相较于传统的棋盘格靶标,本发明中提出的编码平面靶标在摄像机标定过程中具有固定的靶标坐标系,因此可以获得确定的从靶标坐标系变换到摄像机坐标系的旋转矩阵和平移向量,能够去除拍摄具有相同和相似的位姿的编码平面靶标时所得的靶标图像;
(2)与利用棋盘格标靶进行标定的方法相比,本发明提出的基于编码平面靶标的单目摄像机标定方法,在拍摄的图像中只包含局部的靶标时,依然能够完成标定工作;同时与方向性靶标相比,本发明提出的方法在标定时无需拍摄到特定的方向性标志,只需保证拍摄到的标定角点个数满足阈值,即可进行标定工作;
(3)本发明中提出的编码平面靶标具有图案简单,易于提取的特点,且具有很大的编码容量,便于实现摄像机的标定工作;
(4)本发明提出的基于编码平面靶标的单目摄像机标定方法可以实现实时标定、智能化标定,该方法可以自动选取一定数量且符合标定要求的靶标图像,能够实现在线标定;
(5)本发明提出的标定方法在获取图像中的标定角点和编码信息时,能够去除复杂背景,消除其对编码平面靶标的干扰,保证获得的标定角点数据和编码信息的准确性和可靠性。
附图说明
图1为实施例中使用的摄像机和摄像机镜头等实验设备展示图;
图2为实施例中使用的编码平面靶标设计图;
图3为实施例中使用的编码平面靶标的实物图;
图6为第1幅靶标图像以及在靶标图像上建立标定角点像素坐标系的示意图;
图7为建立靶标坐标系的示意图;
图8为利用编码平面靶标解码方法获得的第1幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图9利用编码平面靶标解码方法获得的第2幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图10为利用编码平面靶标解码方法获得的第3幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图11为利用编码平面靶标解码方法获得的第4幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图12为利用编码平面靶标解码方法获得的第5幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图13为利用编码平面靶标解码方法获得的第6幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图14为利用编码平面靶标解码方法获得的第7幅靶标图像上标定角点的亚像素坐以及标定角点对应的唯一编码序号的示意图;
图15为的第1个编码平面靶标灰度图像P1 (1)的示意图;
图16为第1个无复杂背景靶标灰度图像P′1 (1)的示意图;
图18为第1个靶标二值化腐蚀图像P′2 (1)的示意图;
图20为本发明的基于编码平面靶标的单目摄像机智能标定方法的流程示意图。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本次实施例使用的是MER-231-41U3C型号彩色工业相机,相机采集的最高帧率为40帧,像素尺寸为×5.86微米,图像分辨率1920×1200;相机镜头采用的型号是HN-1216-5M-C2/3X,镜头焦距12毫米。实验设备设置状态如图1所示。
请参阅图2和图3,一种用于摄像机内外参数标定的编码平面靶标,所述编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,所述编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,所述编码平面靶标一共包含5行×5列个标定角点;编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括定位图案、定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中每一个标定角点进行编码。
所述编码平面靶标中每一个平行四边形编码单元内部的定位图案、定向图案和编码单元图案均不重叠且不连通。本实施例中,所有平行四边形编码单元和平行四边形非编码单元均为长度为13.5mm且宽度为13.5mm的平行四边形,所述平行四边形编码单元为矩形,λ=90°。
下面以具体的实验过程来说明基于该编码平面靶标的单目摄像机智能标定方法的具体使用过程。
请参阅图20,一种基于编码平面靶标的单目摄像机智能标定方法,包括以下主要步骤:
步骤1、定义标定图像总数为5,即G==5;定义旋转阈值k1=10°、平移阈值k2=50;定义编码平面靶标图像中标定角点个数阈值k3==16;定义整数变量α、整数变量β、整数变量i′,并初始化α=1,β=0,i′=0;
步骤2、以所述摄像机的光心作为摄像机坐标系的原点Oc,以标定角点像素坐标系的x轴方向为摄像机坐标系的Xc轴方向,以标定角点像素坐标系的y轴方向作为摄像机坐标系的Yc轴方向,且所述摄像机坐标系的Xc轴、Yc轴和Zc轴满足右手定则,从而建立所述摄像机坐标系Oc-XcYcZc;
步骤3、利用位置固定的摄像机实时拍摄空间中移动的编码平面靶标,获得靶标图像;
判断第1幅靶标图像:
步骤4、将所述靶标图像为第1个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第1幅靶标图像,如图6所示;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤6、根据第1个移动位置上的编码平面靶标上的第1行第1个平行四边形编码单元的4个顶点中是标定角点的个数为Φp情况,建立对应的第1个靶标坐标系本实施例属于情况2中的(1),Φp==2,靶标坐标系的建立如图7所示,建立的靶标坐标系与编码平面靶标的相对空间位置固定不变,因此在实际摄像机标定过程中靶标坐标系跟随编码平面靶标的移动而移动;
步骤7、将第1幅靶标图像进行复制备份得到第1幅复制靶标图像;
步骤8、将第1幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第1幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第α幅复制靶标图像上提取到的标定角点的个数γ(1)(γ(1)正整数)、第1幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第1幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第α个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第α个靶标坐标系下的靶标坐标之间的匹配关系。本实施例中,第1幅复制靶标图像上提取到的标定角点的个数为25,即γ(1)==25,标定角点提取结果如图8所示。
步骤9、本实施例中,对于第1幅靶标图像,γ(1)==25,满足γ(1)>k3;
步骤10、将第1幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第1个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第1个靶标坐标系下的靶标坐标之间的匹配关系记为第1个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第1个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用开源的平面靶标空间姿态估算算法(Pose Estimation For Planar Target,算法开源程序下载地址为http://nghiaho.com/?page_id=576)计算出从第1个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第1个靶标旋转矩阵R1和第1个靶标平移矩阵T1为:
步骤12、判断i′是否等于0;在实施例中,在讨论第1幅复制靶标图像时i′==0,将1的值赋值给i′,i′=1,将1赋值给β,β=1,将所述第1幅靶标图像作为第1幅标定图像,并将第1个标定角点亚像素级坐标与靶标坐标的匹配组作为第1个标定角点亚像素级坐标与靶标坐标的标定匹配组,同时将第1个靶标旋转矩阵R1和第1个靶标平移矩阵T1分别赋值给第1个标定旋转矩阵R1′和第1个标定平移矩阵T1′,并执行步骤16,即将2赋值给α,返回步骤4顺序执行;
至此完成第1幅靶标图像的判断,其中第1幅靶标图像满足标定要求,可以作为第1幅标定图像;获得的第1个标定角点亚像素级坐标与靶标坐标的匹配组如下表1所示;
表1
序号 | 标定角点亚像素坐标 | 标定角点对应的唯一编码序号 | 标定角点对应的靶标坐标 |
1 | (234.718,110.763) | 2_6 | (54,0,0) |
2 | (302.369,110.447) | 1_1 | (40.5,0,0) |
3 | (370.619,110.327) | 1_6 | (27,0,0) |
4 | (439.747,110.393) | 0_1 | (13.5,0,0) |
5 | (509.52,110.608) | 0_6 | (0,0,0) |
6 | (229.528,178.913) | 5_1 | (54,13.5,0) |
7 | (297.645,179.173) | 5_6 | (40.5,13.5,0) |
8 | (366.166,178.533) | 4_1 | (27,13.5,0) |
9 | (435.333,178.734) | 4_6 | (13.5,13.5,0) |
10 | (505.31,179.024) | 3_1 | (0,13.5,0) |
11 | (28.17.276,248.015) | 8_6 | (54,27,0) |
12 | (293.533,248.399) | 7_1 | (40.5,27,0) |
13 | (362.192,247.897) | 7_6 | (27,27,0) |
14 | (431.196,248.327) | 6_1 | (13.5,27,0) |
15 | (500.879,247.77) | 6_6 | (0,27,0) |
16 | (221.119,318.093) | 11_1 | (54,40.5,0) |
17 | (289.332,318.3) | 11_6 | (40.5,40.5,0) |
18 | (357.516,318.179) | 10_1 | (27,40.5,0) |
19 | (427.17,318.217) | 10_6 | (13.5,40.5,0) |
20 | (496.958,318.448) | 9_1 | (0,40.5,0) |
21 | (217.364,388.476) | 14_6 | (54,54,0) |
22 | (284.794,388.513) | 13_1 | (40.5,54,0) |
23 | (353.259,388.509) | 13_6 | (27,54,0) |
24 | (422.998,388.917) | 12_1 | (13.5,54,0) |
25 | (493.83,389.439) | 12_6 | (0,54,0) |
判断第2幅靶标图像:
步骤4、将所述靶标图像为第2个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第2幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第2幅靶标图像进行复制备份得到第2幅复制靶标图像;
步骤8、将第2幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第2幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第2幅复制靶标图像上提取到的标定角点的个数γ(2)(γ(2)正整数)、第2幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第2幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第2个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第2个靶标坐标系下的靶标坐标之间的匹配关系。本实施例中,第2幅复制靶标图像上提取到的标定角点的个数为25,即γ(2)==25,标定角点提取结果如图9所示。
步骤9、本实施例中,对于第2幅靶标图像,γ(2)==25,满足γ(2)>k3;
步骤10、将第1幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第2个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第2个靶标坐标系下的靶标坐标之间的匹配关系记为第2个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第2个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用开源的平面靶标空间姿态估算算法计算出从第1个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第2个靶标旋转矩阵R2和第2个靶标平移矩阵T2;
步骤12、本实施例中,在讨论第2幅复制靶标图像时i′==1,则执行步骤13;
T2,1=(R1′)-1·(T2-T1′)=(-56.953 105.743 -24.547)T;
步骤15、本实施例中,对于第2幅靶标图像,旋转角度θ2,1==36.672°(其中)大于旋转阀值k1=10°且平移矩阵T2,1的2-范数||T2,1||2=122.587大于平移阀值k2=50,则执行步骤16,即将2赋值给i′,i′=2,将2赋值给β,β=2,将所述第2幅靶标图像作为第2幅标定图像,并将第2个标定角点亚像素级坐标与靶标坐标的匹配组作为第2个标定角点亚像素级坐标与靶标坐标的标定匹配组,同时将第2个靶标旋转矩阵R2和第2个靶标平移矩阵T2分别赋值给第2个标定旋转矩阵R′2和第2个标定平移矩阵T′2,并执行步骤17;
步骤17、本实施例中,在判断第2幅靶标图像时,β==2,β<G,则将3赋值给α,返回步骤4顺序执行;
至此完成第2幅靶标图像的判断,第2幅靶标图像满足标定要求,可以作为第2幅标定图像;获得的第2个标定角点亚像素级坐标与靶标坐标的标定匹配组如下表2所示;
表2
序号 | 标定角点亚像素坐标 | 标定角点对应的唯一编码序号 | 标定角点对应的靶标坐标 |
1 | (1083.64,430.237) | 14_6 | (54,54,0) |
2 | (1084.29,499.286) | 11_1 | (54,40.5,0) |
3 | (1084.47,566.188) | 8_6 | (54,27,0) |
4 | (1084.88,630.755) | 5_1 | (54,13.5,0) |
5 | (1085.19,692.346) | 2_6 | (54,0,0) |
6 | (1007.18,431.176) | 13_1 | (40.5,54,0) |
7 | (1008.66,498.578) | 11_6 | (40.5,40.5,0) |
8 | (1010.62,565.054) | 7_1 | (40.5,27,0) |
9 | (1012.16,629.07) | 5_6 | (40.5,13.5,0) |
10 | (1013.87,692.142) | 1_1 | (40.5,0,0) |
11 | (931.045,431.751) | 13_6 | (27,54,0) |
12 | (934.299,499.193) | 10_1 | (27,40.5,0) |
13 | (937.205,564.592) | 7_6 | (27,27,0) |
14 | (940.28,628.726) | 4_1 | (27,13.5,0) |
15 | (942.441,690.441) | 1_6 | (27,0,0) |
16 | (855.184,432.674) | 12_1 | (13.5,54,0) |
17 | (859.644,499.819) | 10_6 | (13.5,40.5,0) |
18 | (864.366,564.748) | 6_1 | (13.5,27,0) |
19 | (868.341,628.006) | 4_6 | (13.5,13.5,0) |
20 | (872.407,689.157) | 0_1 | (13.5,0,0) |
21 | (779.976,432.971) | 12_6 | (0,54,0) |
22 | (785.703,500.613) | 9_1 | (0,40.5,0) |
23 | (791.334,565.246) | 6_6 | (0,27,0) |
24 | (796.869,627.314) | 3_1 | (0,13.5,0) |
25 | (802.263,687.68) | 0_6 | (0,0,0) |
第3幅靶标图像的判断:
步骤4、将所述靶标图像为第3个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第3幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第3幅靶标图像进行复制备份得到第3幅复制靶标图像;
步骤8、将第3幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第3幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第3幅复制靶标图像上提取到的标定角点的个数γ(3)(γ(3)正整数)、第3幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第3幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第3个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第3个靶标坐标系下的靶标坐标之间的匹配关系;本实施例中第3幅复制靶标图像上提取到的标定角点的个数为25,即γ(3)==25,标定角点提取结果如图10所示。
步骤9、本实施例中,对于第2幅靶标图像,γ(3)==25,满足γ(3)>k3;
步骤10、将获得的第3幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第3个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第3个靶标坐标系下的靶标坐标之间的匹配关系记为第3个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第3个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用平面靶标空间姿态估算算法计算出从第3个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第3个靶标旋转矩阵R3和第3个靶标平移矩阵T3:
步骤12、本实施例中,在讨论第3幅复制靶标图像时i′==2,则执行步骤13;
T3,2=(R′2)-1·(T3-T′2)=(88.646 -12.568 -2.774)T;
步骤17、本实施例中,在判断第3幅靶标图像时,β==2,β<G,则将3赋值给α,返回步骤4顺序执行;
至此完成第3幅靶标图像的判断,其中第3幅靶标图像并不满足标定要求,旋转角度θ3,2=2.904°小于旋转阀值k1=10°,所以不能作为标定图像。
判断第4幅靶标图像:
步骤4、将所述靶标图像为第4个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第4幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第4幅靶标图像进行复制备份得到第2幅复制靶标图像;
步骤8、将第4幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第4幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第4幅复制靶标图像上提取到的标定角点的个数γ(4)(γ(4)正整数)、第4幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第4幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第4个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第4个靶标坐标系下的靶标坐标之间的匹配关系;本实施例中第4幅复制靶标图像上提取到的标定角点的个数为15,即γ(4)==15,标定角点提取结果如图11所示。
步骤9、本实施例中,对于第4幅靶标图像,γ(4)==15,γ(4)<k3,则将5赋值给α,α=5,并返回步骤4顺序执行;
至此完成第4幅靶标图像的判断,其中第4幅靶标图像并不满足标定要求,第4幅靶标中提取的标定角点个数不满足标定角点个数阈值,所以不能作为标定图像。
判断第5幅标定图像:
步骤4、将所述靶标图像为第5个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第5幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第5幅靶标图像进行复制备份得到第5幅复制靶标图像;
步骤8、将第5幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第5幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第5幅复制靶标图像上提取到的标定角点的个数γ(5)(γ(5)正整数)、第5幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第5幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第5个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第5个靶标坐标系下的靶标坐标之间的匹配关系;本实施例中第5幅复制靶标图像上提取到的标定角点的个数为20,即γ(5)==20,标定角点提取结果如图12所示。
步骤9、本实施例中,对于第5幅靶标图像,γ(5)==20,满足γ(5)>k3;
步骤10、将获得的第5幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第5个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第5个靶标坐标系下的靶标坐标之间的匹配关系记为第5个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第5个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用平面靶标空间姿态估算算法计算出从第5个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第5个靶标旋转矩阵R5和第5个靶标平移矩阵T5:
步骤12、本实施例中,在讨论第5幅复制靶标图像时i′==2,则执行步骤13;
T5,2=(R′2)-1·(T5-T′2)=(-43.264 64.071 -39.185)T;
步骤15、本实施例中,对于第5幅靶标图像,旋转角度θ5,2=38.92°(其中大于旋转阀值k1=10°且平移矩阵T5,2的2-范数||T5,2||2=86.6740大于平移阀值k2=50,则执行步骤16,即将5赋值给i′,i′=5,将3赋值给β,β=3,将所述第5幅靶标图像作为第3幅标定图像,并将第5个标定角点亚像素级坐标与靶标坐标的匹配组作为第3个标定角点亚像素级坐标与靶标坐标的标定匹配组,同时将第5个靶标旋转矩阵R5和第5个靶标平移矩阵T5分别赋值给第5个标定旋转矩阵R5′和第5个标定平移矩阵T5′;
步骤17、本实施例中,在判断第5幅靶标图像时,β==3,β<G,则将5赋值给α,返回步骤4顺序执行;
至此完成第5幅靶标图像的判断,其中第5幅靶标图像满足标定要求,可以作为第3幅标定图像;获得的第3个标定角点亚像素级坐标与靶标坐标的标定匹配组如下表3所示;
表3
序号 | 标定角点亚像素坐标 | 标定角点对应的唯一编码序号 | 标定角点对应的靶标坐标 |
1 | (820.207,238.259) | 9_1 | (54,0,0) |
2 | (759.452,254.692) | 10_6 | (40.5,0,0) |
3 | (701.311,271.063) | 10_1 | (27,0,0) |
4 | (646.489,286.933) | 11_6 | (13.5,0,0) |
5 | (592.549,302.518) | 11_1 | (0,0,0) |
6 | (812.293,165.794) | 6_6 | (54,13.5,0) |
7 | (752.827,183.852) | 6_1 | (40.5,13.5,0) |
8 | (694.784,200.977) | 7_6 | (27,13.5,0) |
9 | (639.307,218.366) | 7_1 | (13.5,13.5,0) |
10 | (585.082,234.863) | 8_6 | (0,13.5,0) |
11 | (804.802,95.3649) | 3_1 | (54,27,0) |
12 | (746.311,114.614) | 4_6 | (40.5,27,0) |
13 | (688.343,132.819) | 4_1 | (27,27,0) |
14 | (632.546,150.797) | 5_6 | (13.5,27,0) |
15 | (577.762,167.837) | 5_1 | (0,27,0) |
16 | (798.448,26.1367) | 0_6 | (54,40.5,0) |
17 | (739.301,45.7157) | 0_1 | (40.5,40.5,0) |
18 | (681.329,64.6303) | 1_6 | (27,40.5,0) |
19 | (625.603,83.658) | 1_1 | (13.5,40.5,0) |
20 | (570.687,102.071) | 2_6 | (0,40.5,0) |
判断第6幅靶标图像:
步骤4、将所述靶标图像为第6个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第6幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第6幅靶标图像进行复制备份得到第6幅复制靶标图像;
步骤8、将第6幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第6幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第6幅复制靶标图像上提取到的标定角点的个数γ(6)(γ(6)正整数)、第5幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第6幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第6个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第6个靶标坐标系下的靶标坐标之间的匹配关系;本实施例中第6幅复制靶标图像上提取到的标定角点的个数为25,即γ(6)==25,标定角点提取结果如图13所示;
步骤9、本实施例中,对于第6幅靶标图像,γ(6)==25,满足γ(6)>k3;
步骤10、将获得的第6幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第6个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第6个靶标坐标系下的靶标坐标之间的匹配关系记为第6个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第6个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用平面靶标空间姿态估算算法计算出从第6个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第6个靶标旋转矩阵R6和第6个靶标平移矩阵T6:
步骤12、本实施例中,在讨论第6幅复制靶标图像时i′==5,则执行步骤13;
T6,5=(R′5)-1·(T6-T′6)=(90.814 -163.344 -16.022)T;
步骤15、本实施例中,对于第6幅靶标图像,旋转角度θ6,5=53.39°(其中大于旋转阀值k1=10°且平移矩阵T6,5的2-范数||T6,5||2=187.577大于平移阀值k2=50,则执行步骤16,即将6赋值给i′,i′=6,将4赋值给β,β=4,将所述第6幅靶标图像作为第4幅标定图像,并将第6个标定角点亚像素级坐标与靶标坐标的匹配组作为第4个标定角点亚像素级坐标与靶标坐标的标定匹配组,同时将第6个靶标旋转矩阵R6和第6个靶标平移矩阵T6分别赋值给第6个标定旋转矩阵R′6和第6个标定平移矩阵T′6;
步骤17、本实施例中,在判断第6幅靶标图像时,β==4,β<G,则将7赋值给α,返回步骤4顺序执行;
至此完成第6幅靶标图像的判断,第6幅靶标图像满足标定要求,可以作为第4幅标定图像;获得的第4个标定角点亚像素级坐标与靶标坐标的标定匹配组如下表4所示;
表4
序号 | 标定角点亚像素坐标 | 标定角点对应的唯一编码序号 | 标定角点对应的靶标坐标 |
1 | (1138.63,816.228) | 12_6 | (0,54,0) |
2 | (1204.23,819.44) | 12_1 | (13.5,54,0) |
3 | (1267.09,88.15.209) | 13_6 | (27,54,0) |
4 | (1327.18,824.793) | 13_1 | (40.5,54,0) |
5 | (1385.42,827.695) | 14_6 | (54,54,0) |
6 | (1139.94,892.352) | 9_1 | (0,40.5,0) |
7 | (1204.89,894.155) | 10_6 | (13.5,40.5,0) |
8 | (1268.26,896.153) | 10_1 | (27,40.5,0) |
9 | (1328.67,897.523) | 11_6 | (40.5,40.5,0) |
10 | (1388.95,898.905) | 11_1 | (54,40.5,0) |
11 | (1140.54,969.073) | 6_6 | (0,27,0) |
12 | (1205.94,970.005) | 6_1 | (13.5,27,0) |
13 | (1269.98,970.404) | 7_6 | (27,27,0) |
14 | (1331.62,970.463) | 7_1 | (40.5,27,0) |
15 | (1392.25,970.505) | 8_6 | (54,27,0) |
16 | (1140.33,1046.28) | 3_1 | (0,13.5,0) |
17 | (1206.67,1045.63) | 4_6 | (13.5,13.5,0) |
18 | (1271.76,1044.86) | 4_1 | (27,13.5,0) |
19 | (1333.93,1044.28) | 5_6 | (40.5,13.5,0) |
20 | (1394.7,1042.65) | 5_1 | (54,13.5,0) |
21 | (1140.58,1123.78) | 0_6 | (0,0,0) |
22 | (1207.75,118.15.22) | 0_1 | (13.5,0,0) |
23 | (1273.34,1120.34) | 1_6 | (27,0,0) |
24 | (1336.11,1118.17) | 1_1 | (40.5,0,0) |
25 | (1396.76,1115.92) | 2_6 | (54,0,0) |
判断第7幅靶标图像:
步骤4、将所述靶标图像为第7个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第7幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第7幅靶标图像进行复制备份得到第7幅复制靶标图像;
步骤8、将第7幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第7幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第7幅复制靶标图像上提取到的标定角点的个数γ(7)(γ(7)正整数)、第5幅复制靶标图像中提取到的每个标定角点的唯一编码序号和第7幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第7个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第7个靶标坐标系下的靶标坐标之间的匹配关系;本实施例中第7幅复制靶标图像上提取到的标定角点的个数为25,即γ(7)==25,标定角点提取结果如图14所示;
步骤9、本实施例中,对于第7幅靶标图像,γ(7)==25,满足γ(7)>k3;
步骤10、将获得的第7幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第7个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第7个靶标坐标系下的靶标坐标之间的匹配关系记为第7个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第7个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用平面靶标空间姿态估算算法计算出从第7个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第7个靶标旋转矩阵R7和第7个靶标平移矩阵T7:
步骤12、本实施例中,在讨论第7幅复制靶标图像时i′==6,则执行步骤13;
T7,6=(R′6)-1·(T7-T′6)=(-172.251 115.496 -79.259)T;
步骤15、本实施例中,对于第7幅靶标图像,转角度θ7,6=23.77°(其中)大于旋转阀值k1=10°且平移矩阵T7,6的2-范数||T7,6||2=222.017大于平移阀值k2=50,则执行步骤16,即将7赋值给i′,i′=7,将5赋值给β,β=5,将所述第7幅靶标图像作为第5幅标定图像,并将第7个标定角点亚像素级坐标与靶标坐标的匹配组作为第5个标定角点亚像素级坐标与靶标坐标的标定匹配组,同时将第7个靶标旋转矩阵R7和第7个靶标平移矩阵T7分别赋值给第7个标定旋转矩阵R7′和第7个标定平移矩阵T7′;
步骤17、本实施例中,在判断第7幅靶标图像时,β==5,满足β等于G,则执行步骤19;
至此完成第7幅靶标图像的判断,第7幅靶标图像满足标定要求,可以作为第5幅标定图像;获得的第5个标定角点亚像素级坐标与靶标坐标的标定匹配组如下表5所示;
表5
至此找出了满足标定条件的5幅标定图像和5个标定角点亚像素级坐标与靶标坐标的标定匹配组。
步骤19、根据表1-表5中获得的5个标定角点亚像素级坐标与靶标坐标的匹配组,利用张正友摄像机标定算法(A Flexible New Technique for Camera Calibration)计算出所述摄像机的内外参数,标定结果如下:
摄像机图像总体平均定标误差:0.033196像素;
摄像机畸变系数:(-0.107788 0.180799 -0.001999 0.003397);
摄像机第1幅标定图像的平移向量:(-85.0505 -92.8587 390.576);
摄像机第2幅标定图像的平移向量:(-71.4925 -58.1461 404.051);
摄像机第3幅标定图像的平移向量:(31.6828 91.9851 361.903);
摄像机第4幅标定图像的平移向量:(-151.206 -21.6385 382.293);
摄像机第5幅标定图像的平移向量:(-30.0547 17.185 399.044);
由此,利用编码平面靶标完成了单目摄像机的标定工作。
在上述标定过程中,利用编码平面靶标的解码方法处理每幅复制靶标图像的过程基本相同,故在本实施例中,只详尽介绍第1幅复制靶标图像的处理过程,其他图像的处理过程均可参考第1幅复制靶标图像的解码方法。所述编码平面靶标的解码方法具体步骤为:
步骤8.1、输入放置在空间中的编码平面靶标的基本信息,即位于空间中的编码平面靶标包含5行×5列个标定角点,编码平面靶标的初始平行四边形编码单元编码号为zv,zv==0,编码平面靶标上第1行第1个平行四边形编码单元的4个顶点中作为标定角点的个数Φp,Φp==2;
步骤8.2、对所述第1幅复制靶标图像进行8位灰度处理,得到第1个编码平面靶标灰度图像P1 (1);其中,第1个编码平面靶标灰度图像P1 (1)为8位灰度图,如图15所示;
步骤8.3、在上述第1个编码平面靶标灰度图像P1 (1)中,利用Opencv中棋盘格角点亚像素坐标函数(cvFindChessboardCorners)提取第1个编码平面靶标灰度图像P1 (1)中所包含标定角点个数最多的5行×5列个标定角点的亚像素坐标集合并记为第1个标定角点亚像素坐标集合Q(1),并将所述5行×5列个标定角点亚像素坐标集合中最外围角点(即第1行标定角点、第1列标定角点、第5行标定角点和第5列标定角点)所围成的多边形记为第1个最大标定角点数多边形L1;其中,经过角点提取后的第1个编码平面靶标灰度图像P1 (1)没有发生改变;标定角点的提取结果如图8所示;
步骤8.4、在所述第1个编码平面靶标灰度图像P1 (1)中,利用数字图像处理的方法令上述步骤3中第1个最大标定角点数多边形L1内部的所有像素点的灰度值均保持不变,L1以外的所有像素点的灰度值均赋值为255,并将第1个编码平面靶标灰度图像P1 (1)经过此处理得到的图像记为第1个无复杂背景靶标灰度图像P1′(1);第1个无复杂背景靶标灰度图像P1′(1)如图16所示;
步骤8.5、对第1个无复杂背景靶标灰度图像P1′(1)进行二值化处理,得到第1个无复杂背景靶标二值化图像使得在第1个无复杂背景靶标二值化图像中平行四边形编码单元的背景颜色变为黑色,平行四边形非编码单元背景颜色、定位图案、定向图案的颜色均变为白色,编码标志图案的颜色根据编码规则可以为白色也可以为黑色;得到第1个无复杂背景靶标二值化图像如图17所示;
步骤8.6、根据在第1个编码平面靶标灰度图像P1 (1)中提取的第1个最大标定角点数多边形L1内部包含m1行×n1列个标定角点数目(其中m1和n1均为整数),本实施例中m1==5、n1==5均为奇数,可由公式(1)计算出多边形L1内部包含的平行四边形编码单元个数μ1,μ1=(m1-1)(n1-1)/2=8;
步骤8.7、在第1个无复杂背景靶标二值化图像上,作黑色连通域腐蚀处理,使得第1个无复杂背景靶标二值化图像中所有平行四边形编码单元对角处断开,并将第1个无复杂背景靶标二值化图像经过此处理得到的图像记为第1个靶标二值化腐蚀图像P′2 (1),如图18所示;
计算方格连通域质心的像素坐标将i+1重新赋值给i后继续执行此步骤直到i>8,由此得到靶标二值化腐蚀图像P′2 (1)上的方格连通域方格连通域方格连通域质心像素坐标并将依次作为平行四边形编码单元质心像素坐标集合A(1)中的第1个元素、第2个元素、…、第8个元素;
步骤8.9、给整数变量i重新赋予初值i=1;
在第1个靶标二值化腐蚀图像P′2 (1)中,计算距离方格连通域的质心像素坐标值最近的黑色连通域,并记为第1个靶标二值化腐蚀图像P′2 (1)中的圆环中心连通域Ω′i (1);将i+1重新赋值给i后继续执行此步骤,直到i>8时结束;由此分别得到第1个靶标二值化腐蚀图像P′2 (1)中的圆环中心连通域Ω′1 (1)、圆环中心连通域圆环中心连通域Ω′8 (1);
步骤8.10、给整数变量i重新赋予初值i=1;
在第1个靶标二值化腐蚀图像P′2 (1)中,计算上述第1个靶标二值化腐蚀图像P′2 (1)中的圆环中心连通域Ω′i (1)质心像素坐标将i+1重新赋值给i后继续执行此步骤,直到i>8时结束;由此得到第1个靶标二值化腐蚀图像P′2 (1)中的圆环中心连通域Ω′1 (1)、圆环中心连通域圆环中心连通域Ω′8 (1)的质心像素坐标 并将依次作为圆环质心像素坐标集合B(1)中的第1个元素、第2个元素、…、第8个元素;
步骤8.11、在第1个靶标二值化腐蚀图像P′2 (1)中,将除方格连通域方格连通域方格连通域以及圆环中心连通域Ω′1 (1)、圆环中心连通域圆环中心连通域Ω′8 (1)以外的黑色连通域的灰度值均赋值为255,并将第α个靶标二值化腐蚀图像P′2 (1)经过此处理得到的图像记为第1个解码二值化图像P3 (1);
步骤8.12、取整数变量ζ,并赋予初始值ζ=1;
具体方法包括以下步骤:
步骤8.13.1、在第1组第1个备份二值化图像上,取平行四边形编码单元质心像素坐标集合A(1)中第1个质心像素坐标值在第1个标定角点集合Q(1)中寻找距离质心像素坐标值最近的4个标定角点的像素坐标值,并将这4个标定角点的像素坐标值在第1组第1个备份二值化图像上对应的4个像素点分别记为并将该4个像素点作为第1组第1个标定角点四边形的4个顶点,并将4个顶点相连形成第1组第1个标定角点四边形
步骤8.13.4、在第1组第1个备份二值化图像上,将第1组第1个标定角点四边形以外的所有像素点的灰度值均赋值为255,第1组第1个标定角点四边形内部的所有像素点的灰度值保持不变,并将得到的图像记为第1组第1个无复杂背景的单元二值化图像如图19所示;
步骤8.14.1、在第1组第1个无复杂背景的单元二值化图像中,寻找最大黑色连通域并记为第1组第1个无复杂背景的单元二值化图像中的最大黑色连通域提取第1组第1个无复杂背景的单元二值化图像中的最大黑色连通域的所有内、外轮廓,并记为质心像素坐标值为的平行四边形编码单元的轮廓集合
步骤8.14.2、在质心像素坐标为值的平行四边形编码单元的轮廓集合中,统计每个轮廓中包含的像素点数,其中包含像素点数第二多的轮廓即为在第1组第1个无复杂背景的单元二值化图像上的质心像素坐标值为的平行四边形编码单元中定位圆的轮廓计算此定位圆轮廓的质心像素坐标并记为在第1组第1个无复杂背景的单元二值化图像上的质心像素坐标值为的平行四边形编码单元中定位圆质心像素坐标
步骤8.14.3、在质心坐标为的平行四边形编码单元的轮廓集合中,除去包含像素点数最多的2个轮廓,剩余其他个轮廓即为在第1组第1个无复杂背景的单元二值化图像上的质心像素坐标值为的平行四边形编码单元中编码标志圆的轮廓,并分别记为编码标志圆轮廓编码标志圆轮廓
步骤8.14.4、给整数变量i重新赋予初值i=1;
步骤8.14.5、在第1组第1个无复杂背景的单元二值化图像中,计算编码标志圆轮廓的质心像素坐标将i+1重新赋值给i后继续执行此步骤,直到i>2结束;由此可以得到质心像素坐标值为的平行四边形编码单元中的编码标志圆轮廓编码标志圆轮廓的质心像素坐标o′1 (1),1(370,301)、o′1 (1),2(371,289);
步骤8.14.6、在第1组第1个无复杂背景的单元二值化图像上,将像素坐标值为(395,272)的像素点记为质心像素坐标值为的平行四边形编码单元上的定向圆环质心并且在第1组第1个无复杂背景的单元二值化图像上,将像素坐标值分别为(357.516,318.179)、(362.192,247.897)、(431.196,248.327)、(427.17,318.217)的4个像素点记为
步骤8.14.7、在第1组第1个无复杂背景的单元二值化图像上,取 分别表示在质心坐标为的平行四边形编码单元中第1编码区域、第3编码区域、第4编码区域和第6编码区域的标定角点的像素坐标;根据定位圆质心像素坐标和定向圆环质心计算出质心像素坐标值为的平行四边形编码单元中的第1组第1个方向向量
步骤8.14.9、在第1组第1个无复杂背景的单元二值化图像上,通过已找到质心像素坐标值为的平行四边形编码单元中第1编码区域和第6编码区域的标定角点和将4个像素点中余下的2个像素点的像素坐标分别赋值给质心像素坐标值为的平行四边形编码单元的第1临时坐标值,记为以及第2临时坐标值,记为求出在质心像素坐标值为的平行四边形编码单元中的第3判断向量和第4判断向量
实际实施过程中,选取平行阈值kp=0.1,若满足则认为与平行;本实施例中,由于则即为质心像素坐标值为的平行四边形编码单元中第3编码区域的标定角点,把的坐标值赋值给 为质心像素坐标值为的平行四边形编码单元中第4编码区域的标定角点,把的坐标值赋值给
步骤8.14.11、在第1组第1个无复杂背景的单元二值化图像上,根据得出的在质心像素坐标值为的平行四边形编码单元中第1编码区域的标定角点第6编码区域的标定角点得出质心像素坐标值为的平行四边形编码单元中的第5判断向量 同时记向量所在的直线为
在第1组第1个无复杂背景的单元二值化图像上,以质心像素坐标值为的平行四边形编码单元的定位圆质心为起点做与第5判断向量平行且同向的单位向量,记为并记单位向量所在的直线为以质心像素坐标值为的平行四边形编码单元的定向圆环质心为起点做与第5判断向量平行且同向的单位向量,记为并记单位向量所在的直线为将整数变量i重新赋值i=1;
步骤8.14.12、定义6个浮点型二维数组 用于存放质心像素坐标值为的平行四边形编码单元中分别位于第1编码区域、第2编码区域、第3编码区域、第4编码区域、第5编码区域和第6编码区域的编码标志圆轮廓质心在第1组第1个无复杂背景的单元二值化图像上的像素坐标,初始化这6个二维数组中的所有元素,且均赋值为-1;取6个整数变量并初始化:
步骤8.14.13、在第1组第1个无复杂背景的单元二值化图像上,计算质心像素坐标值为的平行四边形编码单元中编码标志圆轮廓的质心像素坐标分别与定位圆中心和定向环中心所形成的第i组第1个象限向量和第i组第2个象限向量本实施例中可得:
步骤8.15、根据质心像素坐标值为的平行四边形编码单元中所有编码标志圆的编码值,求出与第1组第1个无复杂背景的单元二值化图像中质心像素坐标值为的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号W1 1;
具体步骤为:
步骤8.15.1、定义代表质心像素坐标值为的平行四边形编码单元中第λ编码区域(其中λ=1,2,3,4,5,6)中第w位编码标志圆(其中w=1,2)的编码值,取0或1;取整数变量i,给i重新赋予初值i=1;
步骤8.15.2、在具体实施例中,根据本步骤可得:
步骤8.15.3、在具体实施例中,根据本步骤可得:
步骤8.15.4、在具体实施例中,根据本步骤可得:
步骤8.15.5、通过上述步骤8.15.2、8.15.3和8.15.4得出的质心像素坐标值为的平行四边形编码单元中所有编码标志圆的编码值,可由公式(20)可求出与第1组第1个无复杂背景的单元二值化图像中质心像素坐标值为的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号W1 1:W1 (1)=(V1 (1))T·U=10;其中:列向量U=(20,21,22,...211)T,列向量V1 (1)=(0,1,0,1,0,0,...,0,0)T;
步骤8.16、记在第1组第1个无复杂背景的单元二值化图像上质心像素坐标值为的平行四边形编码单元中属于第σ编码区域(其中σ=1,3,4,6)的标定角点的非唯一编码序号为其中下脚标10为标定角点所属平行四边形编码单元的编码号,上角标σ的取值代表了标定角点所属的第σ编码区域;即得到了质心像素坐标为的平行四边形编码单元上4个标定角点 的非唯一编码序号分别为
步骤8.18、在已知第1组第1个无复杂背景的单元二值化图像上质心像素坐标值为的平行四边形编码单元的4个标定角点 的唯一编码序号10_1、7_6、6_1、10_6以及位于空间中的编码平面靶标的基本信息的条件下,利用编码平面靶标上标定角点的靶标坐标计算方法,获得第10_1号标定角点、第7_6号标定角点、第6_1号标定角点和第10_6号标定角点的靶标坐标值;
步骤8.19、利用编码平面靶标标定角点信息匹配方法可获得:
步骤8.20、将ζ+1赋予ζ,循环执行步骤8.13至步骤8.19,直到满足ζ≥8时结束此循环,完成8个平行四边形编码单元的解码;
由此,根据上述所有步骤,可以得出与第1个编码平面靶标灰度图像P1 (1)中提取到的所有标定角点的亚像素坐标和第1个编码平面靶标灰度图像P1 (1)中提取到的所有标定角点的唯一编码序号;并且获得了终获得了所述第1幅靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第1个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第1个靶标坐标系下的靶标坐标之间的匹配关系,匹配关系如表1所示。
此外,本发明提供的基于编码平面靶标的单目摄像机智能标定方法,需要编制相应的计算机程序,并在计算机上执行程序以实现相应的运算处理及逻辑控制功能,因而本发明也提供一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以所述的智能标定方法。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.基于编码平面靶标的单目摄像机智能标定方法,其特征在于:所述编码平面靶标由平行四边形编码单元和平行四边形非编码单元交替组成的编码棋盘格构成,所述编码平面靶标以任意对角相连的平行四边形编码单元的交点作为编码平面靶标的标定角点,所述编码平面靶标一共包含M行×N列个标定角点,其中M和N均为正整数;编码平面靶标中每一个平行四边形编码单元的内部设置有编码图案,编码图案包括定位图案、定向图案和编码标志图案,其中编码标志图案又由多个编码单元图案组成;由定向图案和定位图案可实现编码平面靶标旋转方向的判断;编码标志图案则是用于给编码平面靶标中每一个标定角点进行编码;
所述编码平面靶标中每一个平行四边形编码单元内部的定位图案、定向图案和编码单元图案均不重叠且不连通;
该标定方法包括以下主要步骤:
步骤1、定义标定图像总数G,其中G为整数且G>3;定义旋转阈值k1和平移阈值k2;定义编码平面靶标图像中标定角点个数阈值k3;定义整数变量α、整数变量β、整数变量i′,并初始化α=1,β=0,i′=0;
步骤2、以所述摄像机的光心作为摄像机坐标系的原点Oc,以标定角点像素坐标系的x轴方向为摄像机坐标系的Xc轴方向,以标定角点像素坐标系的y轴方向作为摄像机坐标系的Yc轴方向,且所述摄像机坐标系的Xc轴、Yc轴和Zc轴满足右手定则,从而建立所述摄像机坐标系Oc-XcYcZc;
步骤3、利用位置固定的摄像机实时拍摄空间中移动的编码平面靶标,获得靶标图像;
步骤4、将所述靶标图像为第α个移动位置上的编码平面靶标经过摄像机进行成像时所得的图像记为第α幅靶标图像;
步骤5、以所述靶标图像的左上角作为标定角点像素坐标系的原点o,自左向右作为所述标定角点像素坐标系的x轴方向,自上向下作为所述标定角点像素坐标系的y轴方向,从而建立标定角点像素坐标系o-xy;
步骤7、将第α幅靶标图像进行复制备份得到第α幅复制靶标图像;
步骤8、将第α幅复制靶标图像作为输入条件,利用编码平面靶标的解码方法获得第α幅复制靶标图像上的标定角点在标定角点像素坐标系o-xy下的亚像素坐标值、第α幅复制靶标图像上提取到的标定角点的个数γ(α)、第α幅复制靶标图像中提取到的每个标定角点的唯一编码序号以及第α幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第α个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第α个靶标坐标系下的靶标坐标之间的匹配关系,其中γ(α)为正整数;
步骤9、判断第α幅复制靶标图像上提取的标定角点的个数γ(α)是否小于标定角点个数阈值k3;若γ(α)<k3,则执行步骤14;
步骤10、将第α幅复制靶标图像中提取到的所有标定角点在标定角点像素坐标系o-xy下的亚像素级坐标和与之一一对应的空间中第α个移动位置上的编码平面靶标上具有相同唯一编码序号的标定角点在所述第α个靶标坐标系下的靶标坐标之间的匹配关系记为第α个标定角点亚像素级坐标与靶标坐标的匹配组;
步骤11、将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用编码平面靶标空间姿态判断法获得返回的姿态判断值Jp,若Jp==1则从执行步骤12顺序执行;否则执行步骤14;
步骤12、将α的值赋值给i′,i′=α,将β+1赋值给β,将所述第α幅靶标图像作为第β幅标定图像,并将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为第β个标定角点亚像素级坐标与靶标坐标的匹配组,同时将第α个靶标旋转矩阵Rα和第α个靶标平移矩阵Tα分别赋值给第β个标定旋转矩阵R′β和第β个标定平移矩阵T′β;
步骤13、判断β是否等于标定图像总数G;若β==G,则获得了G幅标定图像和G个标定角点亚像素级坐标与靶标坐标的匹配组;否则执行步骤14;
步骤14、将α+1赋值给α,返回步骤4顺序执行;
步骤15、根据所述G个标定角点亚像素级坐标与靶标坐标的匹配组,利用张正友摄像机标定算法计算出所述摄像机的内外参数。
2.根据权利要求1所述的基于编码平面靶标的单目摄像机智能标定方法,其特征在于:步骤8中,所述编码平面靶标的解码方法具体步骤为:
步骤8.1、输入放置在空间中的编码平面靶标的基本信息,即位于空间中的编码平面靶标包含M行×N列个标定角点,编码平面靶标的初始平行四边形编码单元编码号为zv,编码平面靶标上第1行第1个平行四边形编码单元的4个顶点中作为标定角点的个数Φp;
步骤8.2、对所述第α幅复制靶标图像进行8位灰度处理,得到第α个编码平面靶标灰度图像P1 (α);
步骤8.3、在所述第α个编码平面靶标灰度图像P1 (α)中,利用棋盘格角点提取算法提取第α个编码平面靶标灰度图像P1 (α)中所包含标定角点个数最多的mα行×nα列个标定角点的亚像素坐标集合并记为第α个标定角点亚像素坐标集合Q(α),并将所述mα行×nα列个标定角点亚像素坐标集合中最外围角点所围成的多边形记为第α个最大标定角点数多边形Lα;
步骤8.4、在所述第α个编码平面靶标灰度图像P1 (α)中,利用数字图像处理的方法令第α个最大标定角点数多边形Lα内部的所有像素点的灰度值均保持不变,Lα以外的所有像素点的灰度值均赋值为255,并将第α个编码平面靶标灰度图像P1 (α)经过此处理得到的图像记为第α个无复杂背景靶标灰度图像P′1 (α);
步骤8.5、对第α个无复杂背景靶标灰度图像P′1 (α)进行二值化处理,得到第α个无复杂背景靶标二值化图像P2 (α);
步骤8.6、根据在第α个编码平面靶标灰度图像P1 (α)中提取的第α个最大标定角点数多边形Lα内部包含mα行×nα列个标定角点数目,确定最大标定角点数多边形Lα内部包含的平行四边形编码单元个数μα,其中mα、nα和μα均为整数;
步骤8.7、在第α个无复杂背景靶标二值化图像上,作黑色连通域腐蚀处理,使得第α个无复杂背景靶标二值化图像中所有平行四边形编码单元对角处断开,并将第α个无复杂背景靶标二值化图像经过此处理得到的图像记为第α个靶标二值化腐蚀图像P′2 (α);
步骤8.8、寻找在第α个靶标二值化腐蚀图像P′2 (α)中的μα个最大黑色连通域并分别记为方格连通域方格连通域…、方格连通域计算得到靶标二值化腐蚀图像P′2上的方格连通域方格连通域…、方格连通域质心像素坐标并将 依次作为平行四边形编码单元质心像素坐标集合A(α)中的第1个元素、第2个元素、…、第μα个元素;
步骤8.10、在第α个靶标二值化腐蚀图像P′2 (α)中,计算得到第α个靶标二值化腐蚀图像P′2 (α)中的圆环中心连通域Ω′1 (α)、圆环中心连通域…、圆环中心连通域的质心像素坐标并将依次作为圆环质心像素坐标集合B(α)中的第1个元素、第2个元素、…、第μα个元素;
步骤8.11、在第α个靶标二值化腐蚀图像P′2 (α)中,将除方格连通域方格连通域…、方格连通域以及圆环中心连通域Ω′1 (α)、圆环中心连通域圆环中心连通域以外的黑色连通域的灰度值均赋值为255,并将第α个靶标二值化腐蚀图像P′2 (α)经过此处理得到的图像记为第α个解码二值化图像
步骤8.12、取整数变量ζ,并赋予初始值ζ=1;
步骤8.15、根据质心像素坐标值为的平行四边形编码单元中所有编码标志圆的编码值,求出与第α组第ζ个无复杂背景的单元二值化图像中质心像素坐标值为的平行四边形编码单元相对应的实际空间中放置的编码平面靶标上的平行四边形编码单元的编码号
步骤8.20、将ζ+1赋予ζ,循环执行步骤8.13至步骤8.19,完成μα个平行四边形编码单元的解码。
3.根据权利要求1所述的基于编码平面靶标的单目摄像机智能标定方法,其特征在于:在步骤11中,将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用编码平面靶标空间姿态判断法获得返回的姿态判断值Jp的具体步骤如下:
步骤11.1、将第α个标定角点亚像素级坐标与靶标坐标的匹配组作为输入条件,利用平面靶标空间姿态估算算法计算出从第α个靶标坐标系变换到摄像机坐标系Oc-XcYcZc的第α个靶标旋转矩阵Rα和第α个靶标平移矩阵Tα;
步骤11.2、判断i′是否等于0;若i′==0,则直接跳转至步骤11.6执行;否则执行步骤11.3;
Rα,i′=(R′i′)-1·Rα (1)
Tα,i′=(R′i′)-1·(Tα-T′i′) (2)
其中,R′i′为第i′个标定旋转矩阵,T′i′为第i′个标定平移矩阵;
步骤11.5、判断旋转角度θα,i′是否大于旋转阈值k1且平移矩阵Tα,i′的范数是否大于平移阈值k2,其中若旋转角度平均值θα,i′大于旋转阈值k1且平移矩阵Tα,i′的范数大于平移阈值k2,则执行步骤11.6;否则执行步骤11.7;
步骤11.6、定义整型判断返回值Jp并赋值Jp=1,而后结束姿态判断;
步骤11.7、定义整型判断返回值Jp并赋值Jp=-1,而后结束姿态判断。
5.一种计算机可读存储介质,包括与具有图像处理功能的电子设备结合使用的计算机程序,所述计算机程序可被处理器执行以如权利要求1所述的智能标定方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540993 | 2020-12-23 | ||
CN2020115409933 | 2020-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113096191A CN113096191A (zh) | 2021-07-09 |
CN113096191B true CN113096191B (zh) | 2022-08-16 |
Family
ID=76676193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110386596.3A Active CN113096191B (zh) | 2020-12-23 | 2021-04-12 | 基于编码平面靶标的单目摄像机智能标定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113096191B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114302173B (zh) | 2021-12-31 | 2022-07-15 | 广东工业大学 | 一种平面编码靶标的二维图像拼接系统及其拼接方法 |
CN114299172B (zh) | 2021-12-31 | 2022-07-08 | 广东工业大学 | 一种用于视觉系统的平面编码靶标及其实时位姿测量方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2846432A1 (fr) * | 2002-10-24 | 2004-04-30 | Commissariat Energie Atomique | Cible codee et procede de photogrammetre utilisant de telles cibles |
US8368762B1 (en) * | 2010-04-12 | 2013-02-05 | Adobe Systems Incorporated | Methods and apparatus for camera calibration based on multiview image geometry |
CN103473771A (zh) * | 2013-09-05 | 2013-12-25 | 上海理工大学 | 一种摄相机标定方法 |
CN104732553A (zh) * | 2015-04-10 | 2015-06-24 | 大连理工大学 | 一种基于多台激光辅助靶标的特征点提取方法 |
CN104933717A (zh) * | 2015-06-17 | 2015-09-23 | 合肥工业大学 | 基于方向性标定靶标的摄像机内外参数自动标定方法 |
CN110763204A (zh) * | 2019-06-25 | 2020-02-07 | 西安理工大学 | 一种平面编码靶标及其位姿测量方法 |
-
2021
- 2021-04-12 CN CN202110386596.3A patent/CN113096191B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2846432A1 (fr) * | 2002-10-24 | 2004-04-30 | Commissariat Energie Atomique | Cible codee et procede de photogrammetre utilisant de telles cibles |
US8368762B1 (en) * | 2010-04-12 | 2013-02-05 | Adobe Systems Incorporated | Methods and apparatus for camera calibration based on multiview image geometry |
CN103473771A (zh) * | 2013-09-05 | 2013-12-25 | 上海理工大学 | 一种摄相机标定方法 |
CN104732553A (zh) * | 2015-04-10 | 2015-06-24 | 大连理工大学 | 一种基于多台激光辅助靶标的特征点提取方法 |
CN104933717A (zh) * | 2015-06-17 | 2015-09-23 | 合肥工业大学 | 基于方向性标定靶标的摄像机内外参数自动标定方法 |
CN110763204A (zh) * | 2019-06-25 | 2020-02-07 | 西安理工大学 | 一种平面编码靶标及其位姿测量方法 |
Non-Patent Citations (3)
Title |
---|
Multi-camera calibration method based on a multi-plane stereo target;Zhang,J等;《APPLIED OPTICS》;20191201;全文 * |
双摄像机模组的组合式标定和校正方法;杨风开 等;《计算机工程与科学》;20190228;第41卷(第02期);全文 * |
基于双目视觉的立体靶标技术研究;朱财升;《中国优秀硕士学位论文全文数据库工程科技II辑》;20190715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113096191A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112066879B (zh) | 基于计算机视觉的气浮运动模拟器位姿测量装置及方法 | |
CN113096191B (zh) | 基于编码平面靶标的单目摄像机智能标定方法 | |
CN112132907B (zh) | 一种相机标定方法、装置、电子设备及存储介质 | |
CN113129386B (zh) | 基于编码平面靶标的双目摄像机内外参数的智能标定方法 | |
CN107945221B (zh) | 一种基于rgb-d图像的三维场景特征表达与高精度匹配方法 | |
CN112686950B (zh) | 位姿估计方法、装置、终端设备及计算机可读存储介质 | |
CN111981982B (zh) | 一种基于加权sfm算法的多向合作靶标光学测量方法 | |
CN113129385B (zh) | 基于空间中多编码平面靶标的双目摄像机内外参数标定方法 | |
CN113160329B (zh) | 用于摄像机标定的编码平面靶标及其解码方法 | |
CN113129397B (zh) | 一种基于图形几何关系的平行四边形编码标志的解码方法 | |
CN115880373A (zh) | 基于新型编码特征的立体视觉系统的标定板及标定方法 | |
CN113012271B (zh) | 一种基于uv贴图的手指三维模型纹理映射方法 | |
CN113129396B (zh) | 一种基于区域分割的平行四边形编码标志的解码方法 | |
CN113112550B (zh) | 一种用于摄像机内外参数标定的编码平面靶标及其编码方法 | |
CN115222828A (zh) | 用于视觉定位的正六边形编码标志解码方法 | |
CN113112549B (zh) | 一种基于编码立体靶标的单目摄像机快速标定方法 | |
CN113192143B (zh) | 一种用于摄像机快速标定的编码立体靶标及其解码方法 | |
CN109815966A (zh) | 一种基于改进sift算法的移动机器人视觉里程计实现方法 | |
CN115049744A (zh) | 机器人手眼坐标转换方法、装置、计算机设备和存储介质 | |
CN113129388B (zh) | 用于快速标定摄像机内外参数的编码立体靶标及其编码方法 | |
Guo et al. | Automatic shape-based target extraction for close-range photogrammetry | |
CN114494316A (zh) | 角点标记方法、参数标定方法、介质及电子设备 | |
CN113379846B (zh) | 基于方向指示标志点标定模板的转台转轴标定方法 | |
CN116912334B (zh) | 基于光栅条纹投影的相位映射高精度投影仪标定方法 | |
CN112734843B (zh) | 一种基于正十二面体的单目6d位姿估计方法 |
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 |