基于卷积神经网络的翻拍图片哈希检索方法

2020-05-27 12:03李晶王翾刘守训
关键词:哈希检索卷积

李晶,王翾,刘守训

(中国传媒大学 信息与通信工程学院,北京 100024)

1 引言

图像检索技术是依据图像视觉内容搜索相似或相同图像的方法,近年来成为研究热点之一。翻拍广告图片内容复杂、场景多变,受拍摄中的角度、距离、光照等条件的影响。这些因素干扰图片内容,增加了图像特征提取的难度,对图像检索提出了更高的要求。

经典的图像检索系统基于图片内容,直接本身的特征来匹配和其语义相似的图像,即所谓的基于内容的图片检索(Content Based Image Retrieval,CBIR)[1],检索过程如图1所示。CBIR主要利用图像视觉特征向量直接进行索引,通过计算图像特征向量之间的距离判定图片相似度,返回图片检索结果。传统方法中,图像视觉特征主要包括全局特征与局部特征。全局特征提取方式非常简单,直接提取图片自身的颜色、形状、纹理等特征,反映图片整体内容,但对图片内部结构细节信息表达不全,对外界干扰非常敏感,容易受到旋转、遮挡等外界因素的影响。为了解决这个问题,研究者开始使用手工提取图片局部特征表征图片内容,即局部特征。由于局部特征在图像特征提取方面具有局限性,因此研究者相继提出了一些改进方案。其中,David Lowe提出的SIFT(Scale Invariant Feature Transform)[2]是最具有代表性、应用最广泛的。SIFT最大的特点是提取的图片特征具有较强的鲁棒性,对图片尺度变换、仿射变换具有不变性,对拍摄角度、距离、光照等不敏感,因而SIFT方法被广泛应用于物体识别、图像匹配、图像检索中。SIFT的提出极大的推动了研究领域的发展,后续的研究工作也大多围绕对SIFT的改进进行,例如SURF(Speeded Up Robust Features)特征[3],PCA-SIFT[4]等。文献[5]中,作者通过仿真实验详细比较了上述三种方法的性能,文献[6]中作者对比了很多不同的特征点对图像旋转、阴影、模糊、缩放、放射变化及及光照变化的稳定性。实验结果表明:相比其他特征提取方法,使用SIFT提取的特征检索效果最好,然而SIFT算法在及检索过程中计算量很大,内存消耗严重,这会导致时间成本高、实时性较差,严重制约了其实际应用。

图1 基于内容的图像检索系统

2 基于CNN的图像标注和检索方法

图片特征提取是图像检索的一个重要方面。由于翻拍广告图片受拍摄中的角度、距离、光照等条件的影响,这加大了图片特征提取的难度,对快速准确检索造成了困难。近年来,卷积神经网络(Convolutional Neural Network,CNN)逐渐风靡,基于CNN的图像描述已经广泛应用于图像分类[7]、图像分割[8]、和目标检测[9]等方面,展示了其卓越的性能。Krizhevsky et al.[10]首先使用AlexNet模型第七层输出作为图像特征来检索图像,AlexNet的结构如图2。该方法在ImageNet上的实验结果表明,卷积神经网络的中间层输出包含丰富的图片信息,可以作为图像特征用于图像检索。

图2 AlexNet模型结构

如图2所示,AlexNet网络模型包含卷积层、池化层、全连接层。网络模型输入大小为224×224的RGB图片,利用不同大小的卷积核提取图片丰富特征,池化层保留图片的最显著特征用于检索。其中,卷积神经网络的中间层输出通常直接用于图像检索。虽然卷积神经网络的中间层特征用于图像检索取得了良好的效果,但是也存在不足。一方面,CNN提取的特征维数很高,这会带来很大的计算开销;另一方面,通过在欧氏空间中直接执行模式匹配,将学习到的CNN特征用于检索效率很低。为了突破维度的限制,研究者使用哈希算法来降低图片特征维度,节约存储空间。

图像哈希通过对高维的特征矢量进行哈希学习得到低维的二进制哈希编码,能够极大的降低计算及存储消耗。图像检索中,常用谱哈希(Spectral Hashing,SH)[11]、局部敏感哈希(Locality Sensitive Hashing,LSH)[12]、迭代量化哈希(Iterative Quantization,ITQ)[13]等方法来降低图片特征维度,提高检索效率。如果在整个图像哈希过程中不使用图片标签作为监督信息,则成为无监督哈希算法。与无监督的哈希算法相比,有监督的哈希算法使用图片标签信息,因此学习到的哈希码更加紧凑效果也更好[14]。

