一种基于自识别标记的相机标定板及其识别检测方法转让专利

申请号 : CN201910180432.8

文献号 : CN110047109B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄翔李泷杲冯志刚

申请人 : 南京航空航天大学

摘要 :

一种基于自识别标记的相机标定板及其识别检测方法,标定板的图案由具有编码区域的相同尺寸的图标按照一定的间隔和顺序排列组成,其中每一个图标分别具有特征区、隔离区和编码区,特征区提供了用于标定的8个特征点,编码区提供了每一个图标的编号及其在标定板上对应的坐标,标定板的识别检测方法通过检测特征区的轮廓进行直线拟合,通过拟合直线的交点来求特征角点,通过对检测到的编码区域进行解码获取图标的编号及其坐标值。本发明在相机视场存在遮挡的情况下依旧可以进行标定板的识别与检测,无需人工干预,根据编码信息可自动获得标定板的相关信息。

权利要求 :

1.一种基于自识别标记的相机标定板,其特征在于,标定板由尺寸相同的编码图标组成,每一个图标由8行8列的黑白色块组成,64个色块组成了3个功能区域,第一层由28个黑色块组成了特征区域(1),第二层由20个白色块组成了隔离区域(2),第三层由16个非均匀分布的黑白色块组成了编码区域(3);所述的编码区域的黑白色块分别代表了二进制中的0和1;所述的编码区域前12个色块代表图标的编号二进制编码,后4个色块代表根据12个编号二进制编码生成的CRC循环冗余校验校验码;所述编码区域与经过旋转90度、180度、270度的编码区域构成的4个编码区域之间的汉明距离不小于3且4个编码区域的CRC校验码不同;每一个编码图标在标定板上的排列间隔为一个色块的大小,按照编码区域的编号大小由上到下由左到右升序排列;所有符合要求的编码图标构成了一个图标集,选取不同数量的编码图标构成不同大小的标定板,标定板的每一个图标的特征点坐标与其编号一一对应构成一个特征数据集。

2.一种权利要求1所述的相机标定板的识别与检测方法,其特征在于,包括如下步骤:

步骤1:对采集的图像进行均值滤波去噪,对去噪后的图像进行二值化操作,再对其进行形态学开运算和闭运算;

步骤2:对经过步骤1之后的图像进行连通域的边缘检测,其中检测到的边缘以树形结构存储;

步骤3:根据面积约束、颜色约束、凸度约束和结构约束,过滤掉不符合要求的轮廓;

步骤4:对步骤3获得的特征区域的内外四边形轮廓进行聚类,对每一类采用RANSAC随机抽样一致算法进行直线拟合;

步骤5:对步骤4中拟合的直线,分别求直线之间的交点,交点按照先外后内,从左上交点开始的顺时针顺序进行存储;

步骤6:针对步骤5中求得的交点,进行亚像素精度优化;

步骤7:利用步骤6中得到的内部四边形的4个顶点,进行透视变换,将每一个图标转正;

步骤8:对步骤7中转正后的图标的编码区域进行解码与CRC验证;

步骤9:根据步骤8得到的编号及图标方向,对步骤6中得到的角点重新排列并在特征数据集中进行对照查找,便可得到每一个图标的8个角点所对应的世界坐标。

说明书 :

一种基于自识别标记的相机标定板及其识别检测方法

技术领域

[0001] 本发明涉及机器视觉技术,尤其是一种三维空间识别技术,具体地说是一种基于自识别标记的相机标定板及其识别检测方法。

背景技术

[0002] 在机器视觉,尤其是视觉测量的应用中,为了确定空间物体表面的三维几何位置与其在图像中对应点之间的关系,需要建立相机成像的几何模型,这些几何模型参数就是相机参数,求解这个参数的过程即为相机标定。
[0003] 在传统的相机标定方法中,广泛使用黑白相间的棋盘格作为标定装置,这种标定板以黑白格相交点作为特征点,能够提供亚像素级的检测精度,但这种棋盘格在标定时需要整个棋盘格都处于相机的视场中,且不能出现遮挡,否则无法对角点的对应关系进行识别,同时在标定的过程中需要一些人为的干预。
[0004] 目前存在的一些基于自识别标记的标定板中,常用的一种做法是在黑白棋盘格中加入编码标识符,可唯一的标识每一个角点以及整个标定板的信息。这种方法很好的解决了视场遮挡的问题,且无需人工干预,但因为标识符的加入,增加了每一个棋盘格的尺寸,意味着在同等标定条件下,减少了特征点的数量,这对标定结果的精度和鲁棒性都是不利的情况。
[0005] 因此,确有必要对现有技术进行改进以解决现有技术之不足。

发明内容

