武光華,張旭東,葛 維,孫 鴿,毛財勝
1.國網河北省電力有限公司 電力科學研究院,石家莊 050021
2.國網河北省電力有限公司,石家莊 050000
3.大連理工大學 軟件學院,遼寧 大連 116024
隨著網絡技術的快速發展,數字圖像以其易于存儲和傳播等特點受到廣泛應用,同時圖像處理技術以及圖像編輯軟件也日益成熟,且使用門檻越來越低,使得網絡上存在著大量拷貝圖像[1]。拷貝圖像來自于對原始圖像進行一種或多種處理變化后的圖像,常見的圖像處理方式有縮放、裁剪、壓縮等。如果這些圖像沒有經過原圖像的版權擁有者的授權而被商業使用,則會對版權人的利益造成侵害。因此檢測圖像的非法拷貝成為一項亟需研究和發展的領域[2]。
目前,圖像版權保護技術可以分為主動式和被動式。(1)主動式即圖像水印技術[3],通過將一些標識信息直接嵌入圖像的數字載體中同時不影響原圖像的使用價值。當圖像內容被修改時,水印將會發生變化,從而檢測出原始圖像是否被拷貝攻擊。(2)被動式即基于內容的圖像拷貝檢測技術[4](Content-Based Copy Detection,CBCD),其本質上屬于圖像檢索技術[5]。CBCD 通過提取圖像的內容特征,根據圖像特征來檢索出拷貝圖像。CBCD 相對于數字水印技術的主要優點是不需要對原圖像添加額外的標識信息,成本低。基于內容的圖像拷貝檢測重點在于對圖像特征的刻畫,要求提取的圖像特征針對各種圖像攻擊具有不變性。現有的圖像拷貝檢測方法根據其特征提取方式可以簡單劃分為傳統方法以及深度學習方法。
傳統的圖像拷貝檢測方法在早期階段主要采用全局特征表征圖像,其中具有代表性的是基于順序測度的方法。如Bhat 等人[6]通過順序測度方法首先將圖像分割成若干個子圖像,然后計算每個子圖像塊的平均灰度值,以子圖像的平均灰度值大小排序關系作為圖像全局特征。此方法描述了圖像灰度值的空間結構,因此對于旋轉、裁剪、拉伸等變換攻擊改變了圖像整體結構,基于順序測度的方法將會失效。Kim等人[1]提出一種基于分塊離散余弦變換(Discrete Cosine Transform,DCT)的拷貝圖像檢測方法,通過DCT 將圖像從空間域變換到頻域,以變換系數計算順序測度來提取全局特征。雖然能夠有效對抗圖像翻轉、縮放以及高斯噪聲等變換方式,但對于圖像旋轉、裁剪等變換魯棒性依然不高。為了解決旋轉變換失真的問題,Xu 等人[7]在分塊DCT 的基礎上,使用DCT中頻系數進行順序測度,同時針對圖像旋轉變換提出補償算法。Wu等人[8]使用橢圓環進行圖像劃分,以每個橢圓環的平均灰度值計算順序測度。橢圓環在一定程度上具有旋轉和拉伸的不變性,因此提取的全局圖像特征同樣具有該類性質。
SIFT(Scale Invariant Feature Transform)特征[9]提出之后,基于局部特征的拷貝圖像檢測在應對多種變換攻擊的魯棒性上有了很大的提升。SIFT特征及其擴展,如基于主成分分析SIFT 特征[10](Principal Components Analysis SIFT,PCA-SIFT)、加速魯棒特征[11](Speed Up Robust Features,SURF)等對旋轉、尺度縮放、亮度變化保持不變性,克服了全局特征在圖像裁剪、旋轉等攻擊失效的缺點。針對這些局部特征具有高維性且生成的特征點數目較多的問題,Jegou 等人[12]提出VLAD(Vector of Locally Aggregated Descriptors)方法對局部特征進行聚合得到緊湊的特征表示。然而相比于全局特征,局部特征整體維度依然較高,匹配速度慢,缺少了空間上下文信息,因此會產生很多的錯誤匹配。
隨著卷積神經網絡(Convolutional Neural Network,CNN)在圖像分類問題上取得突破性成功之后[13],基于深度學習的方法通過CNN 學習圖像特征,從而代替了傳統的手工特征設計。最近的一些工作致力于基于ImageNet[14]預訓練分類模型的圖像特征提取。根據提取位置的不同分為高層特征與低層特征。高層特征即CNN 最后一層特征(除去分類層),具有很強的語義信息,屬于全局特征[15]。MOP 方法[16]為了避免全局的CNN 特征包含太多的空間信息,將圖像分為多個尺度并以圖像塊的形式提取高層特征,采用VLAD方法對同一尺度上的圖像塊特征進行聚合。后來的研究表明低層特征,即CNN 中間卷積層特征,具有局部特征的性質[17]。因此可以借助傳統方法對局部特征的處理經驗對CNN局部特征進行處理[18]。
然而目前并不存在任何一種圖像特征描述能夠對抗所有不同形式的圖像攻擊。現有方法雖然在圖像特征表示上做了很多改進,但都局限于單個特征表示。借鑒了Li等人在圖像檢索[19]、視頻檢索[20]以及圖像標注[21]中將多個特征集成表示的思想,本文在CBCD框架的基礎上提出一種基于CNN的多特征融合的圖像拷貝檢測方案,通過特征融合的方式提升提取特征的魯棒性,從而提升拷貝檢測結果的準確性。具體地,(1)本文首先分析了每種類型的CNN特征在圖像拷貝檢測的優勢與不足,然后提出通過多種特征融合的方式實現不同特征之間的優勢互補。(2)為了避免單個模型在特征表示上的局限性,并進一步增強特征多樣性,本文在預訓練模型的基礎上使用合成的拷貝數據進行微調,針對圖像拷貝檢測問題通過度量學習策略對抗拷貝攻擊帶來的特征差異,集成微調后的度量模型與預訓練的分類模型實現多模型特征融合,進一步提升檢測精度。
一般的基于內容的圖像拷貝檢測過程如圖1所示,其中特征提取過程是整個算法的核心,最理想的情況是提取出的特征能夠對各種圖像拷貝攻擊具有不變性,雖然兩張圖像在像素空間中具有較大差異,但在特征空間中的距離依然很近。通過在特征空間進行匹配,就可以準確判斷圖像之間的拷貝關系。圖1 中虛線框為索引庫的構建過程,整個過程是離線進行的,而拷貝檢測過程為下面的分支,檢測效率由特征提取以及匹配過程共同決定,特征提取過程過于復雜或者提取的特征維度過高都會負面影響到檢索效率。

