融合注意力机制的深度哈希图像检索方法

2024-01-01 00:00:00金川付小思
荆楚理工学院学报 2024年4期
关键词:图像检索卷积神经网络

摘要:传统的基于深度哈希图像检索方法在获取图像的特征信息时,会关注到部分冗余信息,影响最终的图像检索精度。针对上述问题,提出一种应用于卷积神经网络中的融合跨维度交互注意力机制模块,该模块可以提高网络的性能,学习到更多有利于图像检索的特征信息。在深度哈希图像检索任务中,选用VGG16与ResNet18两种经典模型作为图像检索的基础模型,加入注意力模块并且重新设计哈希码目标损失函数后,在CIFAR-10和NUS-WIDE数据集上进行了对比实验,实验结果表明添加了注意力机制后的图像检索精度有较大提高,验证了所提出方法的有效性。

关键词:图像检索;注意力模块;卷积神经网络;深度哈希

中图分类号:TP391" " " 文献标志码:A" " " 文章编号:1008-4657(2024)04-0033-07

0" " " " 引言

深度哈希图像检索方法是将哈希方法与卷积神经网络CNN(Convolutional" Nerual" Network)相结合,利用CNN学习到更多更丰富的图像特征信息,在特征提取的同时进行哈希码的学习,最终生成图像特征哈希码。经典的基于CNN的深度哈希算法是CNNH(Convolutional" Nerual" Network" Hashing)[ 1 ],它先学习哈希码再利用CNN学习到图像的深度特征,最后对二进制代码进行拟合[ 2 ]。2016年,Li Wujun等[ 3 ]提出深度成对监督哈希方法(Deep" Supervised" Hashing" with" Pairwise" Labels,DPSH),利用成对标签指导哈希码的生成,并通过端到端的监督学习生成保持相似性的哈希码。同样使用了成对标签信息的哈希方法还有深度离散监督哈希算法(Deep" Supervised" Discrete" Hashing,DSDH)[ 4 ]。Zheng" Xiangtao等[ 5 ]提出了一种深度平衡离散哈希方法(Deep" Balanced" Discrete" Hashing,DBDH),使用直通估计器(Straight-through" Estimator,STE)与离散梯度传播计算离散值,来提高图像检索性能。

但已有的基于深度哈希图像检索方法利用卷积神经网络获取图像特征语义信息时得到的是全局特征信息,其中存在部分与目标特征信息无关的区域,不利于最终的检索任务。因此,为了提升模型的特征提取性能,有些文献引入了注意力机制。注意力机制的优点是在复杂的视觉信号中捕捉有效的特征信息,并通过权重分配,给重要的特征信息赋予更多的权重值,进而达到提高神经网络模型的特征表示能力的目的[ 6 ]。

Jie" Hu等[ 7 ]首先提出了通道注意力的概念,并提出了SENet(Squeeze-and-Excitation" Networks),其核心是通过挤压和激励块(SE模块)来对全局空间信息进行压缩并捕获通道关系,给不同的通道分配不同的权重。Sanghyun" Woo等[ 8 ]提出了CBAM(Convolutional" Block" Attention" Module),将通道注意力和空间注意力串联起来,强调有效的通道信息并增强了信息丰富的空间区域。Misra D等[ 9 ]提出了三重注意力,有效捕捉了具有丰富判别性的特征表示。Yang L等[ 10 ]将数学与神经科学理论相结合,在不引入额外参数情况下得到了输入图的3D注意力权重,提高了许多卷积网络的特征表达能力。

为了降低网络模型对冗余特征信息的关注度,并从海量数据中筛选出高质量的图像语义信息,本文提出一种融合跨维度交互注意力机制的模块。

1" " " " 跨维度交互的注意力机制结构

已有的计算通道注意力方法通常是计算权重值,再利用此权重统一分配给输入特征图,进而捕捉重要的特征信息。但是,在计算通道注意力的权重值时,通常会在空间维度上引入全局平均池化将输入图像张量分解成单个像素通道,单通道的计算过程使得空间和通道两个维度的相互依赖性丢失,造成部分信息受到忽略。在文献[ 9 ]中提到,虽然常见的混合注意力机制将空间注意力和通道注意力进行结合,但其设计过程中仍然存在一个问题,空间注意力与通道注意力模块是独立分开的。本文引入的跨维度交互注意力机制由三个分支组成,其整体结构如图1所示。

