CN109859226B - 一种图形分割的棋盘格角点亚像素的检测方法 - Google Patents
一种图形分割的棋盘格角点亚像素的检测方法 Download PDFInfo
- Publication number
- CN109859226B CN109859226B CN201910023732.5A CN201910023732A CN109859226B CN 109859226 B CN109859226 B CN 109859226B CN 201910023732 A CN201910023732 A CN 201910023732A CN 109859226 B CN109859226 B CN 109859226B
- Authority
- CN
- China
- Prior art keywords
- blocks
- corner
- points
- pixels
- edge
- 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
Abstract
本发明公开了一种图形分割的棋盘格角点亚像素的检测方法,通过图像分割先筛选出棋盘格中黑色格子区域后,再对棋盘格中的黑方格逐一进行边缘检测,通过边缘检测时产生的梯度值判断边缘像素再通过检测出的边缘像素的位置进行哈夫变换,最后通过哈夫变换拟合出的四条直线求解两两相交直线的交点即为每一个黑方格的四个初始角点坐标,再对两个相邻黑方格所属的共同角点的初始角点位置进行几何运算,最终求出棋盘格角点坐标的亚像素位置。
Description
技术领域
本发明涉及一种图形分割的棋盘格角点亚像素的检测方法,特别涉及通过区块分割来检测棋盘格角点亚像素位置的方法。
背景技术
角点作为图像上的特征点,包含有重要的信息,在图像融合和目标跟踪及三维重建中有重要的应用价值。因此角点检测在目标匹配、目标跟踪、三维重建、摄像机标定等应用中都有着必不可少的应用,特别是在摄像机标定技术中,需要通过已知标定物的尺寸信息,利用标定物上的点与拍摄后所获得的图像上对应的点之间的对应关系,得到世界坐标系和像素坐标系的位姿转换关系,可以通过拍摄的图像上检测棋盘格的角点位置得到拍摄后棋盘格的尺寸信息,再将其与已知的棋盘格尺寸信息进行处理,就可以得到得到世界坐标系和像素坐标系的位姿转换关系。因棋盘格模板因具有尺寸已知、特征简单、对比度明显、易于识别等特点,所以棋盘格角点的检测在世界坐标系和摄像机坐标系转换的过程中起了重要的作用,
棋盘格图像角点检测是否准确直接决定了摄像机的标定精度,进而影响了后续模块的精度。因此,提高棋盘格图像角点检测的精度,就是提高标定工作的精度,就是提高机器视觉工作的精度。
目前用于检测棋盘格的角点的方法可分为基于边缘、基于灰度、基于角点模板和基于Spiking等。
基于边缘的棋盘格角点检测算法是先通过边缘检测提取出图像的边缘轮廓,再根据图像的边缘连接起来的轮廓线上出曲率局部极大值的点。利用检测不同尺度下的轮廓线的曲率局部极大值,准确定位并检测真实的角点。常见的基于边缘的角点检测算法有CSS和ACSS角点检测算法。
基于灰度的棋盘格角点检测算法主要是基于梯度,基于梯度的算法主要是考虑相邻像素的灰度变化,从而检测出图像的边缘,再进一步的检测出角点的位置,常见的基于梯度的棋盘格角点检测算法有Moravec、Harris、SUSAN和MIC角点检测算法。
基于模板的棋盘格角点检测方法主要考虑角点邻域像素点的灰度分布,将目标像素点与模板进行卷积运算,模板响应足够大的点即为角点,一般是根据实际检测的角点的特征对角点检测模板进行设计,针对性较强,所以一般采用的较少,不具有普遍性。
最近两年由于人工智能的发展,神经网络也被用于棋盘格角点检测之中,比如屈鸿等提出的一种基于Spiking的图像角点检测方法,该算法使用Spiking神经元模板对图像进行扫描,并根据检测神经元的电压变化等情况来确定图像角点,可解决现有技术对角点检测精度不高,缺乏对时间和空间特征的解释问题
常用的棋盘格角点检测算法主要是基于边缘和基于灰度的角点检测算法,比如CSS、Harris、SUSAN、MIC等。
1.CSS棋盘格角点检测算法
利用边缘检测算子提取棋盘格图像的边缘部分,再将轮廓断点处进行连接。在较低尺度下尽可能多的将准角点提取出来。求取每一个待测角点在支撑区范围内的动态曲率门限,进行进一步筛选。计算每一个角点的张角,当角度属于[160,200]之间时,认为该像素点不是角点,并剔除该检测点。
CSS棋盘格角点检测算法提取效果依赖于边缘提取结果,同时筛选角点过程中,使用单一尺度确定角点,多尺度对角点坐标定位,尺度大小的不合适都会造成角点检测的效果不佳;同时在剔除圆角点过程中用单一门限,不能准确检测。
2.Harris棋盘格角点检测算法
Harris角点检测是特征点检测的基础,也是现在运用得最多的角点检测算法。最早是由Chris Harris和Mike Stephens提出来的,在一幅图像当中,Harris算法利用泰勒公式的性质,用一阶导数来近似的代替高阶导数,同时还加上双线性插值和迭代的方法来对图像中的像素点进行判断其是否为角点、边缘像素点还是属于平滑区域的像素点。
Harris角点检测的基本原理是先选择一个目标像素点,并选取一个以该目标像素点为中心的小窗口,计算出窗口沿任何方向移动后的灰度变化,利用移动的窗口在图像中计算灰度变化值,,并为每一个像素点都计算出该像素点的自相关矩阵,再通过确定阈值R的大小(其中阈值的确定需要设置系数K),进行非极大值抑制。
Harris算法有效的避免了基于边缘轮廓的角点提取算法中提取轮廓的误差。且不容易受到摄像机姿态及光照的影响,因此可以较好的适用于角点数目较多且光源复杂的情况,具有很好的定位性能和鲁棒性。但是简单的Harris角点提取算法,需要对系数K(一般取0.04)和阈值R进行设置,前者系数K的设置减弱了算法的实时性和精度,后者阈值R的设置则会造成角点漏判或误判,显示的现象为阈值R设置较大会丢失角点信息,阈值R设置较小则会出现伪角点,进而产生角点簇现象。
3.SUSAN棋盘格角点检测算法
SUSAN是Smith和Brady提出的一种图像处理方法,该算法是基于像素领域包含若干元素的近似圆形模板,先进行Susan区域像素判断,再计算Susan区域的大小,最后初始化角点响应函数,即对每个像素基于该模板领域的图像灰度计算角点响应函数(CRF)的数值,如果大于某阈值且为局部极大值,则认为该点为角点。
该算法的优点原理简单,且不需要像Harris算法需要探测像元的灰度矩阵,算哒的速度快,对局部噪声敏感,定位角点位置快速且准确,适合实时定位角点,但同时是角点的精度与圆形模板大小无关,圆形模板越大,检测的角点数越多,则计算量也越大,定位精度差,会漏掉一些实际的角点。
4.MIC棋盘格角点检测算法
MIC角点检测算法Trajkovic提出的种基于待测图像模板小亮度变化的快速角点检测方法,其借用了USAN(Univalue Segment Assimilating Nucleus,即最小核值相似区)的定义,将窗口中心点的像素点定义为核,以核像素值为阈值将图像区域分割为两部分,核相似区和核不相似区。
算法的基本原理是在规定的圆形窗口模板内寻找最小的亮度变化,也就是CRF(Corner Response Function,即角点响应函数)值;MIC角点提取方法的实质是在寻找待测模板内最小亮度变化,即最小CRF,如果CRF值大于某一个门限值,则认为它是角点,否则不是角点。
MIC角点算法可以快速稳定的定位到角点位置,也具有一定的抗噪声能力,但当图像的边界出现模糊或者梯度变化较大时,就会检测出大量的伪角点。
5.基于模板的棋盘格角点检测算法
基于模板的棋盘格检测方法主要考虑像素邻域点的灰度变化,算法基本思想是使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么可以认为该窗口中存在角点。
基于模板的角点检测方法,不同基于梯度或者边缘的方法,它是直接针对于像素的灰度值(像素强度)的,这种方法的一般操作过程是先建立一个模板mask,通过模板来操作或比较图像局部的像素,从面判断其是否为角点,上面所介绍的SUSAN、MIC和Spiking角点检测算法也都可以认为是基于模板的角点检测算法。
为了解决解决计算速度和精度的问题,本发明提供了一种图形分割的棋盘格角点亚像素的检测方法。通过图像分割先筛选出棋盘格中黑色格子区域后,再对棋盘格中的黑方格逐一进行边缘检测,通过边缘检测时产生的梯度值判断边缘像素再通过检测出的边缘像素的位置进行哈夫变换,最后通过哈夫变换拟合出的四条直线求解两两相交直线的交点即为每一个黑方格的四个初始角点坐标,再对两个相邻黑方格所属的共同角点的初始角点位置进行几何运算,最终求出棋盘格角点坐标的亚像素位置。
发明内容
为克服现有技术中的问题,本发明提出的一种图形分割的棋盘格角点亚像素的检测方法,包括以下步骤:
步骤1:计算输入图像的所有的边;
步骤2:把图像中所有的边按照从小到大的顺序进行排序;
步骤3:按照划定的初始块内阈值,把所有小于阈值的边连接起来;
步骤4:判定相邻的两块是否融合;
步骤5:重复步骤4的处理过程,直到任意两个相邻的块都无法融合;
步骤6:根据物理空间特征,判断块间是否融合;并融合块;
步骤7:统计每个块的像素个数,画出直方图;
步骤8:根据直方图,找到方格区块的像素个数范围;
步骤9:根据平行四边行的特征,筛选方格区域;并根据灰阶,找到黑色方格区域;
步骤10:扩展黑方格区域,将其边缘扩展到包含角点的大小;
步骤11:Canny检测边缘点和输出其梯度方向,并对高斯掩模进行优化;
步骤12:将得到的边缘点的相似度进行方向统计,直方图统计的各个边缘像素点的梯度方向分布中找出分布最密集的四个方向,确定这四个区域所对应的像素点,对每一个方向上的像素点位置进行hough变换,拟合出由边缘像素点确定的边缘曲线;
步骤13:Hough变换拟合四条直线,得到拟合出来的四条曲线,相邻曲线两两相交的交点作为所寻找的初始角点坐标;
步骤14:对同一角点求解出的两个角点进行几何运算,得到最终角点坐标。
本发明提出的所述图形分割的棋盘格角点亚像素的检测方法中,输入图像的所有的边按如下公式计算:E=|ri-rj|+|gi-gk|+|bi-bj|;其中,i,j分别是任意两个相邻像素点,r,g,b分别是像素点的三个颜色通道。
本发明提出的所述图形分割的棋盘格角点亚像素的检测方法中,所述步骤1中,只遍历该像素点的4个方向的边。
本发明提出的所述图形分割的棋盘格角点亚像素的检测方法中,所述判定相邻的两块是否融合包括:取两块的块内最大不相似度的最大值为块间融合阈值,如果相邻两块的块间最小不相似度小于等于块间融合阈值,则融合这两个块,否则,不融合这两个块。
本发明提出的所述图形分割的棋盘格角点亚像素的检测方法中,所述根据物理空间特征,判断块间是否融合包括:计算块内最大不相似度和块间最小不相似度;
块内最大不相似度是根据上述步骤划分的块内边的最大值,计算公式为:
其中,C是某个特定的块,E是C内部的边;
块间最小不相似度是根据上述步骤划分的相邻的两个块之间的边的最小值,计算公式为:
其中,Cp和Cq分别是两个相邻的块,Ei是块间像素组成的边。
本发明提出的所述图形分割的棋盘格角点亚像素的检测方法中,经优化的高斯掩模以如下公式表示:
与现有技术相比,本发明的有益效果:本发明的效果在于可以适用于多棋盘格、复杂背景、低成本搭建标定环境、并且对光照、旋转均不敏感,角点检测过程均为全自动,不需要人为帮助,找出的角点准确度较高,且过程中考虑到了实际应用,将对机器不友好的运算该换为对机器友好的运算,极大的节约了计算量,且实验效果有较强的鲁棒性。
附图说明
图1是本发明的棋盘格检点检测算法的主要步骤流程图;
图2是本发明的棋盘格检点检测算法的图像分割步骤流程图;
图3是本发明的棋盘格检点检测算法的图像分割步骤的每个像素点可构建8条边的示意图;
图4是本发明的棋盘格检点检测算法的图像分割步骤的简化计算量为每个像素点构建4条边的示意图;
图5是本发明的棋盘格检点检测算法的图像分割步骤的大块和小块融合的位置关系之一的大块完全包含小块的示意图;
图6是本发明的棋盘格检点检测算法的图像分割步骤的大块和小块融合的位置关系之一的大块与小块有相当大的公共部分,该公共部分占据小块边界的绝大部分的示意图;
图7是本发明的棋盘格检点检测算法的找黑方格步骤流程图;
图8是本发明的棋盘格检点检测算法的找黑方格步骤中区域的左上角的角点特征示意图;
图9是本发明的棋盘格检点检测算法的找黑方格步骤中区域的右上角的角点特征示意图;
图10是本发明的棋盘格检点检测算法的找黑方格步骤中区域的左下角的角点特征示意图;
图11是本发明的棋盘格检点检测算法的找黑方格步骤中区域的右下角的角点特征示意图;
图12是本发明的棋盘格检点检测算法的找角点区域步骤流程图;
图13是本发明的棋盘格检点检测算法的找角点区域步骤的初始角点和最终角点的关系示意图。
具体实施方式
下面将结合示意图对本发明提出的图形分割的棋盘格角点亚像素的检测方法进行更详细的描述,其中表示了本发明的优选实施例,应该理解本领域技术人员可以修改在此描述的本发明,而仍然实现本发明的有利效果。因此,下列描述应当被理解为对于本领域技术人员的广泛知道,而并不作为对本发明的限制。
在棋盘格图像中,方格是图像一个基本单元,角点是方格的重要特征点,也是方格的基本组成部分。如果从图像像素的角度看待问题,角点检测就是对角点特征进行建模,从而在整幅图像中找到符合这个特征的像素点;如果从图论的角度看待问题,角点检测是对每个方格进行分割和定位,进而检测方格特征点的过程。
本发明着力结合以上两个角度,即图像像素角度和图论角度,通过一定的数据处理流程,来解决棋盘格角点检测问题。在数据处理的过程中,策略性地设计算法,以达到降低运算量的同时,提高角点检测的精度,并且能够应对复杂的摄像机标定环境,包含多变的光照环境、复杂的成像背景、多样的摄像机位姿以及随机的成像效果。
下面结合附图和实施例对本发明进一步说明。图1是本发明的实施例中摄像机标定的具体步骤流程图,如图1所示,应用本方法进行摄像机标定的具体步骤如下:
步骤1:做图像分割(流程图如图2所示)
从图论的角度来看,图像的最基本单元是顶点(Vertice),次基本单元是边(Edge),更上层的单元是块(Segmentation/Region/Area),因此,相邻的顶点相连可以组成边,相邻的边相连可以组成块,所有的块相连就组成了整幅图像。
设图像G=(V,E),其中V是像素点,E是由任意两点构成的边缘,再假设图像G有n个点和m条边,分割后的图像S有r个块Ci组成,记为S=(C1,C2,……,Ci)
从图论的角度来看待棋盘格角点检测问题,可以把这个问题分解为:首先,寻找和定位方格单元,即图像中的块;然后,在每个方格单元区域,进行方格顶点的提取。图像分割的目的就是把方格从图像中分割出来,以便在后续处理中,从块序列中提取出方格区域。
通过基于图的图像分割方法,可以快速地将棋盘格区域以方格为单元,分割为不同的块序列。本步骤将每一个方格作为独立的角点检测个体,这样可以有效地避免提取整幅图像的边缘轮廓而产生巨大的计算量。
1:计算所有边
在图像分割中,有三个基本定义:顶点、边、块。顶点是图像中所有的像素点;边是由任意两个相邻像素点连接而成;块是由相似度很高的相邻的边组成的区域。
边是用来衡量两个像素点的颜色相似程度,即两个像素点在颜色空间坐标系中的距离,对于彩色图像来说,边的计算公式为:
为了简化计算量,使用绝对值来代替平方和开方,简化后的公式为:
E=|ri-rj|+|gi-gj|+|bi-bj|
其中,i,j分别是任意两个相邻像素点,r,g,b分别是像素点的三个颜色通道。如果图像是灰度图像,可以从两个角度来看待问题:r,g,b三个颜色通道具有相同的数值;灰度图像只有一个亮度通道。按照这两个角度都可以简化以上公式,以适用于灰度图像。
如图3所示,每个像素点原本有8个相邻的像素点,因而每个像素点可以参与构建8条边。为了避免重复运算,提高算法程序运行效率,本发明只遍历该像素点的4个方向的边,如图4所示。可以看出,另外4个方向的边是相互重复的,不必计算在内,算法的效果不会受到任何影响,同时运算量减少一倍。
2:将所有边按照从小到大排序
在上一步骤中,图像中所有边都被计算出来了,颜色相近的边,其数值较小,颜色不同的边,其数值较大,图像分割的过程就是把数值小的边连接的过程。为了方便后续处理,在本步骤中,把图像中所有的边按照从小到大的顺序进行排序。
3:按照划定的初始块内阈值,把所有小于阈值的边连接起来。
图像分割的目的是把相邻且相似的像素点汇合为同一块,这是一种简单的模式识别思想,一般来说,物理空间中,同一物体上的物点一定具有较小的距离,颜色空间中,距离较小的物点很有可能属于同一物体。
图像分割结合物理空间和颜色空间,以距离为衡量标准,对图像中的顶点进行聚类。具体的分割标准为:物理距离短,颜色距离小。从边的定义的可以看出,其满足物理距离短这一特性。颜色距离小是通过初始块内阈值来实现的。
初始块内阈值是用来将相似的像素点划分到同一块,由于在上一步已经将所有的边进行了排序,本步骤的进行会非常简单。事实上,经过本步骤处理之后,排序之后的边分为两段,前半段为连接在一起的边,对应图像中相似度较高的像素点划分成为一块;后半段为独立的边,即这些边对应的像素点不被连接在一起。即经过此步骤,组成图像的所有的边已经被划分进了不同的块,图像已经被粗略的分割成为了不同的块。
4:根据判定定理,判断块间是否融合。
经过上述步骤,图像只是被粗略的划分为了不同的块,为了提高划分后块的精度,还需要对相邻的块进行融合。
定义两个基本概念:块内最大不相似度和块间最小不相似度。块内最大不相似度是根据上述步骤划分的块内边的最大值,计算公式为:
其中,C是某个特定的块,E是C内部的边。
块间最小不相似度是根据上述步骤划分的相邻的两个块之间的边的最小值,计算公式为:
其中,Cp和Cq分别是两个相邻的块,Ei是块间像素组成的边。
判定相邻的两块是否融合的标准:取两块的块内最大不相似度的最大值为块间融合阈值,如果相邻两块的块间最小不相似度小于等于块间融合阈值,则融合这两个块,否则,不融合这两个块。
5:重复上一步的处理过程,直到任意两个相邻的块都无法融合。
6:根据物理空间特征,判断块间是否融合。
从成像角度来看,小块的产生原因有多种:噪声引起颜色突兀的像素点;感光器件的坏点引起颜色突兀的像素点;感光器件成像缺陷引起颜色畸变,包括镜头色差、感光芯片分辨率较低等因素。
从物理空间角度来看,物体一般具有一定的大小。因此,在图像分割中,较小的块可以融合到一定位置关系的大块中,从而减小或消除噪声等因素对图像分割产生的影响,提高图像分割的精度。
可以进行大块和小块融合的位置关系包括:
大块完全包含小块,如图5所示;
大块与小块有相当大的公共部分,该公共部分占据小块边界的绝大部分,如图6所示;
经过以上处理,图像中相似的邻近像素点会被划分为同一个块,块间之间的颜色呈现出较大的差异,对于棋盘格区域,每个黑色的方格会被划分为同一个块,每个白色的方格会被划分成为同一个块。接下来需要从众多块序列中,定位出方格所在的块。
找黑方格(算法流程图如图7所示)
经过图像分割后,图像被分割成了不同的块,对棋盘格图像而言,主要是分割成为了黑色方格区域和白色方格区域。本发明的目的在于找到棋盘格的角点,即黑色方格和白色方格的交界点,从物理空间上来说,黑色方格和白色方格是相邻交替连接的,即黑色方格的顶点基本上也是白色方格的顶点,为了简化计算量,本发明只通过检测黑色方格的顶点来检测棋盘格的角点。
统计划分成块的像素点个数,根据棋盘格等面积的特点,成像后,图像中的棋盘格的格子的面积差异的应该也在一定的范围内,从统计学上来说,棋盘格的每一个黑白格子所包含的像素的个数应该在一定的范围里面,即属于黑白格子的块应该是密集的分布在一定的区域里。利用像素个数-块数分布的直方图统计,先找出像素个数范围里块数分布较集中的块,再和原图像对应的像素位置的灰阶进行判断,看属于棋盘格格子区域的像素灰阶值是否满足黑色格子的灰阶范围,由此选择出黑方格区域。
7:统计每个块的像素个数,画出直方图;
经过图像分割,本发明得到了分割成不同块的棋盘格的图像,在分块的过程中,本发明已经对每个块的像素个数进行了统计,据此可以得出相应的直方图,直方图的横轴代表块内像素的个数,纵轴代表块的个数。
8:根据直方图,找到方格区块的像素个数范围;
根据棋盘格等面积的特点,可以确定,在某一个块内像素个数范围内,块的个数非常多,其数量大约等于棋盘格内黑白格子的个数。在直方图上的体现是,在横轴的某一个区间内,纵轴的累加之和比较大,据此可以基本确定棋盘格的块。
9:根据平行四边行的特征,筛选方格区域;并根据灰阶,找到黑色方格区域。
如果拍摄环境比较复杂,棋盘格标定板背后有很多其它物体,那么,根据上一步骤的处理方法得到的块序列中就会存在非棋盘格区域,必须要把它们剔除掉,才能保证角点检测的正确性。
首先,根据联通域特征提取出每个区域中的角点;
区域的左上角的角点特征如图8所示,方向为0,6,7的边是被连通的,方向为2,3,4的边是没有被连通的;同理可得,区域的右上角的角点特征如图9所示,方向为4,5,6的边是被连通的,方向为0,1,2的边是没有被连通的;区域的左下角的角点特征如图10所示,方向为0,1,2的边是被连通的,方向为4,5,6的边是没有被连通的;区域右下角的角点特征如图11所示,方向为2,3,4的边是被连通的,方向是0,6,7的边是没有被连通的。
按照以上特征,可以检测出每个区域的角点,对于棋盘格方格区域,由于成像的不理想,每个方位检测出的角点可能不是唯一的,需要进行后处理,取同一方位中所有角点行列坐标的最大值,组合成为等效的角点。
然后,计算角点之间的欧式距离,筛选棋盘格方格区域;
方格区域在棋盘格是正方形的,由于成像特性,成像之后的方格很可能成为平行四边形,满足对边相等的关系。检测出区域的四个角点之后,需要根据平行四边形的特征,检测所有区域的对边是否相等,进而筛选出满足要求的方格区域。
根据得到的属于黑白格子的像素坐标与原始图相应像素位置的像素值进行比对,若某像素属于黑白格子区域且原始图相应像素位置的像素值低于预先设定的阈值,即为本发明所寻找的黑色方格区域。
由此,本发明找到了图像中黑色方格的位置。
10:扩展黑方格区域,将其边缘扩展到包含角点的大小(算法流程图如图12所示)
经过上述步骤,本发明找出了棋盘格中的黑方格,为了找到黑方格的角点,逐一对黑方格进行以下操作:
对其中的一个黑方格的区域进行扩展处理,然后通过canny算子计算其每一个像素的梯度值,通过计算出的梯度值检测出其属于边缘点的像素并将属于边缘点的梯度值输出,再将属于边缘的梯度值进行直方图统计,从物理空间角度来看,属于边缘的像素点相连而成的形状近似于平行四边形,故四条边的方向应该是边缘像素点梯度的分布方向,直方图统计的各个边缘像素点的梯度方向分布中找出分布最密集的四个方向,选取其中两个不平行的方向的角度和边缘点的像素位置进行Hough变换,最终将黑方格的四条边缘拟合成四条直线,最后根据直线两两相交计算出角点位置。由此本发明对每一个黑方格都可以找出四个角点的像素位置,此时找出的角点位置坐标已经是亚像素。
将找出的黑方格逐一进行以下操作,将其边缘扩展到包含角点的大小,因棋盘格只由黑白格子组成的特殊性质,本发明单独对每个黑方格进行操作这样可以使得角点找的比较准确不遗漏
11:.Canny检测边缘点和输出其梯度方向
经过上述步骤的计算,本发明得到了原图像中所有经过扩展后的黑方格,对所有的黑方格的像素点通过canny算子计算出梯度值,并通过梯度值检测出边缘,再将属于边缘的梯度值输出。通过canny算子本发明可以较准确的找出其四条单边缘,并且得到了边缘像素点的梯度值。
Canny算子的运算如下:
由于图像的噪声主要是高斯噪声,其统计特性大致满足正态分布。高斯函数就是常见的正态分布函数,对高斯噪声有较好的抑制效果。高斯函数表达式如下:
其中,μ是期望,决定了函数对称轴;σ是方差,决定了函数的跨度。
由于高斯滤波掩膜是对称的,因此,μ=0;σ的取值是关系到窗口权重的分布,σ数值越大,权重分布越分散,σ数值越小,权重分布越集中;可以根据对噪声影响程度的估计,来调整σ的取值大小。
不考虑μ的影响之后,高斯滤波函数的简化为;
令σ=1,可以得到5x5的h(x,y,σ)权重矩阵,
进一步的,为了减小计算量,本发明把高斯滤波器掩膜进行优化,得到新的掩膜:
新的掩膜具有以下两个优点:
把浮点运算转换为整数运算,在保证精度的前提下,加快了运算速度;
把除法去处转换为移位运算,进一步加快了运算速度;
对原图像f(x,y)进行高斯平滑处理,得到处理后的图像g(x,y)如下:
g(x,y)=h(x,y,σ)*f(x,y)
其中*表示卷积运算。
再用一阶偏导的有限差分进行计算梯度的幅值和方向,用已经平滑滤波后的图像g(x,y)的梯度可以用一阶差分近似值计算x与y的偏导数,其中查分计算偏导数公式如下:
可以得到其梯度与计算倾斜角度公式为:
经过上述步骤本发明得到了扩展后黑方格所有像素的梯度值,但通过这些梯度值并不能确定边缘,所以,需要通过抑制非极大值来剔除掉干扰点,得到边缘。
以目标像素点为中心开一个3X3的窗口,沿着梯度方向分别比较相邻像素的梯度值,若该点比相邻的两个像素的梯度值小,抑制该像素点,反之,留下该像素,这样就可以只留下属于边缘的像素;最后通过使用用双阈值算法检测和连接边缘。
经过上述步骤,本发明可能得到的边缘点可能还是不是很理想,便对留下的梯度值进行再一次的判断,若该点像素高于上限阈值,留下,反之,低于下限阈值,删除该点,介于高低阈值之间,再一次进行非极大值抑制;直到最后所有的点都满足要求,即为所求的边缘点及边缘点相应的梯度值。
12:直方图统计梯度方向
本发明将得到的边缘点的梯度进行方向统计,由于棋盘格的特殊性,即组成棋盘格的格子是长方形,摄像机不同位置的摆放和一定的畸变下,由小孔成像定理可知,成像后的棋盘格格子应近似于平行四边形,即从物理空间角度来看,属于边缘的像素点相连而成的形状近似于平行四边形,故四条边的方向应该是边缘像素点梯度的分布方向,故本发明检测到的边缘点主要应该在四个区域分布较多,直方图统计的各个边缘像素点的梯度方向分布中找出分布最密集的四个方向,找出边缘的四个方向后,确定这四个区域所对应的像素点,对每一个方向上的像素点位置进行hough变换,拟合出由边缘像素点确定的边缘曲线。
13:Hough变换拟合四条直线,找到初始角点位置
Hough变换是一种使用非常广泛的曲线拟合方法,特别是非常适合于拟合一些特定形状的曲线,其速度和效果都具有很强的鲁棒性,Hough变换拟合曲线的基本思想是对坐标进行变换,其表达式如下,
p=X*sinθ+y*cosθ
式中:为像素坐标系中原点到直线的距离,原点是每个分割出来的黑方块经过扩展后像素坐标的起点,θ为直线的法线与X轴的夹角。
根据Hough变换可以将原来的某一个由(x,y)表示的像素,转换为由(ρ,θ)表示的像素,经过拟合,本发明可以得到拟合出来的四条曲线,两两相交的交点,即为本发明所寻找的初始角点坐标。
记其中任意两条相交的曲线方程为:
其中a1、a2、b1、b2、c1、c2是方程的参数,这里不采用斜率式直线方程是为了避免斜率为无穷大的情况。
直线方程的矩阵形式为:
简记为:
AX=C
由矩阵运算法则,可以解得两条直线的交点:
X=(ATA)-1ATC
14:求解交点,计算角点
经过上述步骤,本发明对分割出来的每个黑方格都找到了四个角点,由于成像的畸变和拟合产生的误差,导致由此相邻的黑方格的公共角点会有两个初始角点的计算值如图13,通过本发明求出的初始角点坐标已经是亚像素,所以求解最终角点坐标时只需要对同一角点求解出的两个角点进行几何运算即可,最终求出角点坐标的亚像素位置的几何运算公式为:
其中(x,y)是最终的角点坐标,(x1,y1)、(x2,y2)是属于同一角点位置的两个初始角点坐标。
本发明的效果在于可以适用于多棋盘格、复杂背景、低成本搭建标定环境、并且对光照、旋转均不敏感,角点检测过程均为全自动,不需要人为帮助,找出的角点准确度较高,且过程中考虑到了实际应用,将对机器不友好的运算该换为对机器友好的运算,极大的节约了计算量,且实验效果有较强的鲁棒性。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。
Claims (6)
1.一种图形分割的棋盘格角点亚像素的检测方法,其特征在于,包括以下步骤:
步骤1:计算输入图像的所有的边;
步骤2:把图像中所有的边按照从小到大的顺序进行排序;
步骤3:按照设定的初始块内阈值,把所有小于阈值的边连接起来;
步骤4:判定相邻的两块是否融合;
步骤5:重复步骤4的处理过程,直到任意两个相邻的块都无法融合;
步骤6:根据物理空间特征,判断块间是否融合;并融合块;
步骤7:统计每个块的像素个数,画出直方图;
步骤8:根据直方图,找到方格区块的像素个数范围;
步骤9:根据平行四边行的特征,筛选方格区域;并根据灰阶,找到黑色方格区域;
步骤10:扩展黑方格区域,将其边缘扩展到包含角点的大小;
步骤11:Canny检测边缘点和输出其梯度方向,并对高斯掩模进行优化;
步骤12:将得到的边缘点的相似度进行方向统计,直方图统计的各个边缘像素点的梯度方向分布中找出分布最密集的四个方向,确定这四个方向所对应的像素点,对每一个方向上的像素点位置进行hough变换,拟合出由边缘像素点确定的边缘曲线;
步骤13:Hough变换拟合四条直线,得到拟合出来的四条曲线,相邻曲线两两相交的交点作为所寻找的初始角点坐标;
步骤14:对同一角点求解出的两个角点进行几何运算,得到最终角点坐标;对分割出来的每个黑方格都找到了四个角点,由于成像的畸变和拟合产生的误差,导致相邻的黑方格的公共角点会有两个初始角点的计算值,求出的初始角点坐标已经是亚像素,所以求解最终角点坐标时只需要对同一角点求解出的两个角点进行几何运算即可,最终求出角点坐标的亚像素位置的几何运算公式为:
其中(x,y)是最终的角点坐标,(x1,y1)、(x2,y2)是属于同一角点位置的两个初始角点坐标。
2.根据权利要求1所述的图形分割的棋盘格角点亚像素的检测方法,其特征在于,输入图像的所有的边按如下公式计算:E=|ri-rj|+|gi-gj|+|bi-bj|;其中,i,j分别是任意两个相邻像素点,r,g,b分别是像素点的三个颜色通道。
3.根据权利要求2所述的图形分割的棋盘格角点亚像素的检测方法,其特征在于,所述步骤1中,只遍历像素点的4个方向的边。
4.根据权利要求1所述的图形分割的棋盘格角点亚像素的检测方法,其特征在于,所述判定相邻的两块是否融合包括:取两块的块内最大不相似度的最大值为块间融合阈值,如果相邻两块的块间最小不相似度小于等于块间融合阈值,则融合这两个块,否则,不融合这两个块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910023732.5A CN109859226B (zh) | 2019-01-10 | 2019-01-10 | 一种图形分割的棋盘格角点亚像素的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910023732.5A CN109859226B (zh) | 2019-01-10 | 2019-01-10 | 一种图形分割的棋盘格角点亚像素的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109859226A CN109859226A (zh) | 2019-06-07 |
CN109859226B true CN109859226B (zh) | 2022-06-17 |
Family
ID=66894423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910023732.5A Active CN109859226B (zh) | 2019-01-10 | 2019-01-10 | 一种图形分割的棋盘格角点亚像素的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109859226B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023770B2 (en) | 2019-09-23 | 2021-06-01 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Systems and methods for obtaining templates for tessellated images |
CN111630566B (zh) * | 2019-09-23 | 2023-09-29 | 香港应用科技研究院有限公司 | 为棋盘格图像获取模板的系统和方法 |
CN110827357B (zh) * | 2019-09-30 | 2024-03-29 | 深圳市安思疆科技有限公司 | 一种组合图案标定板以及结构光相机参数标定方法 |
CN113658261A (zh) * | 2020-05-12 | 2021-11-16 | 武汉Tcl集团工业研究院有限公司 | 棋盘格角点位置检测方法、装置、智能终端及存储介质 |
CN112132163B (zh) * | 2020-09-21 | 2024-04-02 | 杭州睿琪软件有限公司 | 识别对象边缘的方法、系统及计算机可读存储介质 |
CN112365539B (zh) * | 2020-11-11 | 2022-12-27 | 中南大学 | 铸锭模具金属溶液边界定位方法 |
CN112614146B (zh) * | 2020-12-21 | 2022-05-13 | 广东奥普特科技股份有限公司 | 棋盘格标定角点的判别方法、装置及计算机可读存储介质 |
CN112837285B (zh) * | 2021-01-29 | 2022-07-26 | 山东建筑大学 | 一种板面图像的边缘检测方法及装置 |
CN113658272B (zh) * | 2021-08-19 | 2023-11-17 | 亿咖通(湖北)技术有限公司 | 车载摄像头标定方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271576A (zh) * | 2008-05-08 | 2008-09-24 | 上海交通大学 | 复杂光照与表面条件下棋盘格模式识别定位方法 |
CN101477687A (zh) * | 2009-01-22 | 2009-07-08 | 上海交通大学 | 复杂背景下的棋盘格角点检测方法 |
CN103093451A (zh) * | 2011-11-03 | 2013-05-08 | 北京理工大学 | 一种棋盘格交叉点识别算法 |
CN104091324A (zh) * | 2014-06-16 | 2014-10-08 | 华南理工大学 | 一种基于连通域分割的棋盘格图像快速特征匹配算法 |
CN106296661A (zh) * | 2016-07-29 | 2017-01-04 | 深圳市未来媒体技术研究院 | 一种适用于光场相机的标定预处理方法 |
CN106846412A (zh) * | 2017-01-23 | 2017-06-13 | 上海兴芯微电子科技有限公司 | 一种棋盘格角点检测方法及装置 |
CN108470361A (zh) * | 2017-02-23 | 2018-08-31 | 南宁市富久信息技术有限公司 | 一种角点自动识别相机标定方法 |
-
2019
- 2019-01-10 CN CN201910023732.5A patent/CN109859226B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271576A (zh) * | 2008-05-08 | 2008-09-24 | 上海交通大学 | 复杂光照与表面条件下棋盘格模式识别定位方法 |
CN101477687A (zh) * | 2009-01-22 | 2009-07-08 | 上海交通大学 | 复杂背景下的棋盘格角点检测方法 |
CN103093451A (zh) * | 2011-11-03 | 2013-05-08 | 北京理工大学 | 一种棋盘格交叉点识别算法 |
CN104091324A (zh) * | 2014-06-16 | 2014-10-08 | 华南理工大学 | 一种基于连通域分割的棋盘格图像快速特征匹配算法 |
CN106296661A (zh) * | 2016-07-29 | 2017-01-04 | 深圳市未来媒体技术研究院 | 一种适用于光场相机的标定预处理方法 |
CN106846412A (zh) * | 2017-01-23 | 2017-06-13 | 上海兴芯微电子科技有限公司 | 一种棋盘格角点检测方法及装置 |
CN108470361A (zh) * | 2017-02-23 | 2018-08-31 | 南宁市富久信息技术有限公司 | 一种角点自动识别相机标定方法 |
Non-Patent Citations (2)
Title |
---|
A Fast and accurate algorithm for chessboard Corner detection;Weixing Zhu 等;《2009 2nd International Congress on Image and Signal Processing》;20091231;第1-5页 * |
基于视觉的投影-摄像机指尖触控系统;宋呈群 等;《集成技术》;20170131;第06卷(第01期);第8-15页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109859226A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859226B (zh) | 一种图形分割的棋盘格角点亚像素的检测方法 | |
CN111243032B (zh) | 一种棋盘格角点全自动检测方法 | |
CN109978839B (zh) | 晶圆低纹理缺陷的检测方法 | |
CN111640157B (zh) | 一种基于神经网络的棋盘格角点检测方法及其应用 | |
CN107248159A (zh) | 一种基于双目视觉的金属工件缺陷检测方法 | |
CN109271937B (zh) | 基于图像处理的运动场地标志物识别方法及系统 | |
CN104008542B (zh) | 一种针对特定平面图形的快速角点匹配方法 | |
CN109191562B (zh) | 基于彩色伪随机编码结构光的三维重建方法 | |
CN108876723A (zh) | 一种灰度目标图像的彩色背景的构建方法 | |
CN109559324A (zh) | 一种线阵图像中的目标轮廓检测方法 | |
CN105335952B (zh) | 匹配代价计算方法和装置、以及视差值计算方法和设备 | |
CN111079518B (zh) | 一种基于执法办案区场景下的倒地异常行为识别方法 | |
CN111640158A (zh) | 基于对应掩模的端到端的摄像头与激光雷达外参标定方法 | |
CN106875430B (zh) | 动态背景下基于固定形态的单一运动目标追踪方法和装置 | |
CN104123554A (zh) | 基于mmtd的sift图像特征提取方法 | |
CN110490924A (zh) | 一种基于多尺度Harris的光场图像特征点检测方法 | |
CN112767497A (zh) | 基于圆形标定板的高鲁棒性标定装置及定位方法 | |
CN114674826A (zh) | 基于布匹的视觉检测方法及检测系统 | |
CN111695373A (zh) | 斑马线的定位方法、系统、介质及设备 | |
CN110717910B (zh) | 基于卷积神经网络的ct图像目标检测方法及ct扫描仪 | |
CN108615041B (zh) | 一种角点检测方法 | |
Novacheva | Building roof reconstruction from LiDAR data and aerial images through plane extraction and colour edge detection | |
CN108010076B (zh) | 一种面向密集工业棒材图像检测的端面外观建模方法 | |
Ni et al. | A fully automatic registration approach based on contour and SIFT for HJ-1 images | |
CN113807238A (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 |