圖1 基于內容的圖像拷貝檢測流程
前文提到SIFT 特征或者CNN 卷積層特征是一種局部特征,可以應對多種變換攻擊,但由于局部特征具有可重復提取的性質,僅依靠局部特征很難表征高層的語義信息,如拍攝角度、圖像類別等,容易造成誤匹配。本文在ResNeXt-101[22]模型上首先提出融合高層語義特征以及低層局部特征,使圖像表征更為全面;其次提出集成預訓練模型以及在拷貝數據集上微調后的模型,實現模型之間的特征互補。
ResNeXt-101 共有5 個卷積模塊,每個模塊之間特征圖大小相同,而模塊之間通過下采樣實現特征圖大小減半,第五個卷積模塊后經過全局平均池化得到2 048維的特征向量,之后通過全連接層實現分類。表1列出了ResNeXt-101的具體結構,其中C=64 表示分組卷積的基數(Cardinality),方括號表示一組殘差塊,里面描述了各個卷積層的卷積核尺寸以及輸出通道數,方括號后表示殘差塊的堆疊次數。

表1 ResNeXt-101的網絡結構
2.1.1 高層語義特征
本文選取ResNeXt-101 第五個卷積模塊輸出的特征圖作為高層語義特征,通過R-MAC(Regional Maximum Activations of Convolutions)特征聚合[23],得到 2 048 維特征向量,依次進行L2 范數正則化,PCA 降維,再進行L2范數正則化,得到1 024維特征。R-MAC通過在特征圖上產生多個不同大小不同位置的區域,每個區域內通過最大池化得到區域特征向量,對所有區域特征對應元素求和即得到最終聚合后的圖像特征。R-MAC特征相比全局最大池化(Maximum Activations of Convolutions,MAC)而言保留了更多信息,相比全局平均池化(Sum-Pooled Convolutions,SPoC)而言則抑制了響應值較低的背景信息,且最終輸出特征維度相同。
2.1.2 低層局部特征
本文選取ResNeXt-101 第四個卷積模塊輸出的特征圖作為圖像局部特征表示。假設輸入圖像大小為224×224×3,則第四個卷積模塊輸出的特征圖大小為14×14×1 024,相比原圖縮小了16倍。可以簡單認為特征圖上每個像素位置對應原圖16×16的一個區域,不同通道的特征圖在同一個像素位置組成的1 024維特征向量即為原圖對應區域的局部特征。因此,類似于SIFT特征,一張圖像共由196 個1 024 維局部特征表示。如果對局部特征直接進行串聯,顯然維度過高且包含大量冗余信息,需要進一步對局部特征進行編碼。
一種常用的編碼方案是詞袋模型[24](Bags of visual Words,BoW),通過將所有圖像的局部特征聚成K個類中心,然后用離特征點最近的一個聚類中心去代替該特征點。通過聚類的方式對局部特征進行綜合,去除冗余信息。但是,直接使用類中心代替附近的特征點顯然會丟失較多信息。VLAD 與BoW 類似,不同的是:VLAD保存了每個特征點到其最近的聚類中心的距離,而BoW 則將聚類中心附近的所有特征點無差異對待,只統計特征點個數。VLAD編碼方式用公式表示如下:

