用于图片匹配定位的神经网络系统,方法及装置与流程

文档序号:16694398发布日期:2019-01-22 19:20阅读:147来源:国知局
用于图片匹配定位的神经网络系统,方法及装置与流程

本说明书一个或多个实施例涉及计算机图像处理领域,尤其涉及用于图片的匹配和定位的神经网络系统、方法和装置。



背景技术:

人工智能和机器学习已经广泛地应用在计算机图像处理领域,智能地进行图像分析、对比、匹配以及目标识别等,其中图像的匹配和匹配定位是常常面对的问题。简单来说,图像匹配是指,判断两幅图像是否相似,或者是否为同一内容;而图像匹配定位是指,找出一幅图所示内容在另一幅图中的位置。

传统的匹配定位算法一般采用先遍历搜索各种大小的图块,再对这些图块逐个对比的方式进行匹配和定位。这样的方案时间复杂度很高,并且这样两步式的方案很难进行统一的整体优化。

因此,希望能有改进的方案,更加快速高效地进行图像的匹配定位。



技术实现要素:

本说明书一个或多个实施例描述了用于图片匹配定位的神经网络系统和方法,从而快速高效并一体化地进行图片的匹配和定位。

根据第一方面,提供了一种计算机执行的、用于图片匹配定位的神经网络系统,包括:

第一卷积网络,包括第一卷积层,以及池化层,所述第一卷积层对第一图片进行卷积处理,得到与第一图片对应的第一卷积特征图;所述池化层对所述第一卷积特征图进行池化操作,生成维度为第一数目的第一特征向量,其中所述第一图片为待匹配图片;

第二卷积网络,对第二图片进行卷积处理,得到第二图片所包含的n个区域分别对应的n个特征向量,所述n个特征向量维度为所述第一数目;所述第二图片为待搜索图片;

组合层,将所述第一特征向量分别与所述n个特征向量进行组合操作,得到n个组合向量;

边框回归层,至少基于所述n个组合向量,在第二图片中输出预测边框的信息,所述预测边框指示出第二图片包含第一图片的图片内容的区域。

在一个实施例中,第二卷积网络包括第二卷积层和特征提取层,其中第二卷积层对所述第二图片进行卷积处理,得到与第二图片对应的第二卷积特征图;特征提取层基于所述第二卷积特征图,提取所述n个区域分别对应的n个特征向量。

进一步地,根据一种设计,第二卷积层与第一卷积层为共同的卷积层。

根据一种实施方式,所述n个区域是按照预定分割规则,分割得到。

根据另一种实施方式,所述n个区域通过选择性搜索算法,或通过区域生成网络而生成。

根据一种实施方式,组合层进行的组合操作包括,向量点积操作。

根据一种可能的设计,边框回归层包括第一隐层、第二隐层和输出层;

所述第一隐层确定所述第一图片出现在所述n个区域中各个区域的区域概率;

所述第二隐层在至少一个区域中生成备选边框,并得出各个备选边框的置信度;

所述输出层根据各个区域的区域概率和各个备选边框的置信度,输出预测边框的信息,所述预测边框的信息包括,该预测边框的坐标,该预测边框对应的区域概率和置信度。

进一步地,在一种设计中,所述第二隐层在区域概率大于预设阈值的区域中,生成备选边框。

在一种实施例中,所述输出层将对应的区域概率和置信度的乘积最大的备选边框作为所述预测边框。

根据一种实施方式,神经网络系统通过训练样本端到端训练得到,所述训练样本包括多个图片对,每个图片对包括第一训练图片和第二训练图片,第二训练图片中标注有目标框,该目标框示出第二训练图片包含第一训练图片的图片内容的区域。

进一步地,在一个实施例中,边框回归层包括第一隐层和第二隐层;在这样的情况下,所述端到端训练包括:

根据所述目标框的位置,在所述第二训练图片的n个区域中,确定该目标框所位于的特定区域,并根据该特定区域确定所述目标框的区域标签;

