高梓銘, 彭亞楠, 劉 穎, 李大湘,劉紅燕, 程 美, 朱 麗
(1.西安郵電大學 圖像與信息處理研究所, 陜西 西安 710121;2.電子信息現(xiàn)場勘驗應用技術公安部重點實驗室, 陜西 西安 710121)
刑偵現(xiàn)場勘驗(現(xiàn)勘)圖像是刑偵部門在案發(fā)現(xiàn)場獲取與案件相關的圖像,是現(xiàn)場勘驗信息的重要組成部分。現(xiàn)勘圖像分類檢索可為刑偵破案提供重要線索,并在串并案中起到重要作用[1]。因此,迫切需要一種自動、有效的現(xiàn)勘圖像分類檢索系統(tǒng),以快速地從大量現(xiàn)勘圖像中找到相關圖像,以提高刑偵部門的工作效率、節(jié)省人力物力資源。
現(xiàn)勘圖像涉及實際案件,數(shù)據(jù)來源特殊,國內外關于現(xiàn)勘圖像檢索的研究方面報道相對較少。目前的現(xiàn)勘圖像檢索技術可分為兩大類:基于低層特征的現(xiàn)勘圖像檢索和基于高層語義的現(xiàn)勘圖像檢索[1]?;诘蛯犹卣鞯默F(xiàn)勘圖像檢索技術了采用基于內容的圖像檢索(content-based image retrieval, CBIR)框架,通過提取圖像低層特征,如顏色直方圖、灰度共生矩陣、Gabor特征、小波紋理特征等,或者不同低層特征的融合特征進行圖像檢索,實驗結果證實了CBIR技術在刑偵現(xiàn)勘圖像檢索中的可行性[2]。針對現(xiàn)勘圖像提出采用圖像主導顏色描述符來作為顏色特征,灰度共生矩陣來作為紋理特征并結合梯度向量流獲得的現(xiàn)勘圖像邊緣來構成現(xiàn)勘圖像的低層特征向量進行檢索[3],也得到了較好的檢索效果。其缺點是計算比較復雜, 提取圖像特征耗時較多。也有針對現(xiàn)勘圖像提出基于區(qū)域語義模板的圖像檢索方法[4],該方法依據(jù)用戶提交查詢圖像及感興趣區(qū)域,構建區(qū)域語義模板并進行預分類,最終進行圖像排序,實驗證明此算法在提高刑偵現(xiàn)勘圖像的查準率方面是有效的。還有一種兩層體系現(xiàn)勘圖像檢索框架,該框架首先計算現(xiàn)勘圖像數(shù)據(jù)庫對應的特征數(shù)據(jù)庫,預先訓練一個可實現(xiàn)多語義分類的支持向量機分類器模型[5]。在提交檢索圖像后,支持向量機(support vector machine, SVM)根據(jù)圖像特征自動判定其語義類別,然后在僅包含該語義的圖像庫上進行匹配檢索。實驗結果表明,該方法在多個檢索指標上優(yōu)于按例查詢(query by example, QBE)的方法,其檢索時間約為QBE方法的一半。將相關反饋引入到現(xiàn)勘圖像檢索中也是一種有效的手段,如文獻[6]在比較輸入鞋印圖像的特征與圖像特征庫中特征時引入了人工反饋,利用人工判斷參與比較的鞋印圖像是否有殘缺, 對于殘缺部分通過積分直方圖計算出殘缺圖像在完整圖像中的最相似區(qū)域位置, 再提取該區(qū)域的特征,最后進行相似度計算。雖然上述方法取得了一定效果,但是這類傳統(tǒng)圖像檢索方法中的“語義鴻溝”問題仍嚴重影響圖像檢索的準確率。
隨著2006年Hinton等人提出深度學習技術[7]后,深度學習得到迅速的發(fā)展,至今深度學習的框架已有數(shù)種,如卷積神經(jīng)網(wǎng)絡(convolutional neural network, CNN)、深度信念網(wǎng)絡等,已經(jīng)廣泛應用于數(shù)字識別、圖像分類和人臉識別等領域上,并且獲得了前所未有的成功。深度學習在圖像分類與檢索領域有著廣泛的應用。如在ImageNet比賽中,2010年采用傳統(tǒng)分類器的準確率(top 5精度)是71.8%,2011年是74.3%。而在2012年,Hinton等人將深度學習技術的準確率提高到84.7%,而在2017年的比賽中最終準確率更是高達97.7%[7]。Babenko[8]和Donahue[9]分別提取CNN的全連接層的特征作為高層語義特征進行檢索,也可以從卷積層提取圖像特征進行檢索[10],均獲得了良好的檢索效果。Carvajal等人[11]通過對3種預訓練模型進行微調并提取輸出層的前一層特征進行了蝴蝶種類的檢索,也獲得了很好的結果。
CNN在圖像分類檢索方面的優(yōu)異表現(xiàn)依賴于大量的訓練數(shù)據(jù),然而,現(xiàn)勘圖像數(shù)據(jù)源特殊,相關文獻顯示目前學術界并沒有標準的大型現(xiàn)勘圖像數(shù)據(jù)庫。西安郵電大學圖像與信息處理研究所多年來與公安部門合作,整理出了目前學術可用的最大的現(xiàn)勘圖像圖像庫,包含19363幅多種類別的圖像[12]。為了將CNN在一般圖像檢索上的優(yōu)勢應用到現(xiàn)勘圖像檢索中,本文將利用遷移學習提取的CNN特征與低層特征融合,以期可充分利用CNN在深度語義特征提取方面的優(yōu)勢,同時考慮適用于該數(shù)據(jù)庫的低層特征,從而能有效提高現(xiàn)勘圖像檢索效率。
為了克服低層特征在檢索時候的語義鴻溝問題,本文采用將CNN特征與低層特征融合方法,同時,為了彌補單個CNN模型的不足,將從兩個CNN模型提取的特征進行融合之后,再與適合該圖像數(shù)據(jù)庫的低層特征融合,以此來更全面的描述圖像,其算法流程如圖1所示。
圖1 基于CNN與低層特征融合的 現(xiàn)勘圖像檢索算法流程
CNN特征提取按照預訓練CNN模型的遷移、微調CNN模型和CNN特征提取與融合等3個步驟進行,下面將描述各步驟的具體過程。
1.1.1 預訓練CNN模型的遷移
CNN特征在圖像分類和檢索中取得了很大的成功,其重要原因在于其依賴大量的訓練數(shù)據(jù),可以訓練出有效的CNN。但是,現(xiàn)勘圖像檢索方面,由于數(shù)據(jù)的缺乏使得卷積神經(jīng)網(wǎng)絡的訓練容易過擬合而無法達到理想效果。為此,可以將在ImageNet數(shù)據(jù)集上學習到的一些CNN模型遷移到刑偵圖像的學習任務中。
目前,有很多著名的預訓練模型,如AlexNet、視覺幾何組[13](visual geometry group,VGG)和VGG-VD[14](VGG very deep convolutional network )被成功地運用在場景分類[15-16]和圖像檢索[8,15-17]等各個方面。VGG網(wǎng)絡包括的CNN模型有VGG-F、VGG-M 和VGG-S等預訓練模型, 它們具有相似的結構,只有卷積層中濾波器的數(shù)量和大小稍有差別。本文選擇VGG-F作為預訓練模型,其共有8層,包括5個卷積層,3個全連接層,具體結構如表1所示。
表1 VGG-F模型結構
VGG-VD是一個深度CNN網(wǎng)絡,包括VD16(共16層,其中13個卷積層和3個全連接層)和VD19(共19層,其中16個卷積層和3個全連接層)。本文選擇VGG-VD16作為預訓練模型,其具體結構如圖2所示。
圖2 VGG-VD 16結構
1.1.2 微調CNN模型
通常情況下,目標任務的圖像集與預訓練圖像集無論是類別數(shù)量還是圖像樣式都存在很大差別。在目標圖像集的檢索任務中,直接用預訓練的CNN模型提取圖像特征往往難以達到最優(yōu)的性能[18]。因此,為了使預訓練的CNN模型參數(shù)更好地適用于目標圖像集的特征提取,采用目標圖像集的圖像對預訓練的CNN模型參數(shù)進行微調。下面將說明具體微調過程。
步驟1圖像庫中的每張圖像均被調整到像素為224×224,作為CNN的輸入。
步驟2對于第1到第7層,即conv1—fc7,利用預訓練模型的參數(shù)對其進行初始化,然后將預訓練CNN模型的最后一層全連接層的輸出類別數(shù)目設置為本文圖像類別數(shù),并重新進行訓練。最終形成適合自己學習任務的CNN模型。
1.1.3 CNN特征提取與融合
考慮到模型總共有3個全連接層,前兩個全連接層被用作特征提取器,最后一個全連接層連接分類器用來進行分類。因此,如果從兩個CNN模型中提取第二個全連接,則fc7層的輸出作為圖像的特征分別為4096維。若直接進行融合,融合特征將具有相當高的維數(shù),高維特征將導致計算復雜度高,耗時多,內存占用率高,這對于檢索實時性是很大的阻礙。但是,考慮到這些特征之間往往存在著一定的相關性和信息冗余,因此,在融合前,利用主成分分析法[19](principal components analysis, PCA)對兩個模型所提取的特征降維至128維,然后再進行融合。融合特征F表示為
F-CNN=[w1fCNN1,w2fCNN2],
(1)
式中fCNN1表示從VGG-VD 16模型中提取的fc7層特征,fCNN2表示從VGG-F模型中提取的fc7層特征,w1,w2分別為對應特征的權重,其取值實驗結果給出。將兩個降維后的特征進行級聯(lián),這樣不僅保證了特征的有效性,還極大地減少了計算量,節(jié)省了內存,又可以在保證正確率的情況下做到實時檢索。
圖像底層特征與深度特征在描述圖像內容時具有互補性,為此針對現(xiàn)勘圖像低層特征的測試結果[12],本文選取以下4種圖像低層特征。
1.2.1 HSV顏色直方圖
顏色直方圖是描述圖像顏色信息的基本特征,它反映的是不同色彩在整幅圖像中所占的比例,即各個顏色出現(xiàn)的頻率,其計算公式為
(2)
式中,n(k)是圖像中具有特征值為k的像素的個數(shù),N是圖像像素的總數(shù),k表示圖像的特征取值,k=0,1,…,L-1,L是特征可取值的個數(shù)。
考慮到HSV顏色空間更符合人眼感知,因此,本文實驗將圖像轉換到HSV顏色空間,并對H、S、V三通道分別進行20、10、5的非等級量化,最終形成1000維的顏色直方圖[20]fHSV。
1.2.2 Gabor特征
Gabor小波與人類視覺系統(tǒng)中簡單細胞的視覺刺激響應非常相似,在提取目標的局部空間和頻率域信息方面具有良好的特性,本文使用Gabor濾波來抽取圖像的紋理信息[21]。Gabor特征提取步驟如下。
(1)建立Gabor濾波器組。選擇4個尺度,6個方向,組成24個Gabor濾波器。
(2)Gabor濾波器組與每幅圖像在空域卷積,每個圖像可以得到24個濾波器輸出,這些輸出是圖像塊大小的圖像。
(3)提取每一個濾波器輸出的均值和方差作為圖像的紋理特征fGabor,共48維。
1.2.3 DCT波
離散余弦變換(discrete cosine transform,DCT)是經(jīng)典的圖像頻域信息分析工具,常用于圖像紋理特征提取。小波(wavelet)是通過時間頻率分析,將數(shù)據(jù)或信號分解成不同頻率分量的數(shù)學函數(shù)。通過小波變換可以分析不連續(xù)和尖銳的信號。將Kekre變換矩陣生成的Kekre’s Wavelet(Kekre波)作用在DCT系數(shù)矩陣上,能夠得到DCT Wavelet(DCT波)。Kekre變換矩陣[22]可表示
(3)
Kekre變換矩陣是任意N×N矩陣,本文采用16×16的Kekre變換矩陣來構造162×162的Kekre波矩陣。在得到Kekre波矩陣之后,將Kekre波矩陣與正交變換的DCT變換系數(shù)相運算,得到的DCT波為
F=kwd(kw)T,
(4)
其中,kw為Kekre波矩陣,d為DCT變換系數(shù),F(xiàn)為最終得到的DCT波。
本文將現(xiàn)勘圖像分為4塊,對每一小塊的R、G、B三通道進行DCT變換;將得到的DCT變換矩陣與Kekre波矩陣進行運算得到DCT波系數(shù);計算DCT波系數(shù)的均值、方差,構成每一小塊的特征向量;最后將所有小塊的特征向量串聯(lián)形成整幅現(xiàn)勘圖像的紋理特征,共24維fDCT[12]。
1.2.4 GIST空間包絡特征
GIST模型最早由Olive提出,GIST特征是一種生物啟發(fā)特征, 該特征模擬人的視覺提取圖像中粗略但簡明扼要的上下文信息。GIST描述子用一系列統(tǒng)計屬性來來量化圖像場景,如自然度、開放度、粗糙度、膨脹度、險峻度。GIST特征的提取步驟如下。
(1)將一幅大小為h×w的圖像劃分為n×n個網(wǎng)格區(qū)域,每個網(wǎng)格區(qū)域的大小為h′×w′,其中,h=h/m,w′=w/n。
(2)每個區(qū)域與擁有m尺度n方向的Gabor濾波器進行卷積得到nc=mn個通道的Gabor響應結果,再將每個通道的結果級連起來得到Gabor特征,計算過程為
(5)
其中i=1,2,…,na×nb,gmn(x,y)表示具有m個尺度n個方向的Gabor濾波器,cat 表示將每個通道的響應結果級聯(lián)。
(3)計算每個區(qū)域的Gabor特征的均值并級聯(lián)得到GIST特征fGIST。
為了獲得更具區(qū)分性的特征以及更全面的描述圖像,將上述深度特征和低層特征進行融合,可得到融合特征F′為
F′={w1fCNN1,w2fCNN2,w3fGIST,w4fHSV,w5fGabor,w6fDCT},
(6)
其中,fCNN1表示從模型VGG-F中提取的CNN特征,fCNN2表示從模型VGG-VD 16中提取的CNN特征,fGIST表示GIST特征,fHSV表示HSV顏色直方圖,fGabor表示Gabor特征,fDCT表示DCT波特征。wf=[w1,w2,w3,w4,w5,w6]表示特征權值向量,具體的值將在實驗結果部分給出說明。
實驗采用兩個數(shù)據(jù)庫來測試所提出的算法并采用MatConvNet[23]來實現(xiàn)本文算法。MatConvNet是一個MATLAB工具箱,提供了計算機視覺的卷積神經(jīng)網(wǎng)絡。 它簡單、高效。許多預訓練的CNN網(wǎng)絡可以用于圖像分類,分割,面部識別和文本檢測等。
第一個數(shù)據(jù)庫是西安郵電大學圖像與信息處理研究所(center for image and information processing, CIIP)依托與公安部共建的研究平臺,從公安系統(tǒng)獲取了大量實際現(xiàn)勘圖像作為實驗測試數(shù)據(jù)[12](CIIP Crime Scene Investigation Image database, CIIP-CSID)。實驗從中選取了12個語義類別的圖像,分別為生物物證、血跡、車、門、指紋、現(xiàn)場平面圖、鞋印、皮膚、紋身、作案工具、輪胎、窗等,共計10500張圖像,其示例如圖3所示。
圖3 CSID示例
第二個數(shù)據(jù)庫GHIM-10K數(shù)據(jù)庫[24],其中共包含20類圖像,如煙花、建筑、汽車、花朵、蝴蝶等,每類包含500張圖片,共有10000張圖片,部分示例如圖4所示。
圖4 GHIM-10K數(shù)據(jù)庫示例
實驗利用查準率(Precision)來衡量檢索性能。該值越大,表明返回的相關圖像個數(shù)越多,檢索效果越好。查準率定義為
(7)
其中S為一次查詢中返回的結果中包含的正確相關圖像的數(shù)目,K為一次查詢中算法返回的圖像總數(shù)。
2.3.1 低層特征的選擇
在CSID和GHIM-10K數(shù)據(jù)庫上分別測試了上述幾種低層特征及其融合特征的查準率,測試結果分別如表2和表3所示。
可以看出,由于現(xiàn)勘圖像數(shù)據(jù)的特殊性,圖像內容一般沒有明顯的顏色特征區(qū)別,顏色特征的加入反而會影響查準率。GIST描述了一些場景特征更適合于現(xiàn)勘圖像。因此,最終選擇Gabor和GIST作為低層特征。顏色適用于描述自然圖像,因此加入顏色特征對于自然圖像的檢索更有效。Gabor特征和GIST特征分別描述圖像的紋理信息和場景信息,融合這三種特征可以對自然圖像進行更加充分地描述。
表2 CSID中不同低層特征及其組合后的平均查準率
表3 GHIM-10K數(shù)據(jù)庫上各種不同低層特征 及其組合后的平均查準率
2.3.2 CNN特征和融合特征的平均查準率
為了彌補單個CNN網(wǎng)絡的不足,將兩個CNN網(wǎng)絡的fc7層特征進行級聯(lián),再與適合描述該圖像庫圖像的低層特征進行融合,以此來更全面的描述圖像信息。分別在現(xiàn)勘數(shù)據(jù)庫和GHIM10K數(shù)據(jù)庫上進行測試。測試是每次檢索返回10幅圖像,實驗結果可得,對于現(xiàn)勘圖像數(shù)據(jù)庫當采用CNN1、CNN2、GIST、Gabor 特征權重比例為0.2∶0.6∶0.1∶0.1時的組合,其檢索效果最優(yōu)。對于GHIM-10K數(shù)據(jù)庫,當采用CNN1、CNN2、HSV、Gabor、GIST特征權重為0.1∶0.7∶0.1∶0.05∶0.05的比例組合時,檢索效果最優(yōu)。對應的實驗結果分別如表4~5所示。
從實驗結果可以看出,將兩個CNN特征級聯(lián)后再與低層特征融合,能夠有效提高圖像檢索的準確率。
表4 CSID中CNN特征和融合特征的平均查準率
表5 GHIM-10K中CNN特征和融合特征的平均查準率
2.3.3 各個類別圖像的平均查準率
上述結果是各數(shù)據(jù)庫總體的平均查準率,為了了解各個類別圖像的平均查準率,分別計算出兩個數(shù)據(jù)庫中各類圖像的平均查準率,結果分別如圖5-6所示。
圖5 CSID中各個類別圖像的平均查準率
圖6 GHIM-10K中各個類別圖像的平均查準率
從圖中的結果可以看出,在同一數(shù)據(jù)庫中各個類別圖像的查準率各不相同。例如在CSID中生物物證的查準率比其他類別的平均查準率都低,在GHIM-10K數(shù)據(jù)庫中,昆蟲的平均查準率較低。其原因在于目標物不明顯且受背景影響較大,這可能與算法特征融合權重比例或者其他因素有關,需要進一步討論研究。
為了克服現(xiàn)勘圖像數(shù)據(jù)數(shù)量有限造成訓練卷積神經(jīng)網(wǎng)絡時易過擬合的現(xiàn)象,提出了利用遷移學習即特征融合的先看圖像檢索算法,其思想把大型數(shù)據(jù)庫ImageNet上訓練的CNN模型遷移并利用目標數(shù)據(jù)庫進行微調。先利用目標數(shù)據(jù)集對預訓練模型VGG-F和VGG-VD 16進行微調并分別提取fc7層特征,再將兩個模型的降維后的CNN特征進行融合,之后與適合描述該圖像庫的低層特征進行融合并進行檢索。實驗結果表明,本文算法可以有效描述現(xiàn)勘圖像的內容并且保持較高的平均查準率。此外,本文算法對于其他類型的數(shù)據(jù)庫具有一定的普適性。本文算法針對個別查準率低的類別,特別是刑偵圖像,更有效地提高算法對該類別的平均查準率的方案有待于進一步研究。