文献标识码:A
DOI:10.16157/j.issn.0258-7998.170367
中文引用格式:邹利华,战荫伟. 后验概率改进Fisher向量的高性能图像检索算法[J].电子技术应用,2017,43(10):119-123.
英文引用格式:Zou Lihua,Zhan Yinwei. An image retrieval method combing with texture classification and modified Fisher vector[J].Application of Electronic Technique,2017,43(10):119-123.
0 引言
随着多媒体和网络技术的发展,图像检索的应用越来越广泛。图像检索主要分为两类:基于文字的图像检索(Text Based Image Retrieval,TBIR)和基于内容的图像检索(Content Based Image Retrieval,CBIR)。前者是依据图像的文字注释来进行检索,后者直接依据图像的内容进行检索,不需要额外为图像进行文字注释,因此应用更加普遍[1-3]。目前CBIR技术研究成果较多,如文献[4]结合图像的纹理和形状特征进行图像检索;文献[5]基于Contourlet变换和Hu不变矩特征进行图像检索;文献[6]融合尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)、K-Means和线性判别式分析(Linear Discriminant Analysis,LDA)实现图像检索;文献[7]融合灰度共生矩阵纹理特征和Hu不变矩特征进行图像检索;文献[8]设计了模糊逻辑框架,将低层次视觉特征映射到高层次语义特征,并基于模糊逻辑实现图像检索;文献[9]依据方向二值编码、小波变换和方向梯度直方图提取低层次图像特征,再结合距离测度进行图像检索。另外,为了提高图像检索效率,乘积量化(Product quantization,PQ)和非对称距离计算(Asymmetric Distance Computation,ADC)方法也在CBIR领域得到了广泛应用[10-11]。不过,现有方法的图像检索性能还有较大的提升空间。
本文提出一种结合纹理分块和改进Fisher向量的图像检索方法,是一种基于内容的图像检索方法,创新点主要包括两个方面:一是在特征提取阶段,本文不像传统方法那样直接提取图像特征,而是先对图像进行分块,再对图像子块按照纹理复杂度进行分类,然后只对高复杂度的图像子块进行特征提取,而对低复杂度的图像子块直接将其特征向量赋值为零。这样不仅可以大幅提高图像的检索效率,而且在一定程度上降低了纹理不丰富的图像子块引起的检索误差。二是在特征编码和相似度计算阶段,本文对特征向量进行分段,采用基于后验概率改进的Fisher向量进行特征编码,在小码本尺寸上依据乘积量化和非对称距离计算方法计算两特征向量各分段之间的距离,这样可以快速求取两特征向量之间的距离,提高图像检索效率。
1 本文方法
对于待查询图像,本文先经过图像预处理过程,得到归一化图像。然后进行图像分块,对不同的图像子块,依据纹理复杂度进行分类。对不同复杂度的图像子块,采用不同的特征提取方法提取图像特征,之后采用基于后验概率改进的Fisher向量进行特征编码,最后依据乘积量化和非对称距离计算方法计算两特征向量之间的距离,快速求取两特征向量的相似度指标,据此进行图像检索。本文方法的实现流程如图1所示。
1.1 图像预处理
在本文中,图像预处理阶段包括3个操作:图像颜色空间转换、尺寸归一化和光照校正。
图像颜色空间转换是将输入的非灰度图像转换为灰度图像,后续的处理都是针对灰度图像进行的。
尺寸归一化是将输入图像的尺寸都归一化到一个相同的尺寸上,便于后续提取一致性的特征。本文采用双线性插值方法进行尺寸归一化,归一化后的图像尺寸记为W×H。
光照校正是对输入图像的亮度进行校正,避免光照条件不佳引起的图像细节丢失。本文采用常用的Gamma校正方法,校正公式如下:
其中,f(x,y)表示校正前归一化图像像素点(x,y)的灰度值,f′(x,y)为对应位置校正后的灰度值。γ为校正系数,当其取值在0~1之间时,校正后图像低亮度区域的灰度动态范围会变大,而高亮度区域的灰度动态范围会变小,从而可以得到更丰富的图像细节信息。
1.2 图像子块划分
本文首先采用均匀分块方式将图像划分为互不重叠的相同尺寸的图像子块;然后提取各图像子块的纹理复杂度指标,将图像子块分为两类,后续针对两类图像子块采用不同的特征提取方法提取图像子块的描述子。
假设图像的尺寸为W×H,图像子块的尺寸为Ws×Hs。在进行图像分块时,如果图像子块的宽度Ws不能被图像宽度W整除,这样图像最右侧的一列图像子块会超出原图像的范围,此时需要将超出部分的像素点的灰度值赋值为0;类似地,如果图像子块的高度Hs不能被图像高度H整除,这样图像最下侧的一行图像子块会超出原图像的范围,此时同样需要将超出部分的像素点的灰度值赋值为0。
1.3 图像子块分类
对于每一个图像子块,本文首先计算其灰度共生矩阵,然后计算图像熵,将其作为图像的纹理复杂度指标,对图像子块进行分类。
灰度共生矩阵是一种统计特征,用于统计图像上某一特定距离和方向的两个象素具有某种灰度分布的特性,能够反映图像灰度关于方向、距离和变化幅度的综合信息,是分析图像的局部模式和其排列规则的基础,在图像纹理描述方面应用非常广泛。
对于尺寸为Ws×Hs的图像子块中的任一像素点(x,y),与其水平和垂直方向距离分别为a和b的另一像素点(x+a,y+b)组成一个像素点对,该像素点对的灰度值对记为(g1,g2),其中:
令像素点(x,y)在整个图像子块上移动,则会得到许多个(g1,g2)值。设图像的灰度级数为L,则(g1,g2)的组合共有L2个,本文中L=256。对于整个图像子块,统计出每一种(g1,g2)组合出现的次数,然后用(g1,g2)出现的总次数将它们归一化为出现概率p(g1,g2),表示为:
其中,n(g1,g2)表示图像子块上(g1,g2)组合出现的次数,N表示图像子块上像素点对(x,y)和(x+a,y+b)出现的总数。
得到所有的p(g1,g2)之后,再将其排列成一个方阵,该方阵即为灰度共生矩阵。
距离对(a,b)的取值不同,得到的灰度共生矩阵也不同。常依据图像纹理的周期分布来选择距离对(a,b)的取值。对于本文而言,计算灰度共生矩阵的目的是评价图像子块的纹理是否复杂,而不是区分不同的纹理。因此,本文采用街区距离为1的距离对,这样可以分辨出细节丰富的纹理图像。具体地,距离对(a,b)的取值组合为(1,0)、(0,1)、(1,1)和(-1,-1)。当(a,b)取值为(1,0)时,像素对(x,y)和(x+a,y+b)是水平方向,即0°扫描;当(a,b)取值为(0,1)时,像素对(x,y)和(x+a,y+b)是垂直方向,即90°扫描;当(a,b)取值为(1,1)时,像素对(x,y)和(x+a,y+b)是右对角线方向,即45°扫描;当(a,b)取值为(-1,-1)时,像素对(x,y)和(x+a,y+b)是左对角线方向,即135°扫描。
得到灰度共生矩阵之后,本文计算图像熵来描述图像纹理的复杂度,表示为:
熵值越大,说明图像包含的纹理信息越多,图像纹理复杂度越大;反之,图像的纹理复杂度越小。
本文设定一个阈值TS,对图像子块进行分类。当图像子块的熵S小于阈值TS时,将其分为低复杂度图像子块类;否则,将其分为高复杂度图像子块类。
1.4 图像子块特征提取
本文在提取图像子块的特征时,区别对待低复杂度图像子块和高复杂度图像子块。
令X={x1,x2,…,xT}表示图像的特征向量描述子。其中,xi表示第i个图像子块的特征向量,特征向量的维数为D;T表示图像中的子块数量。图像子块特征向量的排列顺序是以图像的左上角为起点,按照从左倒右、从上到下的扫描顺序排列图像子块,也即:x1表示图像左上角第一个图像子块的特征向量,xT表示图像右下角最后一个图像子块的特征向量。
对于低复杂度图像子块,本文直接将其特征向量全部赋值为零,这样做的意义在于:
(1)纹理不丰富的图像子块的特征显著性不强,在特征匹配时不仅对区分不同图像类别的贡献很小,而且极易造成错误匹配;
(2)本文直接对此类图像子块的特征向量赋零值,省略了复杂的特征向量计算过程,而且在特征匹配阶段零值特征向量与其他向量的相似度计算速度远远快于非零值特征向量之间相似度计算速度,这有助于提高图像检索的效率。
对于高复杂度图像子块,本文提取图像子块的SIFT特征,特征维数为128。
为了提高后续图像检索的效率以及降低大规模图像数据集的特征存储空间,本文采用主成分分析(PCA)方法对SIFT特征进行降维,降维后的维数为D(本文中,取D=64)。
1.5 特征编码
经过图像子块的特征提取过程之后,可以将特征向量集X={x1,x2,…,xT}作为图像的特征描述子。对于每一幅图像的特征描述子,采用高斯混合模型(Gaussian Mixture Model,GMM)构建码本,采用改进的Fisher向量进行编码,具体描述如下。
假设样本之间相互独立且服从高斯分布,令Gk={ωk,μk,Σk|k=1,2,…,K}表示K个混合高斯模型的参数,其中,ωk表示第k个高斯模型的混合权重,μk表示第k个高斯模型的均值向量,Σk表示第k个高斯模型的协方差矩阵。每一个特征向量采用一个软分配函数γt(k)与第k个高斯函数项关联,本文采用后验概率作为软分配函数,定义为:
对每一个高斯模型的参数求导可以得到一个2D+1维的特征向量,这样,K个高斯模型可以得到(2D+1)K维的特征向量。另外,由于混合高斯模型的权值之和为1,故冗余维数为1,这样,经过Fisher向量编码之后得到的特征向量维数为(2D+1)K-1。
1.6 相似度计算
当提取了查询图像的特征向量之后,本文采用距离测度来计算该特征向量与数据库中的特征向量之间的相似度。为了加快搜索速度,本文采用乘积量化和非对称距离计算方法进行图像检索。
令qr∈RD表示一个维数为D的查询向量,X={xi|xi∈RD,i=1,2,…,n}表示数据库中的特征向量集合,每一个特征向量的维数也为D,数据库中的特征向量总数为n。采用ADC方法估算的查询向量qr∈RD与数据库X中任一特征向量xi∈X之间的距离可以表示为:
其中,q(xi)表示特征向量xi的量化向量。
事实上,码本的尺寸越大,采用ADC方法估计的距离越精确。然而,在实际应用时码本太大不仅会占用较多的存储空间,而且计算效率也会下降。为了解决这一问题,本文采用的策略是:将特征向量划分成m个段,对于每一个段,学习一个码本并关联一个码字。这样,采用ADC方法估计的距离可以改写为:
其中,特征向量的分段数为m,uj(qr)∈RD/m表示特征向量qr的第j个分段。
在图像检索阶段,首先计算查询向量每一个分段与数据集中对应分段的所有可能聚类之间的距离,并将所有计算结果存储在查找表中。为了加速距离计算,ADC充分利用该查找表,通过将每一个单独分段的计算结果相加来得到最终的距离测度。在本文中,距离测度采用常用的欧氏距离。数据库中的特征向量与待查询图像之间的距离越近,说明两特征向量的相似度越大。按照相似度由大到小的顺序进行排序,假设查询余量为T,则输出数据库中前T个特征向量对应的图像作为最终的检索结果。
2 仿真实验与分析
2.1 实验说明
为验证本文方法的图像检索性能,将本文方法与目前图像检索领域常用的3种方法(文献[7,8,9]所述方法)进行对比实验,在相同数据集和计算平台上测试各种方法的查准率、召回率和查询时间指标,定量评价本文方法的性能。其中,查准率是指检索正确的相关图像数量与检索到的图像总数的比值,召回率是指检索正确的相关图像数量与数据集中相关图像总数的比值,查询时间是指平均查询一幅图像所需要的时间,对应的计算机平台参数为:CPU 3.2 GB四核,内存16 GB。
实验数据集选用图像检索领域国际上通用的Holidays数据集。该数据集包含了500个图像组,共1 491幅图像。其中,每个图像组代表一个特定的场景或者物体,每一组的第一幅图像是查询图像,其余图像为相关图像,相关图像包含了旋转、视角和光照变化的差异。部分图像示例见图2。
另外,本文方法涉及了一些参数,如表1所示。这些参数的取值是根据实验统计结果所取的经验值。
本文方法的创新之一是在特征提取阶段不像传统方法那样直接提取图像特征,而是先对图像进行分块,再对图像子块按照纹理复杂度进行分类,只对高复杂度图像子块进行SIFT和PCA特征提取,而低复杂度图像子块的特征向量直接赋值为零。为了验证这一创新的有效性,本文设计了一组仿真实验,在本文方法的总体框架下,对比不进行图像分块和不进行图像子块分类情况下的图像检索性能差异,图3给出了查准率和召回率的对比结果,表2列出了查询时间的对比结果。其中,方法1是指在本文方法框架下不进行图像分块和图像子块分类操作的处理结果(也即跳过1.2和1.3小节的处理步骤),方法2是指在本文方法框架下不进行图像子块分类操作的处理结果(也即跳过1.3小节的处理步骤)。参数取值都如表1所示。
由图3可见,本文方法的查准率和召回率明显高于方法1,略高于方法2,这说明在相同特征维数的情况下,对图像进行分块明显可以提高图像检索的查准率和召回率。同时,对纹理不丰富的图像子块的特征向量赋值为零,可以降低这些特征显著性不强的特征向量引起的错误匹配,一定程度上提高了图像检索的查准率和召回率。再结合表2可见,本文方法的查询时间明显小于方法2,这是因为对低复杂度图像子块的特征向量赋零值,省略了复杂的特征向量计算过程,而且在特征匹配阶段零值特征向量与其他向量的相似度计算速度远远快于非零值特征向量之间相似度计算速度,有效提高了图像检索的效率。因此,本文方法对图像进行分块并对图像子块进行分类是有效的。
2.2 不同检索方法的检索性能对比
下面将本文方法与文献[7,8,9]所述方法进行对比实验,验证本文方法的优势。图4给出了查准率和召回率对比结果,表3给出了查询时间对比结果。
结合图4和表3可见,本文方法的查准率和召回率指标高于其他3种方法,查询时间指标更是明显低于其他3种方法。因此,本文方法的图像检索性能优于其他3种方法。
3 结束语
本文提出了一种结合纹理分块和改进Fisher向量的图像检索方法,在特征提取阶段,通过图像分块和纹理复杂度分类,仅对高复杂度图像子块提取SIFT和PCA特征,对低复杂度图像子块直接赋零值,大幅提高图像检索效率,并降低纹理不丰富图像子块引起的检索误差;在特征编码和相似度计算阶段,通过对特征向量进行分段,采用基于后验概率改进的Fisher向量进行特征编码,在小码本尺寸上依据PQ和ADC方法计算两特征向量各分段之间的欧氏距离,大幅提高相似度计算效率。图像检索实验表明,本文方法耗费的查询时间少,且查准率和查全率高。
参考文献
[1] KOKARE M,CHATTERJI B N,BISWAS P K.A survey on current content based image retrieval methods[J].Iete Journal of Research,2015,48(3-4):261-271.
[2] RAMISA A,RAMISA A,SCHMID C.Combining attributes and Fisher vectors for efficient image retrieval[C].IEEE Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2011:745-752.
[3] FARRUGGIA A,MAGRO R,VITABILE S.A text based indexing system for mammographic image retrieval and classification[J].Future Generation Computer Systems,2014,37(7):243-251.
[4] PUVIARASAN N,BHAVANI R,VASANTHI A.Image retrieval using combination of texture and shape features[J].Image,2014,3(3):39-62.
[5] 杨舒,王玉德.基于Contourlet变换和Hu不变矩的图像检索算法[J].红外与激光工程,2014,43(1):306-310.
[6] 汪宇雷,毕树生,孙明磊,等.基于SIFT,K-Means和LDA的图像检索算法[J].北京航空航天大学学报,2014,40(9):1317-1322.
[7] BAGRI N,JOHARI P K.A comparative study on feature extraction using texture and shape for content based image retrieval[J].International Journal of Advanced Science and Technology,2015,2(80):41-52.
[8] DARWISH S M,ALI R A.Observations on using type-2 fuzzy logic for reducing semantic gap in content-based image retrieval system[J].International Journal of Computer Theory and Engineering,2015,7(1):1-8.
[9] NAGARAJA S,PRABHAKAR C J.Low-level features for image retrieval based on extraction of directional binary patterns and its oriented gradients histogram[J].Computer Science,2015,2(1):13-28.
[10] GRAY R M,COSMAN P C,OEHLER K L.Neural network implementation of adaptive vector quantization for image compression[J].Global Journal of Computer Science & Technology,2014,59(4):91-96.
[11] NOVA D,ESTEVEZ P A.A review of learning vector quantization classifiers[J].Neural Computing & Applications,2015,25(3-4):511-524.
作者信息:
邹利华1,战荫伟2
(1.东莞职业技术学院 计算机工程系,广东 东莞523808;2.广东工业大学 计算机学院,广东 广州510006)