通过所述第一隐层,预测第一训练图片位于所述各个区域的预测区域概率;

通过所述第二隐层,在各个区域中生成备选边框;

确定各个备选边框与所述目标框的交并比,作为该备选边框的置信度;

至少基于所述区域标签和所述预测区域概率,以及所述备选边框的置信度,调整所述第一隐层和第二隐层的网络层参数,从而训练所述神经网络系统。

根据第二方面,提供一种计算机执行的、用于图片匹配定位的方法,包括:

对第一图片进行第一卷积处理,得到与第一图片对应的第一卷积特征图;其中所述第一图片为待匹配图片;

对所述第一卷积特征图进行池化操作,生成维度为第一数目的第一特征向量;

对第二图片进行卷积处理,得到第二图片所包含的n个区域分别对应的n个特征向量,所述n个特征向量维度为所述第一数目;所述第二图片为待搜索图片;

将所述第一特征向量分别与所述n个特征向量进行组合操作,得到n个组合向量;

至少基于所述n个组合向量,采用边框回归算法,在第二图片中输出预测边框的信息,所述预测边框指示出第二图片包含第一图片的图片内容的部分。

根据第三方面,提供一种用于图片匹配定位的装置,包括:

第一卷积单元,配置为对第一图片进行第一卷积处理,得到与第一图片对应的第一卷积特征图;其中所述第一图片为待匹配图片;

池化单元,配置为对所述第一卷积特征图进行池化操作,生成维度为第一数目的第一特征向量;

第二卷积单元,配置为对第二图片进行卷积处理,得到第二图片所包含的n个区域分别对应的n个特征向量,所述n个特征向量维度为所述第一数目;所述第二图片为待搜索图片;

组合单元,配置为将所述第一特征向量分别与所述n个特征向量进行组合操作,得到n个组合向量;

预测单元,配置为至少基于所述n个组合向量,采用边框回归算法,在第二图片中输出预测边框的信息,所述预测边框指示出第二图片包含第一图片的图片内容的部分。

根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的神经网络系统。

通过本说明书实施例提供的方案,通过两分支的神经网络系统,实现图片的快速匹配定位,在待搜索图片中用边框框选出包含待匹配图片的区域。在这个过程中,匹配与定位同步实现,提高了处理效率,提升了处理性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1示出本说明书披露的一个实施例的实施场景示意图;

图2示出根据一个实施例的神经网络系统的结构示意图;

图3示出根据一个实施例的第二卷积网络的结构示意图;

图4示出根据另一个实施例的第二卷积网络的结构示意图;

图5示出根据一个实施例的边框回归层的结构示意图;

图6示出根据一个实施例的预测结果示意图;

图7示出根据一个实施例的用于图片匹配定位的方法;

图8示出根据一个实施例的确定预测边框的流程图;

图9示出根据一个实施例的图片匹配定位装置的示意性框图。

具体实施方式

下面结合附图,对本说明书提供的方案进行描述。

图1为本说明书披露的一个实施例的实施场景示意图。

根据本说明书的实施例,采用标注好的图片对,作为训练样本训练一个神经网络模型。在该神经网络训练好之后,即可以用于对图片进行匹配定位。具体而言,该神经网络具有两个分支,具有双分支的结构。将待匹配图输入第一分支,将待搜索图输入第二分支,训练好的神经网络即可输出匹配定位的预测结果,一般地,该预测结果至少包括,用预测边框在待搜索图中框出包含待匹配图内容的部分。因此,该神经网络可以同时进行匹配和定位,直接输出图片的匹配定位结果。

