一种基于深度学习的图像匹配方法与流程

文档序号:20877127发布日期:2020-05-26 16:43阅读:1107来源:国知局
一种基于深度学习的图像匹配方法与流程

本发明涉及图像处理技术领域。



背景技术:

在视觉导航、灾害监测、医学成像技术应用等方面中,图像匹配技术是必不可少的一环。目前,图像匹配算法可以分为基于特征的图像匹配和基于模板的图像匹配。基于特征的图像匹配是通过检测图像对间相应特征,求取全局变换关系来完成匹配过程的。但由于图像噪声、成像模糊等原因,基于特征的图像匹配方法应用于图像的匹配效果不尽人意,基于模板的图像匹配在这方面做得更好。模板匹配是将一幅图像作为模板并通过逐像素比较的方法搜索模板在另一幅图像上的对应位置的过程。由于模板提供的图像信息更加完整,模板匹配算法能比基于特征的图像匹配算法更好的适应弱特征、图像噪声和成像模糊等不利因素。但是,模板匹配算法通常只能适应图像间存在平移变换关系的匹配,对于更复杂的几何变换难以成功匹配,同时基于模板匹配的方法需要消耗更多的时间,算法难以应用在实时系统上。

下面我们给出了一些经典的图像匹配算法:

(1)一些模板匹配算法试图通过改进相似度度量或差异性度量来解决图像灰度的畸变问题。归一化互相关(ncc)是经典的模板匹配相似度度量方法,通过ncc可以解决图像中的线性强度改变的问题。由于图像噪声的存在,ncc算法基于灰度值计算图像相似性,而噪声会导致其发生变化。除此之外,基于ncc的图像匹配算法所需的时间较长。

(2)提出的dasc密集描述符用于多模态图像匹配。dasc基于自相似性进行描述,并通过svm来改善其自相似性计算过程。但是,dasc是基于灰度的,对于图像噪声极为敏感,难以适应噪声干扰。

(3)sift,surf,orb等经典的特征描述匹配方法在进行图像匹配中有着一个共同的缺点,难以在图像中检测到正确的特征点对。另外,由于检测到过多的错误点对,导致在使用ransac算法剔除错误匹配对过程中,反倒会把正确特征点对剔除掉。

和sift一样,surf算法也是一种旋转和尺度不变的兴趣点检测器和描述符。同样,难以检测到正确特征点对。orb算法提出一种快速二值描述符,具有旋转不变性和抗噪声的特点。但是对于图像中存在的仿射变形难以适应。

(4)simonkorman等人提出了一种快速仿射模板匹配算法。该算法通过计算灰度的l1范数来测量模板与基准图的差异性。图像的灰度往往会附带噪声,会l1范数的计算结果发生改变,从而匹配失败。

在图像匹配过程中,由于图像噪声、成像模糊等原因,传统的特征匹配方法由于上述原因,导致难以检测到正确匹配对,从而导致匹配正确率下降。而传统的模板匹配方法,由于图像几何畸变的原因,导致匹配搜索空间成几何倍数增长,计算效率下降,难以应用于实时匹配。针对上述问题,本文提出了一种基于深度学习的图像匹配算法。



技术实现要素:

本发明的目的在于解决上述问题。

为了达到上述目的,本发明的基础方案提供一种基于深度学习的图像匹配方法,包括如下步骤,

步骤1,预先训练vgg-16网络;

步骤2,使用预先训练的vgg-16网络中卷积层的输出来构建卷积特征描述符;

步骤3,基于构建好的卷积特征描述符进行特征匹配:

步骤4,根据匹配的结果,设定阈值,选定出匹配对;

步骤5,当选出匹配对以后,计算出仿射矩阵;

步骤6,根据匹配对和反射矩阵,剔除掉不符合的匹配对,从而得到最终的结果。

进一步,步骤2中,基于卷积滤波器的可视化和以单层输出为特征进行试错实验,使用pool3、pool4和pool5_1来构建特征描述符。

进一步,特征描述符的构建具体为:

(1)pool3层输出直接形成pool3特征图f1,其中pool3的大小为28*28*256;

(2)使用kroneckerproduct获取pool4特征图f2,其中pool4的大小为14*14*512

(3)每个pool5_1描述符由16个特征点共享,获得特征图f3,其中pool5_1的大小为7*7*512。

(4)在获得f1、f2和f3后,将特征映射归一化为单位方差:

(3)

进一步,步骤3中,特征匹配具体为:

定义特征的距离度量,两个特征点x和y之间的特征距离是三个距离值的加权和

各分量距离值为各特征描述符之间的欧式距离。

di(x,y)=euclidean-distance(di(x),di(y))(5)。