因此,很多研究者受卷积神经网络与哈希算法的启发,将两者相结合应用于图像检索领域。2014年Rongkai Xia等人[15]利用卷积神经网络学习图片的哈希特征表示用于图像检索,显著提升了检索性能。在这之后,La等人[16]提出使用三元组图像样本作为网络输入训练网络,并设计了分段量化函数提取二值化特征。Lin等人[17]提出了DeepBit二值化特征提取方法,该方法在训练过程中增加了旋转、量化损失函数,使提取的图像特征具有更强的鲁棒性。Haomiao Liu 等人提出的 DSH(Deep Supervised Hashing)方法[18]为图像哈希领域打开了新的思路,他主要使用分段函数约束网络输出,以网络预测值与期望目标值之间的误差为优化目标,降低计算损失,该算法减少了哈希码生成的量化误差。

有鉴于此,本文提出一种基于卷积神经网络的翻拍图片哈希检索方法。针对用户输入的查询图片,利用卷积神经网络模型自动提取图片特征,通过计算图片之间的距离快速从图片库中筛选出与查询图片相同或相似的图片返回给用户。

3 翻拍广告图片检索

图像特征提取是图像检索的一个重要方面,要求提取的特征具有独特性、具有旋转不变性、仿射不变性,对阴影、反光、遮挡等不敏感,鲁棒性好。本文利用卷积神经网络提取图片特征,网络模型如图3。

图3 卷积神经网络模型

我们使用Krizhevsky等人提出的预训练CNN模型在大型ImageNet数据集上进行训练[19],该数据集包含分类为1000个对象类别的120万张图片。我们使用翻拍广告图片集作为输入对模型进行微调,主要是在fc7和fc8之间添加一个哈希层,哈希层节点h与图片哈希码长度相同,fc8的节点设置为图片集的图片类别数。该哈希层包括一个全连接层和一个激活层,其神经元受控于fc8。因此,哈希层输出不仅包含fc7层丰富的内容特征,而且包含图片的高层语义特征。本文中,哈希层中的激活层使用sigmoid激活函数,因此哈希层输出在[0,1],然后我们将哈希层输出阈值化得到图片的哈希码。

对于包含n张图片的图片集D={i1,i2,...,in},我们提取上述卷积神经网络模型的哈希层输出Out(H),即图片的低维特征表示,然后将Out(H)按照式(1)进行阈值化得到图片的哈希码。

(1)

其中j=1,2,...,h,h为哈希层神经元个数,Outj(H)表示哈希层输出的第j个比特值。

图像经过卷积神经网络提取出图像的哈希码与高层语义特征。虽然在低维空间计算图像之间的汉明距离具有一定的优势,但仅利用哈希码衡量图像对之间的相似性很容易出现同类图像哈希编码偏差较大而导致图像检索精度不够准确的情况。因此,本文采用由粗到精的分级检索策略,先依据查询图片与数据集中图片的汉明距离快速筛选出相同或者相似的图片构成候选图像池,然后依次计算查询图片与候选图像池中图片之间的欧氏距离,得到最终的检索结果。

图4 应用于翻拍图片的图像检索系统

本文提出了一种针对翻拍广告图片的检索方法,结合CNN的学习能力与哈希算法高效性的优势,采用由粗到精的分级检索策略,从数据库中返回与用户查询图片相同或者相似的图像。本文图像检索过程如图4所示,首先利用卷积神经网络模型制作本地图片特征数据库,用户给定一张待检索图片,利用同样的方法提取图片特征。然后在汉明空间中快速筛选出与待检索图片相同或相似的图片构成图片侯选池。最后,通过计算待检索图片与侯选池中图片之间的相似程度返回最终的检索结果。

4 实验

4.1 实验数据集

广告图片内容丰富、表达方式多样,具有很好的宣传效果,在日常生活中随处可见。由于广告图片所处的场景复杂,因此翻拍广告数据集受自然条件的影响较大,例如光照条件、反光、外部遮挡等。此外,拍摄者的拍摄角度也会使图片不可避免的产生旋转、缩放。本文使用的翻拍广告图片数据集来自于人工采集,主要使用手机设备对生活场景中的广告图片进行拍摄。这些广告图片主要包括公交站台宣传栏图片、地铁墙体广告、商场广告牌、室外大型墙体广告等。