其中,ci表示第i個類中心,NN(ci)表示距離ci最近的特征點集合,x表示局部特征向量,v為編碼后的向量。雖然VLAD 考慮了每個特征點與聚類中心的差異(距離),對圖像局部信息相比BoW有更細致的刻畫,但是聚合后的特征維度依然較高,有1 024×K維,因此需要進一步降維處理,得到1 024 維特征。如果直接使用PCA降到1 024維,則需要計算1 024K×1 024K大小的協方差矩陣并進行特征值分解,整個過程對時間和空間的要求很大。因此本文提出分別在特征聚合前后分兩次進行降維,如圖2 所示,其中灰色條表示一個局部卷積特征,維度為1 024,通過L2范數歸一化后降維到128維;經過VLAD編碼后的特征維度為128×K,進行歸一化后再降維到1 024維,最后再進行一次歸一化。

圖2 局部特征提取流程
多模型特征融合利用了不同模型之間的互補性,但同時也會增加特征維度以及計算復雜度。為了最大化模型之間的互補性,而不是簡單的同類模型疊加,本文提出預訓練模型與微調模型的集成。具體的,預訓練模型指在ImageNet-1k 數據集上訓練好的分類模型,具有良好的泛化性;微調模型為本文提出的針對不同類型的圖像拷貝攻擊在預訓練模型進行參數微調后的度量學習模型。下面將詳細介紹微調模型的網絡結構以及訓練過程。
2.2.1 網絡結構
為了能夠魯棒提取圖像特征,對抗由于拷貝攻擊造成兩張圖像在特征域上的差異,本文利用對比損失函數[25](Contrastive Loss)通過度量學習使得拷貝圖像對在特征空間的距離更近,反之使非拷貝圖像對在特征空間的距離更遠。
本文在ResNeXt-101的基礎上,將網絡輸入從單幅圖像的形式改為圖像對的形式,同時去掉網絡最后的分類層,將全局平均池化后的特征輸入到對比損失,如圖3所示。對比損失輸入為(x1,x2,copy),x1,x2為輸入圖像對特征,copy=1 表示x1,x2為拷貝圖像對(正例),copy=0 表示x1,x2為非拷貝圖像對(負例)。對比損失使用歐式距離作為兩個特征之間的相似性度量,目標是縮小正例在特征空間的距離,反之增大負例之間的距離,用公式表示如下:

其中超參數m為設定的間隔(margin),對于負例而言,只當特征之間的距離小于設定的間隔時,才給予懲罰。

圖3 微調模型網絡結構
2.2.2 模型訓練
本文從ImageNet-1k數據集中選取了前21類數據,每類隨機選取100 張圖像。根據文獻[26],對于每張圖像采用15種不同方式的拷貝攻擊,如表2所示。其中前18類圖像用來制作訓練集,后3類圖像作為驗證集。對于一張原始圖像而言,分別與15 種不同的拷貝副本組合生成15 組拷貝圖像對,同時為了保證正負樣本比例的平衡,從同類別原始圖像中選取15 張圖像生成15 組非拷貝圖像對。選擇同類別圖像的原因是它們外觀相似,容易被誤檢為拷貝圖像,屬于困難樣例(hard negative example)。因此訓練集共有1 800×30=54 000 組圖像對,驗證集共有9 000組圖像對。