给定一张大小为C × H × W的输入特征图,注意力机制的顶部分支负责计算通道维度C和空间维度W上的交互作用以及注意力权重,依此,中间分支负责计算通道维度C和空间维度H上的交互作用以及权重,底部的分支则用于捕获空间维度H和W的相关性,即一个传统的独立的空间注意力分支。在前两个分支中,通过旋转和残差变换操作建立不同维度之间的依存关系,最后将三个分支的权重值取平均值,即得到最终的注意力权重。文本中将上述跨维度交互的注意力模型称为CDAM(Cross Dimension Attention Module)。

每一个分支中都有一个Z - pool层,这一层是对输入进行平均池化和最大池化,并将两个结果聚集连接在一块,保留特征张量的丰富表示。与此同时,这一过程也使得将输入张量的通道维度降至为2维。Z - pool层的数学表示如公式(1)所示。

Z - pool = [Maxpool0d(x),Avgpool0d(x)](1)

其中,0d是平均池化和最大池化操作中的第0维度,一个大小为C × H × W的输入张量经过Z - pool层之后会变成一个大小为2 × H × W的张量。

下面详细介绍三个分支的具体计算过程。

1)第一分支用于捕获通道维度C和空间维度H的交互依赖性。先对输入特征图进行旋转操作,让其沿着H轴逆时针旋转90°,使得特征图的大小形状变为W × H × C。接着经过Z - pool层,其大小形状变为2 × H × C。然后通过一个核大小为7 × 7的卷积层和BN(Batch Normalization)层,并使用Sigmoid激活函数得到相应的注意力权重值。最后沿着轴顺时针旋转90°对其进行残差变换,再将注意力权重值乘以原始的特征图,从而得到与原始特征图大小一致的C × H × W的特征图。其中Z - pool层、卷积层、BN层以及激活层在每一个分支中重复利用,这三个步骤的具体计算过程如公式(2)所示。

Fattention" =" σ[BN(conv7 × 7(Cat([Maxpool0d(x),Avgpool0d(x)])))](2)

其中,Cat(·)操作表示将特征图在通道维度进行拼接,conv(·)是卷积操作,BN(·)操作表示归一化,用于调整上一层的输出分布情况,为后续的激活过程做铺垫,σ(·)操作表示Sigmoid激活函数,其作用是将计算的权重值约束在(0,1)之间。

2)第二分支用于捕获通道维度C和空间维度W的交互依赖性。先让输入的特征图沿着W轴逆时针旋转90°,得到大小为H × C × W的特征图。接着经过Z - pool层、卷积层、BN层和激活层,再通过绕着W轴顺时针旋转90°,得到与原始特征图大小一致的特征图。

3)第三分支为空间注意力的计算,即空间维度H和W的交互依赖性。输入特征图经过Z - pool层、卷积层、BN层以及激活层生成空间注意力权重值,将权重乘以原始特征图得到大小形状为C × H × W的特征图,保持与输入特征图一致。

总之,对于一个输入张量x∈RC × H × W,经过此跨维度交互的三重注意力后获得精细注意力张量y的过程可以由公式(3)表示。

y = () + () + xσ(φ3()))(3)

其中,与表示90°逆时针旋转后的张量,、 与表示经过Z - pool层之后的张量,σ(·)表示Sigmoid激活函数,φ1(·)、φ2(·)、φ3(·)表示卷积操作与BN批量归一化操作。其简化公式如公式(4)所示。

y = ( + "+ xω3) = ( + "+ y3)(4)

其中,ω1、ω2和ω3是三个分支的注意力权重(取值范围0到1),y1和y2表示经过90°顺时针旋转后的张量,与原始输入保持一致的C × H × W的形状。

在进行卷积操作时,卷积核的大小会影响获得的感受野。本文采用了ECA(Efficient Channel Attention)通道注意力模块[ 11 ]中的动态卷积核。ECA的卷积核大小自适应函数如公式(5)所示。

k = ψ(C) = "+ (5)

其中,C表示输入特征图的通道数,| t |odd表示离 t最近的奇数。γ与b的作用是调节通道数C与卷积核大小 k之间的比例,γ设置为2,b设置为1。