为了实现以上图片的匹配定位,上述神经网络在两个分支分别对两个图片,即待匹配图和待搜索图,进行特征提取,然后对其特征进行组合,基于组合特征来预测边框。更具体而言,对于待匹配图,神经网络利用其第一分支将其处理为第一特征向量;对于待搜索图,神经网络利用第二分支,将其处理为与n个区域对应的n个特征向量。然后,将待匹配图对应的第一特征向量与待搜索图的n个区域对应的n个特征向量分别进行组合,得到n个组合向量,分别基于这n个组合向量,采用目标检测算法中的边框回归算法,预测边框,并进行边框回归。于是,神经网络对于输入的两张图片,直接输出匹配定位的结果。下面描述上述神经网络的具体结构和实现方式。

图2示出根据一个实施例的神经网络系统的结构示意图,该神经网络系统用于进行图片的匹配定位。可以理解,该神经网络系统可以通过任何具有计算、处理能力的设备、装置、平台、设备集群来实现,例如图1所示的计算平台。如图2所示,神经网络系统至少包括,第一卷积网络21,第二卷积网络22,组合层23,以及边框回归层24。下面描述以上各个网络层的实现方式。

第一卷积网络21用于对待匹配图进行特征处理,生成对应的特征向量,以下将待匹配图称为第一图片。一般地,第一图片为近景图或细节图。

具体地,第一卷积网络21包括第一卷积层211,以及池化层212,其中第一卷积层对第一图片进行卷积处理,得到与第一图片对应的第一卷积特征图;池化层212对所述第一卷积特征图进行池化操作,生成与第一图片对应的第一特征向量。

卷积层是卷积神经网络cnn中最为基础和重要的网络层,用于对图像进行卷积处理。卷积处理是对图像进行分析常常采用的一种处理操作。具体地,卷积处理是使用一个卷积核,对图像中的每个像素进行一系列操作。卷积核(算子)是用来做图像处理时的矩阵,是与原图像素做运算的参数。卷积核通常是一个四方形的网格结构(例如3*3的矩阵或像素区域),每个网格都有一个权重值。使用卷积核对图片进行卷积计算时,将卷积核在图片的像素矩阵上滑动,每滑动一个步长,对卷积核中每个元素和其覆盖的图像像素值进行乘积并求和,如此得到的新的特征值矩阵构成卷积特征图,即featuremap。卷积运算可以从原始图片的像素矩阵中,提取出抽象的特征,根据卷积核的设计,这些抽象特征例如可以反映,原始图片中一个区域的线条形状、颜色分布等更加全局的特征。

在一个实施例中,上述第一卷积层211可以包括一个或多个卷积层,每个卷积层对图像进行一次卷积处理。经过这些卷积层处理,得到第一图片对应的卷积特征图(featuremap)。

在一个实施例中,上述第一卷积层211可以包括多个卷积层,在这多个卷积层之间或在某些卷积层之后,还包括至少一个relu(therectifiedlinearunit,修正线性单元)激励层,用于把卷积层输出结果做非线性映射。非线性映射的结果可以被输入下一卷积层继续进行卷积处理,或者可以作为卷积特征图输出。

在一个实施例中,上述第一卷积层211包括多个卷积层,在这多个卷积层之间,还包括至少一个池化层(pooling),用于把卷积层输出结果进行池化操作。池化操作的结果可以被输入下一卷积层,继续进行卷积操作。

本领域技术人员了解,根据需要,第一卷积层211可以被设计为包括一个或多个卷积层,并可以选择性地在多个卷积层之间添加relu激励层和/或池化层。如此,第一卷积层211对第一图片进行卷积处理后,得到该图片对应的第一卷积特征图。该第一卷积特征图被输入到接下来的池化层212。

池化层212用于对第一图片所对应的第一卷积特征图进行附加的池化操作。该池化操作可以包括,最大值池化,平均值池化,等等。

通常来说,在图片的匹配定位中,待匹配图为近景图或细节图,待搜索图为远景图或全局图,因此,通常需要将待匹配图进行“缩小”,以便与待搜索图的各个区域进行比对分析。这里,第一图片为待匹配图,因此在第一卷积网络21中,通过池化层212对卷积处理得到的第一卷积特征图进行附加的池化操作,可以用于缩减第一图片的特征的维度,便于后续与待搜索图的区域特征进行组合,也便于后续的网络处理。于是,池化层212通过池化处理,得到第一图片对应的特征向量,称为第一特征向量,用fs表示。假定该特征向量的维度为d。