[0006] 本发明的目的是针对现有的自识别标记存在特征点的数量少,对标定结果的精度和鲁棒性不利的问题,提供一种基于自识别标记的相机标定板,同时提供相应的识别检测方法,以克服现有技术存在的缺点。
[0007] 本发明采用如下技术方案之一:
[0008] 一种基于自识别标记的相机标定板,其特征在于,标定板由尺寸相同的编码图标组成,每一个图标由8行8列的黑白色块组成,64个色块组成了3个功能区域,第一层由28个黑色块组成了特征区域1,第二层由20个白色块组成了隔离区域2,第三层由16个非均匀分布的黑白色块组成了编码区域3。
[0009] 所述的编码区域的黑白色块分别代表了二进制中的0和1。
[0010] 所述的编码区域前12个色块代表图标的编号二进制编码,后4个色块代表根据12个编号二进制编码生成的CRC(循环冗余校验)校验码。
[0011] 所述编码区域与经过旋转90度、180度、270度的编码区域构成的4个编码区域之间的汉明距离不小于3且4个编码区域的CRC校验码不同。
[0012] 每一个编码图标在标定板上的排列间隔为一个色块的大小,按照编码区域的编号大小由上到下由左到右升序排列;所有符合要求的编码图标构成了一个图标集,根据实际应用的需求可选取不同数量的编码图标构成不同大小的标定板,标定板的每一个图标的特征点坐标与其编号一一对应构成了一个特征数据集。
[0013] 本发明的技术方案之二是:
[0014] 一种基于自识别标记的相机标定板的识别检测方法,其特征包括以下步骤:
[0015] 步骤1:对采集的图像进行均值滤波去噪,对去噪后的图像进行二值化操作,再对其进行形态学开运算和闭运算;
[0016] 步骤2:对经过步骤1之后的图像进行连通域的边缘检测,其中检测到的边缘以树形结构存储;
[0017] 步骤3:根据面积约束、颜色约束、凸度约束和结构约束,过滤掉不符合要求的轮廓;
[0018] 步骤4:对步骤3获得内外四边形轮廓进行聚类,对每一类采用RANSAC算法进行直线拟合;
[0019] 步骤5:对步骤4中拟合的直线,分别求直线之间的交点,交点按照先外后内,从左上交点开始的顺时针顺序存储;
[0020] 步骤6:针对步骤5中求得的交点,进行亚像素精度优化;
[0021] 步骤7:利用步骤6中得到的内部四边形的4个顶点,进行透视变换,将每一个图标转正;
[0022] 步骤8:对步骤7中转正后的图标的编码区域进行解码与CRC验证;
[0023] 步骤9:根据步骤8得到的编号及图标方向,对步骤6中得到的角点重新排列并在特征数据集中进行对照查找,便可得到每一个图标的8个角点所对应的世界坐标。

附图说明

[0024] 图1是A4大小的标定板;
[0025] 图2是编码图标的结构图;
[0026] 图3是标定板识别检测流程图;
[0027] 图4是编码区域的编码流程图;
[0028] 图5是相机采集的标定板图像;
[0029] 图6是预处理结果图,图6中的a是图像预处理结果图,图6中的b是边缘检测与筛选结果图;
[0030] 图7是轮廓聚类原理图;
[0031] 图8是编码区域转正图;
[0032] 图9是编码区域解码原理图;
[0033] 图10是特征角点检测结果示意图。

具体实施方式