表2 15種不同方式的圖像拷貝攻擊
為了防止過擬合,訓練時采用了數據增強策略:(1)首先將訓練圖像對縮放到256×256 像素,在相同的隨機位置上裁剪出224×224 圖像塊;(2)隨機上下或水平翻轉;(3)在色調、亮度、飽和度、對比度四個方面隨機進行色彩抖動;特別地,數據增強過程對兩張圖像均執行相同的操作,使訓練過程更加穩定。訓練時,采用動量梯度下降法優化模型,動量大小為0.9,初始學習率大小為0.001,同時采用余弦退火方案更新學習率大小,共迭代10個周期(epoch)。
本文將算法在2 個標準的圖像拷貝檢索數據集上進行測試:Copydays[27]和 Challenging ground-truth[26],同時比較了不同圖像特征融合方式對最終檢索結果的影響。特征融合方式為串聯(concatenate),為了公平比較,所有融合后的特征使用PCA降維到1 024維。除特殊說明,實驗中VLAD 編碼時使用的聚類中心個數K=256。
Copydays 數據集一共包含3 212 張圖像,其中157張原始圖像,3 055 張拷貝圖像。平均每張圖像包含了19 張拷貝副本,主要由3 種圖像攻擊方式:裁剪、JPEG壓縮、圖像增強等。
Challenging ground-truth數據集包含了10 000張圖像,分為500組,每組中包含了20張不同時間、位置和角度下拍攝的相似圖像。以每組的第一張圖像作為查詢圖像,通過表2 中15 種不同的攻擊方式共生成7 500 張拷貝圖像。將拷貝圖像加入到原始數據集中,共有17 000張庫圖像,500張查詢圖像,對于一張查詢圖像而言,庫中包含了15張拷貝圖像,19張相似圖像。相比Copydays數據集,該數據集在拷貝圖像集中混合了很多相似圖像,因此更容易將相似圖像錯誤識別為拷貝圖像。
實驗結果采用多次查詢的top-N結果的平均準確率(AP)、平均召回率(AR)以及平均精度均值(mean Average Precision,mAP)三個指標進行評價,計算公式如下:

其中,Q表示查詢次數,Ii(j)為指示變量,表示第i次查詢的第j項結果是否與查詢圖像有關,如果有關則取值為1,否則值為0,‖Ii‖0表示了第i次查詢正確結果的總數,即Ii中非零元素的個數。Pi(j)表示第i次查詢前j項結果的準確率,Mi為所有與第i張查詢圖像相關的庫圖像的個數。
本文首先在Copydays數據集上驗證了高層語義特征以及低層局部特征對于拷貝圖像檢索的性能表現,如表3所示,其中pre-train表示預訓練模型,fine-tune表示本文提出的微調模型,RMAC 表示高層語義特征,CONV4 表示低層局部特征,RMAC+CONV4 表示將兩類特征進行融合。每次查詢選取前20個檢索結果進行評估。

表3 Copydays數據集上不同層特征的性能表現
觀察表3中的預訓練模型可以發現,高層特征在平均召回率和平均準確率上相比低層特征具有優勢,但高層特征的mAP值較低。因為mAP值考慮了返回結果的順序,即對于同樣的返回集合,正確的結果越靠前,mAP值越高。說明了高層特征檢索結果大部分具有語義一致性,忽略了圖像細節特征,因此在檢索結果排序上不具有優勢。相反,低層特征涵蓋了更多圖像細節,對于相似圖像的干擾更具有魯棒性。如圖4 所示,(a)為輸入的查詢圖像,(b)和(d)為兩種特征的檢索結果,為了便于觀察,從前20 個檢索結果中只展示第6 張到第15張的結果。從(d)中可以發現,高層特征易于將相似圖像(c)檢測為(a)的拷貝圖像。