2" " 融合注意力机制的深度哈希图像检索

深度哈希图像检索主要是利用卷积网络模型提取图像特征,这个图像特征表示往往是高维的,再通过哈希编码生成低维的二进制编码表示,并通过设计损失函数来降低编码误差,最后通过度量图像间的距离检索出目标图像。图2展示了深度哈希方法的基本框架结构。

本文选用VGG16与ResNet18两种经典模型作为深度哈希图像检索方法中的CNN模型,将本文研究的注意力模块添加到这两个模型中去,针对不同CNN模型中不同的通道数生成不同大小的卷积核来捕获通道之间的交互信息,注意力模块可以灵活应用到CNN模型的不同层中。

本文将CDAM模块放在VGG16模型的第四层和第五层卷积模块之后,构成VGG-CDAM模块,模型结构如图3所示。对于ResNet18模型,本文将CDAM模块放在ResNet18模型的卷积层最后一层之后,构成ResNet-CDAM模块,模型结构如图4所示。

本文的哈希编码学习将通过一个含有K个隐藏的全连接层完成,替换VGG16和ResNet18网络的最后一个全连接层,此全连接层通过Tanh激活函数将上一层的高维特征向量映射为k位哈希码,将网络层的输出控制在[-1,1]之间,即近似阈值化过程,最后得到一个近似二进制编码ui。

为了学习到保留图像特征相似性的哈希码,本文使用了文献[ 3 ]中LS提出的二元组损失函数来对样本对进行监督学习,利用标签对来约束哈希层中哈希码学习过程,减少其产生的哈希码误差,生成高质量的哈希码。对于两个输入样本xi和xj,其二进制哈希码为bi和bj,两者的汉明距离与内积之间的线性关系如公式(6)所示。

distH(bi,bj) = (K - 〈bi,bj〉)(6)

其中,distH为二进制哈希码的汉明距离。由上述公式可知,二进制码的内积越大,其汉明距离越小,说明两幅图像越相似,反之则说明两者越不相似。

对于训练中成对的语义标签(xi,xj,sij),其中sij表示两个样本间的相似度,取值为1或0,1表示两者相似,0表示两者不相似。可以定义p(sij | bi,bj |)为基于相似标签sij的两个哈希码的条件概率,如公式(7)所示。

p(sij | bi,bj |) = σ(Ωij),sij = 11 - σ(Ωij),sij(7)

其中σ表示Sigmoid函数,Ωij = 〈bi,bj〉 = bbj。结合公式(6)可以看出,当两幅图像哈希码的汉明距离越小,其内积越大,值越大,p(1 | bi,bj)即两幅图像越相似;反之,p(0 | bi,bj)值越大,两幅图像越不相似。

本文的目标损失函数可以定义为公式(8)。

minL = -log p(S | B) = -Σsij∈S p(sij | bi,bj) = -Σsij∈S(sijΩij - log(1 + e))(8)

在实际训练中并没有直接使用(bi,bj),而是使用Tanh函数得到一个近似二进制码,将{-1,1}松弛到[-1,1],因此,目标函数可以表示为:

minL = -Σsij∈S(sij ?覬ij - log(1 + e))(9)

其中,?覬ij" = uuj,ui为训练中通过Tanh函数得到的向量。输出的二进制码bi通过sgn符号函数得到,即bi = sgn(ui)。

为了生成更紧凑的哈希码,让原本相似的两幅图像的哈希码之间的距离更近,不相似图像的哈希码间的距离更远,本文在设计的损失函数上添加一个正则项进行约束。优化后的目标损失函数定义如下:

minL = -Σsij∈S(sij ?覬ij - log(1 + e)) + aΣ‖bi - ui‖(10)

其中,a为超参数,取值为0.1。

3" " 实验与分析

3.1" " 实验数据集

实验中使用了CIFAR-10数据集[ 12 ]与NUS-WIDE数据集[ 13 ]两个标准数据集。

CIFAR-10数据集:该数据集是一个有着60 000张彩色图像的标准图像数据集,每张图像的大小是32 × 32,共有十种类别,包括“airplane”“bird”“ship”等类别标签。该数据集将数据平均分配给10个类别,合计60 000幅图像。本文用CIFAR-10数据集中的50 000张图像作为训练集,10 000张图像作为测试集。

