基于异构双线性注意力网络的图像检索方法

文档序号:1771883 发布日期:2019-12-03 浏览:14次 >En<

阅读说明:本技术 基于异构双线性注意力网络的图像检索方法 (Image search method based on isomery bilinearity attention network ) 是由 王鹏 苏海波 于 2019-07-30 设计创作,主要内容包括:本发明涉及一种基于异构双线性注意力网络的图像检索方法,该网络有两个专门的分支,一个提供关键区域位置信息,而另一个则提供属性级的描述。两个分支的输出结果通过一个基于注意力机制的双线性模块整合成一个图像级的表征。使用两个辅助性的任务来预训练这两个分支以确保这两个分支有能力实现关键区域定位和属性描述。第一个支路采用hour-glass网络来实现关键区域检测的任务;第二个支路采用Inception-Resnet-v2网络来实现属性预测。本发明使用两支路共同驱动的channel-wise的注意力机制对两支路的输出表征的通道进行加权,然后将加权后的表征使用紧凑型双线性池化的方法整合成最终的图像级的表征。然后通过计算不同图像的表征之间的欧式距离并排序,从而得到最终的检索结果。(The present invention relates to a kind of image search method based on isomery bilinearity attention network, there are two special branch, an offer critical zone locations information for the network, and another then provides the description of property level.The output result of Liang Ge branch passes through the module integrated characterization at an image level of a bilinearity based on attention mechanism.Come the two branches of pre-training using two complementary tasks to ensure that the two branches have the ability to realize key area positioning and attribute description.First branch realizes the task of key area detection using hour-glass network;Second branch realizes attribute forecast using Inception-Resnet-v2 network.The attention mechanism for the channel-wise that the present invention is driven jointly using two branches is weighted the channel of the output characterization of two branches, then the characterization after weighting is integrated into the characterization of final image level using the method in compact bilinearity pond.Then the Euclidean distance between the characterization by calculating different images and sequence, to obtain final search result.)

基于异构双线性注意力网络的图像检索方法

技术领域

本发明属基于内容的图像检索领域,具体为优化异构特征的通道注意力机制以及对优化后的两异构支路特征交互建模的紧凑型双线性池化的图像检索方法及系统。

背景技术

基于内容的图像检索能够有效地帮助用户从大量的图像数据库中浏览并且找到自己需要的图像。它有着很大的商业价值因此在近些年引起了很多人的研究兴趣。然而对于数据库的每张图像,它们往往是在不同的光照条件、不同的拍摄角度以及杂乱的背景下采集到的。除此之外,很多图像的差异性也往往体现在细节上,比如说一件衣服的领口样式就有很多种格式:圆领、V形领、船领等等。这些现象就给图像检索的工作带来了极大的挑战性。这些挑战可以总结为两个问题:“看哪里”和“怎么描述”。“看哪里”主要解决如何找出一个对象的关键部位。一张图像往往包含检索对象的多个关键部分,人们可以通过比较这些关键部分的视觉外观来来区分两张图像。“怎么描述”就是要描述图像的视觉内容,使检索系统摆脱光照、背景、姿态和视角等因素的影响,从而更加专注于检索目标的属性方面。

发明内容

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种基于异构双线性注意力网络框架的图像检索方法。

技术方案

一种基于异构双线性注意力网络的图像检索方法,其特征在于步骤如下:

步骤1:将一张图片经过hour-glass网络后得到一个特征图同时经过Inception-Resnet-v2网络得到另一个特征图

步骤2:对这两个特征图分别作整体平均池化,得到两个向量

va=GlobalAveragePooling(Va), (1)

vl=GlobalAveragePooling(Vl). (2)

步骤3:将va和vl拼接成一个向量,然后经过并行的两个多层感知器,从而计算出每个支路的特征图的channel-wise的注意力权重;具体计算公式如下:

这里的都是线性转换矩阵;ka和kl是投射维度,为拼接操作所以C=Ca+Cl,αa为分配给属性分类支路的channel-wise注意力权重,αl为分配给关键区域定位支路的channel-wise注意力权重;Sigmoid和Relu为常用的激活函数;