圖4 不同類型特征檢索結果對比(從第6張到第15張)
為了進一步提升檢索性能,一種直觀的想法是融合高層語義特征與低層局部特征,使最終融合的特征包含的信息具有多樣性,實現優勢互補。表3 中,無論是預訓練模型還是微調模型,融合后的特征(RMAC+CONV4)相比單一特征在檢索精度和召回率上均有大幅度提升,mAP值也提升了約1%。
對比表3中的預訓練模型和微調模型可以發現,通過在制作的拷貝數據集上進行微調可以大幅度提升高層特征檢索的mAP 值,說明通過度量學習可以使網絡關注到不同的圖像攻擊方式并與之對抗,拉近拷貝圖像與原始圖像在特征空間的距離。然而由于神經網絡存在的災難性遺忘(Catastrophic Forgetting)的問題,在新數據集上微調后的模型使用低層特征檢索的性能有所降低。
因此本文選擇使用預訓練模型提取的低層局部特征,以及使用微調模型提取的高層語義特征,融合二者的特征作為最終圖像表示(FUSE),從表3中可以看出,相比只是同一模型的不同層特征融合,多模型特征融合之后的檢索性能提升更為顯著,說明了不同模型提取的特征具有明顯的互補性。最終提出的融合方式既利用了不同層特征的多樣性,同時也利用了不同模型之間的特征互補性。
低層特征相比高層特征提取過程相對復雜,其中包含了一個十分重要的超參數:K,即聚類中心個數。在2.1.2節提到,需要將128×K維的編碼特征降維到1 024維。理論上,K越大,特征編碼后的信息損失越少,同時編碼后的特征維度越高,第二次降維的信息損失也越大。如圖5 所示,本文在Copydays 數據集上,使用預訓練模型測試了6 組不同的K值對低層局部特征檢索性能的影響,以2的倍數,分別從K=32 到K=1 024。

圖5 聚類中心個數對CONV4特征的影響
觀察圖5 可以發現,隨著聚類中心數量不斷增加,CONV4 特征檢索的平均精度和平均召回率不斷上升,從K=256 之后出現穩定,甚至當K=1 024 時,兩個指標均出現輕微下降。通過統計,不同類中心數得到的編碼特征經過PCA 降維所保留的主要信息比例(即累積貢獻率)如表4 所示。當K=1 024 時,PCA 降維后只保留了60%的信息,因此當K超過一個平衡點時,繼續增大K將會造成性能下降。

表4 聚類中心個數與PCA降維后的累積貢獻率
在Challenging ground-truth 數據集上,本文進一步測試了多模型之間的特征融合方式,結果如表5 所示,其中PT表示預訓練模型,FT表示微調模型,FUSE即多模型融合,具體融合時使用的模型用上標表示,ALL 表示 RMACFT、RMACPT、CONV4FT、CONV4PT四種特征融合。在Copydays 數據集上,RMACFT+CONV4PT表現最好,但是在Challenging ground-truth 數據集上表現并不好。主要原因是Challenging ground-truth 數據集包含了大量相似圖像的干擾,如圖6 所示,其中(2)~(5)為(1)的相似圖像,(6)~(10)為(1)的拷貝圖像。相似圖像與拷貝圖像在高層語義上十分接近,因此RMAC 特征表現較差,相反,低層局部特征CONV4包含了更多的細節信息,區分能力更強,因此表5 中表現最好的一組特征是CONV4FT+CONV4PT,即兩個模型的局部特征融合。

表5 Challenging ground-truth數據集上不同方法對比

圖6 Challenging ground-truth數據集可視化
基于內容的圖像拷貝檢測重點在于圖像特征的表示,本文根據特征屬性將特征劃分為高層語義特征以及低層局部特征,并基于卷積神經網絡給出了兩種特征的提取方式。本文通過實驗分析了高層語義特征與低層局部特征各自的優勢與劣勢,在此基礎上,本文融合了兩種類型的特征,實現特征多樣性。同時在預訓練模型的基礎上,針對圖像拷貝檢測問題制作了訓練集,通過度量學習增強網絡識別拷貝圖像的能力。本文將微調后模型與預訓練模型進行特征融合,達到不同模型之間的特征互補。本文通過大量實驗證明了多種特征融合的方式可以有效增強特征的魯棒性,相比單一特征的檢索效果提升十分明顯。另外本文還測試了多組特征融合方式,可以針對不同的應用場景使用不同的特征融合方式。