本发明涉及计算机视觉领域,尤其涉及一种基于拓扑验证的图像相似评判方法。
背景技术:
目前市面上传统的工业图像相似度算法通常是基于局部特征点和两张图片中的空间位置对应关系进行匹配程度的判断,专利201811457329.5披露了一种基于图像归一化提升自定义模板识别率的方法及设备,局部特征点包括sift,surf,orb等,匹配算法通常为ransac匹配器。然后根据匹配的特征点对计算透视变换矩阵。
专利201811318995.0披露了一种基于图像全局特征和局部特征的图像匹配方法,基于ransac匹配的局部特征点利用fishervector生成图像指纹,依据指纹进行相似度判别。
上述现有技术都是通过局部特征点的二次开发,提取图像高维特征,然后进行比对的方式。
专利201811318995.0的主要缺陷为:无法对局部的差别进行有效的判断。尽管使用的是局部特征点,但是利用ransac匹配器生成的结果是一个“少数服从多数”的统计量,小部分区域的不同并不会被定位。
专利201811457329.5尽管解决了局部区域的匹配问题,但其缺陷为对无法提取特征点的局部区域无法生效。该方法仅对能够提取到足够丰富的局部特征点的区域才有效。
其余传统算法,例如模版匹配,纹理匹配等,都需要手动选取阈值,且输出的相似度数值不稳定,对大小,光照等都很敏感,不能直接应用到工业场景中。
本专利的主要应用场景是对流水线上的产品进行排异检测,该场景下的主要难度有:
1.流水线上产品的位置不稳定,离镜头可远可近,且会有倾斜的问题
2.部分异常产品与正常产品的相似性极高,出现异常位置区域不显著,如图1。
技术实现要素:
为了解决现有技术中存在的问题,本发明提供了一种基于拓扑验证的图像相似评判方法,包括如下步骤,包括预加载阶段和判读阶段:
预加载阶段,
获取标准图像i并将其创建成模板图t;
用户框选所需要关注的检测区域roi,提取模板图中所有检测区域roi作为模板特征图;
判读阶段,
获取待测图像i',框选关注区域roi',提取待测图像i'中所有关注区域roi',也重新生成一待测特征图,将待测图像i'与标准图像基于图像配准方法进行配准;
将检测区域roi在待测图像i'中对应区域基于关注区域的匹配算法进行匹配,匹配方式为将检测区域roi切分为多个检测子区域roi(i),然后将检测子区域roi(i)在待测图像i'中利用模板匹配法进行位置的还原,并生成对照子区域roi'(i);
验证检测子区域roi(i)与对照子区域roi'(i)的位置相对关系是否一致。
作为较佳的实施方式,所述检测区域的数量为多个。
作为较佳的实施方式,所述图像配准方法的计算过程为:将模板特征图和待测特征图进行surf特征检测,识别并记录每个特征点,包括surf特征点的surf特征信息和坐标信息;根据两组特征点的描述子,利用knn算法进行匹配,得到数对匹配好的特征点,利用ransac算法去除误匹配的特征点,根据剩余匹配正确的特征点,通过矩阵求解的方式,计算透视变换矩阵,利用该透视变换矩阵,将标准图像i变换成待测图像i'。
作为较佳的实施方式,所述匹配正确的特征点的数量最少为4个。
作为较佳的实施方式,所述关注区域的匹配算法具体为:
将所述检测区域roi和所述关注区域roi'按照接近正方形的比例进行切分;
基于拓扑验证法将roi(i)在待测图像i'的相邻区域进行模版匹配,所述拓扑验证法具体为,
遍历每个关注区域roi'的子区域即对照子区域roi'(i),i从0记;
如果为横向切分,
(roi'(i).x-roi'(i-1).x)-roi'(i).w<epsw,
如果为纵向切分:
(roi'(i).y-roi'(i-1).y)-roi'(i).h<epsw,
正方形切分同理,处理纵横两种情况即可,
若roi(i).w以及roi(i).h分别表示第i块关注区域roi的宽和高,
则还有,roi'(i).w≥roi(i).w,所述roi'(i).h≥roi(i).h;
其中eps由roi本身尺寸和切分的段数(记为n)决定,具体公式为,
epsw=roi.x/(n+ln(roi.x)),
epsh=roi.y/(n+ln(roi.y)),
其中,roi.x以及roi.y分别表示检测区域roi的水平长度和垂直长度,roi'(i).x以及roi'(i).y分别表示第i块关注区域roi'的横轴和纵轴坐标,roi'(i).w以及roi'(i).h则分别表示第i块关注区域roi'的宽和高,
遍历中任何一次不满足条件都为匹配失败。
作为较佳的实施方式,所述标准图像i和所述待测图像i'均为灰度图。
作为较佳的实施方式,所述标准图像i和所述待测图像i'在框选关注区域之前,均通过形态学腐蚀操作,去除无关区域的光斑。
作为较佳的实施方式,所述标准图像i和待测图像i'均由ccd相机在低亮度环境下采集,采集光源为红外光源,所述采集光源打光方向与瓶体标贴所在平面夹角均为45度,相机摄像头的中轴线方向与瓶体标贴所在平面的法向同向,偏差不超过10度,且标贴区域位于相机拍摄范围的中心区域。
一种基于拓扑验证的图像相似评判的设备,其特征在于:包括存储器和处理器,所述存储器存储有指令,所述指令适于由处理器加载并执行以下步骤:
获取标准图像i并将其创建成模板图t;
用户框选所需要关注的检测区域roi,提取模板图中所有检测区域roi作为模板特征图;
获取待测图像i',框选关注区域roi',提取待测图像i'中所有关注区域roi',也重新生成一待测特征图,将待测图像i'将待测图像i'与标准图像基于图像配准方法进行配准;
将检测区域roi在待测图像i'中对应区域基于关注区域的匹配算法进行匹配,匹配方式为将检测区域roi切分为多个检测子区域roi(i),然后将检测子区域roi(i)在待测图像i'中利用模板匹配法进行位置的还原,并生成对照子区域roi'(i);
验证检测子区域roi(i)与对照子区域roi'(i)的位置相对关系是否一致。
本发明提出一种局部特征+全局特征结合的方式,实现了一种可配置型的相似度检测算法,根据用户的配置实现不同级别的相似度检验。适用于电路板异常检测,包装异常检测以及各种批量化流水线作业,其既满足实时性又具有较高正确率,且容许待测物摆放角度有一定范围内的偏差,避免了传统算法,例如模版匹配,纹理匹配等,都需要手动选取阈值,且输出的相似度数值不稳定,对大小,光照等都很敏感的问题。
附图说明
图1为本发明待检测样品的对比图;
图2为本发明的整体流程图;
图3为本发明的图像配准流程示意图;
图4为本发明的检测区域切分示意图;
图5为本发明的模板匹配示意图;
图6为本发明的实际场景模板匹配过程图;
图7为本发明的拓扑验证法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请先参见图1,图1中两个商标总体非常形似,只在下方型号的位置有微小差异,因为差异区域较小,无法提取有效的特征点,利用模板匹配的方式,因为区域大体相同,会得到很高的相似度,也无法解决问题。
请参见图2,本专利设计了一种可配置型的相似度检测算法,算法的初始化包含两个输入,分别为利用用户输入的标准图像i作为模板(记做t<template>),以及让用户框选需要关注的检测区域roi(记做roi<regionofinterest>)。
在运行过程中,首先拍摄的标准图像i(记做i<image>)会向输入的模板进行配准(配准后图像记做i'),即待测图像i',以解决拍摄时位置不稳定的问题,保证t与i'在同一坐标空间下。
第二步是将检测区域roi在待测图像i'中的对应区域进行匹配,匹配方式为将检测区域roi切分为多个检测子区域(记为roi(i),然后将roi(i)在i'中利用模板匹配进行位置的还原,生成对照子区域(记为roi'(i))。该方式可以解决roi无法提出特征点的问题。
第三步则是验证roi(i)与roi'(i)中各子区域的位置相对关系是否一致,即拓扑验证。
如图3,首先对模板与输入图像都进行surf特征点的提取,其中模板的特征点在加载模板时就已经提取完成,根据两组特征点的描述子,我们利用knn算法进行匹配(可以认为在两张图像对应区域的特征点拥有相似的描述子),得到数对匹配好的特征点。之后利用ransac的方式去除误匹配的特征点,根据剩余正确的匹配对,通过矩阵求解的方式,计算透视变换矩阵,利用该矩阵,可以将输入图像i变换为i',以达到和t在相同的坐标空间下(这里可以理解为i'中的特征点与t中对应的特征点在同一个位置上)。
如图4-6,这里首先将roi进行切分,切分规则依据原始形状决定,例如比例接近正方形就会切为4个小正方形,如果是长条形状的则按短边切分,因为此时t与i'在同一坐标系下,所以t上roi的位置也可以直接推算到i',我们将roi(i)在i'的相邻区域进行模版匹配,理想情况下,各个子区域roi(i)会回到其原始的位置,图6中粗黑线代表错误匹配的过程。
如图7,算法中的拓扑验证即为利用匹配后roi'(i)左上角的位置(x,y),与roi'(i)本身的宽(w)高(h)进行验证:
拓扑验证流程:
遍历每个关注区域roi'的子区域即对照子区域roi'(i),i从0记;
如果为横向切分:
(roi'(i).x-roi'(i-1).x)-roi'(i).w<epsw,
如果为纵向切分:
(roi'(i).y-roi'(i-1).y)-roi'(i).h<epsw,
另外,还有:
roi'(i).w≥roi(i).w,roi'(i).h≥roi(i).h,
能够防止配准后的微小误差。
正方形切分同理,处理纵横两种情况即可
其中eps由roi本身尺寸和切分的段数(记为n)决定,具体公式为:
epsw=roi.x/(n+ln(roi.x)),
epsh=roi.y/(n+ln(roi.y)),
本发明处理过程还包括:
1、图像采集:
在低亮度环境中利用红外光源采集瓶体标贴图像,采集到的原始红外图像为灰度图。
具体为利用ccd相机采集图像,光源选择为红外光源,分别从瓶体标贴的左右两侧进行打光,与瓶体标贴所在平面夹角均为45度,本发明可用于平面或曲面标签的检测,曲面标签微小弧度一般可忽略,处理时按平面处理:相机摄像头的中轴线方向与瓶体标贴所在平面的法向同向,实际应用中容忍一定的角度偏差,但需保证待测标贴平面的法向与相机中轴线夹角不超过10度,且标贴区域位于相机拍摄范围的中心区域。
2、图像预处理:
图像预处理还可以包含多个步骤,通过二系列操作最终获取位置对应、尺寸二致的待检测图像和模板图像的标贴图像,包括灰度图像和二值化图像。
本发明的优点:
1.融合了传统的配准方案,解决了流水线上获取的图片不够稳定的问题。
2.利用了自定义模板及关注区域的方式,使得算法在判断大体一致的前提下,对特定区域形成更细致的检查。
3.运用模版匹配重组子区域的方式,使得被检测的区域不需要提取特征点,也不需要设定阈值,更加通用。即将相似度由阈值划分的问题,转化为了位置拓扑关系校验的问题。
以上所述仅为本发明较佳的实施例而已,其结构并不限于上述列举的形状,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。