首页> 中国专利> 一种以图搜图的方法及装置

一种以图搜图的方法及装置

摘要

本申请涉及图像处理技术领域,尤其涉及一种以图搜图的方法及装置,用以解决现有技术中以图搜图的方式存在搜索结果误差较大的问题。本申请实施例提供的以图搜图的方法,能够基于全卷积孪生神经网络模型,提取第一图像中局部区域图像的图像特征以及第二图像的图像特征;并基于提取出的图像特征,生成得分图;进而根据得分图中指定数量的点的得分值总和,确定得分图中与局部区域图像相关联的区域块;在判定第二图像中与确定的区域块对应的图像特征和局部区域图像的图像特征之间的相似度大于设定相似度阈值时,确定第二图像为与第一图像相似的图像。

著录项

  • 公开/公告号CN107562805A

    专利类型发明专利

  • 公开/公告日2018-01-09

    原文格式PDF

  • 申请/专利权人 浙江大华技术股份有限公司;

    申请/专利号CN201710671798.6

  • 发明设计人 陈羽飞;

    申请日2017-08-08

  • 分类号G06F17/30(20060101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人黄志华

  • 地址 310053 浙江省杭州市滨江区滨安路1187号

  • 入库时间 2023-06-19 04:17:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-03

    授权

    授权

  • 2018-02-02

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20170808

    实质审查的生效

  • 2018-01-09

    公开

    公开

说明书

技术领域

本申请涉及图像处理技术领域,尤其涉及一种以图搜图的方法及装置。

背景技术

随着互联网中图像的数据信息日渐庞大,用户对图像搜索的要求也在不断提高,以图搜图的搜索方式也应运而生。

以图搜图,是通过输入图片来检索相似的图片的一种搜索技术,其主要涉及图像特征提取以及图像特征相似度分析这两大部分。发明人发现,现有的以图搜图的实现方式多是利用典型卷积神经网络(Convolutional Neural Network,CNN)提取目标图像的整体图像特征,并将其与数据库中存储的图像的整体图像特征进行相似度的比较,查找符合相似度要求的图像作为以图搜图的搜索结果。而这种提取整体图像特征的方式使得图像处理过程较为繁琐,并且,对于车辆等类型的图像来说,由于同一型号的车辆外形构造并无较大区别,采用基于整体图像特征进行相似度比较的方式,可能使得相似度比较结果之间的差异很小,进而使以图搜图的搜索结果的误差较大。

综上,现有技术中以图搜图的方式存在搜索结果误差较大的问题。

发明内容

本申请提供一种以图搜图的方法及装置,用以解决现有技术中以图搜图的方式存在搜索结果误差较大的问题。

本申请提供的技术方案如下:

第一方面,一种以图搜图的方法,包括:

将获取的第一图像中的局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中,基于所述全卷积孪生神经网络模型,分别提取所述局部区域图像的图像特征以及所述第二图像的图像特征;

基于提取出的图像特征,生成得分图;其中,所述得分图中每一点对应着第二图像中指定尺寸的像素点,每一点标记有得分值;并且,由所述得分图中指定数量的点所组成的区域块与所述局部区域图像的尺寸相同;

根据所述得分图中指定数量的点的得分值总和,确定所述得分图中与所述局部区域图像相关联的区域块;

在判定所述第二图像中与确定的区域块对应的图像特征和所述局部区域图像的图像特征之间的相似度大于设定相似度阈值时,确定所述第二图像为与所述第一图像相似的图像。

进一步地,根据所述得分图中指定数量的点的得分值总和,确定所述得分图中与所述局部区域图像相关联的区域块,具体包括:

将所述得分图划分为由指定数量的点所组成的至少一个区域块;

计算所述至少一个区域块中指定数量的点的得分值总和;

将所述至少一个区域块中得分值总和最高的区域块,确定为所述得分图中与所述局部区域图像相关联的区域块;或,

在计算出所述至少一个区域块中指定数量的点的得分值总和之后,所述方法还包括:

在判定所述至少一个区域块中得分值总和最高的区域块的得分值总和大于设定得分值阈值时,将所述得分值总和最高的区域块确定为所述得分图中与所述局部区域图像相关联的区域块。

进一步地,提取所述局部区域图像的图像特征以及所述第二图像的图像特征,具体包括:

基于所述全卷积孪生神经网络模型,对所述局部区域图像进行至少一次卷积处理和至少一次池化处理,得到所述局部区域图像的图像特征;以及,

对所述第二图像进行至少一次卷积处理和至少一次池化处理,得到所述第二图像的图像特征;

基于提取出的图像特征,生成得分图,具体包括:

将所述局部区域图像的图像特征与所述第二图像的图像特征进行卷积运算;

将卷积运算后输出的结果作为得分图。

进一步地,在将所述局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中之前,所述方法还包括:

以同一物体的不同图像作为训练样本集合,从训练样本集合中获取图像中局部区域图像作为全卷积孪生神经网络模型的第一输入图像、以及获取图像作为全卷积孪生神经网络模型的第二输入图像,对所述全卷积孪生神经网络模型进行模型训练;

在判定所述全卷积孪生神经网络模型输出的得分图满足预设条件时,确定所述全卷积孪生神经网络模型训练完成。

进一步地,对所述全卷积孪生神经网络模型进行模型训练,具体包括:

使用当前的配置参数分别提取第一输入图像以及第二输入图像的图像特征,并基于提取的图像特征,生成得分图,其中,所述配置参数包括卷积处理所需参数、池化处理所需参数以及生成得分图所需参数;

计算生成的得分图中每一点的得分值与预设的期望得分值之间的损失值;

计算所述得分图中各点对应的损失值之间的平均值,并将所述平均值确定为所述得分图的损失值;

判断所述得分图的损失值是否在设定范围内;

若是,则确定所述全卷积孪生神经网络模型训练完成;

若否,则对所述当前的配置参数进行调整,将调整后的配置参数作为下一次获取图像特征以及生成得分图所使用的配置参数。

第二方面,一种以图搜图的装置,包括:

提取模块,用于将获取的第一图像中的局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中,基于所述全卷积孪生神经网络模型,分别提取所述局部区域图像的图像特征以及所述第二图像的图像特征;

生成模块,用于基于提取出的图像特征,生成得分图;其中,所述得分图中每一点对应着第二图像中指定尺寸的像素点,每一点标记有得分值;并且,由所述得分图中指定数量的点所组成的区域块与所述局部区域图像的尺寸相同;

第一确定模块,用于根据所述得分图中指定数量的点的得分值总和,确定所述得分图中与所述局部区域图像相关联的区域块;

第二确定模块,用于在判定所述第二图像中与确定的区域块对应的图像特征和所述局部区域图像的图像特征之间的相似度大于设定相似度阈值时,确定所述第二图像为与所述第一图像相似的图像。

进一步地,所述第一确定模块具体用于:

将所述得分图划分为由指定数量的点所组成的至少一个区域块;

计算所述至少一个区域块中指定数量的点的得分值总和;

将所述至少一个区域块中得分值总和最高的区域块,确定为所述得分图中与所述局部区域图像相关联的区域块;或,

在计算出所述至少一个区域块中指定数量的点的得分值总和之后,所述方法还包括:

在判定所述至少一个区域块中得分值总和最高的区域块的得分值总和大于设定得分值阈值时,将所述得分值总和最高的区域块确定为所述得分图中与所述局部区域图像相关联的区域块。

进一步地,所述提取模块具体用于:

基于所述全卷积孪生神经网络模型,对所述局部区域图像进行至少一次卷积处理和至少一次池化处理,得到所述局部区域图像的图像特征;以及,

对所述第二图像进行至少一次卷积处理和至少一次池化处理,得到所述第二图像的图像特征;

基于提取出的图像特征,生成得分图,具体包括:

将所述局部区域图像的图像特征与所述第二图像的图像特征进行卷积运算;

将卷积运算后输出的结果作为得分图。

进一步地,所述装置还包括:

训练模块,用于在将所述局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中之前,以同一物体的不同图像作为训练样本集合,从训练样本集合中获取图像中局部区域图像作为全卷积孪生神经网络模型的第一输入图像、以及获取图像作为全卷积孪生神经网络模型的第二输入图像,对所述全卷积孪生神经网络模型进行模型训练;

在判定所述全卷积孪生神经网络模型输出的得分图满足预设条件时,确定所述全卷积孪生神经网络模型训练完成。

进一步地,所述训练模块具体用于:

使用当前的配置参数分别提取第一输入图像以及第二输入图像的图像特征,并基于提取的图像特征,生成得分图,其中,所述配置参数包括卷积处理所需参数、池化处理所需参数以及生成得分图所需参数;

计算生成的得分图中每一点的得分值与预设的期望得分值之间的损失值;

计算所述得分图中各点对应的损失值之间的平均值,并将所述平均值确定为所述得分图的损失值;

判断所述得分图的损失值是否在设定范围内;

若是,则确定所述全卷积孪生神经网络模型训练完成;

若否,则对所述当前的配置参数进行调整,将调整后的配置参数作为下一次获取图像特征以及生成得分图所使用的配置参数。

第三方面,一种电子设备,包括:一个或多个处理器;以及一个或多个计算机可读介质,所述可读介质上存储有用于执行以图搜图的方法的程序,其中,所述程序被所述一个或多个处理器执行时,实现如第一方面任一所述的方法的步骤。

第四方面,一个或多个计算机可读介质,所述可读介质上存储有用于执行以图搜图的方法的程序,其中,所述程序被一个或多个处理器执行时,使得通信设备执行如第一方面任一所述的方法。

本申请实施例中,基于全卷积孪生神经网络模型,可以提取第一图像中局部区域图像的图像特征以及第二图像的图像特征;并基于提取出的图像特征,生成得分图;进而根据得分图中指定数量的点的得分值总和,确定得分图中与局部区域图像相关联的区域块;在判定第二图像中与确定的区域块对应的图像特征和局部区域图像的图像特征之间的相似度大于设定相似度阈值时,可以确定第二图像为与第一图像相似的图像。由此可见,本申请中能够基于全卷积孪生神经网络模型,实现以第一图像的局部区域图像作为搜索条件,从预置的数据库中找出与其相似的第二图像。并且本申请中是先从得分图中搜索与局部区域图像相关联的区域块,那么,预置的数据库的第二图像中与该区域块对应的图像特征可以看做是与第一图像的局部区域图像的图像特征最为相似的部分,进一步通过判定第二图像中与该区域块对应的图像特征和局部区域图像的图像特征之间的相似度是否满足设定条件,确定第二图像是否为与第一图像相似的图像,从而以图搜图的搜索结果更为精确。

附图说明

图1为本申请实施例一提供的以图搜图的方法流程图;

图2a为本申请实施例一提供的模型训练中第一输入图像以及第二输入图像的示意图;

图2b为本申请实施例一提供的输出的得分图的示意图一;

图2c为本申请实施例一提供的输出的得分图的示意图二;

图3为本申请实施例一提供的卡口处拍摄的车辆图像为例进行以图搜图的流程图;

图4为本申请实施例二提供以图搜图的装置结构示意图。

具体实施方式

为了解决现有技术中以图搜图的方式存在搜索结果误差较大的问题,本申请实施例中提出了一种以图搜图的方法,能够基于全卷积孪生神经网络模型,实现以第一图像的局部区域图像作为搜索条件,从预置的数据库中找出与其相似的第二图像。并且本申请中是先从得分图中搜索与局部区域图像相关联的区域块,那么,预置的数据库的第二图像中与该区域块对应的图像特征可以看做是与第一图像的局部区域图像的图像特征最为相似的部分,进一步通过判定第二图像中与该区域块对应的图像特征和局部区域图像的图像特征之间的相似度是否满足设定条件,确定第二图像是否为与第一图像相似的图像,从而使得以图搜图的搜索结果更为精确。

下面,为便于对本申请实施例的理解,首先,对全卷积孪生神经网络模型进行简单介绍。

该全卷积孪生神经网络模型中包含有第一网络分支和第二网络分支,每个网络分支中包括输入层、若干个卷积层和若干个池化层。

较佳的,第一网络分支与第二网络分支中包含的卷积层个数以及池化层个数以及排布方式可以相同,并且,第一网络分支中卷积层进行卷积处理所需参数与第二网络分支相同,第一网络分支中池化层进行池化处理所需参数与第二网络分支也相同。当然,参数的配置并不限定于本申请中提出的上述一种方式,具体实施时也可以根据实际需求,来配置各网络分支中卷积层和池化层所需参数。

在第一网络分支中输入层输入的图像经由至少一个卷积层的卷积处理和至少一个池化层的池化处理后输出的第一图像特征,与第二网络分支中在输入层中输入的图像经由至少一个卷积层的卷积处理和至少一个池化层的池化处理后输出的第二图像特征之间,可进行卷积运算,卷积运算后输出的结果可作为得分图。并且,具体实施时,卷积运算过程中可添加偏置参数。具体卷积运算可参照公式1:

f(A,B)=a(A)*a(B)+b 公式1

其中,A、B分别为在第一输入单元和第二输入单元中输入的图像,α(A)和α(B)分别为经卷积处理和池化处理后提取出的图像特征,b为偏置参数,b为任一实数。

另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

下面结合说明书附图对本申请实施例作进一步详细描述。

如图1所示,为本申请实施例一提供的以图搜图的方法流程图,包括以下步骤:

步骤101:将获取的第一图像中的局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中,基于全卷积孪生神经网络模型,分别提取局部区域图像的图像特征以及第二图像的图像特征。

在具体实施中,服务器可接收终端反馈的由用户输入的第一图像,进而指示终端在显示界面中展示第一图像并提示用户选取指定区域,服务器在接收到终端反馈的由用户选取的指定区域,可从第一图像中获取一个包含有该指定区域的局部区域图像作为以图搜图的搜索条件。其中,该指定区域尽量处于局部区域图像的中心位置,若该指定区域位于第一图像的边缘区域,则保证获取的局部区域图像中能够完整包含该指定区域即可。比如,若第一图像为256*256的图像,则可以在第一图像中获取一个包含有该指定区域的48*48的局部区域图像作为搜索条件。

这里,可将局部区域图像作为全卷积孪生神经网络模型的第一网络分支的第一输入图像。并且,可以预先存储的第二图像作为全卷积孪生神经网络模型的第二网络分支的第二输入图像。当然,具体实施时,也可将局部区域图像作为第二网络分支的第二输入图像,将预先存储的第二图像作为第一网络分支的第一输入图像。其中,第二图像可以预先存储在预置的数据库中或者是云服务平台的数据库中。另外,较佳的,具体实施时,第二图像的图像特征可以预先提取出来并存储在数据库中,后续当服务器获取到第一图像的局部区域图像,并提取出局部区域图像的图像特征之后,可直接将该局部区域图像的图像特征与所有已存储的第二图像的图像特征进行比较。

其中,基于全卷积孪生神经网络模型,提取局部区域图像的图像特征以及第二图像的图像特征,具体包括:

基于全卷积孪生神经网络模型,对局部区域图像进行至少一次卷积处理和至少一次池化处理,得到局部区域图像的图像特征;以及,对第二图像进行至少一次卷积处理和至少一次池化处理,得到第二图像的图像特征。

这里,经过卷积处理和池化处理后输出的图像特征,即为若干个尺寸相同的特征图(feature map)。并且,进行卷积处理或池化处理时,每一个卷积层或池化层所使用的卷积核的尺寸以及所用的卷积核的个数等参数可经由全卷积孪生神经网络模型的模型训练过程预先配置。

需要说明的是,全卷积孪生神经网络模型中的每一个卷积层和每一个池化层的输入和输出均有一个或多个特征图,在每一个卷积层中经过卷积处理输出的特征图的数量与输入的特征图的数量以及该卷积层的色彩通道数相关,而该卷积层的色彩通道数与该卷积层所使用的卷积核的个数相关。比如,对于256*256的彩色图像来说,通过输入层进行图像处理后,由于输入层的色彩通道有3个,可得到分别包括红色元素、绿色元素、蓝色元素的3张图像。进而假设第一个卷积层中针对每一个色彩通道中的图像,使用16个3*3的卷积核进行卷积处理,可输出16个特征图,那么在3个色彩通道中共有16*3个特征图,将3个色彩通道中生成的特征图相加合并,最终可得到16个特征图。

步骤102:基于提取出的图像特征,生成得分图。

其中,得分图中每一点均可对应输入的第二图像中指定尺寸的像素点,并且得分图中每一点也与第二图像中像素点所对应的图像特征相对应。该得分图中每一点均标记有得分值。其中,由得分图中指定数量的点所组成的区域块与局部区域图像的尺寸相同。

在具体实施中,可将局部区域图像的图像特征与第二图像的图像特征进行卷积运算,进而将卷积运算后输出的结果作为得分图。

步骤103:根据得分图中指定数量的点的得分值总和,确定得分图中与局部区域图像相关联的区域块。

在具体实施中,可将得分图划分为由指定数量的点所组成的至少一个区域块,并计算所述至少一个区域块中指定数量的点的得分值总和,进而将至少一个区域块中得分值总和最高的区域块,确定为得分图中与局部区域图像相关联的区域块,那么确定出的该区域块所在位置可以理解为局部区域图像映射到得分图中最可能出现的位置。

较佳地,为了准确且快速的判别出第二图像是否为与第一图像相似的图像,可在判定与局部区域图像相关联的区域块时,设定判定条件。具体可包括:在计算出至少一个区域块中指定数量的点的得分值总和之后,判断至少一个区域块中得分值总和最高的区域块的得分值总和是否大于设定阈值,若是,则将得分值总和最高的区域块确定为得分图中与局部区域图像相关联的区域块;若否,则确定得分图中没有与局部区域图像相关联的区域块。进一步地,若确定得分图中没有与局部区域图像相关联的区域块,则后续无需进行相似度计算,便可确定第二图像并非与第一图像相似的图像。

步骤104:在判定第二图像中与确定的区域块对应的图像特征和局部区域图像的图像特征之间的相似度大于设定阈值时,确定第二图像为与第一图像相似的图像。

这里,第二图像中与确定的区域块对应的图像特征和局部区域图像的图像特征之间的相似度计算,可基于余弦相似度算法来分析。关于余弦相似度算法具体可参见现有技术,这里不再详述。当然,具体实施时,也可根据其它图像相似度算法来分析,本申请对此不做限定。

并且,具体实施中,在确定与第一图像相似的图像时,还可以将预先存储的至少一个第二图像的图像特征,依次与第一图像的局部区域图像的图像特征进行分析比较,最终分别得出至少一个第二图像中与确定的区域块对应的图像特征和局部区域图像的图像特征之间的相似度,在确定出相似度大于设定阈值后,即确定出与第一图像相似的第二图像之后,可将多张第二图像对应的相似度按照由高至低的顺序进行排序,并将相似度排序靠前的若干个第二图像,作为以图搜图的搜索结果。当然,具体实施中,还可以根据实际需求,配置其它筛选条件,这里不再详述。

此外,采用本申请实施例所提供的上述方案也同样适用于图像中局部区域图像发送位置偏移的情况。比如,若搜索条件中输入的第一图像与预先存储的第二图像为同一辆汽车,但两张图像中车辆中纸巾盒的摆放位置不同,那么若按照现有技术中将两张图像的相对位置区域一一进行比对的方式,比较出的结果很可能会得出第二图像不与第一图像相似,出现误判。而本申请实施例中,是先从得分图中搜索与局部区域图像相关联的区域块,该区域块可以是在得分图中的任一区域,相应地,该区域块映射到第二图像上也可以是第二图像上的任一区域对应的图像特征,并且第二图像中与该区域块对应的图像特征可以看做是与第一图像的局部区域图像的图像特征最为相似的部分,进一步地通过判定第二图像中与该区域块对应的图像特征和局部区域图像的图像特征之间的相似度是否满足设定条件,确定第二图像是否为与第一图像相似的图像,由此可见本申请实施例中通过弱化两张图像的相对位置区域之间的相似度比较,而是先标定与局部区域图像相关联的区域块,进而针对该区域块对应的图像特征与局部区域图像的图像特征进行相似度比较,可以使以图搜图的搜索结果更为精确。

此外,在将全卷积孪生神经网络模型实际投入使用之前,还需对全卷积孪生神经网络模型进行模型训练,下面对模型训练的具体过程进行介绍。

以同一物体的不同图像作为训练样本集合,从训练样本集合中获取图像中局部区域图像作为全卷积孪生神经网络模型的第一输入图像、以及获取图像作为全卷积孪生神经网络模型的第一输入图像,对全卷积孪生神经网络模型进行模型训练。其中,第一输入图像和第二输入图像可以是从训练样本集合中随机获取的。在判定所述全卷积孪生神经网络模型输出的得分图满足预设条件时,确定全卷积孪生神经网络模型训练完成。

具体地,可以使用当前的配置参数分别提取第一输入图像以及第二输入图像的图像特征,并基于提取的图像特征,生成得分图。其中,这里所述的配置参数即为全卷积孪生神经网络所需的配置参数,具体可包括卷积处理所需参数、池化处理所需参数以及生成得分图所需参数等。

进一步地,计算生成的得分图中每一点的得分值与预设的期望得分值之间的损失值。这里,损失值可以理解为全卷积神经网络的输出结果与人工标定的期望得分值结果之间的误差。具体地,得分图中每一点的损失值的计算可参照公式2:

l(y,v)=log(1+exp(-yv)) 公式2

其中,y为预设的人工标记的得分图中任一点的期望得分值,y∈{+1,-1},v为全卷积孪生神经网络模型中最终输出的得分图中任一点的得分值,v∈R。在模型训练过程中,该得分值v的取值会逐渐趋于+1或-1。

其中,若得分图中任一点的得分值为+1,则说明得分图中该点所在位置对应的第二输入图像中的图像特征为第一输入图像对应的图像特征;若得分图中任一点的得分值为-1,则说明得分图中该点所在位置对应的第二输入图像中的图像特征不为第一输入图像对应的图像特征。例如,参照图2a所示,模型训练时第二输入图像为如图所示的车辆图,第一输入图像为图中标记的局部区域图像1,即纸巾盒所在区域图片,那么最终输出的得分图如图2b所示,假设得分图中各点得分值为期望得分值,该得分图中区域1中各点的得分值标记为+1,其它区域中各点的得分值标记为-1。再比如,假设第一输入图像为图中标记的局部区域图像2,即挂坠所在区域图片,则最终输出的得分图如图2c所示,区域2中各点的得分值标记为+1,其它区域中各点的得分值标记为-1。

进一步地,在计算出得分图中每一点对应的损失值之后,进而可计算得分图中各点对应的损失值之间的平均值,并将计算出的平均值确定为得分图的损失值。具体地,得分图的损失值的计算可参照公式3:

其中,D为一张得分图的得分个数,也即得分图中点的个数。y[u]、v[u]代表得分图中每个点对应的y和v的值。

进一步地,判断得分图的损失值是否在设定范围内;

若是,则确定全卷积孪生神经网络模型训练完成。

若否,则对当前的配置参数进行调整,将调整后的配置参数作为下一次获取图像特征以及生成得分图所使用的配置参数。

具体地,模型训练过程中为使得分图的损失值降低至最小,即,使全卷积孪生神经网络中输出结果与人工标定的期望得分值结果之间的误差降到最小,可调整全卷积孪生神经网络所需的配置参数,将得分图的损失值控制在较小的设定范围内。其中,可参照现有的神经网络梯度反向传播算法训练配置参数。并且,在训练过程中为方便训练收敛,还可以引入现有的神经网络中其它的训练算法来作为辅助策略,其中,辅助策略包括但不限于softmax loss、center loss、triplet loss等。

下面,结合上述具体实施方式,以卡口处拍摄的车辆图像为例,对实施例一所提供的以图搜图的方法进行进一步介绍。

假设预先存储的卡口处所拍摄的车辆图像的尺寸已归一化为256*256,并且用户上传了一张尺寸为256*256的车辆图像,并从中抠取出尺寸为48*48的局部区域图像作为以图搜图的检索条件。那么,参照图3所示,以本地存储的256*256的车辆图像以及48*48的局部区域图像分别作为全卷积孪生神经网络模型的输入图像A和输入图像B,其中,A和B中图像具有3个色彩通道。

进一步地,分别提取输入图像A以及输入图像B的图像特征(即图中所示的α过程,包括至少一次卷积处理和至少一次池化处理)。其中,图像A和图像B的图像特征的提取分别在全卷积孪生神经网络的两个网络分支上进行,具体可执行为:在卷积层1中,针对输入的A和B中每一个色彩通道的图像,使用16个3*3的卷积核,以1像素作为卷积处理的步长(stride)并使用1像素填充原图像,分别进行卷积处理,输出结果分别为16张256*256的特征图,以及16张48*48的特征图;在池化层1中,针对每一张特征图,使用32个2*2的卷积核,以2像素作为池化处理的步长,分别进行池化处理,输出结果分别为16张128*128的特征图,以及16张24*24的特征图;以此类推,分别使用上述卷积层1和池化层2所用参数,在经过卷积层2、池化层2、卷积层3、池化层3、卷积层4、池化层4的卷积处理和池化处理后,最终图像A对应输出的图像特征为128张16*16的特征图,图像B对应输出的图像特征为128张3*3的特征图。

进一步地,将图像A对应的128张16*16的特征图与图像B对应的128张3*3的特征图进行卷积运算(即图中所示的β过程),最终可得到一张16*16的得分图。其中,得分图中每一点对应着原始输入的256*256的图像A中16*16的像素点,相应地,原始输入的48*48的图像B对应着得分图中由3*3个点组成的区域块。

进一步地,可在得分图中查找到3*3个点的得分值最高的区域块,将得分值最高的区域块确定为得分图中与图像B相关联的区域块。

进一步地,可将得分值最高的3*3个点所表征的位置区域映射回图像A对应的特征图中。这里,图像A的图像特征可以看做是128张16*16的特征图,得分图上3*3的位置区域映射回A的特征图,则可以得到128张3*3的特征图。而图像B的图像特征也为128张3*3的特征图,进而可将得分图上3*3的位置区域对应的128张3*3的特征图,与图像B的128张3*3的特征图上的特征进行相似度计算,得出图像A和图像B的相似度。

进一步地,若计算出的相似度大于设定阈值,则可以确定图像A为与图像B相似的图像。进一步地,针对确定的与图像B相似的多张图像A,可将多张图像A对应的相似度按照由高至低的顺序进行排序,并将相似度排序靠前的若干个图像A,作为以图搜图的搜索结果,展示给用户。

基于同一申请构思,本申请实施例中还提供了一种与以图搜图的方法对应的以图搜图的装置,由于该装置解决问题的原理与本申请实施例中以图搜图的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

如图4所示,为本申请实施例二提供的以图搜图的装置的结构示意图,包括:

提取模块41,用于将获取的第一图像中的局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中,基于所述全卷积孪生神经网络模型,分别提取所述局部区域图像的图像特征以及所述第二图像的图像特征;

生成模块42,用于基于提取出的图像特征,生成得分图;其中,所述得分图中每一点对应着第二图像中指定尺寸的像素点,每一点标记有得分值;并且,由所述得分图中指定数量的点所组成的区域块与所述局部区域图像的尺寸相同;

第一确定模块43,用于根据所述得分图中指定数量的点的得分值总和,确定所述得分图中与所述局部区域图像相关联的区域块;

第二确定模块44,用于在判定所述第二图像中与确定的区域块对应的图像特征和所述局部区域图像的图像特征之间的相似度大于设定相似度阈值时,确定所述第二图像为与所述第一图像相似的图像。

进一步地,所述第一确定模块43具体用于:

将所述得分图划分为由指定数量的点所组成的至少一个区域块;

计算所述至少一个区域块中指定数量的点的得分值总和;

将所述至少一个区域块中得分值总和最高的区域块,确定为所述得分图中与所述局部区域图像相关联的区域块;或,

在计算出所述至少一个区域块中指定数量的点的得分值总和之后,所述方法还包括:

在判定所述至少一个区域块中得分值总和最高的区域块的得分值总和大于设定得分值阈值时,将所述得分值总和最高的区域块确定为所述得分图中与所述局部区域图像相关联的区域块。

进一步地,所述提取模块41具体用于:

基于所述全卷积孪生神经网络模型,对所述局部区域图像进行至少一次卷积处理和至少一次池化处理,得到所述局部区域图像的图像特征;以及,

对所述第二图像进行至少一次卷积处理和至少一次池化处理,得到所述第二图像的图像特征;

基于提取出的图像特征,生成得分图,具体包括:

将所述局部区域图像的图像特征与所述第二图像的图像特征进行卷积运算;

将卷积运算后输出的结果作为得分图。

进一步地,所述装置还包括:

训练模块45,用于在将所述局部区域图像以及预先存储的第二图像输入全卷积孪生神经网络模型中之前,以同一物体的不同图像作为训练样本集合,从训练样本集合中获取图像中局部区域图像作为全卷积孪生神经网络模型的第一输入图像、以及获取图像作为全卷积孪生神经网络模型的第一输入图像,对所述全卷积孪生神经网络模型进行模型训练;

在判定所述全卷积孪生神经网络模型输出的得分图满足预设条件时,确定所述全卷积孪生神经网络模型训练完成。

进一步地,所述训练模块45具体用于:

使用当前的配置参数分别提取第一输入图像以及第二输入图像的图像特征,并基于提取的图像特征,生成得分图,其中,所述配置参数包括卷积处理所需参数、池化处理所需参数以及生成得分图所需参数;

计算生成的得分图中每一点的得分值与预设的期望得分值之间的损失值;

计算所述得分图中各点对应的损失值之间的平均值,并将所述平均值确定为所述得分图的损失值;

判断所述得分图的损失值是否在设定范围内;

若是,则确定所述全卷积孪生神经网络模型训练完成;

若否,则对所述当前的配置参数进行调整,将调整后的配置参数作为下一次获取图像特征以及生成得分图所使用的配置参数。

本申请实施例还提供一种电子设备,包括:一个或多个处理器;以及一个或多个计算机可读介质,所述可读介质上存储有用于执行以图搜图的方法的程序,其中,所述程序被所述一个或多个处理器执行时,实现如实施例一中任一所述的方法的步骤。

本申请实施例还提供一个或多个计算机可读介质,所述可读介质上存储有用于执行以图搜图的方法的程序,其中,所述程序被一个或多个处理器执行时,使得通信设备执行如实施例一中任一所述的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号