CN110288034A - 图像匹配方法、装置、电子设备及可读存储介质 - Google Patents
图像匹配方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110288034A CN110288034A CN201910575308.1A CN201910575308A CN110288034A CN 110288034 A CN110288034 A CN 110288034A CN 201910575308 A CN201910575308 A CN 201910575308A CN 110288034 A CN110288034 A CN 110288034A
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- matched
- subgraph
- gray
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种图像匹配方法、装置、电子设备及可读存储介质,涉及图像处理技术领域。在需要进行图像匹配时,首先计算待匹配图像中与模板图像尺寸相同的各子图与模板图像的卷积运算结果,接着计算得到该模板图像的第一灰度模值,然后根据待匹配图像生成查找表,该查找表中包括待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和,并根据该查找表计算得到各子图的第二灰度模值,最后根据卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与模板图像的相似度,进而根据得到的相似度确定与模板图像匹配的子图。由此,可快速准确地实现图像匹配。
Description
技术领域
本申请涉及图像处理技术领域,具体而言,涉及图像匹配方法、装置、电子设备及可读存储介质。
背景技术
图像匹配是图像处理、计算机视觉等领域中的基本技术。图像模板匹配的算法有很多,比如,MAD(Mean Absolute Differences,平均绝对差)算法、NCC(Normalized CrossCorrelation,归一化互相关)算法、SSDA(Sequential Similiarity DetectionAlgorithm,序贯相似性检测)算法,图像灰度值编码PFC等。
其中,基于NCC算法计算两幅图像的相似度是常用的图像模板匹配方法。该方法可应用在工业生产环节检测、监控领域中,对对象进行检测与识别。NCC算法可以有效降低光照对图像比较结果的影响,并且NCC算法最终计算结果在0到1之间,只要给出一个阈值就可以判断结果的好与坏。但是,在通过NCC算法进行图像匹配时,由于参与运算的特征点比较多,使得匹配速度比较慢。
发明内容
为了至少克服现有技术中的上述不足,本申请实施例的目的之一在于提供一种图像匹配方法、装置、电子设备及可读存储介质,其能够在保证匹配精度的基础上,大大提高图像匹配速度。
第一方面,本申请实施例提供一种图像匹配方法,包括:
计算待匹配图像中各子图与模板图像的卷积运算结果,其中,各子图的尺寸与所述模板图像的尺寸相同;
计算得到所述模板图像的第一灰度模值;
根据所述待匹配图像生成查找表,其中,所述查找表包括所述待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和;
根据所述查找表计算得到各子图的第二灰度模值;
根据所述卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与所述模板图像的相似度,并根据得到的相似度确定与所述模板图像匹配的子图。
第二方面,本申请实施例提供一种图像匹配装置,包括:
第一计算模块,用于计算待匹配图像中各子图与模板图像的卷积运算结果,其中,各子图的尺寸与所述模板图像的尺寸相同;
第二计算模块,用于计算得到所述模板图像的第一灰度模值;
第三计算模块,用于根据所述待匹配图像生成查找表,其中,所述查找表包括所述待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和;
所述第三计算模块,还用于根据所述查找表计算得到各子图的第二灰度模值;
匹配模块,用于根据所述卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与所述模板图像的相似度,并根据得到的相似度确定与所述模板图像匹配的子图。
第三方面,本申请实施例提供一种电子设备,包括:
处理器及可读存储介质,所述可读存储介质存储有可执行计算机指令,所述可执行计算机指令由所述处理器读取并运行时,执行上述的图像匹配方法。
第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有可执行计算机指令,所述可执行计算机指令被执行时实现上述的图像匹配方法。
相对于现有技术而言,本申请具有以下有益效果:
在需要进行图像匹配时,首先计算待匹配图像中与模板图像尺寸相同的各子图与模板图像的卷积运算结果。接着计算得到该模板图像的第一灰度模值,然后根据待匹配图像生成查找表,该查找表中包括待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和,并根据该查找表计算得到各子图的第二灰度模值。最后根据上述数据计算得到各子图与模板图像的相似度,并根据上述相似度确定与模板图像匹配的子图。在上述过程中,是根据查找表中的灰度值累积平方和及灰度值累积和计算得到各子图的第二灰度模值,该方式相较于传统的NCC算法中根据每个子图中各像素点的灰度值计算得到各子图的第二灰度模值的方式,降低了得到第二灰度模值的运算复杂度。因此,上述方案可在保证高准确率的基础上,提高运算速度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例提供的电子设备的方框示意图;
图2是本申请实施例提供的图像匹配方法的流程示意图之一;
图3是本申请实施例提供的待匹配图像的示意图;
图4是本申请实施例提供的待匹配图像的坐标示意图;
图5是图2中步骤S140包括的子步骤的流程示意图;
图6是本申请实施例提供的子图的灰度值平方和计算举例示意图;
图7是本申请实施例提供的图像匹配方法的流程示意图之二;
图8是本申请实施例提供的目标模板图像的示意图;
图9是图7中步骤S110包括的子步骤的流程示意图;
图10是本申请实施例提供的图像匹配装置的方框示意之一;
图11是本申请实施例提供的图像匹配装置的方框示意图之二。
图标:100-电子设备;110-存储器;120-存储控制器;130-处理器;200-图像匹配装置;210-第一计算模块;220-第二计算模块;230-第三计算模块;240-匹配模块;250-处理模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1是本申请实施例提供的电子设备100的方框示意图。本申请实施例中所述电子设备100可以是,但不限于,智能手机、平板电脑、服务器等。所述电子设备100可以包括:存储器110、存储控制器120、处理器130以及图像匹配装置200。
所述存储器110、存储控制器120及处理器130各元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110中存储有图像匹配装置200,所述图像匹配装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器130通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的图像匹配装置200,从而执行各种功能应用以及数据处理,即实现本申请实施例中的图像匹配方法。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2是本申请实施例提供的图像匹配方法的流程示意图之一。图2中的流程可以由所述电子设备100实现。本申请实施例提供的图像匹配方法是对传统NCC算法的改进,通过减少计算量,从而提高运算速度。下面首先对传统NCC算法进行简单说明。
NCC算法是将模板图像T在待匹配图像S上平移,模板图像T在待匹配图像S上覆盖的区域为子图Si,j,并根据下列公式(1)计算得到待匹配图像中的子图Si,j与模板图像T的相似度。(i,j)为模板图像T左上角顶点在待匹配图像S中的坐标,S(i,j)是待匹配图像S上坐标为(i,j)的像素点的灰度值。公式(1)为:
其中,X(i,j)表示相似度,N1、N2表示模板图像的尺寸,表示子图Si,j的灰度平均值,表示模板图像T的灰度平均值,S(m,n)表示待匹配图像中坐标为(m,n)的像素点的灰度值,T(m,n)表示模板图像中坐标为(m,n)的像素点的灰度值。
在本申请实施例中,上述公式(1)中的的值表示待匹配图像中的各子图与模板图像的卷积运算结果,表示模板图像的第一灰度模值,表示子图的第二灰度模值。下面对本申请实施例提供的图像匹配方法的具体流程进行详细阐述。
步骤S110,计算待匹配图像中各子图与模板图像的卷积运算结果。
在需要进行图像匹配时,可通过接收图像或根据接收到的选择指令确定图像等方式获得待匹配图像及模板图像。所述模板图像的尺寸不大于所述待匹配图像的尺寸。在确定待匹配图像及模板图像后,若待匹配图像及模板图像均为彩色图像,可分别对待匹配图像及模板图像进行灰度化处理,以将为彩色的待匹配图像及模板图像转换为灰度图像。
可选地,可以将彩色图像中各像素点的红绿蓝分量之和的平均值,作为该像素点的灰度值,以得到灰度图像。当然可以理解的是,除上述方式外,也可以通过其他方式将彩色图像转换为灰度图像。
可选地,在得到待匹配图像及模板图像对应的灰度图像后,可以采用传统NCC算法中计算待匹配图像中各子图与模板图像的卷积运算结果的方式,根据待匹配图像对应的灰度图像、模板图像对应的灰度图像,计算得到待匹配图像中各子图与模板图像的卷积运算结果。其中,各子图的尺寸与所述模板图像的尺寸相同。
步骤S120,计算得到所述模板图像的第一灰度模值。
在本实施例中,可根据所述模板图像的灰度图像得到各像素点的灰度值,然后根据该模板图像的各像素点的灰度值,计算得到该模板图像的灰度平均值。接着计算各像素点的灰度值与该模板图像的灰度平均值的差值,并根据该差值的平方进行求和运算。最后对上述求和运算结果进行开方处理,得到所述第一灰度模值。其中,计算上述第一灰度模值使用的公式为:
其中,W表示第一灰度模值,N1、N2表示模板图像的尺寸,T(m,n)表示模板图像中坐标为(m,n)的像素点的灰度值,表示模板图像T的灰度平均值。
步骤S130,根据所述待匹配图像生成查找表。
在本实施例中,可根据所述待匹配图像的灰度图像得到各像素点的灰度值,然后根据该待匹配图像的各像素点的灰度值,计算得到所述待匹配图像中各像素点对应的灰度值累积平方和及灰度值累积和,最后根据各像素点对应的灰度值累积平方和及灰度值累积和生成所述查找表。由此,所述查找表中包括所述待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和。
可选地,在本实施例的一种实施方式中,可通过以下方式生成所述查找表。将所述待匹配图像中各像素点依次作为第一目标像素点,并根据第一目标像素点对应的目标图像区域中各像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和及灰度值累积和,然后根据各个第一目标像素点的计算结果生成所述查找表。其中,所述目标图像区域为以该第一目标像素点为顶点在所述待匹配图像中形成的图像区域。
在本实施方式中,首先将所述待匹配图像的灰度图像中的各像素点依次作为第一目标像素点。在确定某个像素点作为当前的第一目标像素点后,确定以该第一目标像素点为顶点的在所述待匹配图像中形成的图像区域,即确定该第一目标像素点对应的目标图像区域。然后基于该目标图像区域中各个像素点的灰度值,直接进行求和运算,求和运算结果即为该第一目标像素点对应的灰度值累积和。并基于该目标图像区域中各个像素点的灰度值,先计算各个像素点的灰度值平方和,然后再基于该灰度值平方和进行求和运算,求和运算结果即为该第一目标像素点对应的灰度值累积平方和。
目标图像区域的边界像素点仅包括:所述待匹配图像的边界像素点,或仅包括:所述待匹配图像的边界像素点、所述待匹配图像中与所述第一目标像素点位于同一列的像素点及位于同一排的像素点。其中,边界像素点指图像中位于边界的像素点。由此可知,基于该第一目标像素点可确定出4个图像区域。在计算时,可选择其中一个图像区域作为该第一目标像素点对应的目标图像区域,然后按照相同的选择方式选出新的第一目标像素点对应的目标图像区域。比如,在确定第一目标像素点对应的目标图像区域时,都将由第一目标像素点及位于该第一目标像素点左上侧的像素点组成的图像区域作为该第一目标像素点对应的目标图像区域。
下面结合图3对目标图像区域进行说明。
假设待匹配图像中包括像素点a11、a21、…、a71、a12、…、a72、…a77。若当前的第一目标像素点为a43,则根据上述方式可确定待匹配图像中以第一目标像素点a43为顶点对应的图像区域有Q1、Q2、Q3、Q4,即图3中经两条虚线形成的4个区域。其中,Q1中包括像素点a11~a41、a12~a42、a13~a43,Q2中包括像素点a41~a71、a42~a72、a43~a73,Q3中包括像素点a13~a43、a14~a44、a15~a45、a16~a46、a17~a47,Q4中包括像素点a43~a73、a44~a74、a45~a75、a46~a76、a47~a77。可将Q1、Q2、Q3、Q4中的任意一个作为第一目标像素点a43对应的目标图像区域,然后按照相同的选择方式确定新的第一目标像素点对应的目标图像区域。比如,若第一目标像素点a43对应的目标图像区域为Q1,则新的第一目标像素点a54对应的目标图像区域包括a11~a51、a12~a52、a13~a53、a14~a54。
在该实施方式中,假设待匹配图像的左上角顶点为(1,1),竖直方向向下、水平方向向右为正方向,且将由第一目标像素点及位于该第一目标像素点左上侧的像素点组成的图像区域作为该第一目标像素点对应的目标图像区域,可根据下列公式(3)计算得到第一目标像素点(即待匹配图像中的各像素点)对应的灰度值累积平方和,根据下列公式(4)计算得到第一目标像素点(即待匹配图像中的各像素点)对应的灰度值累积和。其中,计算得到各像素点对应的灰度值累积平方和时使用的计算公式为:
其中,A(i,j)表示待匹配图像中坐标为(i,j)的像素点对应的灰度值累积平方和,S(m,n)表示待匹配图像中坐标为(m,n)的像素点的灰度值,i≤M1,j≤M2,M1、M2表示待匹配图像的尺寸。进一步地,在保证可满足后续计算的基础上,为减少计算量,可仅计算待匹配图像中一部分像素点各自对应的灰度值累积平方和及灰度值累积和,该部分像素点为与可被模板图像覆盖的区域对应的像素点。此时在本实施例的一种实施方式中有:i≤M1-N1,j≤M2-N2。
同理,计算得到各像素点对应的灰度值累积和时使用的计算公式为:
其中,B(i,j)表示待匹配图像中坐标为(i,j)的像素点对应的灰度值累积和。
可选地,在本实施例的另一种实施方式中,可通过以下方式生成所述查找表。将所述待匹配图像中各像素点依次作为第一目标像素点,判断与所述第一目标像素点对应的目标图像区域是否是矩形。其中,所述目标图像区域为以该第一目标像素点为顶点在所述待匹配图像中形成的图像区域。若是矩形,则查找目标图像区域内与所述第一目标像素点最接近的三个像素点是否存在对应的灰度值累积平方和、灰度值累积和。若存在,则根据与所述第一目标像素点最接近的三个像素点对应的灰度值累积平方和、灰度值累积和、及第一目标像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和、灰度值累积和。若不存在,或不是矩形,则根据第一目标像素点对应的目标图像区域中各像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和及灰度值累积和。最后根据各个第一目标像素点的计算结果生成所述查找表。
其中,在不存在或不是矩形时,计算得到第一目标像素点对应的灰度值累积平方和及灰度值累积和的方式可参照上文对第一种实施方式的说明,且目标图像区域的说明也可以参照上文描述,在此不再赘述。
在目标图像区域为矩形、且已计算过目标图像区域中与所述第一目标像素点最接近的三个像素点各自对应的灰度值累积平方和、灰度值累积和时,可直接根据该三个像素点各自对应的灰度值累积平方和、灰度值累积和、及第一目标像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和、灰度值累积和。由此,不需要在计算时,针对每一个目标像素点均进行一次累积求和计算,可加快生成所述查找表的速度。
在该实施方式中,假设待匹配图像的左上角顶点为(1,1),竖直方向向下、水平方向向右为正方向,且将由第一目标像素点及位于该第一目标像素点左上侧的像素点组成的图像区域作为该第一目标像素点的目标图像区域,可根据公式(5)计算得到各像素点对应的灰度值累积平方和,根据下列公式(6)计算得到各像素点对应的灰度值累积和。其中,公式(5)为:
其中,A(i,j)表示待匹配图像中坐标为(i,j)的像素点对应的灰度值累积平方和,S(m,n)表示待匹配图像中坐标为(m,n)的像素点的灰度值。
公式(6)为:
其中,B(i,j)表示待匹配图像中坐标为(i,j)的像素点对应的灰度值累积和。
请参照图4,图4是本申请实施例提供的待匹配图像的坐标示意图。下面结合图4对上述公式(3)~(6)进行举例说明。
假设待匹配图像的左上角顶点为(1,1),竖直方向向下、水平方向向右为正方向,并且有:S(1,1)=a,S(2,1)=b,S(1,2)=c,S(2,2)=d。按照计算得到灰度值累积平方和时使用的计算公式,可得到:
A(1,1)=a2
A(2,1)=a2+b2
A(1,2)=a2+c2
A(2,2)=a2+b2+c2+d2
并且有:
按照计算得到灰度值累积和时使用的计算公式,可得到:
B(1,1)=a
B(2,1)=a+b
B(1,2)=a+c
B(2,2)=a+b+c+d
并且有:
通过上述方式可得到查找表,该查找表中可包括累积平方和表及累积和表。累积平方和表中包括待匹配图像中每个像素点对应的灰度值累积平方和,或包括根据实际需求计算得到的待匹配图像的部分像素点中每个像素点对应的灰度值累积平方和。同理,累积和表中包括待匹配图像中每个像素点对应的灰度值累积和,或包括根据实际需求计算得到的待匹配图像的部分像素点中每个像素点对应的灰度值累积和。后续在需要使用待匹配图像中某像素点的灰度值累积平方和及灰度值累积和时,可直接通过查表获得需要的数据。
步骤S140,根据所述查找表计算得到各子图的第二灰度模值。
请参照图5,图5是图2中步骤S140包括的子步骤的流程示意图。步骤S140可以包括子步骤S141~子步骤S144。
子步骤S141,根据子图的顶点坐标确定第二目标像素点,并从所述查找表中查找得到每个第二目标像素点对应的灰度值累积平方和及灰度值累积和。
子步骤S142,根据每个第二目标像素点对应的灰度值累积平方和,计算得到各子图的灰度值平方和。
子步骤S143,根据每个第二目标像素点对应的灰度值累积和,计算得到各子图的灰度值和。
子步骤S144,根据各子图的灰度值平方和及灰度值和计算得到各子图的第二灰度模值。
在本实施例中,在计算每个子图的第二灰度模值时,可首先根据该子图的四个顶点坐标确定出四个第二目标像素点,即一个顶点坐标对应一个第二目标像素点。其中,确定第二目标像素点的方式与确定目标图像区域的方式对应。接着,基于每个第二目标目标像素点对应的灰度值累积平方和,通过加减运算,即可计算得到各子图的灰度值平方和;同理,基于每个第二目标像素点对应的灰度值累积和,通过加减运算,即可计算得到各子图的灰度值和。
下面结合图6对如何计算各子图的灰度值平方和进行举例说明。
假设在得到所述查找表时,是将由第一目标像素点及位于该第一目标像素点左上侧的像素点组成的图像区域作为该第一目标像素点的目标图像区域;图6中此时有4个小区域M1、M2、M3、M4,其中,区域M4为子图(即模板图像在待匹配图像中覆盖的区域),区域M1的灰度值平方和为C,区域M2的灰度值平方和为D,区域M3的灰度值平方和为E,区域M4的灰度值平方和为F,即有:
A(i+N1,j+N2)=C+D+E+F
A(i+1,j+N2)=C+E
A(i+N1,j+1)=C+D
A(i+11,j+1)=C
其中,A(i+N1,j+N2)、A(i+1,j+N2)、A(i+N1,j+1)、A(i+11,j+1)均可通过查找表得到,F未知,再通过下列公式(7)即可计算得到F。其中公式(7)为:
其中,表示左上角顶点坐标为(i,j)的子图的灰度值平方和。
将上述值代入公式(7)可得:
由此,可根据与子图对应的每个第二目标像素点对应的灰度值累积平方和,计算得到各子图的灰度值平方和。
同理,可根据下列公式(8)计算得到子图的灰度值和:
其中,表示左上角顶点坐标为(i,j)的子图的灰度值和。
在计算得到子图的灰度值平方和及灰度值和后,可根据计算得到该子图的第二灰度模值。
步骤S150,根据所述卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与所述模板图像的相似度,并根据得到的相似度确定与所述模板图像匹配的子图。
将各子图对应的卷积运算结果、第一灰度模值、第二灰度模值代入公式(1),即可计算得到各子图与模板图像的相似度,即:
其中,R(i,j)表示左上角顶点坐标为(i,j)的子图对应的卷积运算结果。由此,本申请实施例通过查找表简化了得到子图的第二灰度模值的计算,从而降低了公式(1)中分母部分的计算复杂度,提高了匹配速度。
每个子图对应一定点坐标,该定点坐标相当于该子图的唯一标识。可通过以下方式确定与所述模板图像匹配的子图:将所有相似度中的最大相似度对应的子图作为与所述模板图像匹配的目标子图,然后根据所述目标子图的定点坐标及模板图像的尺寸在所述待匹配图像中确定出所述目标子图。
在得到各个子图与模板图像的相似度后,通过比较,即可确定最大相似度,最大相似度对应的子图即为与所述模板图像匹配的目标子图。每个子图对应一定点坐标,在确定目标子图后,即可根据该目标子图的定点坐标及模板图像的尺寸确定出目标子图在待匹配图像中的位置。可选地,该定点坐标可以是子图的左上角顶点在待匹配图像中的坐标。
请参照图7,图7是本申请实施例提供的图像匹配方法的流程示意图之二。在步骤S110之前,所述方法还可以包括步骤S101。
步骤S101,计算得到所述模板图像各像素点的灰度值减去所述模板图像的灰度平均值的结果,并将该结果作为初始目标模板图像中对应像素点的灰度值。
在得到待匹配图像和模板图像的灰度图像后,可根据模板图像的灰度图像中各像素点的灰度值进行求和运算,并令求和运算结果除以模板图像的灰度图像中像素点的总数量,以得到该模板图像的灰度平均值。然后使模板图像的灰度图像中各像素点的灰度值减去该模板图像的灰度平均值,并将得到的结果作为初始目标模板图像中对应像素点的灰度值,以得到所述初始目标模板图像。比如,模板图像的灰度图像中像素点(2,3)的灰度值为a1,计算得到的模板图像的灰度平均值为a2,则初始目标模板图像中像素点(2,3)的灰度值为a1-a2。
此时则可通过以下方式计算得到模板图像的第一灰度模值:根据所述初始目标模板图像各像素点的灰度值的平方进行求和计算,得到所述初始目标模板的灰度值平方和,并对所述初始目标模板的灰度值平方和进行开方处理,得到所述第一灰度模值。
请再次参照图7,在步骤S110之前,所述方法还可以包括步骤S102。
步骤S102,根据所述待匹配图像的尺寸对所述初始目标模板图像进行填充,得到尺寸与所述待匹配图像的尺寸相同的目标模板图像。
由于模板图像的尺寸不大于待匹配图像的尺寸,为便于后续进行傅里叶变换,在得到所述初始目标模板图像后,对所述初始目标模板图像进行填充,以得到尺寸与所述待匹配图像的尺寸相同的目标模板图像。其中,填充部分的像素点灰度值为零。
请参照图8,图8是本申请实施例提供的目标模板图像的示意图。在本实施例的一种实施方式中,在经步骤S101得到初始目标模板图像后,可将初始目标模板图像的右侧和下侧填充为零,以使填充后的初始目标模板图像的尺寸与所述待匹配图像的尺寸相同。
在得到目标模板图像后,可通过傅里叶变换根据与所述待匹配图像对应的第一灰度值矩阵、及与所述目标模板图像对应的第二灰度值矩阵计算得到目标矩阵。该目标矩阵中的值表示一个子图与模板图像的卷积运算结果。所述第一灰度值矩阵为由待匹配图像的灰度图像各像素点的灰度值组成的矩阵,所述第二灰度值矩阵为由目标模板图像各像素点的灰度值组成的矩阵。
传统的NCC算法中会直接通过卷积运算得到子图与模板图像的卷积运算结果,该方式计算量大,使得匹配速度慢。在本实施例中,基于卷积定理将卷积运算转换为傅里叶变换。卷积定理指出:两个函数的卷积的傅里叶变换等于各自的傅里叶变换的乘积。通过将耗时的卷积运算转换为乘积运算,能够明显降低运算复杂度,从而提高匹配速度。
请参照图9,图9是图7中步骤S110包括的子步骤的流程示意图。步骤S110可以包括子步骤S111~子步骤S115。
子步骤S111,对所述第一灰度值矩阵进行二维傅里叶变换,得到第一二维矩阵。
子步骤S112,对所述第二灰度值矩阵进行二维傅里叶变换,得到第二二维矩阵。
子步骤S113,对所述第二二维矩阵中的每个元素取共轭,得到第三二维矩阵。
子步骤S114,计算所述第一二维矩阵、第三二维矩阵两个矩阵中对应点的乘积,得到初始目标矩阵。
子步骤S115,对所述初始目标矩阵进行二维傅里叶逆变换,得到所述目标矩阵。
其中,目标矩阵的大小与待匹配图像对应的第一灰度值矩阵的大小相同。
由此,本申请实施例通过傅里叶变换计算得到了各子图与模板图像的卷积运算结果,从而降低了公式(1)中分子部分的计算复杂度,进一步提高了匹配速度。
下面将对图像匹配方法的原理进行解释。
假设待匹配图像的尺寸为M×M,模板图像的尺寸为N×N,其中,M>N,M、N以像素为单位。
首先获取待匹配图像的灰度图像S,及获取模板图像的灰度图像T,然后令模板图像的灰度图像T各像素点的灰度值减去灰度图像T的灰度平均值,得到初始目标模板图像由于初始目标模板图像的尺寸小于待匹配图像的灰度图像S的尺寸,通过将初始目标模板图像的右侧和下侧填充为零,得到尺寸为M×M的目标模板图像T'。
接着对待匹配图像的灰度图像S及目标模板图像T'的灰度值矩阵分别进行二维傅里叶变换,得到灰度图像S对应的第一二维矩阵s、目标模板图像T'对应的第二二维矩阵t'。基于傅里叶变换的性质,即时域信号经过傅里叶变换后,在时域上的互相关运算可以转换为频域上的复数乘法运算,由于时域上的灰度值均为实数,即S*(T')H=S*T'=F-1(F(S)·FH(T')),*代表二维卷积运算,H表示对矩阵中的每个元素取共轭,F表示二维傅里叶变换,F-1表示二维傅里叶逆变换。因此对第二二维矩阵t'中每个元素取共轭,得到第三二维矩阵,将第三二维矩阵与第一二维矩阵s两个矩阵中对应点点乘,得到初始目标矩阵r。再对初始目标矩阵r进行二维傅里叶逆变换,得到目标矩阵R。该步骤可以用以下公式表示:R=F-1(F(S)·FH(T')),目标矩阵R为M×M大小的矩阵。
在实际匹配应用中,传统NCC算法通过公式(1)计算子图与模板图像的相似度。基于公式(1)有以下推导过程:
其中,表示子图Si,j的灰度平均值,表示模板图像的灰度平均值。由于因此,可得到:
对于可以看成:
其中,*代表二维卷积运算,二维卷积运算的计算复杂的是O(N2),当图像尺寸较大时,运算复杂度会很高,运算速度慢。二维卷积运算可以通过傅里叶变换来降低运算复杂度,二维卷积运算的计算复杂度为O(N2),而通过傅里叶变换的计算复杂度为O(NlogN)。本申请实施例提供将卷积运算转换为傅里叶变换,大大降低了运算复杂度,提高了运算速度。同时上述内容也验证了可通过傅里叶变换实现步骤S110。
再根据所述初始模板图像各像素点的灰度值计算得到模板图像的第一灰度模值W,该第一灰度模值为计算子图与模板图像相似度的公式中的的值。
然后,用递归的方式,根据待匹配图像S各像素点的灰度值,计算得到各像素点对应的灰度值累积平方和及灰度值累积和,构成累积平方和表A、累积和表B(即得到查找表)。具体构造方式如下:
其中,在2≤i≤M,2≤j≤M时,有:
最后,取矩阵R中的值R(i,j)、第一灰度模值W、累积平方和表A、累积和表B及以下公式计算得到各子图与模板图像的相似度:
其中,表示根据累积平方和表A计算得到的子图的灰度值平方和,表示根据累积和表B计算得到的子图的灰度值和。
NCC算法使用的公式如上文所述,本申请实施例通过傅里叶变换降低NCC算法使用的公式的分子部分的计算复杂度,即将转换为接下来对将分母部分转化为的原理进行说明。通过对分母部分的转换,可进一步降低相似度的计算复杂度。
其中,对于有:
再令
由此,可完成对NCC算法使用的公式的转换,以降低计算复杂度。最后可根据计算得到的各子图与模板图像的相似度,找到与模板图像匹配的目标子图在待匹配图像中的位置。
请参照图10,图10是本申请实施例提供的图像匹配装置200的方框示意之一。所述图像匹配装置200可以包括第一计算模块210、第二计算模块220、第三计算模块230及匹配模块240。
所述第一计算模块210,用于计算待匹配图像中各子图与模板图像的卷积运算结果。其中,各子图的尺寸与所述模板图像的尺寸相同。
在本实施例中,所述第一计算模块210用于执行上述步骤S110,关于所述第一计算模块210的具体描述可以参照对上述步骤S110的描述。
所述第二计算模块220,用于计算得到所述模板图像的第一灰度模值。
在本实施例中,所述第二计算模块220用于执行上述步骤S120,关于所述第二计算模块220的具体描述可以参照对上述步骤S120的描述。
所述第三计算模块230,用于根据所述待匹配图像生成查找表。其中,所述查找表包括所述待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和。
所述第三计算模块230,还用于根据所述查找表计算得到各子图的第二灰度模值。
在本实施例中,所述第三计算模块230用于执行上述步骤S130及步骤S140,关于所述第三计算模块230的具体描述可以参照对上述步骤S130及步骤S140的描述。
所述匹配模块240,用于根据所述卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与所述模板图像的相似度,并根据得到的相似度确定与所述模板图像匹配的子图。
在本实施例中,所述匹配模块240用于执行上述步骤S150,关于所述匹配模块240的具体描述可以参照对上述步骤S150的描述。
请参照图11,图11是本申请实施例提供的图像匹配装置200的方框示意图之二。所述图像匹配装置200还可以包括处理模块250。
所述处理模块250,用于计算得到所述模板图像各像素点的灰度值减去所述模板图像的灰度平均值的结果,并将该结果作为初始目标模板图像中对应像素点的灰度值。
所述处理模块250,还用于根据所述待匹配图像的尺寸对所述初始目标模板图像进行填充,得到尺寸与所述待匹配图像的尺寸相同的目标模板图像,其中,填充部分的像素点灰度值为零。
在本实施例中,所述处理模块250用于执行上述步骤S101及步骤S102,关于所述处理模块250的具体描述可以参照对上述步骤S101及步骤S102的描述。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有可执行计算机指令,所述可执行计算机指令被执行时实现所述的图像匹配方法。
综上所述,在本申请实施例中的图像匹配方法、装置、电子设备及可读存储介质中,在需要进行图像匹配时,首先计算待匹配图像中与模板图像尺寸相同的各子图与模板图像的卷积运算结果。接着计算得到该模板图像的第一灰度模值,然后根据待匹配图像生成查找表,该查找表中包括待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和,并根据该查找表计算得到各子图的第二灰度模值。最后根据上述数据计算得到各子图与模板图像的相似度,并根据上述相似度确定与模板图像匹配的子图。在上述过程中,是根据查找表中的灰度值累积平方和及灰度值累积和计算得到各子图的第二灰度模值,该方式相较于传统的NCC算法中根据每个子图中各像素点的灰度值计算得到各子图的第二灰度模值的方式,降低了得到第二灰度模值的运算复杂度。因此,上述方案可在保证高准确率的基础上,提高运算速度。进一步地,还可以通过傅里叶变换计算得到各子图与模板图像的卷积运算结果,相较于耗时的卷积运算,可明显降低运算复杂度,由此可进一步降低匹配过程的运算复杂度,提高运算速度。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种图像匹配方法,其特征在于,包括:
计算待匹配图像中各子图与模板图像的卷积运算结果,其中,各子图的尺寸与所述模板图像的尺寸相同;
计算得到所述模板图像的第一灰度模值;
根据所述待匹配图像生成查找表,其中,所述查找表包括所述待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和;
根据所述查找表计算得到各子图的第二灰度模值;
根据所述卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与所述模板图像的相似度,并根据得到的相似度确定与所述模板图像匹配的子图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待匹配图像生成查找表,包括:
将所述待匹配图像中各像素点依次作为第一目标像素点,并根据第一目标像素点对应的目标图像区域中各像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和及灰度值累积和,并根据各个第一目标像素点的计算结果生成所述查找表,其中,所述目标图像区域为以该第一目标像素点为顶点在所述待匹配图像中形成的图像区域。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待匹配图像生成查找表,包括:
将所述待匹配图像中各像素点依次作为第一目标像素点,判断与所述第一目标像素点对应的目标图像区域是否是矩形,其中,所述目标图像区域为以该第一目标像素点为顶点在所述待匹配图像中形成的图像区域;
若是矩形,则查找目标图像区域内与所述第一目标像素点最接近的三个像素点是否存在对应的灰度值累积平方和、灰度值累积和;
若存在,则根据与所述第一目标像素点最接近的三个像素点对应的灰度值累积平方和、灰度值累积和、及第一目标像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和、灰度值累积和;
若不存在,或不是矩形,则根据第一目标像素点对应的目标图像区域中各像素点的灰度值,计算得到第一目标像素点对应的灰度值累积平方和及灰度值累积和;
根据各个第一目标像素点的计算结果生成所述查找表。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述查找表计算得到各子图的第二灰度模值,包括:
根据子图的顶点坐标确定第二目标像素点,并从所述查找表中查找得到每个第二目标像素点对应的灰度值累积平方和及灰度值累积和;
根据每个第二目标像素点对应的灰度值累积平方和,计算得到各子图的灰度值平方和;
根据每个第二目标像素点对应的灰度值累积和,计算得到各子图的灰度值和;
根据各子图的灰度值平方和及灰度值和计算得到各子图的第二灰度模值。
5.根据权利要求1所述的方法,其特征在于,在所述计算待匹配图像中各子图与模板图像的卷积运算结果之前,所述方法还包括:
计算得到所述模板图像各像素点的灰度值减去所述模板图像的灰度平均值的结果,并将该结果作为初始目标模板图像中对应像素点的灰度值;
所述计算得到所述模板图像的第一灰度模值,包括:
根据所述初始目标模板图像各像素点的灰度值的平方进行求和计算,得到所述初始目标模板的灰度值平方和,并对所述初始目标模板的灰度值平方和进行开方处理,得到所述第一灰度模值。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述待匹配图像的尺寸对所述初始目标模板图像进行填充,得到尺寸与所述待匹配图像的尺寸相同的目标模板图像,其中,填充部分的像素点灰度值为零;
所述计算待匹配图像中各子图与模板图像的卷积运算结果,包括:
通过傅里叶变换根据与所述待匹配图像对应的第一灰度值矩阵、及与所述目标模板图像对应的第二灰度值矩阵计算得到目标矩阵。
7.根据权利要求6所述的方法,其特征在于,所述通过傅里叶变换根据与所述待匹配图像对应的第一灰度值矩阵、及与所述目标模板图像对应的第二灰度值矩阵计算得到目标矩阵,包括:
对所述第一灰度值矩阵进行二维傅里叶变换,得到第一二维矩阵;
对所述第二灰度值矩阵进行二维傅里叶变换,得到第二二维矩阵;
对所述第二二维矩阵中的每个元素取共轭,得到第三二维矩阵;
计算所述第一二维矩阵、第三二维矩阵两个矩阵中对应点的乘积,得到初始目标矩阵;
对所述初始目标矩阵进行二维傅里叶逆变换,得到所述目标矩阵。
8.一种图像匹配装置,其特征在于,包括:
第一计算模块,用于计算待匹配图像中各子图与模板图像的卷积运算结果,其中,各子图的尺寸与所述模板图像的尺寸相同;
第二计算模块,用于计算得到所述模板图像的第一灰度模值;
第三计算模块,用于根据所述待匹配图像生成查找表,其中,所述查找表包括所述待匹配图像各像素点对应的灰度值累积平方和及灰度值累积和;
所述第三计算模块,还用于根据所述查找表计算得到各子图的第二灰度模值;
匹配模块,用于根据所述卷积运算结果、第一灰度模值及第二灰度模值计算得到各子图与所述模板图像的相似度,并根据得到的相似度确定与所述模板图像匹配的子图。
9.一种电子设备,其特征在于,包括:
处理器及存储器,所述存储器存储有可执行计算机指令,所述可执行计算机指令由所述处理器读取并运行时,执行权利要求1-7中任意一项所述的图像匹配方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有可执行计算机指令,所述可执行计算机指令被执行时实现权利要求1-7中任意一项所述的图像匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575308.1A CN110288034A (zh) | 2019-06-28 | 2019-06-28 | 图像匹配方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575308.1A CN110288034A (zh) | 2019-06-28 | 2019-06-28 | 图像匹配方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110288034A true CN110288034A (zh) | 2019-09-27 |
Family
ID=68019592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910575308.1A Pending CN110288034A (zh) | 2019-06-28 | 2019-06-28 | 图像匹配方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288034A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178437A (zh) * | 2019-12-30 | 2020-05-19 | 深圳市芭田生态工程股份有限公司 | 一种施肥方法及计算机可读存储介质 |
CN112884048A (zh) * | 2021-02-24 | 2021-06-01 | 浙江商汤科技开发有限公司 | 在输入图像中确定注册图像的方法及相关装置、设备 |
CN112884049A (zh) * | 2021-02-24 | 2021-06-01 | 浙江商汤科技开发有限公司 | 在输入图像中检测注册图像的方法及相关装置、设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909018A (zh) * | 2017-11-06 | 2018-04-13 | 西南交通大学 | 一种稳健的多模态遥感影像匹配方法和系统 |
CN109348731A (zh) * | 2016-10-14 | 2019-02-15 | 深圳配天智能技术研究院有限公司 | 一种图像匹配的方法及装置 |
CN109902710A (zh) * | 2019-01-07 | 2019-06-18 | 南京热信软件科技有限公司 | 一种文本图像的快速匹配方法和装置 |
-
2019
- 2019-06-28 CN CN201910575308.1A patent/CN110288034A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109348731A (zh) * | 2016-10-14 | 2019-02-15 | 深圳配天智能技术研究院有限公司 | 一种图像匹配的方法及装置 |
CN107909018A (zh) * | 2017-11-06 | 2018-04-13 | 西南交通大学 | 一种稳健的多模态遥感影像匹配方法和系统 |
CN109902710A (zh) * | 2019-01-07 | 2019-06-18 | 南京热信软件科技有限公司 | 一种文本图像的快速匹配方法和装置 |
Non-Patent Citations (4)
Title |
---|
JAE CHERN YOO等: "Fasr normalized Cross-Correlation", 《CIRCUITS SYSTEMS AND SIGNAL PROCESSING》 * |
JIGNESH N SARVAIYA等: "IMAGE REGISTRATION BY TEMPLATE MATCHING USING NORMALIZED CROSS-CORRELATION", 《2009 INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTING, CONTROL, AND TELECOMMUNICATION TECHNOLOGIES》 * |
吴 强等: "快速归一化互相关算法及 DSP 优化实现", 《电子测量与仪器学报》 * |
谢维达等: "一种改进的快速归一化互相关算法", 《同 济 大 学 学 报( 自 然 科 学 版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111178437A (zh) * | 2019-12-30 | 2020-05-19 | 深圳市芭田生态工程股份有限公司 | 一种施肥方法及计算机可读存储介质 |
CN112884048A (zh) * | 2021-02-24 | 2021-06-01 | 浙江商汤科技开发有限公司 | 在输入图像中确定注册图像的方法及相关装置、设备 |
CN112884049A (zh) * | 2021-02-24 | 2021-06-01 | 浙江商汤科技开发有限公司 | 在输入图像中检测注册图像的方法及相关装置、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880541B2 (en) | Stereo correspondence and depth sensors | |
CN115294409B (zh) | 一种用于安防监控的视频处理方法、系统及介质 | |
CN110288034A (zh) | 图像匹配方法、装置、电子设备及可读存储介质 | |
US20140153816A1 (en) | Depth Map Stereo Correspondence Techniques | |
US20160178355A1 (en) | Depth sensing method, device and system based on symbols array plane structured light | |
WO2017142766A1 (en) | Determining depth from structured light using trained classifiers | |
CN110136114B (zh) | 一种波面高度测量方法、终端设备及存储介质 | |
CN104700062A (zh) | 一种识别二维码的方法及设备 | |
CN110956131B (zh) | 单目标追踪方法、装置及系统 | |
CN111583381B (zh) | 游戏资源图的渲染方法、装置及电子设备 | |
CN115588190A (zh) | 一种成熟果实识别和采摘点定位方法及装置 | |
CN110942473A (zh) | 一种基于特征点网格化匹配的运动目标跟踪检测方法 | |
US20130083993A1 (en) | Image processing device, image processing method, and program | |
CN113240736A (zh) | 基于yolo6d改进网络的位姿估计方法及装置 | |
JP2016157188A (ja) | 姿勢推定モデル生成装置及び姿勢推定装置 | |
CN108961164A (zh) | 基于几何不变量的图像配准拼接方法和装置及计算机设备 | |
Wu et al. | Direct pose estimation for planar objects | |
CN113793349A (zh) | 目标检测方法及装置、计算机可读存储介质、电子设备 | |
CN115619678B (zh) | 一种图像变形的矫正方法、装置、计算机设备及存储介质 | |
JP3251840B2 (ja) | 画像認識装置 | |
CN111709977A (zh) | 一种基于自适应单峰立体匹配成本滤波的双目深度学习方法 | |
US20210142091A1 (en) | Method for determining a type and a state of an object of interest | |
CN109801428A (zh) | 纸币边缘直线的检测方法、检测装置及终端 | |
CN106056599B (zh) | 一种基于物体深度数据的物体识别算法及装置 | |
CN115760908A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |
|
RJ01 | Rejection of invention patent application after publication |