趙俊杰,鄭興
(四川大學計算機學院,成都 610065)
圖像檢索中的特征表示方法研究
趙俊杰,鄭興
(四川大學計算機學院,成都 610065)
研究用于檢索的單幅圖像的兩種特征表示方法,第一種是基于SIFT等傳統(tǒng)手工特征點的表示方法;第二種是基于卷積神經網絡的特征表示方法。采用CaffeNet和VGG-M兩個預訓練模型,分別提取它們全連接層和卷積層的輸出作為圖像的特征。實驗表明,對于預訓練的模型,最后一層卷積的特征對于檢索的效果要好于全連接層的特征。
特征提??;圖像檢索;卷積神經網絡
近年來,隨著移動互聯(lián)網的發(fā)展,每個人都可以用手機或者平板電腦接入互聯(lián)網。而手機所具有的拍攝功能使得互聯(lián)網上每天都會產生巨量的圖像和視頻數據,如何組織和利用這些海量的圖像和視頻數據成為了多媒體領域研究的熱點問題。CBIR[1](基于內容的圖像檢索技術)作為一種重要的信息獲取方式也越來越受到研究人員的重視。CBIR一般的流程是先將圖片轉化成某種特征表示形式,然后選取合適的距離度量方式,計算兩張圖片的相似度,最后排序得到結果。這其中,對于圖像的特征表示方法是最為關鍵的一個環(huán)節(jié),直接影響圖片檢索的準確度。本文主要研究了用于檢索目的的特征表示方法,采用傳統(tǒng)手工設計的方法和近年來比較流行的深度卷積神經網絡技術,并在百萬級的商品圖片數據集上做了實驗分析。
在傳統(tǒng)的特征表示方法中,對于圖像特征的提取一般是采用局部特征點,然后再根據所使用的場景來把這些局部特征點組合成特征向量。本文采用的傳統(tǒng)的特征表示由詞袋模型演變而來,基于SIFT[2]和Color Moment(顏色特征矩)特征,其流程如下:
①對查詢集的所有圖片依次提取特征點。
②對所有的特征點,采用K-Means方法進行聚類,所有的聚類中心形成一個約10000維的詞典。
再對每一幅圖像中的特征點,在②中形成的詞典上面進行直方圖投票,形成該張圖片的特征向量。
在上面的流程中,對于每張圖片特征點的直方圖投票方式解釋如下:
①計算該張圖片中所有特征點和詞典中聚類中心的距離。
②對①中的結果進行排序,選取距離最相近的前4個特征點,并在直方圖相應的位置進行累加。形成特征向量。
在上面的流程中,關于向量相似度的距離度量方法,在本文的實驗部分討論。在深度學習技術出現以前,基于內容的圖像檢索通常都是采用上述特征表示方法,或者詞袋模型結合倒排索引的技術來實現。傳統(tǒng)方法的優(yōu)勢在于對計算資源的需求較小,模型簡單,易于實現和應用,但在檢索效果上遠不如現在基于卷積神經網絡的特征表示方法,本文會在第二小節(jié)詳細討論后者。
2.1 卷積神經網絡概述
從2012年AlexNet[3]贏得ImageNet[4]比賽過后,卷積神經網絡獲得大量研究人員的關注和投入。卷積神經網絡是深度神經網絡的一種,它和普通神經網絡的區(qū)別是,它通過局部連接、權值共享等方法來避免傳統(tǒng)神經網絡采用全連接方式造成參數量巨大的問題。卷積神經網絡其特點決定了它非常適合圖像處理類問題,使得神經網絡的參數在一個可控的范圍,能夠在現代GPU的計算機能力下高效地訓練。
卷積神經網絡一般由卷積層、Pooling(池化)層、全連接層等基本結構構成。本文采用了CaffeNet(AlexNet的復制[5])、VGG-M[6]兩種模型在深度學習框架Caffe[7]上進行了實驗,它們的結構如圖1所示。
VGG-M和CaffeNet都是五層卷積再加上三層全連接的結構,圖中96x11x11表示卷積核的數量為96,卷積核大小為11x11,St和pad分別表示參數stride(間隔)和padding(填充)。max-pooling和avg-pooling是兩種pooling方式,前者的含義是取pooling窗口中的最大值,后者則是計算pooling窗口的平均值。
2.2 CNN特征提取方法
本文所使用的兩種模型都是在ImageNet數據集上的預訓練好的模型。特征提取方式是直接把每一層的輸出當作該張圖片的特征向量,分別提取了fc7,fc6, conv5,conv4的特征并做了相應的實驗。其中fc6,fc7兩層的特征維數不高為4096,可以直接使用。而卷積層的輸出維數過高,本地的實驗環(huán)境無法存儲和計算,因此在卷積層后面添加了pooling層來進行降維處理。
pooling層使用了上文介紹的兩種方式,max和avg。以Caffe的配置形式表示為:
上面兩層的含義是在pool5層后面再接上了兩層分別為3×3和4×4的max-pooling,stride都為1,最后pool6_4×4層輸出的維度為2304。本文還討論了pooling的大小,以及兩種pooling方式得到的特征向量對檢索精度的影響。
圖1
3.1 實驗數據和評測標準
本文使用了淘寶的商品數據集,訓練集為200W,驗證集為300W,并給定了1500張查詢圖片和對應的ground truth。訓練集中的圖片都具有兩級標簽,和多種屬性,但是這些標簽和屬性極度不均衡,對于檢索問題的參考意義不大。曾使用這些標簽和屬性對CaffeNet進行fine-tune,然后提取特征再檢索,效果反而下降。
對于檢索結果,使用MAP值來決定。MAP(Mean Average Precision)是反映圖像檢索系統(tǒng)在全部相關query上的準確度指標。MAP的值由兩個因素決定:檢索結果中同款圖的數量和同款圖片在檢索結果中的位置。同款圖的數量越多且位置越靠前,MAP的值就越搞。如果檢索結果中沒有任何一個同款圖,則值為0。平均準確率AP(Average Precision)定義為:
整個檢索框架的基本流程是,先計算每一張的圖片的特征向量,然后計算特征向量之間的距離,然后排序。本文使用Cosine Similarity(余弦距離)[8]來衡量相似度,實驗表明余弦距離在衡量圖像相似度方面,要優(yōu)于歐氏距離。
3.2 手工特征實驗
本文嘗試了SIFT特征、color moment特征以及它們的融合特征。實驗的結果均不及基于卷積神經網絡的特征,所得到的最好MAP值大約為0.11左右。嘗試過如下的方案:1.純SIFT特征;2.純color moment特征;3.SIFT和CNN特征的融合。
從實驗的結果來看,SIFT特征對于帶有文字等這類棱角分明的圖片的檢索效果十分顯著,color moment特征對于顏色的敏感度非常高,結果圖片在顏色上與查詢圖片保持高度的一致。手工特征方法的檢索效果很大程度上依賴于選取特征的性質,而這些性質大多都是局部性的,很難體現出一張圖片整體的語義。本文還嘗試了CNN的特征與SIFT特征的融合實驗,在這種實驗方案下,MAP值有輕微的提升,不明顯。從結果來看,SIFT的加入,使部分檢索圖像的細節(jié)點上更加準確,符合預期。由于手工特征方法的效果遠不如基于CNN的特征,本文沒有再繼續(xù)嘗試其他局部特征方法。
3.3 卷積神經網絡特征實驗
如前文所述,基于CNN的特征實驗采用了CaffeNet和VGG-M這兩種預訓練模型,所得到的全部結果實驗結果由表1和表2所示:
表1
表2
表1中,pool5_max表示在pool5之后再加一個max-pooling來,pool5_ave同理是在pool5之后再加一個ave-pooling。單獨從這兩項的結果來看,兩種方式對于檢索的效果,max要優(yōu)于average。這可能是由于數據中存在噪聲,max在pooling窗口中取最大值一定程度上起到了去除噪聲的作用,使得特征向量的判別性得到增強,從而提升了MAP值。同時,我們也試驗了conv4的特征,由于pool4層的特征維數過高,我們使用兩層pooling來降維,即Pool4_ave_ave,它在pool4后面接了兩層ave-pooling,所得到MAP值低于conv5的特征。從表1的實驗數據中,我們可以得出結論:從全連接層開始,越往前面的特征對于檢索問題的效果越好,一直到最后一層卷積。
在表2中,又進一步試驗了將conv5分別降維到4000和2000進行了實驗。Pool6_3×3_max表示在pool5_max之后再加了一層3×3的pooling層,其他的同理。從實驗的數據來看,降維到4000左右的結果最好,再進一步pooling,由于信息的損失較大,結果反而會降低。
從前面的數據中,我們可以得出下面兩個基本的結論,在預訓練的模型下,對于檢索問題:
最后一層卷積輸出的特征對于檢索的效果最好。
pooling的方式對最終結果的影響很大,max-pooling要優(yōu)于ave-pooling。
對于第一點,本質上,由于預訓練的模型的目標是分類,而并不是檢索的排序,因此造成了卷積層的特征還要優(yōu)于全連接層的特征。同時,由于卷積層的特征一定程度上還包含了圖像的空間位置信息[9],而全連接層則損失了這一信息。對于第二點,本文僅僅采用了簡單的pooling作為降維方式,結果就有了顯著的提升,說明在降維的方法上面,還有很大的提升空間??梢赃M一步采用更復雜的pooling方式,或者采用主成分分析等成熟的方法去提升檢索效果。
本文主要討論了基于內容的圖像檢索框架中,單張圖像的特征表示的兩種方法?;谑止ぬ卣鞯谋硎痉椒ㄊ芟抻谠芯植刻卣鼽c的性質,難以提升效果?;诰矸e神經網絡的特征表示方法效果遠勝于前者,而且有較大的提升潛力。在未來的工作中,我們還可以從以下方面進行改進和優(yōu)化:第一,本文使用兩種預訓練模型,優(yōu)化目標是分類,我們可以進一步使用learning to rank[10]的技術對模型進行fine-tune;第二,如前文所述,我們可以采用更復雜pooling方式配合PCA、LDA等方法進行各層特征的降維處理。第三,對于圖像檢索問題而言,查詢圖像往往包含了很多不相關的信息,我們還可以采用一些目標檢測技術來突出重要內容,這樣可以進一步提升檢索效果。
[1]基于內容的圖像檢索.https://zh.wikipedia.org/wiki/.
[2]Lowe,David G.Distinctive Image Features from Scale-Invariant Keypoints.International Journal of Computer Vision 60.2(2004):91-110.
[3]Krizhevsky,Alex,Ilya Sutskever,Geoffrey E.Hinton.Imagenet Classification with Deep Convolutional Neural Networks.Advances in Neural Information Processing Systems,2012.
[4]Russakovsky,Olga,et al.Imagenet Large Scale Visual Recognition Challenge.International Journal of Computer Vision 115.3(2015): 211-252.
[5]https://github.com/BVLC/caffe/tree/master/models/bvlc_reference_caffenet.
[6]Chatfield,Ken,et al.Return of the Devil in the Details:Delving Deep into Convolutional Nets.arXiv Preprint arXiv:1405.3531(2014).
[7]Jia,Yang-qing,et al.Caffe:Convolutional Architecture for Fast Feature Embedding.Proceedings of the 22nd ACM International Conference on Multimedia.ACM,2014.
[8]https://en.wikipedia.org/wiki/Cosine_similarity.
[9]Zeiler,Matthew D.,Rob Fergus.Visualizing and Understanding Convolutional Networks.European Conference on Computer Vision. Springer International Publishing,2014.
[10]Faria,Fabio F.,et al.Learning to Rank for Content-Based Image Retrieval.Proceedings of the International Conference on Multimedia Information Retrieval.ACM,2010.
Research on Feature Representation in Content-based Image Retrieval
ZHAO Jun-jie,ZHENG Xing
(College of Computer Science,Sichuan University,Chengdu 610065)
Studies two kinds of feature descriptors for content based image retrieval.The first one uses hand craft features like SIFT feature,the second is based on Convolutional Neural Network.Uses two pre-trained model,CaffeNet and VGG-M,extracts feature descriptors from the fully connection layers and convolution layers.Experiments show that the last convolution layer can achieve better results than other layer including fully connection layer.
Feature Extraction;Image Retrieval;Convolutional Neural Network
1007-1423(2017)02-0067-05
10.3969/j.issn.1007-1423.2017.02.017
趙俊杰(1994-),男,四川廣元人,碩士研究生,研究方向為機器學習、多媒體計算
2016-11-01
2016-12-30
鄭興(1991-),男,重慶潼南人,碩士研究生,研究方向為數據挖掘