步骤4:得到两个加权的特征图然后把它们重新采样到相同的空间大小W×H;

步骤5:如果给定步骤4得到的特征图(i,j)位置上的特征向量使用count sketch函数Ψ把xij投射到目的向量这里还用到了一个符号向量和一个映射向量s中的每一个值都是从{+1,-1}中以相同的概率随机选择的;P中的每个值则是从{1,…,d}中以均匀分布的概率从中选取;count

sketch函数Ψ定义如下:

yij=Ψ(xij,s,p)=[v1,…,vd], (5)

这里的vt=∑ls[l]·xij[l],使得p[l]=t;如果把两个向量()的卷积作为count sketch函数的输入,那么这个count sketch函数可以写成把单独向量作为输入的两个count sketch函数的卷积:

这里⊙表示外积操作,*表示卷积操作;最终通过时域以及频域的转换来得到双线性特征:

其中,°为元素集的相乘;

步骤6:在训练时,把最终得到的双线性特征作ID分类训练;在测试时,计算查询图像与数据库中的图像所得到的正则化后的双线性特征,然后计算它们之间的欧式距离,即可得到最终的top-k的结果。

有益效果

本发明提出的一种基于异构双线性注意力网络的图像检索方法,得到图像的一个鲁棒的双线性特征,对于基于内容的图像检索任务,该双线性特征不仅仅解决了“看哪里”的问题,即找出图像中的关键区域,而且解决了对关键区域“怎么描述”的问题,给出了各个关键区域的属性特征。

具体实施方式

本发明的技术方案是这样的:该网络有两个专门的分支,一个提供关键区域位置信息,而另一个则提供属性级的描述。两个分支的输出结果通过一个基于注意力机制的双线性模块整合成一个图像级的表征。使用两个辅助性的任务来预训练这两个分支以确保这两个分支有能力实现关键区域定位和属性描述。第一个支路采用hour-glass网络来实现关键区域检测的任务;第二个支路采用Inception-Resnet-v2网络来实现属性预测。本发明使用两支路共同驱动的channel-wise的注意力机制对两支路的输出表征的通道进行加权,然后将加权后的表征使用紧凑型双线性池化的方法整合成最终的图像级的表征。然后通过计算不同图像的表征之间的欧式距离并排序,从而得到最终的检索结果。

具体过程如下:

1、属性分类支路预训练

给定一张图片,把图片尺寸使用双线性插值的方法调整到299×299大小。把调整后的图片输入到Inception-Resnet-v2网络,去掉Inception-Resnet-v2网络最后的两层即平均池化层和全连接层,得到网络输出的特征图,特征图大小为1536×8×8,在网络后面重新增加平均池化层和全连接层,与原网络不同的是新的全连接层输出的维度为需要分类的属性数。为了解决数据不平衡的问题,本发明挑选数量相当的属性来作预测,使用二进制交叉熵损失函数来评估多标签属性预测任务的性能,使用随机梯度下降法进行参数优化和更新。

2、关键区域定位支路预训练

给定一张图片,把图片尺寸使用双线性插值的方法调整到256×256大小。把调整后的图片输入到hour-glass网络,landmark数设置为8,即输出8个关键点的坐标,让后根据这8个关键点的坐标来生成64×64的热力图(heatmap),然后与ground truth 对应的热力图(64×64)计算归一化平均误差。训练时使用Adam优化器来更新参数。

3、数据增强

把同一张图片随机同时左右翻转、随机同时旋转一定角度θ∈[-30°,+30°],使用双线性插值的方法分别调整到299×299和256×256大小,最后归一化处理得到两个张量(299×299×3和256×256×3)。因为张量256×256×3作为关键区域定位支路的输入,所以对于原来图像对应关键点的坐标也要作相应变化。图像在作左右翻转时,图像左边点的坐标更换为对应的右边点的坐标,右边点的坐标更换为对应的左边点的坐标。随机旋转和图像大小调整时关键点的坐标也要做相应调整。