另一方面,第二卷积网络22用于对第二图片,即待搜索图,进行卷积处理,得到第二图片所包含的n个区域分别对应的n个特征向量,且这n个特征向量的维度与上述第一特征向量fs相同,均为d维。

图3示出根据一个实施例的第二卷积网络的结构示意图。如图3所示,第二卷积网络22包括第二卷积层221和特征提取层222。

在一个实施例中,第二卷积层221对第二图片进行卷积处理,得到与第二图片对应的第二卷积特征图。根据需要,第二卷积层221可以被设计为包括一个或多个卷积层,并可以选择性地在多个卷积层之间添加relu激励层和/或池化层。第二卷积层221对第二图片进行卷积处理后,得到该图片对应的第二卷积特征图。

在一个实施例中,第二卷积层221的结构以及卷积处理操作与第一卷积层211完全相同。此时,第二卷积层221与第一卷积层211可以复用相同的卷积层,共享权值参数,换而言之也可以说是共同的卷积层,如图3中虚线框所示。

第二卷积层221得到的第二卷积特征图被输入到特征提取层222,该特征提取层222基于所述第二卷积特征图,提取第二图片所包含的n个区域分别对应的n个特征向量。

在一个实施例中,上述n个区域是按照预定分割规则,分割得到的。例如,在一个例子中,预定分割规则为,将待搜索图的长和宽均进行4等分,从而将待搜索图划分为4*4=16个区域。

可以理解,卷积处理得到的卷积特征图与原图之间存在一定的映射关系。因此,在按照上述分割规则对第二图片进行分割的情况下,可以认为第二卷积层221得到的第二卷积特征图也可以对应地被划分为n个区域,也就是说,可以将第二卷积特征图划分为n个子特征图,每个子特征图对应原图的一个区域。在一个实施例中,可以首先将第二图片分割成n个区域,然后分别输入第二卷积层221,使得第二卷积层221分别对这n个区域进行卷积处理,从而分别得到n个子特征图。这n个子特征图的总体构成第二图片对应的第二卷积特征图。在另一实施例中,也可以直接将第二图片输入第二卷积层221,使得第二卷积层221对整个第二图片进行卷积处理,得到第二卷积特征图,然后再根据分割规则,将第二卷积特征图划分为n个子特征图。接着,特征提取层222基于第二卷积特征图,更具体地,基于与分割规则对应分割得到的各个子特征图,进行特征提取,从而得到第二图片的n个区域分别对应的n个特征向量。

在另一实施例中,第二图片的n个区域是在神经网络中根据预定算法生成的。

图4示出根据另一个实施例的第二卷积网络的结构示意图。在如图4所示的第二卷积网络中,还包括了区域产生模块,用于根据预定算法,在第二图片中生成n个区域。

在一个例子中,整体的神经网络系统借鉴用于目标检测的r-cnn(regioncnn)网络模型或fastr-cnn网络模型。在这两种网络模型中,都是采用选择性搜索(selectivesearch)的方式生成候选区域(regionproposal)或称为兴趣区域roi(regionofinterest),可以将生成的候选区域作为这里的区域。更具体地,在r-cnn中,基于原始图片来生成候选区域(虚线所示),在fastr-cnn中,基于提取的卷积特征图来生成候选区域。在r-cnn或fastr-cnn的情况下,上述区域产生模块的功能也可以通过第二卷积层和特征提取层共同实现,而不必须体现为单独的模块。

在另一个例子中,整体的神经网络系统借鉴进一步的fasterr-cnn网络模型,其中提出了区域生成网络rpn(regionproposalnetwork),专用于生成或建议候选区域。在这样的情况下,图4的区域产生模块即对应于区域生成网络rpn,基于卷积处理后的卷积特征图,生成n个区域。