NUS-WIDE数据集:该数据集来自Flickr.com,是一个公共网络图像数据集,共有269 648张图像。此数据集包括81个类别标签,包括“sky”“airport”“car”等。这是一个多标签数据集,每张图像带有一个标签或者多个标签,合计195 834幅图像。本文用NUS-WIDE数据集中的100 000张图像作为训练集,90 000张图像作为测试集。

3.2" " 实验性能评估标准

本文使用图像检索任务中常用的平均精度均值(mean Average Precision,mAP)作为图像检索性能的评估标准。平均精度均值mAP是指平均检索正确率(Average Precision, AP)的均值,AP和mAP的计算公式如公式(11)和公式(12)所示。

APq = ΣPq(r)R(r)(11)

mAP = ΣAPq(12)

在公式(11)中,q表示检索中的查询图像,len(q)表示整个查询结果中与查询图像q相似的样本总体数,N为整个查询集大小。Pq(r)表示前r个图像中返回的正确率,R(r)表示第r个返回图像与查询图像的相似情况,只能取0或1,1代表相似,0代表不相似。在公式(12)中,Q表示数据集中总类别数。

3.3" " 实验训练环境与参数设置

本文深度哈希网络模型是在PyTorch1.9.1的深度学习框架下搭建的,使用的CNN模型是VGG16与ResNet18,ResNet18使用了在ImageNet数据集上的预训练参数。本文模型在英伟达Tesla P100 GPU机器上进行预训练的,两个模型的训练中共160个epoch,设置的最小批次是64。使用的优化器是SGD(Stochastic Gradient Descent),初始学习率设为0.001,权值衰减率设为5 × 10-5,动量设为0.9。

3.4" " 实验结果与分析

本文选择了一些经典的哈希方法和近年来提出的深度哈希方法与本文的方法进行对比,其中SDH[ 14 ]和KSH[ 15 ]是经典的哈希方法,DHN[ 16 ]、IDHN[ 17 ]、DPN[ 18 ]和DBDH[ 5 ]是深度哈希方法,结果如表1所示。

由表1中的数据结果可以看出,在CIFAR-10和NUS-WIDE数据集上,本文提出的CDAM-DH方法相比于其他哈希方法有更好的检索结果。与对比哈希方法中最好的结果相比,本文的VGG-CDAM_DH方法和ResNet-CDAM-DH方法在CIFAR-10数据集上检索精度分别提升了4.65%和4.18%,在NUS-WIDE数据集上分别提升了2.35%和2.28%。

不同模型在2个数据集上的mAP如表2所示。

由表2的结果可以看出,在VGG16和ResNet18网络模型中,添加了CDAM注意力模块的深度哈希方法相比于未添加CDAM注意力模块的深度哈希方法,在CIFAR-10和NUS-WIDE数据集上都有更高的检索精度。

4" " 结论

深度哈希图像检索的方法是将哈希方法与CNN结合,利用CNN学习更多更丰富的图像特征信息,在特征提取的同时进行哈希码的学习,进而生成图像特征的哈希码。在深度哈希图像检索方法中,为了获得更好的图像检索精度,将本文研究的跨维度交互的注意力模块应用到CNN模型中,可以得到更多有利于图像检索的重要特征信息,进而提升图像检索精度。为了不降低生成的哈希编码精度,本文重新设计了哈希码目标损失函数。在两个标准数据集上的实验结果表明,注意力模块的加入能有效提高传统深度哈希图像检索方法的图像检索精度。

参考文献:

[1]Xia R,Pan Y,Lai H,et al. Supervised hashing for image retrieval via image representation learning[C]. Proceedings of the AAAI Conference on Artificial Intelligence,2014, 28(1):2156-2162.

[2]刘颖,程美,王富平,等.深度哈希图像检索方法综述[J].中国图象图形学报,2020,25(7):1296-1317.

[3]Li Wujun,Wang Sheng,Kang Wangcheng. Feature learning based deep supervised hashing with pairwise labels[C]. Proceedings of the 25th International Joint Conference on Artificial Intelligence,2016:1711-1717.

[4]Li Q,Sun Z,He R,et al. Deep supervised discrete hashing[C]. Proceedings of the 22nd Advances in Neural Information Processing Systems,2017,30:2482-2491.

