CN111640157B - 一种基于神经网络的棋盘格角点检测方法及其应用 - Google Patents
一种基于神经网络的棋盘格角点检测方法及其应用 Download PDFInfo
- Publication number
- CN111640157B CN111640157B CN202010470750.0A CN202010470750A CN111640157B CN 111640157 B CN111640157 B CN 111640157B CN 202010470750 A CN202010470750 A CN 202010470750A CN 111640157 B CN111640157 B CN 111640157B
- Authority
- CN
- China
- Prior art keywords
- corner
- checkerboard
- point
- detected
- points
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 53
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 238000012216 screening Methods 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 53
- 230000003321 amplification Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 6
- 230000005764 inhibitory process Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000005452 bending Methods 0.000 abstract description 3
- 238000005286 illumination Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 9
- 238000012549 training Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000011176 pooling Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- 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/13—Edge detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明属于图像处理技术领域,并具体公开了一种基于神经网络的棋盘格角点检测方法及其应用。该方法包括:获取待测棋盘格的多角度图像,并对其进行预处理以获得灰度图像;基于神经网络对灰度图像进行角点检测,以此确定候选角点;剔除不符合棋盘格几何标准的候选角点,以此确定待检角点;根据获得的待检角点确定待测棋盘格角点的亚像素位置;对获得的待检角点进行区域筛选,确定各个待检角点的索引矩阵,进而得到多个互不交叉的棋盘格角点序列,以此完成待测棋盘格的角点检测。本发明对光照遮挡和噪声偏移等干扰具有较高的检测鲁棒性,同时对由镜头不均匀或广角相机拍摄造成的图像弯曲和畸变具有很高的定位稳定性,并且能同时对多个棋盘完成检测。
Description
技术领域
本发明属于图像处理技术领域,更具体地,涉及一种基于神经网络的棋盘格角点检测方法及其应用。
背景技术
摄像机标定在目标追踪、图像融合、三维重建、机器人导航领域有着广泛的应用。在这些领域中,摄像机通过获取目标场景的多张二维平面图像,完成对目标场景精确的三维建模。而三维建模的完成需要提前获知摄像机的物理(内部)参数和几何(外部)参数,一般通过摄像机标定来确定这些特定参数。摄像机标定通过对已知尺寸的标定模板上的特征点进行二维位置坐标的检测,然后将这些特征点的三维空间位置和拍摄图像上的二维位置坐标一一对应,获取世界坐标系和像素坐标系的位姿转换关系,进而计算出摄像机的物理与几何参数。常用的标定模板包括平面棋盘格模板,平面圆点模板和自制三维立体模板。因棋盘格模板具有易于制作、对比度高、特征明显和易于识别等特点,目前常被用于摄像机标定。平面棋盘格模板上的特征点是黑白方块相交的角点,因此,提高棋盘格角点检测的精度,就可以提高摄像机标定的精确度,进而提高上述领域中三维建模的精度。
众多学者对棋盘格角点检测进行了广泛而深入的研究,并提出了很多卓有成效的算法。最早的是基于角点几何特征的自相关检测算法,这类通用角点检测算法的代表是Moravec、Harris和SUSAN。Moravec算法首先以待检测点为中心取特定大小的区域,并从八个等角度方向计算自相关值,然后将最小值作为角点的响应函数,从而确定是否为角点。但由于寻找的方向太少,这种方法不能很好地解决灰度不均匀以及角点位于图像边缘的情况。Harris和Setphens设计的Harris算法采用像素点灰度值的一阶导数来计算自相关性:首先对每个像素点计算以其为中心的2ⅹ2自相关矩阵:A=ω*|(▽I)(▽I)T|,其中w为高斯平滑模板。同时考虑图像的奇异值分解,定义角点的判别式为:det(A)-k(trace(A))2,其中k为给定的常数,当判别式的值很大时,就认为此处为一个角点。Harris算法的鲁棒性和定位性较好,但是容易产生大量错点。Smith和Brady提出的SUSAN算法,通过使用一个可信赖的滤波器,对中心核周围进行采样,自动返回角点判定值,这种算法可以检测到对比度不明显,或者清晰度不够的角点,适用于低层次图像的处理,但是计算量较大,定位精度较差。
除此之外,很多特定的棋盘格角点检测算法也相继被提出。Ha等人通过对以待测点为中心的圆形边界上的像素点灰度值构成的特征向量进行计算和打分,可以有效地识别出棋盘格的角点。角点在特征向量的四个不同位置(一般选取将圆边界四均分的点)的强度具有明显的差异,设定一个阈值,超过此阈值的待测点即可被认为是角点,这种方法虽然便捷,但会造成很多的假阳性点。Benett等人构建了一个更加复杂的模型ChESS,即采用等角16点而非4点进行判别。这种方法在保持运算速度基本不变的情况下,检测效果大大增强,但是该算法假定所有角点都是由两个线段正交形成,因而不适用于镜头畸变的情况(如广角相机)。
目前也有一些算法尝试使用机器学习来检测角点。比如FAST和基于它改进的FAST-ER算法,统计待检测点圆边界上的等角16点的灰度值分布并组成一个特征向量,然后采用决策树分类器来判断当前待检测点是否为角点。这种算法在大量的数据训练后形成一个有效的检测结构,它的检测速度很快,但是在噪声很高时不稳定。MATE是首个尝试使用神经网络检测棋盘格角点的算法,该算法使用了两层不同的卷积层,针对角点与非角点设计了两种不同的评价函数,同时使用非极大值抑制剔除假阳性点,然后在特定的训练集训练网络。这种算法的迁移性较好,但是计算量较大,但是检测效果一般,未有效解决尺度不变性的问题。
同时,上述的角点检测算法可以基本认为是对每一个候选角点计算出一个置信度分值,然后采用阈值等方法筛选出置信度较大的作为角点。但是这种分值只在角点检测中使用,并不用于后面的棋盘格生成阶段,因此利用率也较低。此外,上述的角点检测方案大多只适用于单棋盘格检测,对于一张图像中包含多个棋盘的检测效果往往不好。
发明内容
针对现有技术的上述缺点和/或改进需求,本发明提供了一种基于神经网络的棋盘格角点检测方法及其应用,该方法对光照遮挡和噪声偏移等干扰具有较高的检测鲁棒性,并且对由镜头不均匀或广角相机拍摄造成的图像弯曲和畸变具有很高的定位稳定性,能够同时对多个棋盘完成检测,因而尤其适用于复杂环境下平角相机以及广角相机的标定。
为实现上述目的,按照本发明的一个方面,提出了一种基于神经网络的棋盘格角点检测方法,该方法包括如下步骤:
S1获取待测棋盘格的多角度图像,并对其进行预处理,以此获得灰度图像;
S2基于神经网络对所述灰度图像进行角点检测,从而确定候选角点并获得各个所述候选角点的响应值;
S3基于步骤S2获得的响应值剔除不符合棋盘格几何标准的候选角点,进而确定待检角点;
S4根据步骤S3获得的所述待检角点确定所述待测棋盘格角点的亚像素位置;
S5对步骤S3获得的所述待检角点进行区域筛选,确定各个所述待检角点的索引矩阵,进而得到多个互不交叉的棋盘格角点序列,以此完成所述待测棋盘格的角点检测。
作为进一步优选的,步骤S1中,所述待测棋盘格为单棋盘格或多棋盘格;当所述待测棋盘格为单棋盘格时,通过移动摄像机或标定板采集多个位姿的图像,以此获得所述多角度图像;当所述待测棋盘格为多棋盘格时,拍摄一张图像即可获得所述多角度图像。
作为进一步优选的,步骤S1中,对所述多角度图像进行预处理包括如下子步骤:
S11对所述多角度图像进行灰度化处理;
S12对灰度化处理后的所述多角度图像进行直方图均衡化处理,以此增强其对比度;
S13对增强后的所述多角度图像的灰度值进行归一化处理,进而获得所述灰度图像。
作为进一步优选的,步骤S2中响应值的损失函数为:
式中,(x,y)是候选角点的坐标,G(x,y)表示候选角点是否为真实角点,当G(x,y)为1时是真实角点,当G(x,y)为0时是假阳性点,为待学习的变量,λ为正则化的权重变量,Np为一张输入图像中所有真实角点的个数,Nn为非角点的像素个数,a(x,y)由输入的灰度图像经过神经网络处理后输出对应点位置的响应值output(x,y)经过如下的截断操作得到:
作为进一步优选的,步骤S3包括如下子步骤:
S31根据自适应阈值法剔除响应值小于特定阈值的像素点;
S32然后采用非极大值抑制法剔除所有9×9区域内的局部最大值角点;
S33最后使用聚类算法对属于每一个棋盘格角点序列的角点进行聚类,剔除边界上的角点以及某一聚类中角点总数少于2个的角点。
作为进一步优选的,步骤S4包括如下子步骤:
S41根据步骤S2获得的响应值,对各个所述待检角点周围9×9领域内的响应值进行插值,从而获得角点响应值曲面;
S42利用高斯拟合算法计算出所述角点响应值曲面的极值点,以此作为所述待测棋盘格角点的亚像素位置。
作为进一步优选的,步骤S5中,基于区域生长算法获得所述棋盘格角点索引矩阵,具体包括如下子步骤:
S51计算所述灰度图像在进行归一化之前,各个像素点水平方向和竖直方向的一阶导数,从而计算出梯度值和梯度方向,进而得到各个像素点的梯度向量;
S52统计各个所述待测角点11×11领域内的梯度值和方向分布,以此计算得到该领域的梯度直方图,并根据局部极大值排序计算出各个所述待测角点的第一边界方向和第二边界方向;
S53按照响应值大小对各个所述待测角点进行排序,并依次对每个所述待检角点建立初始角点索引矩阵;
S54对各个所述初始角点索引矩阵,分别沿着边缘角点的边界方向进行向右、上、左、下的索引矩阵扩增,直到至少一个边界角点被计算到,此时获得的扩增矩阵为该待检角点所在区域内的最大角点索引矩阵;
S55待各个所述待检角点的角点索引矩阵扩增完成后,将所有两两相交至少包含两个共同角点的最大角点索引矩阵按照所述待检角点的位置关系进行整合,进而生成最后的棋盘格角点索引矩阵。
作为进一步优选的,步骤S5中,若建立初始角点索引矩阵时,以一个角点为中心不能建立初始的3×3角点索引矩阵,即8邻域角点至少有一个为空时,表示该角点为边界角点,不再使用此初始角点索引矩阵参与后续棋盘格的重建中。
作为进一步优选的,步骤S5中,当以一个角点为起始点的角点索引矩阵扩增完成后,为加快计算效率,该索引矩阵的内部角点不再参与后续的初始角点索引矩阵的创建中,仅边缘角点和未处理过的角点参与后续进程。
按照本发明的另一方面,提出了一种上述基于神经网络的棋盘格角点检测方法在摄像机标定中的应用。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,主要具备以下的技术优点:
1.本发明提供了一种基于神经网络的棋盘格角点检测方法,该方法对光照遮挡和噪声偏移等干扰具有较高的检测鲁棒性,同时对由镜头不均匀或广角相机拍摄造成的图像弯曲和畸变具有很高的定位稳定性;即使当一张图片中包含多张棋盘格时,也能同时对多个棋盘完成检测,并且可以用于复杂环境下平角相机以及广角相机的标定;
2.尤其是,本发明通过对响应值的损失函数进行优化,能够保证各个像素点的响应值可以看作是神经网络判断各个像素点是否为角点的置信度,从而保证检测结果的准确性;
3.此外,本发明还提出了利用区域生长算法获得棋盘格角点索引矩阵,在确保结果准确性的前提下,有效提高了棋盘格角点检测的计算效率;
4.同时,本发明提出将基于神经网络的棋盘格角点检测方法应用于摄像机标定中,能够有效提高摄像机标定的精确度,并且适用于各种场景。
附图说明
图1是本发明提供的基于神经网络的多棋盘格角点检测方法的流程图;
图2是本发明优选实施例提供的棋盘格标定板图像;
图3是本发明优选实施例中基于神经网络对灰度图像进行角点检测的流程图;
图4是本发明优选实施例中利用局域生长算法确定角点索引矩阵的流程图;
图5a-图5h为本发明优选实施例中进行棋盘格角点索引矩阵扩增的过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明优选实施例提供了一种基于神经网络的棋盘格角点检测方法,该方法包括如下步骤:
S1:获取待测棋盘格的多角度图像,并对其进行预处理,以此获得灰度图像;
S2基于神经网络对所述灰度图像进行角点检测,从而确定候选角点并获得各个所述候选角点的响应值;
S3基于步骤S2获得的响应值剔除不符合棋盘格几何标准的候选角点,以此确定待检角点;
S4根据步骤S3获得的所述待检角点确定所述待测棋盘格角点的亚像素位置;
S5对步骤S3获得的所述待检角点进行区域筛选,确定各个所述待检角点的索引矩阵,进而得到多个互不交叉的棋盘格角点序列,以此完成所述待测棋盘格的角点检测。
进一步,根据标定任务的具体要求,搭建一个包括单棋盘格或多棋盘格的标定环境,并将每一个棋盘格标定板按照给定的位姿关系安装在固定装置上,棋盘格标定板如图2所示。当进行多棋盘格标定时,每个棋盘格之间可以存在一定程度的遮挡,但是被遮挡的标定板至少露出4个角点,便于对遮挡的棋盘格进行定位。
摄像机设备可以安放在目标场景中标定板的正前方,根据实际场景需要选择合适的拍摄位置和角度。当为单棋盘格标定时,可以通过移动摄像机或者标定板采集多个位姿的标定板图像,一般至少要采集3张不同位姿的图像才能完成摄像机的标定。当为多棋盘格标定时,由于多个棋盘格的位姿已经固定,因而拍摄一张图像即可包含多个不同角度位姿的棋盘格图像。这就相当于不用移动摄像机或者标定板,一次拍摄的图像就足以用于摄像机的标定,省去了频繁移动装置的操作,也节省了图像捕获的时间。
为了调整多角度图像的像素值分布,使得多角度图像在不损失关键信息的情况下,尽可能地消除光照不均匀、拍摄噪声等影响,进而提高整体图片的检测质量,采用如下子步骤对多角度图像进行预处理:
S11为了减少颜色对角点检测的影响,首先利用公式(1)将多角度图像的RGB三通道的亮度值转化为灰度值,以此进行灰度化处理;
Gray(x,y)=0.30×R(x,y)+0.59×G(x,y)+0.11×B(x,y) (1)
其中,R(x,y)、G(x,y)、B(x,y)分别对应像素点(x,y)处的RGB三通道的亮度值,Gray(x,y)为计算得到的灰度值;
S12为改善图像的显示质量,使用CLAHE有限对比适应性直方图均衡化对灰度化处理后的多角度图像进行处理,以此增强其对比度;
S13对增强后的多角度图像的灰度值进行归一化处理,进而获得灰度图像,将数据通过去均值实现中心化的处理,使得灰度值分布更符合一般数据分布规律,进而促进后面神经网络模型更容易取得训练之后的泛化效果,具体操作为:
进一步,如图3所示,步骤S2基于神经网络对灰度图像进行角点检测具体包括如下子步骤:
S21输入经过预处理后的灰度图像矩阵;
S22在第一个卷积层C1,对原始的输入数据和20个可学习的卷积核进行卷积,卷积核的大小为9×9,由偏置b1,i和权重W1,i构成,再通过一个激活函数ReLu(X)=max(X,0),得到第一层卷积层输出特征L1,i(X)(x,y),具体计算为:
式中,下标i为卷积核的编号,权重W1,i在训练时采用随机生成数(符合均值为0,方差为1)的方式进行初始化,偏置b1,i初始设置为0;
S23通过第一个最大值池化层,池化层的一个像素(神经元节点)对应上一层(第一个卷积层C1)的输出特征L1,i(X)(x,y)中的一个像素区域块(即采样窗口的大小为2×2);池化层的第j个输出特征map只和输入数据L1,i(X)(x,y)的第j个map连接,因此经过池化层后,有N个输入层就有N个输出层;
S24将池化后的数据,依次通过第2、3、4个卷积层,每一个卷积层共20个可学习的卷积核,每个卷积核大小为3×3,初始化方式和第一个卷积层的操作相同;每个卷积层的激活函数均为ReLu(X)=max(X,0),具体表示为:
式中,下标c为卷积层的编号;
S25通过第二个最大值池化层,同步骤S23中第一个最大值池化层的计算方式相同;
S26再通过第5个卷积层,共20个可学习的卷积核,每个卷积核大小同样设置为3×3,初始化方式和第一个卷积层C1的操作相同;每个卷积层的激活函数均为ReLu(X)=max(X,0),具体表示为:
S27通过第6个卷积层,仅1个可学习的卷积核,保证了输出的响应值图谱的维度和输入灰度图像的维度保持一致,卷积核大小同样设置为3×3,初始化方式以及激活函数均与第5个卷积层相同,第6层卷积层输出的L6(X)(x,y)即为得到的响应值图谱;第6层卷积层具体表现为:
本发明使用的神经网络第一个卷积层尺寸为9×9,能够在基本不影响检测效果的情况下减少计算量,提高运算速度;同时后面使用5个尺寸为3×3的卷积层进行训练,能够通过增加训练层数提升训练效果,从而保证本发明使用的神经网络的检测能力和对噪声、畸变的抵抗能力优于现有技术中使用的神经网络。
为使得响应值图谱上每个像素点位置上的响应值可以看作是神经网络判断每个像素点是否为角点的置信度,本发明实施例设计两种分别针对真实角点和非角点像素点响应值的损失函数,具体为:
式中,(x,y)是候选角点的坐标;G(x,y)表示候选角点是否为真实角点,当G(x,y)为1时是真实角点,当G(x,y)为0时为假阳性点;为待学习的变量;λ为正则化的权重变量;Np为一张输入图像中所有真实角点的个数,Nn为非角点的像素个数,a(x,y)由输入的灰度图像经过神经网络处理后输出对应点位置的响应值output(x,y)经过如下截断操作得到:
这种评价函数使得训练和预测时真实角点的响应值接近1,而非角点像素点的响应值接近为0,因此图谱上每一个位置的响应值可以认为是该像素点是否为真实角点的置信度。
进一步,步骤S3包括如下子步骤:
S31根据自适应阈值法剔除响应值小于特定阈值的候选角点,选择τ=0.5×maxR作为图像的特定阈值τ,其中maxR为图片对应响应值图谱中的最大响应值;
S32采用非极大值抑制法剔除真实角点周围响应值较大的候选角点;真实角点周围的像素点因为领域特征比较相似,因此经过神经网络后会有较大的响应值,本发明实施例采用非极大值抑制的方法,剔除掉每个响应值极大值给定9×9领域内的其他像素点,选择剩余的极大值像素点作为待测角点;
S33使用聚类算法对属于每一个棋盘格角点序列的角点进行聚类,剔除边界上以及距离每一个棋盘角点序列都比较远的假阳性点;具体操作为:将图像上的角点按照位置和响应值进行k-means聚类为10个角点簇,然后再剔除角点簇中角点总数小于2的点;此种方法对单张棋盘格数目小于10的多棋盘格检测都能很好地去除边界假阳性点。
进一步,步骤S4对角点坐标进行亚像素精细化处理包括如下子步骤:
S41根据步骤S2获得的响应值,对各个待检角点周围9×9领域内的响应值进行二项式插值,从而获得角点响应值曲面;
S42利用高斯拟合算法计算角点响应值曲面的极值点,以此作为待测棋盘格角点的亚像素位置;其中高斯拟合算法使用每个角点周围连续的三个最大响应值点计算角点响应值曲面的极值点,具体计算可表述为:
式中,f(x,y)为坐标位置为(x,y)处角点的响应值,f(x-1,y)与f(x+1,y)为该计算角点左右两个相邻坐标处的响应值,f(x,y-1)与f(x,y+1)为该计算角点上下两个相邻坐标处的响应值,δx和δy为该计算角点亚像素位置偏离(x,y)的像素差值,该计算角点的亚像素坐标最终表示为(x+δx,y+δy)。
进一步,步骤S5主要是根据计算出来的角点数目和角点亚像素位置来复原棋盘格的拓扑学结构,即知道一张图片中包含的棋盘格的个数,以及每一个角点位于对应棋盘格的行数和列数,基于区域生长算法获得棋盘格角点索引矩阵,如图4所示,具体包括如下子步骤:
S51使用sobel算子分别计算灰度图像在进行归一化之前,各个像素点位置上水平方向和竖直方向的一阶导数(图像梯度)Gx和Gy,从而计算出各个像素点位置处的梯度值和梯度方向,进而得到各个像素点的梯度向量;具体计算公式为:
式中,weight(x,y)和angle(x,y)分别表示为该角点处的梯度值和梯度方向;
S52统计各个待测角点11×11领域内的梯度值和方向分布,然后将180度均分成0~15,16~31,……,165~179共15组,按照邻域内每一个像素点处的梯度方向将置于同一组的角点按照梯度值大小线性叠加,得到梯度值按照方向分布的梯度直方图,最后,对梯度直方图进行线性插值,并计算出局部极大的两组对应的方向角中间值,并通过角度修正到0~180度范围内,之后方向角从小到大依次为该角点处的第一,第二边界方向v1,v2;若梯度直方图只包含一个局部极大值,则判定该角点为非角点,不再参与后续的重建;
S53按照响应值大小对各个待测角点进行排序,并依次对每个待检角点建立初始角点索引矩阵:假定经过上述筛选后一共剩余N个角点,对每一个待处理角点,首先以其为中心(1,1),建立一个3×3角点索引矩阵,其边界8邻域的位置索引先置为-1;再依次使用剩余N-1个角点减去当前角点坐标,生成N-1个角点边界向量,分别计算出沿着(+v1,+v2,-v1,-v2)的方向距离待处理角点最近的角点,作为该角点右(1,2)、上(0,1)、左(1,0)、下(2,1)侧的临近角点;最后按照类似的方法分别对该角点的上(0,1)、下(2,1)侧的临近角点计算对应的左右角点,作为待处理角点的的左上侧(0,0)、右上侧(0,2)、左下侧(2,0)和右下侧(2,2)的临近角点,进而生成一个初始的3×3角点索引矩阵,之后将所有的8邻域角点索引置入矩阵各对应位置中;若某一处的角点未能建立初始的3×3角点索引矩阵,即8邻域角点至少有一个为空时,表示该角点为边界角点,不再作为初始角点索引矩阵参与后续棋盘格的重建中;
S54按照角点响应值的排序,首先对响应值最高的角点建立的初始角点索引矩阵,沿着边缘角点边界进行向右扩增;选取该矩阵的上方边界c1(0,0)、c2(0,1)、c3(0,2)三个点,按照下式计算右上侧扩增点c10:
式中,norm(*)为向量的长度值,依次取该矩阵的中间行角点c4(1,0)、c5(1,1)、c6(1,2),下方边界角点c7(2,0)、c8(2,1)、c9(2,2)进行同样计算获取c11、c12,进而将初始3×3矩阵扩增为3×4矩阵;
再对扩增的3×4矩阵沿着边缘角点边界进行向上扩增,选取该矩阵的左侧边界c1(0,0)、c4(1,0)、c7(2,0)三个点,按照下式计算右上侧扩增点c13:
依次取该矩阵的中间列角点c2(0,1)、c5(1,1)、c8(2,1)及c3(0,2)、c6(1,2)、c9(2,2),右侧边界角点c10(0,3)、c11(1,3)、c12(2,3)进行同样计算获取c14、c15、c16,进而将初始3×4矩阵扩增为4×4矩阵。
依照同样的算法,分别对上一步扩增后的角点索引矩阵向左和向下扩增为4×5矩阵和5×5矩阵;此时一个循环结束,再分别按照右、上、左、下的顺序对扩增后的矩阵进行,直到至少一个边界角点被计算到,此时扩增为该角点所在的区域内最大角点索引矩阵;图5a-图5e展示了针对图2提供的本发明一实施例棋盘格的角点扩征过程;
对响应值最高的角点完成角点索引矩阵的扩增后,所有位于扩增矩阵内部的角点不在参与后续的角点索引矩阵扩增中,仅边缘角点和未处理过的角点参与后续进程;
S55按照上述方法处理每一角点后,将会产生若干个角点索引矩阵,首先计算每个棋盘格是否有重合点,对重合点个数大于2的两个角点索引矩阵,按照角点的位置和在矩阵中的位置关系对这两个矩阵进行合并,生成一个大的索引矩阵,其中不包含角点的位置角点索引值置为-1;图5f-图5h展示了这种矩阵合并的步骤;按照这种方法合并后,剩下的均为一张图中独立的棋盘格角点索引矩阵,即剩余n个索引矩阵表示该图中包含有n个棋盘格。
上述基于神经网络的多棋盘格角点检测方法适用于摄像机标定中,能够有效提高摄像机标定的效率和精确度,具有广阔的应用前景。
本领域的技术人员容易理解,以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于神经网络的棋盘格角点检测方法,其特征在于,该方法包括如下步骤:
S1获取待测棋盘格的多角度图像,并对其进行预处理,以此获得灰度图像;
S2基于神经网络对所述灰度图像进行角点检测,从而确定候选角点并获得各个所述候选角点的响应值;
S3基于步骤S2获得的响应值剔除不符合棋盘格几何标准的候选角点,以此确定待检角点;
S4根据步骤S3获得的所述待检角点确定所述待测棋盘格角点的亚像素位置;
S5对步骤S3获得的所述待检角点进行区域筛选,确定各个所述待检角点的索引矩阵,进而得到多个互不交叉的棋盘格角点序列,以此完成所述待测棋盘格的角点检测;
所述基于区域生长算法获得所述棋盘格角点索引矩阵,具体包括如下子步骤:
S51计算所述灰度图像在进行归一化之前,各个像素点水平方向和竖直方向的一阶导数,从而计算出梯度值和梯度方向,进而得到各个像素点的梯度向量;
S52统计各个所述待检角点11×11邻域内的梯度值和方向分布,以此计算得到该邻域的梯度直方图,并根据局部极大值排序计算出各个所述待检角点的第一边界方向和第二边界方向;
S53按照响应值大小对各个所述待检角点进行排序,并依次对每个所述待检角点建立初始角点索引矩阵;
S54对各个所述初始角点索引矩阵,分别沿着边缘角点的边界方向进行向右、上、左、下的索引矩阵扩增,直到至少一个边界角点被计算到,此时获得的扩增矩阵为该待检角点所在区域内的最大角点索引矩阵;
S55待各个所述待检角点的角点索引矩阵扩增完成后,将所有两两相交至少包含两个共同角点的最大角点索引矩阵按照所述待检角点的位置关系进行整合,进而生成最后的棋盘格角点索引矩阵。
2.如权利要求1所述的基于神经网络的棋盘格角点检测方法,其特征在于,步骤S1中,所述待测棋盘格为单棋盘格或多棋盘格;当所述待测棋盘格为单棋盘格时,通过移动摄像机或标定板采集多个位姿的图像,以此获得所述多角度图像;当所述待测棋盘格为多棋盘格时,拍摄一张图像即可获得所述多角度图像。
3.如权利要求1所述的基于神经网络的棋盘格角点检测方法,其特征在于,步骤S1中,对所述多角度图像进行预处理包括如下子步骤:
S11对所述多角度图像进行灰度化处理;
S12对灰度化处理后的所述多角度图像进行直方图均衡化处理,以此增强其对比度;
S13对增强后的所述多角度图像的灰度值进行归一化处理,进而获得所述灰度图像。
5.如权利要求1所述的基于神经网络的棋盘格角点检测方法,其特征在于,步骤S3包括如下子步骤:
S31根据自适应阈值法剔除响应值小于特定阈值的像素点;
S32然后采用非极大值抑制法剔除所有9×9区域内的局部最大值角点;
S33最后使用聚类算法对属于每一个棋盘格角点序列的角点进行聚类,剔除边界上的角点以及某一聚类中角点总数少于2个的角点。
6.如权利要求1所述的基于神经网络的棋盘格角点检测方法,其特征在于,步骤S4包括如下子步骤:
S41根据步骤S2获得的响应值,对各个所述待检角点周围9×9邻域内的响应值进行插值,从而获得角点响应值曲面;
S42利用高斯拟合算法计算出所述角点响应值曲面的极值点,以此作为所述待测棋盘格角点的亚像素位置。
7.如权利要求1所述的基于神经网络的棋盘格角点检测方法,其特征在于,步骤S5中,若建立初始角点索引矩阵时,以一个角点为中心不能建立初始的3×3角点索引矩阵,即8邻域角点至少有一个为空时,表示该角点为边界角点,不再使用此初始角点索引矩阵参与后续棋盘格的重建中。
8.如权利要求1所述的基于神经网络的棋盘格角点检测方法,其特征在于,步骤S5中,当以一个角点为起始点的角点索引矩阵扩增完成后,为加快计算效率,该索引矩阵的内部角点不再参与后续的初始角点索引矩阵的创建中,仅边缘角点和未处理过的角点参与后续进程。
9.一种如权利要求1~8任一项所述的基于神经网络的棋盘格角点检测方法在摄像机标定中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470750.0A CN111640157B (zh) | 2020-05-28 | 2020-05-28 | 一种基于神经网络的棋盘格角点检测方法及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470750.0A CN111640157B (zh) | 2020-05-28 | 2020-05-28 | 一种基于神经网络的棋盘格角点检测方法及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111640157A CN111640157A (zh) | 2020-09-08 |
CN111640157B true CN111640157B (zh) | 2022-09-20 |
Family
ID=72330650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470750.0A Active CN111640157B (zh) | 2020-05-28 | 2020-05-28 | 一种基于神经网络的棋盘格角点检测方法及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111640157B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111815685B (zh) * | 2020-09-09 | 2021-02-26 | 季华实验室 | 一种棋盘格角点定位方法、装置及电子设备 |
CN112387982B (zh) * | 2020-10-21 | 2021-10-12 | 上海交通大学 | 一种激光增材过程功率联合调控方法 |
CN112614146B (zh) * | 2020-12-21 | 2022-05-13 | 广东奥普特科技股份有限公司 | 棋盘格标定角点的判别方法、装置及计算机可读存储介质 |
CN112935562A (zh) * | 2021-01-19 | 2021-06-11 | 中国科学院云南天文台 | 基于旁轴离线测量的激光精密加工方法 |
EP4075327A1 (en) * | 2021-04-15 | 2022-10-19 | Aptiv Technologies Limited | Methods and systems for training a machine learning method for determining pre-determined points in an image |
EP4075384A1 (en) * | 2021-04-15 | 2022-10-19 | Aptiv Technologies Limited | Methods and systems for determining pre-determined points in an input image |
CN113625440B (zh) * | 2021-08-17 | 2023-07-07 | 新乡赛普瑞特环保科技有限公司 | 一种显微镜自动对焦方法 |
CN113658272B (zh) * | 2021-08-19 | 2023-11-17 | 亿咖通(湖北)技术有限公司 | 车载摄像头标定方法、装置、设备及存储介质 |
CN113837206A (zh) * | 2021-09-29 | 2021-12-24 | 佛山市南海区广工大数控装备协同创新研究院 | 一种基于机器学习svm的图像角点检测方法 |
CN115294078B (zh) * | 2022-08-11 | 2024-01-30 | 创新奇智(合肥)科技有限公司 | 玻璃非对称切角识别方法、装置、设备及存储介质 |
CN116563286B (zh) * | 2023-07-11 | 2023-09-15 | 深圳市惠德贵科技开发有限公司 | 一种移动硬盘盒生产质量快速检测*** |
CN117634144A (zh) * | 2023-10-27 | 2024-03-01 | 四川大学 | 基于波束焦点邻域成像评价的快速反卷积声源定位算法 |
CN117649450B (zh) * | 2024-01-26 | 2024-04-19 | 杭州灵西机器人智能科技有限公司 | 一种托盘格口定位检测方法、***、装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303574A (zh) * | 2015-07-30 | 2016-02-03 | 四川大学 | 一种基于单应性变换的集成成像摄像机阵列标定方法 |
CN105957095A (zh) * | 2016-06-15 | 2016-09-21 | 电子科技大学 | 一种基于灰度图像的Spiking角点检测方法 |
CN108257185A (zh) * | 2018-01-03 | 2018-07-06 | 上海兴芯微电子科技有限公司 | 多棋盘格角点检测方法及摄像机标定方法 |
KR20190051463A (ko) * | 2017-11-07 | 2019-05-15 | 현대모비스 주식회사 | 카메라 캘리브레이션을 위한 체커보드 코너점 추출 장치 및 방법 |
CN111047649A (zh) * | 2018-10-15 | 2020-04-21 | 华东交通大学 | 一种基于最优偏振角的相机高精度标定方法 |
CN111105466A (zh) * | 2019-12-04 | 2020-05-05 | 南京安科医疗科技有限公司 | 一种ct***中相机的标定方法 |
-
2020
- 2020-05-28 CN CN202010470750.0A patent/CN111640157B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303574A (zh) * | 2015-07-30 | 2016-02-03 | 四川大学 | 一种基于单应性变换的集成成像摄像机阵列标定方法 |
CN105957095A (zh) * | 2016-06-15 | 2016-09-21 | 电子科技大学 | 一种基于灰度图像的Spiking角点检测方法 |
KR20190051463A (ko) * | 2017-11-07 | 2019-05-15 | 현대모비스 주식회사 | 카메라 캘리브레이션을 위한 체커보드 코너점 추출 장치 및 방법 |
CN108257185A (zh) * | 2018-01-03 | 2018-07-06 | 上海兴芯微电子科技有限公司 | 多棋盘格角点检测方法及摄像机标定方法 |
CN111047649A (zh) * | 2018-10-15 | 2020-04-21 | 华东交通大学 | 一种基于最优偏振角的相机高精度标定方法 |
CN111105466A (zh) * | 2019-12-04 | 2020-05-05 | 南京安科医疗科技有限公司 | 一种ct***中相机的标定方法 |
Non-Patent Citations (2)
Title |
---|
CCDN: Checkerboard Corner Detection Network for Robust Camera Calibration;Ben Chen等;《ICIRA 2018: Intelligent Robotics and Applications》;20180804;第324-334页 * |
采用黑白检测算子的棋盘格角点检测;范新峰等;《光学 精密工程》;20151031;第479-483页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111640157A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111640157B (zh) | 一种基于神经网络的棋盘格角点检测方法及其应用 | |
CN109784333B (zh) | 基于点云带权通道特征的三维目标检测方法及*** | |
CN108961235B (zh) | 一种基于YOLOv3网络和粒子滤波算法的缺陷绝缘子识别方法 | |
CN106960446B (zh) | 一种面向无人艇应用的水面目标检测跟踪一体化方法 | |
CN109859226B (zh) | 一种图形分割的棋盘格角点亚像素的检测方法 | |
CN111507976B (zh) | 基于多角度成像的缺陷检测方法及*** | |
CN108470356B (zh) | 一种基于双目视觉的目标对象快速测距方法 | |
CN111126412B (zh) | 基于特征金字塔网络的图像关键点检测方法 | |
CN108197604A (zh) | 基于嵌入式设备的快速人脸定位跟踪方法 | |
CN111369605B (zh) | 一种基于边缘特征的红外与可见光图像的配准方法和*** | |
CN112164117A (zh) | 一种基于Kinect相机的V-SLAM位姿估算方法 | |
CN109191429B (zh) | 一种基于机器视觉的3d打印喷嘴检测方法 | |
CN105809716B (zh) | 融合超像素与三维自组织背景减除法的前景提取方法 | |
CN109523583B (zh) | 一种基于反馈机制的电力设备红外与可见光图像配准方法 | |
CN109101981B (zh) | 一种街景场景下基于全局图像条纹码的回环检测方法 | |
CN108133471B (zh) | 一种基于人工蜂群算法的机器人导航路径提取方法及装置 | |
CN111079518B (zh) | 一种基于执法办案区场景下的倒地异常行为识别方法 | |
CN111915485B (zh) | 一种特征点稀疏工件图像的快速拼接方法及*** | |
CN113888461A (zh) | 基于深度学习的小五金件缺陷检测方法、***及设备 | |
CN111967337A (zh) | 一种基于深度学习和无人机影像的管道线变化检测方法 | |
CN106600613B (zh) | 基于嵌入式gpu的改进lbp红外目标检测方法 | |
CN111192194A (zh) | 一种针对幕墙建筑立面的全景图像拼接方法 | |
CN108257153B (zh) | 一种基于方向梯度统计特征的目标跟踪方法 | |
CN111461036A (zh) | 一种利用背景建模增强数据的实时行人检测方法 | |
CN108320310B (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 |