蘇勇剛,高佳琴
(常州工業(yè)職業(yè)技術(shù)學院,常州213164)
科技互聯(lián)網(wǎng)的飛速發(fā)展,人們可以利用手機、平板等移動終端拍攝照片或短視頻,借助一些社交網(wǎng)絡(luò)平臺分享到互聯(lián)網(wǎng)上,這就使得網(wǎng)絡(luò)空間上的多媒體數(shù)據(jù)呈幾何式暴漲。社交網(wǎng)絡(luò)上的多模態(tài)圖像數(shù)據(jù)[1]不僅包含自身的視覺信息、文本信息,還包含時間、地點、面部表情和聲音等其他形式信息。當用戶在這種數(shù)據(jù)規(guī)模龐大網(wǎng)絡(luò)中檢索此類圖像時,簡單使用文本特征或視覺特征檢索時,檢索性能和友好性會大打折扣。因為常規(guī)的圖像檢索方法只會考慮到圖像單個信息,從而丟失掉其他模態(tài)下的信息。
在這種網(wǎng)絡(luò)環(huán)境下,如何設(shè)計一個快速的圖像檢索算法,是一個急需解決的問題。由于人工智能的發(fā)展對于社會的現(xiàn)代化和信息化起到了非常重要的作用,人工智能對人們的工作方式做了很大的改變,同時人們的生活質(zhì)量和水平都得到了很高的提升。機器學習作為人工智能的一個分支,在計算機視覺的發(fā)展方向上做出了很大的貢獻。本文利用前沿的機器學習先進理念,提出了一個遷移學習的快速圖像檢索算法,遷移學習主要學的是圖像的位置和行為特征,然后再把圖像多特征進行自適應(yīng)融合進行哈希編碼,最后利用協(xié)方差度量的圖像的相似性。
目前研究人員基于機器學習的圖像檢索算法,大致分為三個方向。一是,基于卷積神經(jīng)網(wǎng)絡(luò)的圖像檢索算法;二是,基于深度哈希的圖像檢索算法;三是,基于多模態(tài)學習的圖像檢索算法。
(1)卷積神經(jīng)網(wǎng)絡(luò)
第一類比較出色的神經(jīng)網(wǎng)絡(luò)有LeNet5、AlexNet和VGGNet等,LeNet5[2]是早期用于工程應(yīng)用的網(wǎng)絡(luò)結(jié)構(gòu),發(fā)展到AlexNet[3]。與AlexNet相比,VGGNet深度上是其2倍,參數(shù)量大小也是兩倍多,共16層,其中13層是卷積層,3層是全連接層。VGGNet[4]的主要貢獻是當加深其網(wǎng)絡(luò)的深度至16-19層,可以大大優(yōu)化以往的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其方法是利用帶有卷積核(3×3)的網(wǎng)絡(luò)對逐漸加深的網(wǎng)絡(luò)進行了深度評估。但是目前的VG?GNet也同樣存在一些缺點,因為該網(wǎng)絡(luò)的深度相對過大,所以算法訓(xùn)練周期長。
(2)深度哈希
第二類代表性的算法有CNNH(Convolutional Neu?ral Network Hashing)、DNNH(Deep Neural Network Hashing)和DSH(Deep Supervised Hashing)算法等,與常見的值編碼和機器深度學習哈希算法不同,哈希方法的主要研究目標之一就是快速得到二值編碼。而機器深度哈希算法目前被廣泛采用的另一種做法是對二值圖像的編碼約束改用一個更寬松的方法進行優(yōu)化值編碼約束,即不再編碼。CNNH的方法[5]:首先通過對相似度矩陣的樣本進行計算和分解,得到對應(yīng)兩個樣本的二值編碼,然后再通過利用CNN對得到的二值圖像編碼對樣本進行計算和擬合。與比CNNH的方法相比,DNNH[6]其中的網(wǎng)絡(luò)深得多的Network in Network的網(wǎng)絡(luò)結(jié)構(gòu)的做法:其中的網(wǎng)絡(luò)結(jié)構(gòu)使用三張圖像構(gòu)成的三元組進行訓(xùn)練。但由于上述兩種算法的激活函數(shù)具有飽和的性質(zhì),即當輸出接近期望的值的時候(0/1或-1/+1),梯度就越小,網(wǎng)絡(luò)訓(xùn)練也就越困難。DSH算法[7]的創(chuàng)新點在于添加一個正則項,來對網(wǎng)絡(luò)的輸出進行約束,使之接近二值編碼。當網(wǎng)絡(luò)的輸出和期望得到的值偏差越大的時候,損失也越大,但是同時,梯度的值保持在-1或+1,來保證訓(xùn)練過程的穩(wěn)定性。第三類,后來研究人員把目光轉(zhuǎn)移到遷移學習,文獻[1]提出了基于遷移學習的圖像檢索算法,對圖像文本和視覺信息學習的結(jié)果遷移到視覺信息領(lǐng)域并與之融合,從而構(gòu)建了代表性的圖像特征,進而可以高效地檢索圖像。
(3)多模態(tài)學習
相對傳統(tǒng)圖像檢索系統(tǒng)排序是根據(jù)圖像的一個單模態(tài)的相關(guān)性,隨著社交網(wǎng)絡(luò)的發(fā)展,圖像以多模態(tài)數(shù)據(jù)的形式出現(xiàn)。當多個模態(tài)共存時,我們需要同時從多個異質(zhì)信息源提取被研究對象的特征。在單模態(tài)表示學習的基礎(chǔ)上,多模態(tài)的表示學習還要考慮多個模態(tài)信息的一致性和互補性。文獻[8]提出多模態(tài)相關(guān)性學習Canonical Correlation Analysis(CCA),通過計算圖像間的嵌入向量的余弦距離度量圖像的相似性。文獻[9]中提出了一種面向跨模態(tài)檢索的一致表示學習方法。特別地,該方法可同時學習多個模態(tài)的基矩陣。另外,該方法還采用了局部組稀疏的正則項以保證多模態(tài)特征的一致性。文獻[10]中通過從互聯(lián)網(wǎng)獲取有監(jiān)督數(shù)據(jù),提出了一種多模態(tài)知識表示學習方法。該方法具有以下優(yōu)點:①可自動從互聯(lián)網(wǎng)平臺獲得可表征文本-視覺兩模態(tài)關(guān)聯(lián)關(guān)系的相關(guān)數(shù)據(jù),并借此挖掘多模態(tài)數(shù)據(jù)中潛在的知識;②可構(gòu)造模態(tài)無關(guān)、任務(wù)無關(guān)的公共知識表示空間;③通過遷移從已知節(jié)點和關(guān)系中所學的知識,能夠表示在已知樣本上未觀測到的多模態(tài)關(guān)系。
基于遷移學習的快速算法通過構(gòu)建遷移學習特征來提高相似度的精度,并采用類目預(yù)測來縮小檢索范圍以及對融合特征進行哈希編碼,從而有效地提高算法的效率并采用自適應(yīng)(多特征權(quán)重系數(shù))優(yōu)化檢索圖像結(jié)果集的排序,算法框架如圖1所示,算法總共五個步驟。
圖1 本文算法整體框架圖
第一步,初始化圖像庫,預(yù)處理。
統(tǒng)一圖像的尺寸64×64,選取視覺、位置和行為這三種模態(tài)作為遷移學習的特征,并以文本模態(tài)作為輔助特征,去除其他多余模態(tài)。
第二步,多模態(tài)特征提取。
對每一幅圖像的各個模態(tài)下的特征如:視覺特征、行為特征和位置特征,隨機得到M個描點,同時對每一種模態(tài)下的特征進行核函數(shù)公式(1)變換得到一個維度為M的特征矩陣。提取多模態(tài)特征是為了構(gòu)建遷移學習特征和融合特征做鋪墊。
第三步,構(gòu)建遷移學習特征。
將初始化某類圖像庫的源領(lǐng)域圖庫、目標領(lǐng)域圖庫,再選擇一個其他類輔助領(lǐng)域圖庫,構(gòu)建視覺、位置和行為遷移圖,然后訓(xùn)練模型并最終提取出遷移圖中的參數(shù)。
圖2 遷移特征構(gòu)建圖
所構(gòu)建遷移圖2中的連接三個節(jié)點分別為視覺特征集合中心的節(jié)點、位置特征和行為特征集合中心的節(jié)點,當遷移學習特征分類的節(jié)點與該節(jié)點對應(yīng)的圖像類別一致時,則將該邊的權(quán)重系數(shù)變大,反之則該邊的權(quán)重系數(shù)變小。設(shè)W1、W2和W3分別表示視覺特征相關(guān)邊的權(quán)重系數(shù)、位置特征和行為特征相關(guān)邊的權(quán)重系數(shù),W1+W2+W3=1且它們之間相等,若當有與視覺特征相關(guān)節(jié)點的圖像被預(yù)測類目一致,其系數(shù)W1的計算如式(2)所示。
其中,σ為伸縮系數(shù)。
第四步,融合多特征并哈希編碼。
將視覺T1、位置T2和行為特征矩陣T3依據(jù)特征權(quán)重系數(shù)公式(3)融合在一起,然后按照感知哈希算法對其進行哈希編碼:
第五步,度量圖像相似度。
若給定兩幅圖像特征的哈希編碼為的兩個長度為l二 值 編 碼 序 列a=(a1,a2,…,al),b=(b1,b2,…,bl),a,b∈{0,1}l,a與b之間的漢明距離定義為兩者對應(yīng)位置上不同編碼值的個數(shù),即:
一般情況下,若兩幅圖像哈希碼間的漢明距離不超過3~5,則說明圖像非常相似;若它們哈希碼間的漢明距離大于10,則說明圖像不相似。
(1)圖像查詢:提交帶查詢的圖像,然后對其預(yù)處理。
(2)類別預(yù)測:類別預(yù)測不但提高了檢索的效率,而且提高了的精準程度。因為類別的預(yù)測無需對整個圖像庫進行全局檢索,只需檢索相應(yīng)的某個類庫圖片。
(3)特征提?。禾崛D像多特征為構(gòu)建遷移學習特征,因為其提取已經(jīng)遠遠優(yōu)于傳統(tǒng)的特征提取。同時也提取局部特征提取,是因為對圖像特征局部殊性的表達。
(4)檢索引擎:對帶查詢圖像的多特征圖片融合并進行哈希編碼,與檢索引擎的哈希編碼庫進行匹配,快速返回檢索結(jié)果。
(5)檢索與排序:排序模塊能夠有效結(jié)合特征與局部特征,遷移特征主要從高層來提取信息,而局部特征關(guān)注的是根據(jù)圖像的局部信息。
圖3 本文算法流程圖
為了驗證本文算法的性能,本文使用Wiki數(shù)據(jù)庫作為基礎(chǔ)圖像庫,這圖像庫主要包括動物、植物、建筑和汽車等10類圖像,共9000幅圖像,同時圖像都帶有各自的維基百科的文字描述,加上從社交資源圖庫中下載1000幅圖像,這些圖像也都對應(yīng)有文字描述,總共10000幅圖像進行算法訓(xùn)練與測試。實驗硬件平臺為2.67GHz主頻的CPU,可用內(nèi)存16G,軟件開發(fā)平臺Ubuntu 14.04下的PyCharm,開發(fā)語言Python。
本文設(shè)計三個對照實驗,實驗一用于對比這兩種算法查準率;實驗二用于驗證本文算法在檢索相同數(shù)目圖像庫時的時間復(fù)雜度更低;實驗三用于驗證本文算法檢索出的圖像結(jié)果排序更佳。三個實驗?zāi)康氖桥c傳統(tǒng)單模態(tài)SIFT算法進行比較,驗證本文算法具有更高的效率和更好的用戶友好性。
實驗一是本文算法與傳統(tǒng)SIFT算法對圖像庫中三類(花、巴士、水果)的查準率,見表1。
表1 傳統(tǒng)SIFT與本文算法對某類圖像庫的查準率對比
從表1可知,本文算法對各類平均查準率較傳統(tǒng)SIFT算法高約32%,說明本文算法優(yōu)勢明顯。
實驗二是本文算法與傳統(tǒng)SIFT算法在不同容量的圖像庫下檢索的時間復(fù)雜度進行對比,結(jié)果詳見表2和圖4。
表2 傳統(tǒng)SIFT與本文算法對不同圖像容量庫的檢索時間對比
圖4 本文算法與傳統(tǒng)SIFT算法運行時間對比
從表2可知看出,當圖像庫的數(shù)量成倍增長時,傳統(tǒng)SIFT算法檢索耗時也成倍增長,呈現(xiàn)正相關(guān);而本文算法檢索耗時不是成倍增長,呈現(xiàn)負相關(guān)。
從圖4可以看出,隨著數(shù)據(jù)規(guī)模增大,傳統(tǒng)SIFT算法時間代價增長較快,而本文算法時間代價增長相對較緩,本文算法的運行效率明顯優(yōu)于傳統(tǒng)SIFT算法。
實驗三為本文算法與傳統(tǒng)SIFT算法對候選檢索結(jié)果排序的對比,結(jié)果詳見圖5。
圖5為待檢索查詢的圖像結(jié)果為搭乘紅色雙層巴士(如圖1)時的候選圖像檢索查詢結(jié)果,圖5(b)的本文傳統(tǒng)SIFT算法頁面檢索查詢的結(jié)果中對于候選歐氏圖像的排序是依據(jù)歐氏圖像之間距離的相似度和大小來進行排序,從而使得歐氏圖像的排序比較粗糙,即會嚴重影響到對用戶的友好瀏覽體驗;而對于圖5(a)的本文算法傳統(tǒng)在頁面檢索查詢的結(jié)果中對于候選歐氏圖像則是依據(jù)歐氏圖像多特征的相似度和大小來進行排序,從而使得歐氏圖像的顏色特征排序更加合理,(排在最前面的圖像則是歐氏顏色特征權(quán)重占多的,其次是形狀特征,最后是位置特征。)最終會改善用戶的體驗。
本文提出了一種基于遷移學習的快速圖像檢索算法,該算法創(chuàng)新在構(gòu)建了遷移學習特征,將自適應(yīng)調(diào)整多特征權(quán)重系數(shù)進行特征融合,然后再哈希編,最終計算哈希距離度量相似度。實驗證明,這種基于遷移學習的快速圖像檢索算法有效地解決了多模態(tài)圖像檢索的檢索效率、查準率偏低和檢索結(jié)果集的圖像不合理排序等問題,最終有效地提升了用戶友好性。