在又一例子中,整体的神经网络系统基于yolo网络模型,其中将第二图片划分为a*b个区域,此时n=a*b。相应地,区域产生模块可以采用yolo中的算法来产生区域。

尽管图3和图4示出了第二卷积网络的示例,其中将第二卷积网络划分为第二卷积层和特征提取层,但是第二卷积网络的具体实现并不限于此。在一个例子中,第二卷积网络也可以在进行卷积处理的同时,进行区域特征提取,从而直接输出各个区域的特征向量。

接着,第二卷积网络22输出的n个区域对应的n个特征向量,以及第一卷积网络21输出的第一图片的第一特征向量fs,都被输入到组合层23,在其中进行组合操作。如前所述,通过第一卷积网络21将第一图片处理为第一特征向量fs,通过第二卷积网络22将第二图片处理为n个区域对应的n个特征向量,并使得这些向量维度均相同(均为d维),这样的处理使得,向量之间的组合操作十分便利。

具体地,组合层23将第一特征向量fs,与第二图片的n个区域对应的n个特征向量,分别进行组合操作,从而得到n个组合向量。

在一个实施例中,上述组合操作包括,向量的对应元素之间求差值,或求均值。

更为优选的,在一个实施例中,上述组合操作包括,向量之间的点积,即,对应元素之间的相乘。

具体地,假定第一特征向量fs可以表示为:

fs=(a1,a2,…,ad)

第二图片的n个区域对应的n个特征向量为f1,f2,…,fn,其中的第i个特征向量fi可以表示为:

fi=(b1,b2,…,bd)

那么,第一特征向量fs与第i个区域的特征向量fi的点积可以得到组合向量vi,其中vi=(a1*b1,a2*b2,…,ad*bd)

如此,可以得到第一特征向量fs与各个区域的特征向量的组合向量,得到n个组合向量v1,v2,…,vn。

接着,这些组合向量被输入到边框回归层24。该边框回归层24至少基于n个组合向量,在第二图片中输出预测边框的信息,该预测边框指示出第二图片包含第一图片的图片内容的区域。

可以理解,前述的r-cnn,fastrcnn,fasterrcnn,yolo网络模型,以及一些其他的网络模型都可以用于进行目标检测。在常规的目标检测中,首先也需要将待检测图片划分为区域,得到各个区域对应的特征向量,然后将这些特征向量输入网络的分类回归层,以执行目标检测。目标检测的任务可以分为目标分类和边框回归。其中目标分类是对目标对象的类别进行预测,边框回归是确定出包含目标对象的最小矩形框(boundingbox)。

借鉴目标检测算法的执行方式,图2中的边框回归层24可以利用目标检测中的边框回归算法,基于n个组合向量,从第二图片的n个区域中,给出预测边框。

如前所述,n个组合向量是由第一图片(待匹配图)的特征向量和第二图片(待搜索图)的n个区域对应的n个特征向量分别组合而来,因此,这n个组合向量可以反映,第一图片与第二图片的各个区域之间的相似度,或者说,这n个组合向量可以作为,第一图片分别与第二图片的各个区域进行叠加的n个叠加图的特征向量。于是,接下来相当于将这n个叠加图的特征向量,作为有待进行目标检测的图片区域的特征向量,进行目标检测中的边框回归,如此得到的边框即可作为第二图片包含第一图片内容的区域。

图5示出根据一个实施例的边框回归层的结构示意图。如图5所示,边框回归层24可以包括第一隐层241、第二隐层242和输出层243。

第一隐层241用于确定第一图片出现在第二图片的n个区域中各个区域的区域概率p(r1),p(r2),…,p(rn)。

在一个实施例中,上述区域概率是经过softmax归一化之后的概率。因此,各个区域的区域概率之和为1。