[0034] 下面结合附图和实施例对本发明作进一步的说明。
[0035] 实施例一。
[0036] 基于自识别标记的相机标定板的设计:
[0037] 标定板如图1所示。
[0038] 参照图2所示,标定板上的每个图标是由黑白方块组成的8x8的矩阵,其由外到里的3层结构涵盖了3个功能区:
[0039] 第一层:特征区域1,其由28个黑色方块组成,环绕第二层,构成了内外两个方形轮廓,每个轮廓的4个顶点构成了用于标定的8个特征点;
[0040] 第二层:隔离区域2,其由20个白色方块组成,环绕第三层,用于分离第一层和第三层两个功能区;
[0041] 第三层:编码区域3,其由非规则排列的黑白方块组成,编码方法参照图4,黑色代表二进制中的0,白色代表二进制中的1,整个区域构成了16位的二进制编码,其中前12位用于表示该图标的编号,后4位是由前12位生成的用于进行循环冗余校验(CRC)的校验码,每一个图标的编码区域需要满足以下约束条件:
[0042] 条件1:为了避免二维编码矩阵的混淆,每个二维编码的4个旋转体之间的汉明距离不得小于3;
[0043] 条件2:每个编码的4个旋转体对应的前12位编码生成的4位CRC校验码不得相同;
[0044] 条件3:每个编码区域中,两种色块中个数较多的色块个数不得超过总色块的60%;
[0045] 在每一个图标设计完成之后,每一个编码图标在标定板上的排列间隔为一个色块的大小,按照编码区域的编号大小由上到下由左到右升序排列。所有符合要求的编码图标构成了一个图标集,根据实际应用的需求可选取不同数量的编码图标构成不同大小的标定板,标定板的每一个图标的8个特征点坐标与其编号一一对应构成了一个特征数据集,如图4所示。
[0046] 实施例二。
[0047] 一种基于自识别标记的相机标定板的识别检测方法,参照图1,设计了一个7行6列的标定板,并将其打印在一张A4纸上,图标中每一个色块的边长为4mm。参照图5,使用工业相机采集了一张视场存在遮挡的标定板图像。对采集的标定板的识别检测方法步骤如下(参照图3):
[0048] 步骤1:图像预处理阶段,对采集的图像进行均值滤波去噪,对去噪后的图像进行二值化操作,再对其进行形态学开运算和闭运算,去除图像中的离散点和毛刺,黑色区域中的亮斑和白色区域中的暗斑;
[0049] 步骤2:利用Canny边缘检测算法,对经过步骤1之后的图像进行连通域的边缘检测,其中检测到的边缘以树形结构存储;
[0050] 步骤3:步骤2中检测到的边缘包含许多不符合要求的边缘,目标是获得特征区域的内外两条四边形边缘,本步骤的目的就是通过一些约束,过滤掉不需要的边缘轮廓,其中约束条件如下:
[0051] 面积约束:面积指边缘轮廓所包围的区域的像素数量。确保采集的图像中至少包含8个图标,所以面积的上限为图像面积的1/8;这里假设每一个色块至少覆盖2x2个像素,每个图标有64个色块,所以面积的下限为64x4个像素;
[0052] 颜色约束:目标轮廓区域内均包含黑白两种颜色,这里对轮廓区域内为纯色的边缘进行舍弃;
[0053] 凸度约束:凸度即轮廓面积与轮廓的凸包面积之比,这里凸包指的是将轮廓最外层的点连接起来构成的凸多边形,此处过滤阈值设为0.9,即目标轮廓的凸度大于0.9;
[0054] 结构约束:结构指的是轮廓之间的相互嵌套关系。目标轮廓中,外部四边形轮廓无外层嵌套轮廓,至少包含2个内层嵌套轮廓;内部四边形轮廓只有1个外层嵌套轮廓,至少包含1个内层嵌套轮廓;
[0055] 经过上述多个约束条件的过滤后,标定板上排除了遮挡区域,以及一些非必要区域,其最终的对比结果参照图6。
[0056] 步骤4:经过步骤3,对于标定板上的每一个图标,获得了内外两个四边形轮廓,本步骤的目的就是对两个轮廓的共8条边进行直线拟合,其采用的方法如下:
[0057] 首先,每个轮廓的4条边的像素点均在一个集合中,需要对集合中的像素点进行聚类,以获得每条边的像素点集,其聚类方法如下:
[0058] 参照图7,以轮廓像素点数为X轴,像素点到轮廓形心的欧式距离为Y轴,画出它们之间的关系曲线,从图中可以看出,每一个波峰到波峰之间的点集即为一条边的点集。根据这个特征,将一个四边形轮廓点集分成四类,每一类即为一条边的点集。
[0059] 然后,对每一类也就是每一条边的轮廓点集采用随机抽样一致算法(RANSAC),进行直线拟合,由此得到了每个图标的8条直线。
[0060] 步骤5:对步骤4中拟合的直线,分别求直线之间的交点,交点按照先外后内,从左上交点开始的顺时针顺序存储;
[0061] 步骤6:针对步骤5中求得的交点,进行亚像素优化;
[0062] 步骤7:利用步骤6中得到的内部四边形的4个顶点,进行透视变换,将每一个图标的编码区域转正,其结果参照图8;
[0063] 步骤8:对步骤7中转正后的图标的编码区域进行解码与验证,其具体方法如下:
[0064] 首先,根据转正后的每一个色块的像素尺寸(该尺寸可在进行转正时指定,一般设定为奇数,图示实例的色块尺寸为7x7)构造一个同等尺寸的高斯卷积模板;
[0065] 然后,对该色块进行卷积,如公式(1),其原理如图9所示,以卷积的结果作为该色块的中心像素的灰度值;
[0066]
[0067] 其次,根据阈值,来确定该色块的二进制编码为0还是1,以同样的方式遍历编码区域的四个旋转方向的每一个色块,由此变得到了4个16位的二进制数据,对每个二进制数据进行CRC验证得到正确的二进制数据。
[0068] 最后,根据编码时的方法进行反向操作,便得到了该图标的编号及其方向。
[0069] 步骤9:根据步骤8得到的编号及图标方向,对步骤6中得到的角点重新排列,查找生成标定板时建立的特征数据集,便可得到每一个图标的8个角点所对应的世界坐标。
[0070] 至此,整个识别检测过程结束,其最终的检测结果如图10所示。
[0071] 本发明未涉及部分与现有技术相同或可采用现有技术加以实现。