基于内容的图像检索(Content-based Image Retrieval,CBIR)系统用于从海量数据库中检索图像,因为无需人工对图像进行注释,CIBR在许多场景下被应用,如军事,建筑设计,人脸检测系统等。CIBR是从查询图像的特征出发,通过特征匹配,从图像库中找到与之相似图像的技术。对图像进行特征提取后,对特征进行量化编码,最后通过计算编码之间的相似度,按相似度从大到小返回数据库中对应的相似图像。
在传统的CBIR方法中,通过计算机提取图像底层视觉特征(如形状、纹理、颜色直方图等),因为这些底层视觉特征大都是全局特征,所以不能满足更为复杂的检索需求。后来研究者们进行了深入研究,发现CBIR系统中最具挑战性的问题正在于不能将像素级信息与人类所感知语义信息相关联[1],存在“语义鸿沟”问题。2012年,Hinton[2]等人利用深度学习在ImageNet数据集上进行图像分类,证明基于深度学习提取的特征相较于传统图像特征能更好对图像信息进行表达。近年来,在图像领域,卷积神经网络(Convolutional Neural Network,CNN)作为深度学习的代表,在图像领域得到了广泛应用;CNN通过模仿人脑,将多个神经元组成多层神经网络,通过多层的非线性变换组合将图像底层单一特征转换为高层的抽象特征,该机制能对图像进行有效描述。基于深度学习的图像检索[3]是基于CNN进行特征提取的图像检索方法,获得了较好的检索效果。
在获取图像特征后,为了在大规模、高维度的数据下进行高效的索引,哈希算法[4]被广泛运用,它将图像特征数据量化为二进制码,在减少特征维度的同时提高了图像检索的效率,减小了在高维图像数据集中进行近邻检索的成本。一些经典的哈希算法如局部敏感哈希的投影矩阵是数据独立的,虽然相似的数据投影得到的哈希码之间汉明距离较小,但随着数据量的增长,相似图像数据的增多,这类方法的准确度并不能保证;另外一些基于数据相关的哈希算法共同点是执行主成分分析(PCA)来对特征数据维数进行压缩,然而,由于在每个PCA投影方向上的数据的方差是不同的,特别是数据在较高方差的方向上携带更多的信息,用相同的比特位对每个方向进行编码必然会产生较差的性能。为了解决此问题,多维谱哈希[5](Multidimensional Spectral Hashing,MSH)使用可分离的拉普拉斯本征函数,最终将更多的比特分配给具有更大范围的数据方;然而这种基于启发式的方法依赖于一个不现实的假设,即数据均匀地分布在高维矩形中。此外,半监督哈希[6](Semi-supervised Hashing,SSH)放宽了PCA的正交约束,允许对数据进行连续投影来捕获更多数据差异;虽然这种方法能得到较好的结果,但是优化时需要仔细地进行正则化以避免退化解。因此,以上哈希算法在对特征进行量化编码的过程中对容易损失特征信息。
针对上述对图像特征进行提取中存在的“语义鸿沟”问题和对特征进行量化编码中存在信息损失问题,提出了基于卷积神经网络与迭代量化编码的图像检索方法。首先,CNN的深层结构对图像的像素数据进行多次非线性变换,提取图像数据集中的图像特征,获得具有“语义”特征的高维特征数据;其次采用迭代量化[7](Iterative Quantization, ITQ)编码算法,不断逼近高维特征与设定比特数哈希码之间的量化误差最小值,最终得到最佳投影矩阵,实现量化过程中特征信息损失的最小化。实验结果表明,该算法的检索效果相较于其他算法有较大提高。
本文基于卷积神经网络VGG16[8]进行特征提取,该网络模型结构如图1所示。VGG16网络深度为16层,由输入RGB图像,卷积层(CONV),池化层(MAX-POOL),全连接层(FC)和Softmax层组成。从图2可知,VGG16网络包含13个卷积层与3个全连接层。该网络输入为一幅三通道、大小为224×224的图像,卷积层采用了3×3卷积核,不仅对输入图像的细小特征[9],而且具有对图像的边缘、轮廓等特征有较强识别能力[10];该网络对2个或3个卷积层进行对堆叠成为卷积块(Convolutional Block),通过使用堆叠的3×3卷积核进行卷积,可以获得与5×5或7×7卷积核相同的感受野,并且因为进行了较多次的卷积运算得使网络模型获得较好的非线性;卷积核的滑动步长为1,并在卷积后对输出矩阵的边界进行填充保证每一层特征图的大小不变;在每个卷积块后使用大小为2×2、步长为2的池化窗口特征图进行下采样,在保证平移不变性的同时输出维数;在最后一个池化层后由三个全连接层组成,通道个数分别是4096、4096和1000,大小均为1×1;最后是可对1000个标签进行分类输出的SoftMax分类器。
该网络使用Relu(Rectified linear unit)激活函数、Dropout策略来防止网络的过拟合现象。Relu激活函数是一种线性非饱和的函数,它可以减小梯度弥散问题,加快网络学习的收敛速度。公式如(1)所示:
(1)
Dropout是指在卷积神经网络的训练过程中按照一定概率将神经网络单元忽略的策略,使得在随机梯度下降过程中,每一个mini-batch[11]都相当于在训练不同的网络,因此Dropout可以有效减少过拟合,提高网络泛化性能。
本文使用的VGG16网络基于ImageNet[12]图像数据库进行训练[13],该数据库具有1000类、120万张图片,巨大的数据规模有助于普适模型的训练,因此对于ImageNet数据集外的图片进行分类也表现出了很好的泛化性能。网络训练采用批量梯度下降法进行学习,超参数设置如下:输入图像数量为256,动量为0.9,权重衰减系数为0.0005,全连接层dropout比例为0.5,初始学习率为0.01。本文提取将图像输入到训练后的VGG16网络得到的第二个全连接层4096维输出作为该图像特征。
将高维特征映射到低维空间,产生二进制编码,基于图像哈希编码之间的汉明距离进行图像检索,能大幅度降低计算代价,提高检索速度。本文采用迭代量化编码方法在保持原空间中数据点的相邻关系前提下将特征映射到低维的编码中,最大限度降低了信息的损失。
为了让不同数据的哈希编码互相垂直,并且每一比特之间的方差达到最大,令B为哈希编码向量组成的矩阵,w为特征向量,得到需要最大化的目标函数(2):
(2)
因为数据的非对称性使得上式不可求。在ITQ中,从PCA降维后数据出发和直接最小化映射量化误差的角度出发,提出将数据投影到二元高维立方体顶点中并最小化其量化误差的学习方法。目标函数和主成分分析的目标函数一样,这里用WTW=I限制哈希超平面互相垂直,这相当于对编码互相垂直的约束进行放宽。取X协方差矩阵XTX特征向量的前C个构成W。
因此基于互相垂直的哈希超平面进行哈希编码,我们首先希望最大化PCA降维后每个维度上方差达到最大,得到目标函数(3):
图1 VGG16网络结构图
Fig.1 The architecture of VGG16
图2 原数据及对数据旋转后的分布示意图
Fig.2 Illustration of original data and data after being rotated
s.t.WTW=I
(3)
为了对降维后的数据进行二进制哈希编码,可以用以下目标函数(4)对哈希编码与PCA降维同时进行描述,其中R是旋转矩阵,B是哈希编码矩阵:
s.t.WTW=I
(4)
图2为原数据及对数据进行旋转后的分布示意图,图2(a)表示原始数据分布,如果直接对原数据进行主成份分析,欧氏距离小样本会得到不同的哈希码;由图2(b)和图2(c)可以发现,找到最佳旋转矩阵便可以对欧氏距离小的样本量化得到相同哈希码。为了得到最佳旋转矩阵,ITQ采用迭代方法优化目标函数(3)。
首先随机初始化旋转矩阵R,然后循环以下步骤直到满足迭代次数为止:
第一步:固定R,对B进行更新,显然B=sgn(XWR);
第二步:固定B,对R进行更新公式,等价于求解正交普克拉提斯问题。首先对BTXW求SVD分解得到BTXW=VΛUT再求得 R=UVT。
综上所述,该算法基于量化误差最小化,并通过循环迭代使得生成的二进制保证了原本相近的数据点的哈希编码的相似性,理论上运用此训练方法能够提高检索准确度。
本文结合基于卷积神经网路VGG16的特征提取方法和ITQ编码方法,模型如图3所示。
在特征提取阶段,将大小为224×224的RGB图像输入卷积神经网络,提取全连接层的输出作为图像特征;在特征的量化编码阶段,采用迭代量化算法获得哈希编码;在检索阶段,计算待检索图像的哈希编码与图像库图片的哈希编码之间的汉明距离,并输出汉明距离最小的哈希编码对应的图像。
图3 基于VGG16和ITQ的图像检索流程图
Fig.3 Illustration of the proposed image retrieval method based on VGG16 and ITQ
对于待检索图像,对其特征进行哈希编码后,计算该哈希编码a与库中不同图像的哈希编码bj之间的汉明距离,即两个编码之间对应位上码元取值不同的位数,用D表示,用⊕表示同或,汉明距离计算如公式(5)所示:
(5)
图像检索按照汉明距离由小到大排序,依次返回图像检索结果。
本实验采用查全率(Recall)、查准率(Precision)、查准率-查全率曲线(PR Curve)、平均准确率(Mean Average Precisions, MAP)作为性能评价标准。查全率与查准率分别表示检索的全面性与准确性,查准率-查全率曲线用于表示检索算法的综合性能。查全率、查准率如式(6)、(7)所示,P代表检索结果中相关图像个数,Q代表数据集中相关图像个数,U代表检索结果相关图像个数,V代表检索结果图像个数。将查准率作为横轴,查全率作为纵轴便可获得PR曲线,PR曲线对同时对检索算法的两个性能进行描述,同时,PR曲线与横轴及纵轴包围的面积越大,代表其平均准确率越高。
(6)
(7)
实验采用Caltech-256图像集,该数据库包含256类和30607张图片,且每类图片至少包含80张图片,最多包含827张;使用预训练VGG16网络进行特征提取;运行环境为Matlab 2014。
实验随机选取Caltech-256中的8000幅图像作为训练图像,另外选取800幅图像作为测试图像。使用VGG16网络对每幅图像特征进行学习,将图像特征表示为二个全连接层4096维向量,并将向量保存为样本库。
实验基于4096维VGG16特征,将迭代量化编码(ITQ)与几种常见的哈希算法进行比较,分别是局部敏感哈希(Locality-Sensitive Hashing,LSH),PCA哈希(PCA Hashing,PCAH),谱哈希(Spectral Hashing,SH),基于移位不变核的局部敏感二进制码(Locality-sensitive binary codes from shift-invariant kernels,SKLSH),PCA随机旋转(PCA Random Rotate,PCA-RR),密度敏感哈希(Density Sensitive Hashing,DSH),球哈希(Spherical Hashing,SpH)。
图4显示了以汉明距离为评价协议的查全率、查准率和PR曲线。可以看出,对于固定编码长度(32 bits),查全率随着检索个数的增加而增加;查准率随着检索个数的增加而下降;ITQ算法在4096维的深度学习特征下,查全率高于其他算法检索算法,说明在返回相同图像样本个数的检索结果中,该算法得到更多与查询图片相关的结果;查准率高于其他检索算法,说明该算法剔除不相关图像样本的能力更强;PR曲线与纵轴、横轴围成的面积也大于其他检索算法,说明其MAP要高于其他算法。
图4 4096维VGG16特征在32 bits编码下的查全率、查准率和PR曲线
Fig.4 Illustration of the proposed image retrieval method based on VGG16 and ITQ
表1为Caltech-256数据集在不同编码位数下,同特征描述方法和不同量化编码算法下的MAP。本文采用的VGG16网络结合ITQ编码的图像检索方法,同时解决了传统基于内容的图像检索方法对图像特征进行表达时存在的“语义鸿沟”问题,和对特征进行量化编码时信息损失过多问题;该方法在不同编码为位数下的平均检索精度均高于其他的检索方法,证实了本文算法的有效性和优越性。
表1 不同图像检索算法的MAP
Tab.1 MAP of different image retrieval algorithms
方法32 bits/%64 bits/%128 bits/%VGG16+ITQ62.2177.3683.72VGG16+PCRR49.1569.4480.23VGGM+ITQ62.0375.9781.78PCAH[14]43.6255.6566.02Deep-SGH[15]51.3970.3479.39R-SGH[15]59.0274.1884.96
针对基于内容的图像检索,本文提出了一种基于深度学习和迭代量化的图像检索算法。使用预训练卷积神经网络VGG16对图像集提取的其深层特征表示;使用迭代量化的编码策略对高维图像特征向量进行二进制降维编码,并结合图像相似性度量方法,输出图像检索结果。实验结果表示,两者结合获得的检索结果要优于当前主流方法。目前基于深度学习进行特征提取需要巨大的算法时间复杂度,如何提高网络训练速度、降低算法复杂度还要进行下一步研究;其次,研究如何有效选取迭代量化算法对目标函数的进行优化的迭代次数,降低优化时间,对于提高图像检索效率来说是非常必要的。
[1] Liu P, Guo J M, Wu C Y, et al. Fusion of deep learning and compressed domain features for content-based image retrieval[J]. IEEE Transactions on Image Processing, 2017, 26(12): 5706-5717.
[2] Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]∥Advances in neural information processing systems, 2012: 1097-1105.
[3] F, Tolias G, Chum O. Fine-tuning CNN i-mage retrieval with no human annotation[EB/OL]. https:∥arxiv.org/abs/1711.02512, 2018.
[4] Gionis A, Indyk P, Motwani R. Similarity search in high dimensions via hashing[C]∥International Conference on Very Large Data Basses, 1999, 99(6): 518-529.
[5] Weiss Y, Fergus R, Torralba A. Multidimensional spectral hashing[C]∥European Conference on Computer Vision. Springer, Berlin, Heidelberg, 2012: 340-353.
[6] Ng W W Y, Lv Y, Zeng Z, et al. Sequential conditional entropy maximization semi-supervised hashing for semantic image retrieval[J]. International Journal of Machine Learning and Cybernetics, 2017, 8(2): 571-586.
[7] Gong Y, Lazebnik S, Gordo A, et al. Iterative quantization: A procrustean approach to learning binary codes for large-scale image retrieval[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(12): 2916-2929.
[8] Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. https:∥arxiv.org/abs/1409.1556, 2014.
[9] Liu H, Lu J, Feng J, et al. Group-aware deep feature learning for facial age estimation[J]. Pattern Recognition, 2017, 66: 82-94.
[10] Feng L, Po L M, Li Y, et al. Integration of image quality and motion cues for face anti-spoofing: A neural network approach[J]. Journal of Visual Communication and Image Representation, 2016, 38: 451- 460.
[11] Li M, Zhang T, Chen Y, et al. Efficient mini-batch training for stochastic optimization[C]∥Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2014: 661- 670.
[12] Deng J, Dong W, Socher R, et al. Imagenet: A large scale hierarchical image database[C]∥Computer Vision and Pattern Recognition, 2009: 248-255.
[13] Gopalakrishnan R, Chua Y, Iyer L R. Classifying ne-uromorphic data using a deep learning framework for image classification[EB/OL]. https:∥arxiv.org/abs/1807.00578, 2018.
[14] Chen X, Kingma D P, Salimans T, et al. Variational lossy autoencoder[EB/OL]. https:∥arxiv.org/abs/1611.02731, 2016.
[15] Du C, Xie X, Wang H, et al. Redundancy-resistant Generative Hashing for Image Retrieval[C]∥International Joint Conference on Artificial Intelligence, 2018: 5017-5023.
Reference format: Zhen Junjie, Ying Zilu, Zhao Yihong, et al. Research of Deep Learning and Iterative Quantization in Image Retrieval[J]. Journal of Signal Processing, 2019, 35(5): 919-925. DOI: 10.16798/j.issn.1003- 0530.2019.05.025.
甄俊杰 男, 1993年生, 广东人。五邑大学信息与通信工程专业硕士研究生, 主要研究方向为图像处理、数据挖掘。
E-mail: zhenjunjie.123@163.com
应自炉(通信作者) 男, 1966年生, 江西人。五邑大学智能制造学部教授, 主要研究方向为图像处理、生物特征识别等领域。
E-mail: ziluy@163.com
赵毅鸿 男, 1993年生, 广东人。五邑大学信息与通信工程专业硕士研究生, 主要研究方向为文档图像处理。
E-mail: zyh415@qq.com
黄尚安 男, 1993年生, 湖北人。五邑大学信息与通信工程专业硕士研究生, 主要研究方向为图像处理。
E-mail: 627067934@qq.com