接着,第二隐层242在至少一个区域中,应用边框回归算法生成备选边框,并得出各个备选边框的置信度。可以理解,在边框回归算法的训练过程中,会在产生预测边框的同时,计算预测边框与标注边框之间的交并比(iou),该交并比可以作为置信度的衡量;相应地,在预测阶段,边框回归算法会同样地在生成备选边框的同时,得出该备选边框的预计iou作为其置信度。

在一个实施例中,第二隐层242从各个区域中选择区域概率最大的区域,针对该区域执行边框回归算法,生成备选边框。

在另一实施例中,首先根据预设的概率阈值对各个区域的区域概率进行过滤,剔除掉区域概率低于阈值的区域;第二隐层242仅对其余的区域,分别在这些区域中执行边框回归算法,生成备选边框。

在又一实施例中,第二隐层242对于每个区域,均执行边框回归算法,生成备选边框。

在一个实施例中,第二隐层242通过执行边框回归算法,针对处理的每个区域,生成多个备选边框,并计算提供各个备选边框的置信度。

在另一实施例中,第二隐层242通过执行边框回归算法,针对处理的每个区域,生成多个初步边框,然后从这多个初步边框中选择置信度最高的边框作为备选边框。

通过以上的各种方式,第一隐层241确定出各个区域的区域概率,第二隐层242针对至少部分区域生成备选边框,并得出各个备选边框的置信度。接着,输出层243根据各个区域的区域概率和各个备选边框的置信度,输出预测边框的信息。

具体地,如前所述,根据第二隐层242的不同执行方式,第二隐层242有可能输出多个备选边框,这多个备选边框可能位于一个区域,也可能位于多个区域。一般情况下,从区域概率较大的区域中生成的备选边框的置信度也较高;但是也不排除偶尔出现的特殊情况。因此,输出层243综合考虑各个备选边框所位于的区域的区域概率,以及备选边框自身的置信度,选择出最有可能的边框作为预测结果。

在一个实施例中,对于第二隐层242得出的多个备选边框,输出层243分别计算各个备选边框所位于的区域的区域概率与该备选边框的置信度的乘积,选择乘积最大值所对应的备选边框,作为预测边框。

在另一实施例中,输出层243分别计算各个备选边框所位于的区域的区域概率与该备选边框的置信度的和,选择和值最大所对应的备选边框,作为预测边框。

在又一实施例中,输出层243首先选择区域概率最大的区域,在该区域中,选择置信度最大的备选边框作为预测边框。

由此,输出层243综合考虑区域概率和置信度,输出最优的预测边框的信息。一般地,输出的预测边框的信息至少包括,预测边框的位置坐标。该位置坐标一般表示为(x,y,w,h)的方式,其中x,y示出边框中心的位置,w为边框的宽度,h为边框的高度。

在一个实施例中,输出层243还输出预测边框的区域概率和/或置信度,作为补充信息。

以上描述了边框回归层的实现方式的具体例子。但是边框回归层的实现方式并不限于此。例如,在一种实现方式中,边框回归层可以在执行边框回归算法的网络层之前包含若干个卷积层,对各个组合向量进行进一步的卷积处理,然后才执行边框回归。在另一种实现方式中,边框回归层也可以直接针对各个区域采用边框回归算法,生成备选边框,而不确定各个区域的区域概率。在另一种实现方式中,边框回归层通过综合的网络层,针对各个区域,估计区域概率并同时在其中生成备选边框。相应地,边框回归层可能具有其他不同的网络结构。

如上,边框回归层24基于各个区域对应的特征向量,输出预测边框的信息作为预测结果。

尽管在以上示例中,组合层23和边框回归层24都被示出为各自体现为一个网络层,但是实现方式不限于此。例如,yolov3提出了多尺度预测的方法。与之对应,基于yolov3的神经网络系统中,可以具有多个“组合层+边框回归层”的组合。在这样的情况下,可以分别从第一卷积网络和第二卷积网络中的多个卷积层中,抽取1个或是多个卷积层的卷积特征图,分别输入与之对应的“组合层+边框回归层”进行处理。