4、得到图像的支路特征

把数据预处理后得到的张量(299×299×3)输入到Inception-Resnet-v2网络得到特征图相同图像的另一个张量(256×256×3)输入到hour-glass网络得到另一个特征图

5、基于channel-wise注意力机制的特征优化

两个支路输出的特征图经过整体平均池化后,分别得到两个全局向量然后将这两个向量拼接在一起然后把这个拼接的向量经过一个全连接层和Relu层后得到一个512维的隐层,再经过一个全连接层和Sigmoid 层得到特征图的通道的权重向量对两个特征图的通道分配权重即将权重向量的每一位的权重值与相应的通道相乘,得到优化后的特征

6、双特征的紧凑型双线性池化

先将两支路优化后的特征经过平均池化后调整到相同的空间大小(8×8),取两支路特征图的(i,j)位置上的向量将这两个向量分别通过count sketch函数投射到一个d维的向量上,实验证明,d取16k时效果较好。具体过程就是:对于建立两个向量向量中的每一个值都是从 {+1,-1}中以相同的概率随机挑选初始化的,而中的每一个值则是从{1,…,16k}中以相同的概率随机挑选初始化的。把作为count sketch函数的输入。在count sketch函数中,先初始化一个向量y1=[0,…,0]16k,那么对于y1中的第i维数值可以通过以下的公式获得:使得最终得到一个投射结果y1。同理对于输入count sketch函数输出一个投射结果y2。最后对y1和y2进行时域和频域转换,得到向量Fij=FFT-1(FFT(y1)°FFT(y2))。将8×8个Fij整合成一个张量然后对F作求和池化处理即对F中的每个通道求和得到一个向量然后对这个向量f作符号化开平方根和L2范数处理,最终得到图片的双线性特征。然后对这个双线性特征进行降维,把双线性特征分别通过全连接层、批归一化层后得到最终的紧凑的双线性特征。

7、模型训练

把紧凑的双线性特征作为输入,一个全连接层作为框架,实现ID分类任务。一个ID是包含所有的正样本图片(即图片中包含相同对象),对于一个ID来说,其他ID 都是负样本。也就是把每个实例看成是一个单独的类。全连接层输出的维度等同于所有的ID数。主要损失函数使用交叉熵损失函数:

这里的x为预测向量,gt为真实标签对应的索引。还有两个辅助性的损失函数也就是属性分类支路上的多标签属性预测训练用的二进制交叉熵损失函数,以及关键区域定位支路上关键点检测的归一化平均误差函数。三个损失分配不同的权重,得到总的损失。优化器统一选用Adam优化器来计算梯度并进行反向传播。更新参数时需要设置学***稳。为了避免训练过拟合,在损失项上加上了一个约束项L2规范化。

8、模型应用

图片数据处理在这里并不需要数据增强,只需要把图像调整到299×299和 256×256大小,并且归一化即可作为属性分类支路和关键区域定位支路的输入。整个的网络模型的参数都固定不动,只要输入图像数据并向前推理即可。把模型最后得到的紧凑的双线性特征作为图像的特征,这样我们可以得到所有图像的特征向量,把这些向量经过L2范数处理后这些特征向量都可以映射到一个球面上,特征向量就可以作为度量的依据。给出一个查询图像,经过模型推理后得到查询图像的特征向量Fq,数据库图像经过模型推理后得到数据库图像的所有特征向量{F1,…,Fm},计算查询图像的特征向量Fq与所有所有特征向量{F1,…,Fm}的欧式距离:di=||Fq-Fi||2,i=1,…,m,得到D=[d1,…,dm],对D中所有值进行从高到底重新排序,top-k就是取最前面的k 个结果,对应的数据库图像即被认为是检索到的正确的结果。如果模型预测的这k个数据库图像中有与检索图像真实对应的数据库图像时,即认为本次检索成功。比如 top-5的结果为[d10,d35,d60,d61,d26],假如查询图像要检索的数据库图像为数据库中的第61号图像,则本次检索成功。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:相机定位及神经网络的训练方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!