CN113469971B - 一种图像匹配方法及检测装置、存储介质 - Google Patents
一种图像匹配方法及检测装置、存储介质 Download PDFInfo
- Publication number
- CN113469971B CN113469971B CN202110735690.5A CN202110735690A CN113469971B CN 113469971 B CN113469971 B CN 113469971B CN 202110735690 A CN202110735690 A CN 202110735690A CN 113469971 B CN113469971 B CN 113469971B
- Authority
- CN
- China
- Prior art keywords
- pixel
- matching
- angle
- gradient
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Abstract
本申请涉及一种图像匹配方法及检测装置、存储介质,其中图像匹配方法包括像素梯度计算、梯度方向量化、梯度扩散、配置角度方向的响应图、通过像素匹配计算匹配值以及确定最终匹配点的过程。一方面,技术方案对待检测图像中像素点的梯度方向进行角度量化和角度扩散处理,那么利于针对多个角度方向和扩散结果进行逐个像素的匹配,提高边缘像素的匹配精确度;另一方面,技术方案采用响应图的方式调取模板中每个像素点对应的匹配代价,并且在像素坐标的领域内选取最终的匹配点,如此不仅进一步提供像素匹配精度,还能够兼顾匹配效率。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种图像匹配方法及检测装置、存储介质。
背景技术
随着工业自动化技术的高速发展,生产制造水平逐步提高,消费者对一些工业产品的质量要求也越来越高,因此对产品的生产过程进行质量控制十分重要。
在很多的工业生产中,产品的表面质量检测环节依旧采用传统的人工检测,人工检测主要通过人眼对产品表面的图案、纹理进行仔细观察,并联系既有经验或者标准模型进行判断,完成产品的缺陷检测。传统的人工检测方法比较灵活,对负责的检测任务也能快速的适应,但进行检测时需要长时间精神高度集中,容易受到疲劳或者心理因素的影响,导致检测准确率下降,同时,人眼检测需要逐样本观察,效率低下,难以满足工业自动化需求。
在现有的产品表面质量检测中,多采用模板匹配算法对特定区域或特定形状进行定位,利用模板图像和定位区域作差来实现产品的缺陷检测,这种方式对于表面特征简单的情况较为适用,然而应用在晶圆产品等表面复杂的工业品检测中会遇到匹配精度不够的困境,则无法直接应用在工业检测领域。
发明内容
本申请主要解决的技术问题是:如何提高物体表面检测时图像匹配的精确度。为解决上述技术问题,本申请提出一种图像匹配方法及检测装置、存储介质。
根据第一方面,一种实施例中提供一种图像匹配方法,,包括:获取目标物体的待检测图像;计算所述待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组;对所述第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果;根据预设扩散范围对所述角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果;在多个角度方向内分别对所述角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图;获取所述目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值;获取最大匹配值对应像素点的像素坐标,在所述像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。
所述计算所述待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组,包括:利用sobel算子对所述待检测图像进行像素梯度的计算,得到各个像素点的梯度方向和梯度幅值;对于每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点;筛选各个像素点后利用保留的各像素点形成第一特征组。
所述对所述第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果,包括:在忽略极性影响的情况下将0-180°均等量化为N个角度方向,并对各个角度方向分别进行数值标识;根据所述第一特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向。
所述根据预设扩散范围对所述角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果,包括:对于所述角度量化结果中的每个像素点,将该像素点的梯度方向叠加到扩散范围T内的其它像素点上,使得每个像素位置包含一个或多个梯度方向;获取每个像素位置包含的一个或多个梯度方向分别量化到的角度方向,利用角度方向的数值标识转换为二进制数据,通过配置角度方向的查找表生成角度扩散结果。
所述在多个角度方向内分别对所述角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图,包括:对所述角度扩散结果进行逐个像素点的匹配,计算每个像素点的各扩散方向分别与N个角度方向的最小夹角;计算最小夹角的余弦值,将余弦值进行线性存储后得到N个角度方向分别对应的响应图。
所述获取所述目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加每个像素点的匹配值,包括:对所述目标物体的模板图像进行像素梯度的计算,得到所述模板图像中各像素点的梯度方向和梯度幅值;对于所述模板图像中的每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点,筛选各个像素点后利用保留的各像素点形成第二特征组;在预设的掩膜区域内对所述第二特征组进行像素筛选,保留梯度幅值大于第三阈值t2且在5×5邻域内梯度幅值最大的像素点,以及过滤掉像素间距小于预设距离m的像素点,利用余下的像素点形成模板特征组;根据所述模板特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向,利用量化结果构建所述目标物体的标准模板;对于所述标准模板中每个像素点的梯度方向所量化到的角度方向,从该角度方向对应的所述响应图中调取对应像素位置处的余弦值并作为匹配代价;累加所述标准模板中各个像素点的匹配代价,得到任意像素点的匹配值。
所述获取最大匹配值对应像素点的像素坐标,在所述像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,包括:比较所述标准模板中各像素点分别对应的匹配值,选取最大匹配值并得到对应像素点的像素坐标(x,y);设定像素坐标(x,y)的预设邻域为{(x-T,y-T)、(x+T,y)、(x,y+T)、(x+T,y+T)},对所述预设邻域进行逐个像素点的匹配,得到最大匹配代价对应的像素点,确定最终的匹配点并构成匹配结果。
根据第二方面,一种实施例中提供一种基于图像匹配的检测装置,包括:取像部件,用于通过取像得到目标物体的待检测图像;处理部件,用于通过上述第一方面中所述的图像匹配方法对所述待检测图像进行处理,得到所述目标物体的匹配结果;显示部件,用于对所述目标物体的待检测图像和/或匹配结果进行显示。
所述处理部件包括:图像获取模块,用于从所述取像部件中获取所述目标物体的待检测图像;第一计算模块,用于计算所述待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组;第二计算模块,用于对所述第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果;第三计算模块,用于根据预设扩散范围对所述角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果;第一匹配模块,用于在多个角度方向内分别对所述角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图;第二匹配模块,用于获取所述目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值;第三匹配模块,用于获取最大匹配值对应像素点的像素坐标,在所述像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。
根据第三方面,一种实施例中提供一种计算机可读存储介质,所述介质上存储有程序,所述程序能够被处理器执行以实现上述第一方面中所述的图像匹配方法。
本申请的有益效果是:
依据上述实施例的一种图像匹配方法及检测装置、存储介质,其中图像匹配方法包括:获取目标物体的待检测图像;计算待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组;对第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果;根据预设扩散范围对所述角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果;在多个角度方向内分别对角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图;获取目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值;获取最大匹配值对应像素点的像素坐标,在像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。一方面,技术方案对待检测图像中像素点的梯度方向进行角度量化和角度扩散处理,那么利于针对多个角度方向和扩散结果进行逐个像素的匹配,提高边缘像素的匹配精确度;另一方面,技术方案采用响应图的方式调取模板中每个像素点对应的匹配代价,并且在像素坐标的邻域内选取最终的匹配点,如此不仅进一步提供像素匹配精度,还能够兼顾匹配效率。
附图说明
图1为本申请中图像匹配方法的流程图;
图2为处理得到第一特征组的流程图;
图3为处理得到角度量化结果、角度扩散结果和像素匹配的流程图;
图4为计算像素点匹配值的流程图;
图5为处理得到匹配结果的流程图;
图6为量化形成八个角度方向的原理图;
图7为在角度量化结果中各像素点的梯度方向的示意图;
图8为像素点的梯度方向叠加在其它像素点上的示意图;
图9为本申请中基于图像匹配的检测装置的结构示意图;
图10为处理部件的结构示意图;
图11为一种实施例中图像处理装置的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本申请作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
形状匹配算法是以边缘特征点作为匹配特征,具有对光照变化不敏感且抗干扰能力强的应用特征,比如将边缘梯度方向进行量化,为了提高算法鲁棒性,在一定邻域范围内进行梯度扩散,以量化后的梯度作为匹配特征;同时还可采用预响应表和线性存储技术,将在线匹配转为离线查表的计算过程,如此便可利用并行优化计算技术进行加速计算,从而极大提高匹配运算效率。现有形状匹配算法在解决复杂背景3D物体的实时检测与识别时,还存在匹配精度不高、无法适用工业检测的局限性,所以本技术方案增加梯度量化的方向来有效提高匹配的精度,提供算法解决方案来兼顾匹配的精度与速度,从而达到工业应用的水准。
实施一、
请参考图1,本实施例中公开一种图像匹配方法,其主要包括步骤110-170,下面分别说明。
步骤110,获取目标物体的待检测图像。这里的目标物体可以是工业流水线上的产品、测试仪器上的待测物件等,此类目标物体在生产制造过程中可能会存在纹理异常、表面损坏的情况,这会给检测目标物体的表面特性带来一些困难。
在一些实际应用中,可以使用相机或摄像机来对目标物体进行取像,从而得到目标物体的待检测图像,再由处理器从相机或摄像机获取待检测图像以执行进一步的图像处理工作。
步骤120,计算待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组。
需要说明的是,如果把图像看成二维离散函数,则图像梯度就是这个二维离散函数的求导,即图像梯度为G(x,y)=dx(i,j)+dy(i,j),(i,j)为像素的坐标,而图像边缘一般是通过对图像进行梯度运算来实现的。
步骤130,对第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果。
在这里,角度量化是指设置一些角度范围,按照设置的一些角度范围对像素的梯度方向进行角度归属判断。
步骤140,根据预设扩散范围对角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果。
需要说明的是,梯度扩散的目的是增加算法的鲁棒性,不再考虑单个像素点的梯度而是考虑邻域内所有像素的梯度,从而使得匹配结果更加可信。
步骤150,在多个角度方向内分别对角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图。
步骤160,获取目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值。
在这里,匹配代价(Cost Volume)是指将待检测图像和标准模板的相关关系进行比较,用数值表示图像特征之间的差异特性。
步骤170,获取最大匹配值对应像素点的像素坐标,在像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。
在本实施例中,上面的步骤120主要涉及梯度计算和像素筛选的过程,那么可参考图2,该步骤120可具体包括步骤121-123,分别说明如下。
步骤121,利用sobel算子对待检测图像进行像素梯度的计算,得到各个像素点的梯度方向和梯度幅值。
需要说明的是,Sobel算子(即索贝尔算子)是像素图像边缘检测中最重要的算子之一,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值;在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。
步骤122,对于每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点。
由于待检测图像中各像素点具有对应的梯度方向和梯度幅值,所以可以据此筛选以便得到边缘像素点。具体的,按照第一阈值t1进行初步筛选,需要满足梯度幅值大于t1,并且在3×3邻域范围内存在同样梯度方向大于第二阈值n1(比如5个)的多个像素点,此时这一像素点才会被保留。
步骤123,筛选各个像素点后利用保留的各像素点形成第一特征组,比如记第一特征组为b1。
在本实施例中,上面的步骤130主要涉及角度量化的过程,那么可参考图3该步骤130可具体包括步骤131-132,分别说明如下。
步骤131,在忽略极性影响的情况下将0-180°均等量化为N个角度方向,并对各个角度方向分别进行数值标识。
在一个具体实施例中,由于常规的角度范围是0-360°,若不考虑极性变化则180-360°可通过减去180°来换算到0-180°的角度范围内。比如图6,将0-180°均等量化为8个角度方向,每个角度方向用一个数值标识进行表示,即8个角度方向可表示成[0-7],每个角度方向所涵盖的范围是22.5°,那么在0-22.5°将被记录成0,22.5-45°将被记录成,其余类推。
步骤132,根据第一特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向。由于第一特征组中每个像素点的梯度方向是按照0-360°进行变化的,所以在使用步骤131的方法进行角度归属判断后,能够将某一个梯度方向量化为[0-7]中的一个角度方向,从而得到角度量化结果,可记为B。
在一个具体实施例中,参见图7,第一特征组中包含有六个像素点,其中每个像素点的梯度方向量化为某个角度方向之后,方向的量化结果可以用箭头进行表示。
在本实施例中,上面的步骤140主要涉及像素梯度扩散的过程,那么可参考图3,该步骤140可具体包括步骤141-142,分别说明如下。
步骤141,对于角度量化结果中的每个像素点,将该像素点的梯度方向叠加到扩散范围T内的其它像素点上,使得每个像素位置包含一个或多个梯度方向。
在一个具体实施例中,参见图7和图8,若设置扩散范围T为3×3,则对于像素点g,它的梯度方向要叠加在周围八个像素点的梯度方向上。图7中的六个像素点分别进行梯度扩散之后便能够得到图8所示的梯度扩散结果,可知像素点g此时包含有三个角度方向(即三个量化后的梯度方向)。
步骤142,获取每个像素位置包含的一个或多个梯度方向分别量化到的角度方向,利用角度方向的数值标识转换为二进制数据,通过配置角度方向的查找表生成角度扩散结果,比如角度扩散结果可记为B′。
参见图8,由于这样每个像素位置包含一个或多个角度方向,那么可把这些角度方向转换为量化后的二进制数据进行表示,如果3x3邻域内有相关量化后的梯度方向,则该位置的二进制数据在相应位置上为1,否则为0。需要说明的是,配置角度方向的查找表能够提高后续算法的匹配速度快。
在本实施例中,上面的步骤150主要涉及像素点匹配和计算余弦的过程,那么可参考图3,该步骤150可具体包括步骤151-152,分别说明如下。
步骤151,对角度扩散结果进行逐个像素点的匹配,计算每个像素点的各扩散方向分别与N个角度方向的最小夹角。
步骤152,计算最小夹角的余弦值,将余弦值进行线性存储后得到N个角度方向分别对应的响应图。
在一个具体实施例中,可预先计算存储响应图,计算角度扩散结果B′和每个角度方向[0-7]的最小夹角,进一步计算最小夹角的余弦值来得到匹配代价,然后并按照扩散范围T进行线性存储。比如,针对8个角度方向和角度扩散结果逐个像素进行匹配,匹配的结果是距离最近方向角度的余弦值;由于这里有8个角度方向,故而能够得到八张响应图,那么接下来利用图像模板进行匹配的时候就可以直接调用对应角度方向在对应像素位置的结果即可,能够有效避免以往滑窗时重复计算的问题。
在本实施例中,上面的步骤160主要涉及构建标准模板和计算匹配值的过程,那么可参考图4,该步骤160可具体包括步骤161-166,分别说明如下。
步骤161,对目标物体的模板图像进行像素梯度的计算,得到模板图像中各像素点的梯度方向和梯度幅值。
需要说明的是,目标物体的模板图像是指目标物体对应的标准件的图像,这里的标准件是指没有纹理异常、表面缺陷等问题的物体,由于模板图像反应的是目标物体表面的标准化特征信息,所以能够用模板图像来参与构建目标物体的标准模型。
步骤162,对于模板图像中的每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点,筛选各个像素点后利用保留的各像素点形成第二特征组,可将第二特征组记为a1。
步骤163,在预设的掩膜区域(比如mask图所包含的区域)内对第二特征组进行像素筛选,保留梯度幅值大于第三阈值t2且在5x5邻域内梯度幅值最大的像素点,以及过滤掉像素间距小于预设距离m的像素点,利用余下的像素点形成模板特征组,比如模板特征组可记为a2。
在一个具体实施中,根据mask图确定的掩膜区域,对第二特征组a1进行二次筛选,设置比第一阈值t1更大的第三阈值t2,选取大于t2并且是5x5邻域内梯度幅值最大的像素点;为使像素点分布更加均匀,设置一个最小距离m来保证所有像素点之间的距离都要大于该距离值m;那么经过这一系列运算后,可得到模板特征组a2。
步骤164,根据模板特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向,利用量化结果构建目标物体的标准模板。
在一个具体实施例中,在忽略极性影响的情况下将0-180°均等量化为八个角度方向,那么对模板特征组中各个像素点的梯度方向进行角度归属判断之后,能够将各像素点的梯度方向分别量化到相应的角度方向,比如将某一个梯度方向量化为[0-7]中的一个角度方向,从而得到针对模板特征组的角度量化结果,此时可直接将角度方向的数值标识进行图表存储,从而构建为目标物体的标准模板,可将标准模板记为A。
步骤165,对于标准模板中每个像素点的梯度方向所量化到的角度方向,从该角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价。
在一个具体实施例中,进行匹配时,同样按照扩散范围T的步距进行滑动,此时无需再计算角度扩散结果B′和标准模板A中每个角度夹角,只需读取标准模板A中的角度方向,从响应表中取出对应余弦值(也可称为匹配代价p)即可。
步骤166,累加标准模板中各个像素点的匹配代价,得到任意像素点的匹配值。
需要说明的是,对标准模板A中每个像素点执行调取匹配代价的操作,最后将所有p进行累加就可作为某个像素点的匹配值P。
在本实施例中,上面的步骤170主要涉及确定最终匹配点的过程,那么可参考图5,该步骤170可具体包括步骤171-172,分别说明如下。
步骤171,比较标准模板中各像素点分别对应的匹配值,选取最大匹配值并得到对应像素点的像素坐标(x,y)。
由于步骤160中获取到的并不是每个像素点的匹配代价和匹配值,因此导致最后的结果会出现偏差,所以步骤170需要进一步的修正匹配值。
步骤172,设定像素坐标(x,y)的预设邻域为{(x-T,y-T)、(x+T,y)、(x,y+T)、(x+T,y+T)},对预设邻域进行逐个像素点的匹配,得到最大匹配代价对应的像素点,确定最终的匹配点并构成匹配结果。
需要说明的是,比较标准模板中各像素点的匹配值以及选取最大的匹配值P之后,即可记录对应的像素位置(x,y);然后,搜索像素位置(x,y)处的扩散区域T,对范围{(x-T,y-T)、(x+T,y)、(x,y+T)、(x+T,y+T)}中每个像素点再执行一次匹配,即重复步骤150-160的过程,从中选取最大匹配代价对应的像素点,从而得到最终的匹配点。最终确定的匹配点表征了待检测图像中目标物体表面的某个特征和标准模板中图像特征的对应关系,那么记录最终的匹配点即能够得到目标物体的匹配结果。
本领域的技术人员可以理解,实施例一中技术方案对待检测图像中像素点的梯度方向进行角度量化和角度扩散处理,那么利于针对多个角度方向和扩散结果进行逐个像素的匹配,提高边缘像素的匹配精确度。此外,技术方案采用响应图的方式调取模板中每个像素点对应的匹配代价,并且在像素坐标的邻域内选取最终的匹配点,如此不仅进一步提供像素匹配精度,还能够兼顾匹配效率。
实施例二、
在实施例一中公开的图像匹配的基础上,本实施例中公开一种基于图像匹配的检测装置。
请参考图9,本实施例中公开的检测装置2主要包括取像部件21、处理部件22和显示部件23,下面分别说明。
取像部件21可以采用相机、摄像机等图像采集设备,用于对流水线或加工设备上的晶圆产品进行取像并形成待检测图像。
处理部件22与取像部件21连接,用于根据实施例一中介绍的图像匹配方法对待检测图像进行处理,从而得到晶圆产品的匹配结果。可以理解,处理部件22可以是具有数据处理功能的CPU、GPU、FPGA、微控制器或数字集成电路,只要能够依据自身逻辑指令实现上文步骤110-170实现的图像匹配方法即可。
显示部件23与处理部件22连接,用于对待检测图像和/或匹配结果进行显示。可以理解,显示部件23可以是具有图像显示功能的屏幕,能够对待检测图像和匹配结果进行单独显示或共同显示即可,具体的屏幕类型和显示布局方式不做限制。
在本实施例中,参见图10,处理部件22包括图像获取模块22-1、第一计算模块22-2、第二计算模块22-3、第三计算模块22-4、第一匹配模块22-5、第二匹配模块22-6和第三匹配模块22-7,分别说明如下。
图像获取模块22-1可与取像部件21通信,从而从取像部件21获取待检测图像。
第一计算模块22-2与图像获取模块22-1连接,用于计算待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组。比如,第一计算模块22-2能够利用sobel算子对待检测图像进行像素梯度的计算,得到各个像素点的梯度方向和梯度幅值;对于每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点;筛选各个像素点后利用保留的各像素点形成第一特征组。关于第一计算模块22-2的功能可具体参考实施例一中的步骤121-123,这里不再赘述。
第二计算模块22-3与第一计算模块模块22-1连接,用于对第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果。比如,第二计算模块22-3能够在忽略极性影响的情况下将0-180°均等量化为N个角度方向,并对各个角度方向分别进行数值标识;根据第一特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向。关于第二计算模块22-3的功能可具体参考实施例一中的步骤131-132,这里不再赘述。
第三计算模块22-4与第二计算模块22-3连接,用于根据预设扩散范围对角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果。比如,第三计算模块22-4能够对于角度量化结果中的每个像素点,将该像素点的梯度方向叠加到扩散范围T内的其它像素点上,使得每个像素位置包含一个或多个梯度方向;获取每个像素位置包含的一个或多个梯度方向分别量化到的角度方向,利用角度方向的数值标识转换为二进制数据,通过配置角度方向的查找表生成角度扩散结果。关于第三计算模块22-4的功能可具体参考实施例一中的步骤141-142,这里不再赘述。
第一匹配模块22-5与第三计算模块22-4连接,用于在多个角度方向内分别对角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图。比如,第一匹配模块22-5能够对角度扩散结果进行逐个像素点的匹配,计算每个像素点的各扩散方向分别与N个角度方向的最小夹角;计算最小夹角的余弦值,将余弦值进行线性存储后得到N个角度方向分别对应的响应图。关于第一匹配模块22-5的功能可具体参考实施例一中的步骤151-152,这里不再赘述。
第二匹配模块22-6与第一匹配模块22-6连接,用于获取目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值。比如,第二匹配模块22-6能够对目标物体的模板图像进行像素梯度的计算,得到模板图像中各像素点的梯度方向和梯度幅值;对于模板图像中的每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3x3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点,筛选各个像素点后利用保留的各像素点形成第二特征组;在预设的掩膜区域内对所述第二特征组进行像素筛选,保留梯度幅值大于第三阈值t2且在5x5邻域内梯度幅值最大的像素点,以及过滤掉像素间距小于预设距离m的像素点,利用余下的像素点形成模板特征组;根据模板特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向,利用量化结果构建目标物体的标准模板;以及,第二匹配模块22-6能够对于标准模板中每个像素点的梯度方向所量化到的角度方向,从该角度方向对应的所述响应图中调取对应像素位置处的余弦值并作为匹配代价;累加标准模板中各个像素点的匹配代价,得到任意像素点的匹配值。关于第二匹配模块22-6的功能可具体参考实施例一中的步骤161-166,这里不再赘述。
第三匹配模块22-7与第二匹配模块22-6连接,用于获取最大匹配值对应像素点的像素坐标,在像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。比如,第三匹配模块22-6能够比较标准模板中各像素点分别对应的匹配值,选取最大匹配值并得到对应像素点的像素坐标(x,y);设定像素坐标(x,y)的预设邻域为{(x-T,y-T)、(x+T,y)、(x,y+T)、(x+T,y+T)},对预设邻域进行逐个像素点的匹配,得到最大匹配代价对应的像素点,确定最终的匹配点并构成匹配结果。关于第三匹配模块22-6的功能可具体参考实施例一中的步骤171-172,这里不再赘述。
实施例三、
请参考图11,本实施例公开一种图像处理装置,该图像处理装置3主要包括存储器31和处理器32。
图像处理装置3的主要部件为存储器31和处理器32。其中,存储器31作为计算机可读存储介质,主要用于存储程序,该程序可以是实施例一中图像匹配方法对应的程序代码。其中,处理器32与存储器31连接,用于执行存储器31中存储的程序以实现图像匹配方法。处理器32实现的功能可以参考实施例二中的处理部件22,这里不再进行详细说明。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本申请进行阐述,只是用于帮助理解本申请技术方案,并不用以限制本申请。对于所属技术领域的技术人员,依据本申请的思想,还可以做出若干简单推演、变形或替换。
Claims (8)
1.一种图像匹配方法,其特征在于,包括:
获取目标物体的待检测图像;
计算所述待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组;
对所述第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果,其中包括:在忽略极性影响的情况下将0-180°均等量化为N个角度方向,并对各个角度方向分别进行数值标识;根据所述第一特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向;
根据预设扩散范围对所述角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果,其中包括:对于所述角度量化结果中的每个像素点,将该像素点的梯度方向叠加到扩散范围T内的其它像素点上,使得每个像素位置包含一个或多个梯度方向;获取每个像素位置包含的一个或多个梯度方向分别量化到的角度方向,利用角度方向的数值标识转换为二进制数据,通过配置角度方向的查找表生成角度扩散结果;
在多个角度方向内分别对所述角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图;
获取所述目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值;
获取最大匹配值对应像素点的像素坐标,在所述像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。
2.如权利要求1所述的图像匹配方法,其特征在于,所述计算所述待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组,包括:
利用sobel算子对所述待检测图像进行像素梯度的计算,得到各个像素点的梯度方向和梯度幅值;
对于每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点;
筛选各个像素点后利用保留的各像素点形成第一特征组。
3.如权利要求1所述的图像匹配方法,其特征在于,所述在多个角度方向内分别对所述角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图,包括:
对所述角度扩散结果进行逐个像素点的匹配,计算每个像素点的各扩散方向分别与N个角度方向的最小夹角;
计算最小夹角的余弦值,将余弦值进行线性存储后得到N个角度方向分别对应的响应图。
4.如权利要求3所述的图像匹配方法,其特征在于,所述获取所述目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加每个像素点的匹配值,包括:
对所述目标物体的模板图像进行像素梯度的计算,得到所述模板图像中各像素点的梯度方向和梯度幅值;
对于所述模板图像中的每个像素点,判断该像素点是否满足梯度幅值大于第一阈值t1,以及是否在3×3邻域内存在梯度方向相同且数目大于第二阈值n1的多个像素点,若是则保留该像素点,筛选各个像素点后利用保留的各像素点形成第二特征组;
在预设的掩膜区域内对所述第二特征组进行像素筛选,保留梯度幅值大于第三阈值t2且在5×5邻域内梯度幅值最大的像素点,以及过滤掉像素间距小于预设距离m的像素点,利用余下的像素点形成模板特征组;
根据所述模板特征组中各个像素点的梯度方向进行角度归属判断,分别量化到相应的角度方向,利用量化结果构建所述目标物体的标准模板;
对于所述标准模板中每个像素点的梯度方向所量化到的角度方向,从该角度方向对应的所述响应图中调取对应像素位置处的余弦值并作为匹配代价;
累加所述标准模板中各个像素点的匹配代价,得到任意像素点的匹配值。
5.如权利要求4所述的图像匹配方法,其特征在于,所述获取最大匹配值对应像素点的像素坐标,在所述像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,包括:
比较所述标准模板中各像素点分别对应的匹配值,选取最大匹配值并得到对应像素点的像素坐标(x,y);
设定像素坐标(x,y)的预设邻域为{(x-T,y-T)、(x+T,y)、(x,y+T)、(x+T,y+T)},对所述预设邻域进行逐个像素点的匹配,得到最大匹配代价对应的像素点,确定最终的匹配点并构成匹配结果。
6.一种基于图像匹配的检测装置,其特征在于,包括:
取像部件,用于通过取像得到晶圆产品的待检测图像;
处理部件,用于通过权利要求1-5中任一项所述的图像匹配方法对所述待检测图像进行处理,得到所述晶圆产品的匹配结果;
显示部件,用于对所述晶圆产品的待检测图像和/或匹配结果进行显示。
7.如权利要求6所述的检测装置,其特征在于,所述处理部件包括:
图像获取模块,用于从所述取像部件中获取目标物体的待检测图像;
第一计算模块,用于计算所述待检测图像中各个像素点的梯度方向和梯度幅值,对各个像素点进行像素梯度的筛选,得到第一特征组;
第二计算模块,用于对所述第一特征组中各像素点按照各自的梯度方向进行多个角度方向的量化,得到角度量化结果;
第三计算模块,用于根据预设扩散范围对所述角度量化结果中的每个像素点进行梯度扩散,得到角度扩散结果;
第一匹配模块,用于在多个角度方向内分别对所述角度扩散结果进行逐像素点的匹配,得到最小角度的余弦值并生成每个角度方向对应的响应图;
第二匹配模块,用于获取所述目标物体对应的标准模板中每个像素点的梯度方向所量化的角度方向,从量化的角度方向对应的响应图中调取对应像素位置处的余弦值并作为匹配代价,通过匹配代价的累加得到每个像素点的匹配值;
第三匹配模块,用于获取最大匹配值对应像素点的像素坐标,在所述像素坐标的预设邻域内进行逐像素点的匹配,确定预设邻域内最大匹配代价对应的像素点并作为最终的匹配点,得到匹配结果。
8.一种计算机可读存储介质,其特征在于,所述介质上存储有程序,所述程序能够被处理器执行以实现如权利要求1-5中任一项所述的图像匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110735690.5A CN113469971B (zh) | 2021-06-30 | 2021-06-30 | 一种图像匹配方法及检测装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110735690.5A CN113469971B (zh) | 2021-06-30 | 2021-06-30 | 一种图像匹配方法及检测装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113469971A CN113469971A (zh) | 2021-10-01 |
CN113469971B true CN113469971B (zh) | 2023-10-13 |
Family
ID=77876449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110735690.5A Active CN113469971B (zh) | 2021-06-30 | 2021-06-30 | 一种图像匹配方法及检测装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113469971B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114708325A (zh) * | 2022-03-31 | 2022-07-05 | 南通华烨塑料工业有限公司 | 一种基于橡胶喷霜缺陷的橡胶生产问题快速定位方法 |
CN116486126B (zh) * | 2023-06-25 | 2023-10-27 | 合肥联宝信息技术有限公司 | 一种模版确定方法、装置、设备及存储介质 |
CN117549205B (zh) * | 2024-01-11 | 2024-04-02 | 东晶电子金华有限公司 | 一种石英晶片的抛光方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989590A (zh) * | 2015-02-09 | 2016-10-05 | 北京三星通信技术研究有限公司 | 立体匹配方法和装置 |
CN109101867A (zh) * | 2018-06-11 | 2018-12-28 | 平安科技(深圳)有限公司 | 一种图像匹配方法、装置、计算机设备及存储介质 |
CN110245597A (zh) * | 2019-06-06 | 2019-09-17 | 重庆邮电大学 | 一种指针式仪表通用性识别方法 |
CN113033640A (zh) * | 2021-03-16 | 2021-06-25 | 深圳棱镜空间智能科技有限公司 | 模板匹配方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105894459A (zh) * | 2015-12-10 | 2016-08-24 | 乐视云计算有限公司 | 基于梯度值及梯度方向的图像锐化方法及装置 |
-
2021
- 2021-06-30 CN CN202110735690.5A patent/CN113469971B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989590A (zh) * | 2015-02-09 | 2016-10-05 | 北京三星通信技术研究有限公司 | 立体匹配方法和装置 |
CN109101867A (zh) * | 2018-06-11 | 2018-12-28 | 平安科技(深圳)有限公司 | 一种图像匹配方法、装置、计算机设备及存储介质 |
CN110245597A (zh) * | 2019-06-06 | 2019-09-17 | 重庆邮电大学 | 一种指针式仪表通用性识别方法 |
CN113033640A (zh) * | 2021-03-16 | 2021-06-25 | 深圳棱镜空间智能科技有限公司 | 模板匹配方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
一种基于角点检测的图像密集匹配算法;华顺刚;曾令宜;;计算机工程与设计(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113469971A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113469971B (zh) | 一种图像匹配方法及检测装置、存储介质 | |
CN111667520B (zh) | 红外图像和可见光图像的配准方法、装置及可读存储介质 | |
GB2527697B (en) | People counting device and people counting method | |
CN111325713A (zh) | 基于神经网络的木材缺陷检测方法、系统及存储介质 | |
CN107315011B (zh) | 图像处理装置、图像处理方法及存储介质 | |
KR20230124713A (ko) | 결함 검출 방법, 장치 및 시스템 | |
US10430650B2 (en) | Image processing system | |
CN106920245B (zh) | 一种边界检测的方法及装置 | |
WO2016068869A1 (en) | Three dimensional object recognition | |
CN111310753B (zh) | 一种表计对准方法及装置 | |
KR20180090756A (ko) | 비전 시스템에서 컬러 이미지에 대해 컬러 후보 포즈들의 점수화를 위한 시스템 및 방법 | |
JP2020020744A (ja) | 錆検出プログラム、錆検出システム及び錆検出方法 | |
CN113066088A (zh) | 工业检测中的检测方法、检测装置和存储介质 | |
KR101905000B1 (ko) | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
CN104966283A (zh) | 图像分层配准方法 | |
JP5772675B2 (ja) | 濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラム | |
CN107886530A (zh) | 一种改进的基于sift特征的图像配准算法 | |
CN111080683B (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN109035306B (zh) | 动目标自动检测方法及装置 | |
CN116503733A (zh) | 遥感图像目标检测方法、设备及存储介质 | |
CN110516731A (zh) | 一种基于深度学习的视觉里程计特征点检测方法及系统 | |
CN113128499B (zh) | 视觉成像设备的震动测试方法、计算机设备及存储介质 | |
JP6034529B1 (ja) | 表面状態診断装置 | |
Alpatov et al. | An estimation algorithm of the multispectral image geometric transformation parameters based on multiple reference area tracking | |
CN110634124A (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 |