图6示出根据一个实施例的预测结果示意图。图6中左图为第一图片,即待匹配图,右侧为第二图片,即待搜索图。在将第一图片和第二图片输入图2所示的神经网络系统后,可以在第二图片中输出预测边框,该预测边框示出了第二图片包含第一图片的图片内容的区域。并且,如图6所示,在预测边框的上方还有两个数字,第一个表示该预测边框所位于的区域的区域概率,第二个数字表示该预测边框的置信度(或预测iou)。

如此,通过图2所示的两分支的神经网络系统,实现图片的快速匹配定位,在待搜索图片中用边框框选出包含待匹配图片的区域。在这个过程中,匹配与定位同步实现,提高了处理效率,提升了处理性能。

在一个实施例中,以上的神经网络系统预先通过训练样本,进行端到端联合训练。为了训练这样的神经网络系统,采用的训练样本需要包括多个图片对,每个图片对包括第一训练图片和第二训练图片,第二训练图片中标注有目标框,该目标框示出第二训练图片包含第一训练图片的图片内容的区域。如此标注的目标框可以作为基准数据(groundtruth),用于训练神经网络系统。

具体地,训练过程可以包括,将第一训练图片和第二训练图片分别输入神经网络系统的第一卷积网络和第二卷积网络,由边框回归层输出预测边框。将该预测边框与标注的目标框进行比对,比对结果作为预测误差,进行反向传播,通过梯度下降等方式,调整神经网络系统中各个网络层的参数,从而训练该神经网络系统。

在一个具体实施例中,边框回归层24采取如图5所示的结构,包括第一隐层,第二隐层和输出层。在这样的情况下,训练该神经网络系统的过程具体包括以下步骤。

如前所述,将第一训练图片和第二训练图片分别输入第一卷积网络和第二卷积网络,分别得到第一训练图片对应的特征向量和第二训练图片的n个区域所分别对应的特征向量。将这些特征向量分别进行组合,得到n个区域对应的n个组合向量。

可以理解,第二训练图片中标注有目标框,因此,可以根据目标框的位置,确定该目标框位于第二训练图片的n个区域的哪个区域中。根据确定出的区域,确定所述目标框的区域标签。

并且,基于上述的n个组合向量,通过所述第一隐层,预测第一训练图片位于所述各个区域的预测区域概率。

然后,通过所述第二隐层,在各个区域中生成备选边框。并且,确定各个备选边框与所述目标框的交并比(iou),作为该备选边框的置信度。

接着,至少基于区域标签和预测区域概率,以及备选边框的置信度,调整所述第一隐层,第二隐层和输出层的参数,以进行神经网络的训练。可以理解,以上的区域标签相当于区域概率的基准数据,因此,通过比对预测得到的预测区域概率和区域标签,可以确定出与区域概率相关的误差。另外,备选边框与目标框的交并比体现了备选边框位置和大小的误差。因此,基于区域标签和预测区域概率,以及备选边框的置信度,可以获得以上两部分的误差。预测误差还包括备选边框和目标框的大小和位置相关的误差,例如(x,y,w,h)数值的误差。然后,在神经网络系统中进行误差的反向传播,从而调整参数,训练神经网络系统。

通过以上训练过程,可以得到图2所示的两分支的神经网络系统,用于进行图片的快速匹配定位。

根据另一方面的实施例,还提出一种图片匹配定位的方法。图7示出根据一个实施例的用于图片匹配定位的方法。该方法可通过计算机执行。如图7所示,方法至少包括以下步骤。

在步骤71,对第一图片进行第一卷积处理,得到与第一图片对应的第一卷积特征图;其中所述第一图片为待匹配图片。

在步骤72,对第一卷积特征图进行池化操作,生成维度为第一数目的第一特征向量。