本文实验选取公交站台宣传栏图片,要求广告图片占整幅图片面积的50%以上,将相同广告图片归为一类并给予相同的标签,不限制每类图片数目必须相同。图5展示部分翻拍公交站台宣传图片。从图中看出,翻每张图片都出现了不同程度的倾斜、反光、阴影。例如,受光照条件的影响图片(1)(7)(10)(12)反光现象严重;(3)(5)(6)图片主体被拍摄环境中的栏杆、绿化带等自然界中不可移动物体的遮挡;由于拍摄角度不同,图片(8)(11)出现轻微倾斜;图片(9)中受拍摄距离的影响,广告内容占整体图片的比例很小。这些因素都提高了图像检索的难度,要求提取图像特征具有非常好的鲁棒性。

图5 翻拍公交站台广告图片示例

4.2 实验结果

为了验证本文方法的检索性能,在翻拍广告图片数据集上进行了实验。其中本文使用的翻拍广告图片集包含300张图片共50类,每类图片数量不固定,包含训练集250张,测试集50张。我们采用平均检索精度(MAP)来评价检索性能。

平均检索精度需要分两步进行计算,首先先计算平均准确率(AP),假设检索系统返回K张图像作为检索结果,其位置分别为x1,x2,...,xk,则每个类别图片的平均准确率APi表示为:

(2)

再计算AP的平均值,定义图像数据集类别数为M,则MAP为:

(3)

表1给出了翻拍广告数据集在不同长度的哈希码下的平均检索精度(MAP)。从表1可以看出,本文方法明显优于其他检索方法,而且当哈希层的输出神经元节点为128时,该方法的平均检索精度最佳。因此,在以下实验中我们将哈希层的输出神经元节点设置为128。

表1 不同长度哈希码下的平均检索精度(MAP)

此外,本文分别使用未经微调的AlexNet模型输出的fc7层特征(微调前fc7输出特征),模型微调后的fc7层特征(微调后fc7输出特征),模型微调后使用分层检索方法(本文方法)的检索性能进行了对比,表2为上述方法在翻拍广告数据集上的平均检索精度。

表2 不同方法的平均检索精度(MAP)

从表2中的数据可以看出,在翻拍广告数据集上,本文提出的结合哈希码和fc7层特征的分层检索方法具有较高的MAP。与仅使用fc7层输出进行检索相比,MAP值增加了12.1%。另外,本文方法通过计算汉明距离来获得图片候选池。此过程将大大减少检索操作的数量,不仅减少了内存消耗,而且节省了检索时间。

图6 Top 6 检索结果

图6为本文方法在翻拍广告数据集上Top 6检索结果图。图6中第一列为用户输入的待检索图片,图片从上至下依次主要受图片阴影、图片遮挡、图片倾斜的影响;图中第二列为使用本文检索方法返回的检索结果,检索结果从左至右、从上到下按照与待检索图片的相似度排列。其中,检索结果中左上角的图片是检索系统返回的与待检索图片最相似的图片。从图6中可以看出,使用本文检索方法返回的检索结果中基本都与到检索图片相同或相似,第二行返回六张与查询图片相同的检索结果,第一行和第三行的检索结果中存在于待检索图片不相关的图片。这一方面是因为本文使用预训练的卷积神经网络模型表达能力仍有待提升;另一方面是因为本文使用的翻拍广告数据集中某些类型图片样本较少,模型提取的特征独特性不够。通过完善翻拍图片样本库和提高模型训练次数,会提升模型的特征提取能力和检索精度。

5 结论

本文提出了一种基于卷积神经网络的翻拍图片哈希检索方法,基本思路是在AlexNet模型中加入哈希层,以目标数据集作为输入对模型进行微调,得到卷积神经网络模型用于自动提取图片的哈希码。针对用户查询图像,首先从卷积神经网络模型的哈希层提取图片哈希码,在汉明空间中计算计算查询图片与数据集中图片之间的距离进行粗检索,从数据集中选取与查询图片相似的m幅图片构成候选图像池。然后再提取查询图片和池内图像的fc7层特征向量,依次计算欧式距离进行精检索,欧式距离越小说明图片越相似,返回最终的检索结果。

本文方法使用输入图片的类别信息作为监督信息,极大地降低了人工标记量。实验结果表明:第一,该方法提取的特征具有很好的鲁棒性,能够抵抗旋转、缩放、反光、遮挡等影响,平均检索精度优于文中其他方法;第二,检索过程中计算汉明距离快速筛选出与查询图片相似的候选图片池,大大减少了检索计算量和内存消耗。

猜你喜欢
哈希检索卷积
基于特征选择的局部敏感哈希位选择算法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
哈希值处理 功能全面更易用
文件哈希值处理一条龙
瑞典专利数据库的检索技巧
一种基于Python的音乐检索方法的研究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
英国知识产权局商标数据库信息检索