当前位置:首页 期刊杂志

结合哈希网络和敏感散列的图像检索推荐研究

时间:2024-05-04

潘华峰,王春玲,毋 涛

(西安工程大学 计算机科学学院,陕西 西安 710600)

0 引 言

对于已知的图像检索技术探索发展和研究[1-2],从发展初期至今为止,已经被明确分成两类:(1)基于文本的图像检索(text-based image retrieval,TBIR);(2)基于内容的图像检索(content-based image retrieval,CBIR)。基于文本的图像检索[3]技术,首先需要人工进行大量标注,然后将标注部分与目标图像进行对比分析,该检索技术也被称为“以字找图”;基于内容的图像检索[4]技术,首先是需要提取数据集图像中的色彩、纹理等[5]基本特性并按照这些特性信息进行分类,之后在图像集合中找到相似图像,该检索技术也称为“以图找图”。

该文主要进行的是基于图像内容的检索与推荐研究。图像检索[6-7]的含义是指首先提取被检索目标图像中的相关内容特征,之后将提取的特征与图像数据集进行相似性度量,以此找到相似的图像。在目前对图像内容的研究中,针对图像特征数据的“维度灾难”,Gayathiri等[8]通过使用Hadoop MapReduce框架,并且引入了一种全新的局部敏感散列算法,以提高对数据样本提取的熟练程度。Lai等[9]提出了深度神经网络散列的方法,主要内容是通过共享的网络结构得到图像的内容特征。文献[10-11]主要讲述了哈希网络对于图像检索具有较好的效果。李涓楠等[12]之前将深度哈希网络技术应用到肺结节图像检索中,检索效果得到了明显的提升。林宇等[13]将深度哈希网络技术应用到船检图像的检索中,也同样取得了较好的检索结果。

许多的应用案例都可以说明深度哈希网络可以很好地应用到解决图像检索的问题当中,因此该文提出一种结合深度哈希网络和局部敏感散列的方法,并以泳装版型图像的检索推荐作为应用实例,完成中小型泳装企业下单过程智能化的相关需求。

1 相关概念

1.1 深度哈希网络

深度哈希网络应用于相似图像检索推荐的具体过程[14]:针对一个数据集中训练图像的特征值,需要先通过哈希码的特征学习子网络方式进行检索和学习,在此期间需要将特征学习得到的第一个特征结果进一步在深度哈希学习层上进行研究和学习,得到第二个结果,并且将得到的结果进行相互反馈。为了获得最终合适的图像哈希码和检索结果,在之前哈希码的学习中利用某些哈希信息可以作为监督信息传递的标记函数进行计算,并使用逆向传递的方式以及调改部分网络参数来优化损失函数,使得图像哈希码得到一定的收敛。

为了检索到相似图像,第一步将目标图像进行特征矢量和图像哈希码的提取,可以直接使用之前训练图像数据集所建立的网络模型进行提取;第二步对比分析取得的哈希编码值,把被检索目标图像数据提取到的哈希码与哈希表中保存的编码值进行一一比对;这一步需要应用某一具体的距离度量算法计算对比哈希码之间的距离;最后检索得到所需图像,根据上一步骤中计算得到的距离大小,可以判断图像的相似度,从而得到所需要的图像列表。

1.2 局部敏感散列

局部敏感散列[15]的定义:对于任意的p和q两个点,h作为映射函数,如果满足如下两个条件:(1)如果d(p,q)≤R,并且h(p)=h(q)的概率不小于P1;(2)如果d(p,q)≥cR,并且h(p)=h(q)的概率不大于P2,并且符合P1>P2,这样的哈希函数结果称为(R,cR,P1,P2)敏感的。

距离度量的作用是通过减小相同类别样本的距离来增大相似度,反之,通过增大不同类别样本之间的距离来减小相似度,从而完成样本的分类,达到更好的聚类性能。

对于数据集中所有图像完成图像特征提取后,可以根据特征的不同将图像分别放入到不同类别的图像集合中,以便于之后目标图像方便快捷的查找。图像检索过程:根据计算得到相关的距离度量结果,需要从被检索图像集合中找到与被检索目标图像接近甚至一样的若干图像,最后精确度量出与目标向量的距离(相似度)。在被检索数据集图像较多的情况下,逐一进行对比,需要消耗较长的时间,无法应用到实际问题当中。参考图像索引[16-17]相关资料,可以通过构建出一个合适的索引来解决耗费时间的问题,达到缩短检索时间的目的。通过对比各种索引方式,决定采用局部敏感散列技术的散列索引方式,以此实现相似图像的高效检索。

1.3 球哈希

不同于局部敏感哈希和密度敏感哈希基于随机超平面,球哈希是基于超球面的哈希技术。

球哈希的哈希函数为:

(1)