在步骤73,对第二图片进行卷积处理,得到第二图片所包含的n个区域分别对应的n个特征向量,所述n个特征向量维度为所述第一数目;所述第二图片为待搜索图片。

在步骤74,将所述第一特征向量分别与所述n个特征向量进行组合操作,得到n个组合向量。

在步骤75,至少基于所述n个组合向量,采用边框回归算法,在第二图片中输出预测边框的信息,所述预测边框指示出第二图片包含第一图片的图片内容的部分。

根据一个实施例,步骤73进一步包括:对第二图片进行第二卷积处理,得到与第二图片对应的第二卷积特征图;然后基于所述第二卷积特征图,提取所述n个区域分别对应的n个特征向量。

在一种实施方式中,上述第二卷积处理与步骤71中的第一卷积处理相同。

根据一种可能的设计,所述n个区域是按照预定分割规则,分割得到。

根据另一种设计,所述n个区域通过选择性搜索算法,或通过区域生成网络而生成。

在一种实施方式中,步骤74中的组合操作包括,向量点积操作。

图8示出根据一个实施例的确定预测边框的流程图,即步骤75的子步骤。如图8所示,根据一种实施方式,步骤75进一步包括:

步骤751,确定所述第一图片出现在所述n个区域中各个区域的区域概率;

步骤752,在至少一个区域中生成备选边框,并得出各个备选边框的置信度;

步骤753,根据各个区域的区域概率和各个备选边框的置信度,输出预测边框的信息,所述预测边框的信息包括,该预测边框的坐标,该预测边框对应的区域概率和置信度。

根据一个实施例,步骤752包括,在区域概率大于预设阈值的区域中,生成备选边框。

根据一个实施例,步骤753进一步包括,将对应的区域概率和置信度的乘积最大的备选边框作为所述预测边框。

根据一种实施方式,上述方法通过神经网络系统实现,所述神经网络系统通过训练样本端到端训练得到,所述训练样本包括多个图片对,每个图片对包括第一训练图片和第二训练图片,第二训练图片中标注有目标框,该目标框示出第二训练图片包含第一训练图片的图片内容的区域。

进一步地,在一种可能的设计中,所述端到端训练包括:

根据所述目标框的位置,在所述第二训练图片的n个区域中,确定该目标框所位于的特定区域,并根据该特定区域确定所述目标框的区域标签;

预测第一训练图片位于所述各个区域的预测区域概率;

在各个区域中生成备选边框;

确定各个备选边框与所述目标框的交并比,作为该备选边框的置信度;

至少基于所述区域标签和所述预测区域概率,以及所述备选边框的置信度,调整所述第一隐层和第二隐层的网络层参数,从而训练所述神经网络系统。

根据另一方面的实施例,还提供一种用于图片匹配定位的装置。图9示出根据一个实施例的图片匹配定位装置的示意性框图。可以理解,该装置可以通过任何具有计算、处理能力的设备、装置、平台、设备集群来实现。

如图9所示,该装置900包括:

第一卷积单元91,配置为对第一图片进行第一卷积处理,得到与第一图片对应的第一卷积特征图;其中所述第一图片为待匹配图片;

池化单元92,配置为对所述第一卷积特征图进行池化操作,生成维度为第一数目的第一特征向量;

第二卷积单元93,配置为对第二图片进行卷积处理,得到第二图片所包含的n个区域分别对应的n个特征向量,所述n个特征向量维度为所述第一数目;所述第二图片为待搜索图片;

组合单元94,配置为将所述第一特征向量分别与所述n个特征向量进行组合操作,得到n个组合向量;

预测单元95,配置为至少基于所述n个组合向量,采用边框回归算法,在第二图片中输出预测边框的信息,所述预测边框指示出第二图片包含第一图片的图片内容的部分。

根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的神经网络系统,或结合图7描述的方法。

根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的神经网络系统,或结合图7所述的方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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