[5]Zheng Xiangtao,Zhang Yichao,Lu Xiaoqiang. Deep balanced discrete hashing for image retrieval[J]. Neurocomputing,2020, 403:224-236.

[6]Dzmitry Bahdanau,Kyunghyun Cho,Yoshua Bengio. Neural machine translation by jointly learning to align and translate[J]. arXiv preprint arXiv:1409.0473,2014.

[7]Jie Hu,Shen Li,Albanie Samuel,et al. Squeeze-and-excitation networks[C]. Proceedings of the IEEE Transactions on Pattern Analysis and Machine Intelligence,2020,42(8):2011-2023.

[8]Sanghyun Woo,Park Jongchan,Lee Joon-Young,et al. CBAM:Convolutional block attention module[C]. Proceedings of the European Conference on Computer Vision,2018:3-19.

[9]Misra D,Nalamada T,Arasanipalai A U,et al. Rotate to attend:convolutional triplet attention module[C]. Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision,2021:3139-3148.

[10]Yang L,Zhang R Y,Li L,et al. SimAM:a simple, parameter-free attention module for convolutional neural networks[C]. Proceedings of the 38th International Conference on Machine Learning,2021:11863-11874.

[11]Wang Qilong,Wu Banggu,Zhu Pengfei,et al. ECA-net:efficient channel attention for deep convolutional neural networks[C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,2020:11531-11539.

[12]Krizhevsky A,Hinton G. Learning multiple layers of features from tiny images[J]. Handbook of Systemic Autoimmune Diseases,2009,1(4):1152-1158.

[3]Chua T S,Tang J,Hong R,et al. NUS-WIDE:a real-world web image database from national university of singapore[C]. Proceedings of the ACM International Conference on Image and Video Retrieval,2009:1-9.

[14]Shen Fumin,Shen Chunhua,Liu Wei,et al. Supervised discrete hashing[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2015:37-45.

[15]Wei Liu,Wang Jun,Jiang Rongrong,et al. Supervised hashing with kernels[C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2012:2074–2081.

[16]Zhu Han,Long Mingsheng,Wang Jianmin,et al. Deep hashing network for efficient similarity retrieval[C]. Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence,2016,30(1):2415-2421.

[17]Zhang Zheng,Zou Qin,Lin Yuewei,et al. Improved deep hashing with soft pairwise similarity for multi-label image retrieval[J]. IEEE Transactions on Multimedia,2020,22(2):540-553.

[18]Fan L,Ng K W,Ju C,et al. Deep polarized network for supervised learning of accurate binary hashing codes[C]. Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence,2020:825-831.

Deep Hash Image Retrieval Method Integrating

Attention Mechanism

JIN" Chuan1, FU" Xiaosi2

(1. School of Art and Design, Anhui Broadcasting Movie and Television College, Hefei 230001, China;

2. School of Computer, Central China Normal University, Wuhan 430001, China)

Abstract:Traditional deep hash-based image retrieval methods focus on some redundant information when obtaining feature information of images, which affects the final image retrieval accuracy. In response to the above issues, this article proposes a fusion cross dimensional interactive attention mechanism module, which can be applied to convolutional neural networks to improve network performance and learn more feature information that is conducive to image retrieval. In the deep hash image retrieval task, two classic models, VGG16 and ResNet18, were selected as the basic models for image retrieval. After adding an attention module and redesigning the hash code target loss function, comparative experiments were conducted on the CIFAR-10 and NUS-WIDE datasets. The experimental results showed that the addition of attention mechanism significantly improved the accuracy of image retrieval, verifying the effectiveness of the proposed method.

Key words:image retrieval;attention module;convolutional neural network;deep hash

猜你喜欢
图像检索卷积神经网络
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
图像特征在区域范围内提取方法的研究
基于Hadoop平台的图像检索模型
基于深度卷积神经网络的物体识别算法
基于颜色特征的行李箱检索系统设计与实现
软件导刊(2016年11期)2016-12-22 21:42:53
深度学习算法应用于岩石图像处理的可行性研究
软件导刊(2016年9期)2016-11-07 22:20:49
基于深度卷积网络的人脸年龄分析算法与实现
软件工程(2016年8期)2016-10-25 15:47:34
基于卷积神经网络的树叶识别的算法的研究
基于内容的图像检索算法技术研究