其中,k表示数据空间的k个球,pk表示球心,rk表示球半径,d表示特征点与球心之间的欧氏距离,点到球心的距离大于半径,编码为0,否则编码为1。

在构建球哈希函数时需要遵守如下两个准则:

(1)空间中每个点被哈希函数编码为0或者1的概率是相等的。

(2)

(2)球哈希函数之间是相互独立的。

Pr(hi(X)=1,hj(X)=0)=Pr(hi(X)=

(3)

2 算法描述

2.1 深度哈希网络模型的建立

深度哈希网络技术用于图像检索推荐的过程如图1所示。

图1 深度哈希网络的图像检索流程

2.1.1 特征提取

哈希网络可以将输入的样本图像采用SIFT[18]等形式转换为视觉描述符向量,实现投影和量化操作,这个过程中由于普通的哈希网络对特向表达的可区分性较低,因此该文使用深度哈希网络来提高提取后对于视觉描述符向量的表现力。

哈希网络目标函数方程如下:

min∑kijDij‖YiK-YjK‖2=tr(YTLY)

(4)

subjectto:Y∈(-1,1)n×k

其中,Dij表示哈希网络中的相似度矩阵;L表示在n个图像提取点上相应的编码矩阵;k表示矩阵点中的编码位数;Dd(i,j)=∑jY(i,j)则表示网络对角阵。

使用k-means算法将图像数据进行一定的分门别类。第一步需要从所有图像数据中确定若干尽量分开的图像数据作为初始化的聚类中心,将其他剩余图像数据归类到相对距离最小的中心点;第二步是将获得的每一个小的聚类体作为一个新的团体,反复进行第一步,进行更细致的聚类划分;最后一步就是通过多迭代优化类心,以此达到误差最小的效果,得到相似度矩阵。

2.1.2 哈希编码

在该深度哈希网络模型中,哈希编码值采用的是球哈希编码方法进行计算。其表达式为:

hi(x)=xwi+bi

(5)

其中,x对应某个对象在网络中的数据特征表达;hi(x)对应第i个图像的哈希函数。

之后图像数据对应的k个哈希编码就由这k个哈希函数进行生成,过程如图2所示。

图2 超平面分割数据编码

2.1.3 特征度量

在超平面编码的基础上,建立由超平面分割编码下的空间衍生出的球哈希编码。首先需要假定一个由m个元素组成的数据集,要求建立的球哈希至少包含m/2个元素,并且球体交集部分包含m/4个元素,之后经过重复迭代计算来获取k个函数表达式,同时依据超平面球哈希编码所具有的特有性质,以及为了提高图像检索的精确度,需要在汉明空间上优化特征度量方法,因此采用的特征度量方法是球哈希在汉明空间内的计算公式:

(6)

其中,bi,bj作为图像特征下的哈希编码值,⊕的含义是异或运算,并作为图像特征下的汉明距离度量,而|bi∧bj|表示bi和bj位同为1的数量。

通过以图像数据库中挑选的图像数据作为样张,在样张中挑选k个数据,并把这些图像对象作为函数球心,经过一定的相关运算可以得到k个对应的球哈希函数表达式,使用函数表达式计算图像的编码值,从而获取其对应的汉明空间距离,并以此作为不同图像间的相似度判断依据。

2.2 局部敏感散列的建立

局部敏感哈希的基本思想[19]是将获得的数据进行映射变换,完成局部敏感散列的建立,具体建立过程如下所述。局部敏感散列是以K和L为参数的随机过程,其中K是散列映射后数据的大小,L表示散列表数量,经过一个散列函数的相关映射,2048维度特征向量E转换成K位的散列数据H,每一个散列函数的映射都是对2048维特征数据进行的加权处理,强化局部数据的地位,也是对特征向量的局部敏感散列,在提取局部数据的同时完成了降维。具备相同散列结果的图像会被放入同一个“桶”,在所有的“桶”中,所有的图像数据中任何一个图像都会和其他图像发生一次“碰撞”,同一“桶”中的所有图像数据都具备一定的相似性,其中每个图像都会经过L次散列,分别放入不同的散列表对应表示的“桶”中,在单一某个“桶”内任意两个图像之间发生“碰撞”的次数越多,说明相似度越高。

LSH总体流程如图3所示。

图3 LSH总体流程

具体构建LSH索引的过程如下:

(1)选取满足(R,cR,P1,P2)-敏感的深度哈希函数;

空间中选择某两个点x、y,并且需要满足如下关系:

if(dist(x,y)≤R)P(h(x)=h(y))≥P1

(7)

if(dist(x,y)≥R)P(h(x)=h(y))≤P2

(8)

(2)确定相关参数,依据上一步查询得到的准确率规定哈希表的数量L,对应每个表内函数表达式的数量K,以及其他和局部敏感哈希函数表达式相关的参数;

(3)将所有经过深度哈希函数运算的数据结果放入到相应的“桶”内,构成了一个或若干个对应的哈希表。

索引构建示意图如图4所示。

3 实 验

3.1 实验环境

使用python语言工具进行实验。实验硬件环境如下:Windows10系统,搭载英特尔酷睿i5四核处理器,CPU主频为2.50 GHz,运行内存为16 GB的笔记本电脑。

具体使用的软件是基于Python3 & Qt5进行实际实验研究,实验过程中使用到的依赖有:imagehash,pyqt5,pillow。

3.2 实验数据集

为了确保实验过程的严谨性和科学性,以及完成对于泳装版型推荐的实例研究,该文使用的泳装图像数据集均来自于实验室合作的晋江某泳装公司。实验数据集详见表1。

表1 数据集描述

3.3 评价指标

为了确保对采用的相似图像检索方法得到一个客观的评价,主要从以下两方面进行比较判别。

(1)检索耗时。在相同数据集图像的前提下,用不同检索方法对同一被检索目标图像进行检索,记录不同检索方法所消耗的时间,评判检索的效率。消耗的时间越短,说明效率越高。

(2)查全率和查准率。查全率与查准率是信息检索领域内的概念,二者是反映检索效果的重要指标。根据查准率和查全率绘制PR曲线,可根据曲线判断检索结果的优劣。对于图像检索查询结果,进行查全率和查准率的计算,判断图像检索模型的检索性能。

计算公式如下:

(9)

(10)

3.4 实验结果与分析

3.4.1 检索效果

进行图像搜索的时候可以任意选取某个目标检测图像,如图5所示。

图5 测试例图

经过实验检索得到图6所示的相似度以及图像对比结果。

在图6中,左侧是被检索目标图片,右侧显示的是从数据集中搜索获得的若干最相近图像,相似度从大到小进行排列。其中相似度为1的是被检索目标图像,其余罗列出来的几个数据结果是被查询到的最接近目标图像的图像相似度。

图6 图像相似度检索结果

图7展示的是相似度较高的几张被查找到的图像,直接将查找结果展示出来,给人们更直观的感受,而不只是显示相似度这个较为抽象的数据。以上结果说明该文采用的模型具有可行性和有效性。

图7 相似图像检索结果

3.4.2 性能分析

为了更为客观地认识和评判构建的检索推荐模型所具备的先进性,进行了如下两个方面的比较分析。

(1)利用该图像检索方法和其他图像检索方法进行相似图像检索耗时的对比,如表2所示。

表2 三种检索方法耗时比较

相比较文中方法而言,文献[20]使用的方法首先需要对图像进行划分区域和图像特征加权处理,导致在特征提取方面会多消耗大量的时间,检索消耗的时间较少,但是总消耗时间仍然是相对最多的;文献[21]在特征提取过程中消耗的时间较少,但是在图像检索过程中,使用的算法时间复杂度较高,需要花费相对较多的时间。而文中使用深度哈希网络进行特征提取,消耗的时间相对较少,采用局部敏感散列的方式进行相似图像检索,相对其他检索方式具备相对明显的优势,缩短了检索时间,提高了检索效率。

(2)将文中方法取得的查准率和查全率与其他方法进行了一定的对比分析。对查全率有不同要求的情况下,相应的查准率的对应变化如图8所示。

图8 三种检索方法的查准查全性能对比

根据性能对比可以发现,在对查全率有较高要求的情况下,3种检索方法的查准率均出现了一定程度的下降,而该文所采用的检索方法受到的影响是最小的。该文使用深度哈希网络进行图像特征提取、利用汉明距离度量特征,相对提高了对于图像内容特征提取的精确度。

通过以上在检索结果的对比和检索时间的对比,可以明显看出结合深度哈希网络和局部敏感散列的相似图像检索推荐方法具备一定的优势,足以说明该检索方法具有相对较高的性能,具备一定的先进性。

4 结束语

提出了一种结合深度哈希网络和局部敏感散列的相似图像推荐策略,在图像检索准确率和相关计算时间上有较为明显的优势,实现了相似图像的快速准确检索。首先使用设计的深度哈希网络模型对对象数据集进行图像内容的特征提取,k-means算法实现划分聚类,建立球哈希编码计算得到汉明空间距离,之后利用局部敏感散列原理映射成二进制形式的字符,整个索引表包含着产生散列碰撞的相似图片;当接收到目标检测图像,先进行图像特性提取计算汉明距离,然后在散列索引表中寻找到最相似图像集合,计算汉明空间距离得到精确查找结果,最后将所有的结果利用可视化界面进行展示。

在之后的研究中,会尝试采用映射函数对深度哈希模型进行改进,使得泳装版型图像检索的精度与速度得到更进一步的提升。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!