进一步,步骤4中,阈值设定成0.6,当相似度在0.6-0.85之间时则保留匹配对,选定出四组匹配对。

进一步,步骤6中根据匹配对和反射矩阵,剔除掉误差大于4个像素点的匹配对。

本发明的优点如下:

(1)本文使用深度学习的方法提取图像特征,该特征能够适应图像噪声,相比于传统的特征匹配方法,正确率得到提升。

(2)本文使用通过提取图像特征,完成匹配,相比于传统的模板匹配方法,计算速率得到提升。

附图说明

图1为本发明一种基于深度学习的图像匹配方法中特征描述符的分布图;

图2为本发明一种基于深度学习的图像匹配方法中vgg-16网络架构图;

图3为本发明一种基于深度学习的图像匹配方法中可视化滤波器的分布图。

具体实施方式

下面通过具体实施方式进一步详细的说明:

实施例:

一种基于深度学习的图像匹配方法,包括如下步骤,

步骤1,预先训练vgg-16网络;这是一个可以分类1000个类别的图像分类网络,(1)它在图像分类方面的出色性能证明了它的处理能力。(2)结构简洁,仅通过叠加卷积、池化和全连通层来构造,没有分支或捷径连接来加强梯度流。这样的设计使得将这个网络用于不同的目的是可行的。(3)深度极深,对海量、多样化的图像数据进行训练。因此,它的卷积滤波器搜索通用模式,并很好地推广,在faster-rcnn目标检测器和超处理生成对抗网络(srgan)等计算机视觉解决方案中,vgg经常被用于特征提取。

步骤2,使用预先训练的vgg-16网络中卷积层的输出来构建卷积特征描述符;具体为:

神经网络中的卷积层包含各种小滤波器,每个小滤波器都在输入图像中搜索特定的模式,通过在随机值生成的输入图像上应用梯度上升,可视化了vgg-16各卷积层中的滤波器,图3为典型的可视化滤波器。使用卷积层来提取特征,所以只要输入图像的高度和宽度是32的倍数,输入图像的大小是多少都可以,在通过网络传播之前,将输入图像的大小调整为224,以便具有适当大小的接受域并减少计算量,三个层的输出用于构建我们的特性:pool3、pool4和一个在block5conv1之后添加的最大池层,即pool5_1。这些层搜索一组通用模式,并生成能够很好地覆盖不同大小的接受域的特征响应值。

如图2所示,vgg-16包含5个卷积计算块,每个块有2-3个卷积层,每个块的末尾有一个max-pooling层。我们在输入图像上放置一个28*28网格来分割我们的补丁,每个补丁对应于pool3输出中的256维向量,每8*8个正方形中生成一个描述符。每个patch的中心被视为一个特征点。256维向量被定义为pool3特征描述符。pool3层输出直接形成我们的pool3特征图f1,其大小为28*28*256。pool4层输出(大小为14*14*512)的处理略有不同。在每16*16区域中,我们生成一个pool4描述符,因此它由4个特征点共享。如图2所示,使用kroneckerproduct(用表示)获取pool4特征图f2。

opool4表示pool4的输出。i表示一个下标形状的张量,pool5_1层输出的大小为7*7*512。类似地,每个pool5_1描述符由16个特征点共享。

特征描述符的分布如图1所示。

在获得f1、f2和f3后,将特征映射归一化为单位方差:

σ(.)计算矩阵元素的标准差,点x的pool3、pool4和pool5_1描述符分别用d1(x)、d2(x)和d3(x)表示。

步骤3,基于构建好的卷积特征描述符进行特征匹配:具体为:首先定义特征的距离度量。两个特征点x和y之间的特征距离是三个距离值的加权和

各分量距离值为各特征描述符之间的欧式距离。

di(x,y)=euclidean-distance(di(x),di(y))(5)

这个距离由pool3描述符d1(x,y)来计算,并且要带的权重,因为d1是256维,而d2和d3是512维。

如果满足以下条件,特征点x与y匹配:

d(x,y)是最小的在d(.,y)中。

不存在d(z,y)<θ*d(x,y).θ是大于1的参数,被称为匹配阈值。

步骤4,根据匹配的结果,设定阈值,阈值设定成0.6,当相似度在0.6-0.85之间时则保留匹配对,选定出四组匹配对;

步骤5,当选出四对匹配对以后,根据正确的匹配对计算出仿射矩阵;

步骤6,根据匹配对和反射矩阵,剔除掉误差大于4个像素点的匹配对,从而得到最终的结果。

本发明使用深度学习的方法提取图像特征,该特征能够适应图像噪声,相比于传统的特征匹配方法,正确率得到提升。本发明通过提取图像特征,完成匹配,相比于传统的模板匹配方法,计算速率得到提升。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1