楊 濱,陳先意
1.江南大學(xué) 設(shè)計(jì)學(xué)院,江蘇 無錫 214122
2.江南大學(xué) 輕工過程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 無錫 214122
3.南京信息工程大學(xué) 計(jì)算機(jī)與軟件學(xué)院,南京 210044
當(dāng)下自拍風(fēng)靡各種平臺(tái),成為人們?nèi)粘I钪胁豢苫蛉钡恼故就緩?。近幾年,圖像處理軟件的飛速發(fā)展,也帶動(dòng)移動(dòng)應(yīng)用領(lǐng)域一大批修圖、美化應(yīng)用的興起,如Snapseed、Retouch、Inpaint等。照片經(jīng)過這些修圖軟件處理后變得更美麗,數(shù)字?jǐn)z影作品經(jīng)過美化處理后帶來了更強(qiáng)的視覺沖擊力。如圖1所示,圖1(a)經(jīng)過Retouch軟件去除了圖像上部的手,得到圖1(b)。但是修圖、美化軟件的快速發(fā)展和普及也帶來了一些社會(huì)問題和安全問題。攝影作品造假、網(wǎng)絡(luò)詐騙等事件頻繁出現(xiàn),看到的圖像有多少是可信的,正成為一個(gè)棘手的問題[1]。
Fig.1 Example of removing objects by using Retouch圖1 Retouch去除物體的例子
由于所有的圖像操作都不可避免地會(huì)扭曲圖像中相鄰像素之間的某些固有關(guān)系,不少學(xué)者針對(duì)這些相鄰像素點(diǎn)間固有關(guān)系的不一致性進(jìn)行深入研究[2]。
文獻(xiàn)[3]是較早關(guān)注Inpainting圖像修復(fù)領(lǐng)域研究的文獻(xiàn),他們提出了一種基于實(shí)例的修復(fù)去除物體的有效偽造檢測(cè)算法。該方法使用了中心像素映射、最大零連通組件標(biāo)記和片段拼接檢測(cè)三種技術(shù)以提升檢測(cè)的準(zhǔn)確率。早期基于篡改特征的圖像取證方法主要使用淺層網(wǎng)絡(luò)實(shí)現(xiàn),例如支持向量機(jī)(support vector machine,SVM)。文獻(xiàn)[4]提出了一種基于圖像邊緣分析和模糊檢測(cè)的人工模糊邊界取證方法。作者基于非次采樣輪廓線變換系數(shù),將邊緣劃分為三種類型,然后提取每種邊緣類型的六維特征并用于訓(xùn)練SVM。實(shí)驗(yàn)結(jié)果表明,該方法可以檢測(cè)出拼接篡改的模糊邊界[5]。但是該方法有個(gè)缺點(diǎn),即它不能應(yīng)用于未經(jīng)歷過濾波操作的圖像。因此,設(shè)計(jì)一個(gè)能夠檢測(cè)各種篡改操作留下的特征的方法非常重要。為了實(shí)現(xiàn)這一點(diǎn),使用了來自深度學(xué)習(xí)的工具,即卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)。
近年來,深度學(xué)習(xí)技術(shù)飛速發(fā)展,不少數(shù)字取證方法也開始借助深度學(xué)習(xí)工具,這其中以卷積神經(jīng)網(wǎng)絡(luò)最為常用。一般最直接的方法是把中值濾波后的圖像直接輸入到CNN中訓(xùn)練。但是這種方法準(zhǔn)確率很低[6]。文獻(xiàn)[7]嘗試用從篡改圖像中提取出中值濾波殘差特征對(duì)CNN進(jìn)行訓(xùn)練。最終通過訓(xùn)練過的取證CNN獲得90%以上的正確率。數(shù)據(jù)的結(jié)構(gòu)信息是表示先驗(yàn)知識(shí)的一種有效方式,可以有效提升分類器的效率[8]。
文獻(xiàn)[9]設(shè)計(jì)了一個(gè)新的卷積層,輸入圖像經(jīng)過該卷積層后,將輸出圖像每個(gè)像素的預(yù)測(cè)誤差特征,通過該特征訓(xùn)練CNN,以實(shí)現(xiàn)篡改識(shí)別。該方法能有效檢測(cè)出多種篡改操作。因?yàn)橥ㄟ^像素預(yù)測(cè)算法對(duì)滑動(dòng)窗口的中央像素進(jìn)行預(yù)測(cè),并統(tǒng)計(jì)出該像素點(diǎn)的預(yù)測(cè)誤差特征,所以在濾波檢測(cè)中的錯(cuò)誤率也相對(duì)較高。
文獻(xiàn)[10]提出一種基于深度神經(jīng)網(wǎng)絡(luò)的圖像修復(fù)取證算法,該算法可通過解碼器網(wǎng)絡(luò)預(yù)測(cè)出像素的類別,根據(jù)類別的不一致性判斷圖像是否經(jīng)過修復(fù)篡改操作。同時(shí)也使用特征金字塔網(wǎng)絡(luò)對(duì)解碼器網(wǎng)絡(luò)中的特征圖進(jìn)行信息補(bǔ)充。
文獻(xiàn)[11]提出了一種基于多尺度CNN的篡改圖像檢測(cè)方法。通過對(duì)多尺度CNN檢測(cè)器的分析,可以得到一組每幅圖像的篡改概率圖。通過對(duì)能量函數(shù)最小化,利用圖切割算法實(shí)現(xiàn)篡改概率圖的數(shù)據(jù)融合問題。
由于數(shù)字圖像中常用模糊操作隱藏或抹去篡改的痕跡,針對(duì)常用的高斯模糊、均值模糊及中值模糊操作的識(shí)別問題,文獻(xiàn)[12]通過在傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型中添加一個(gè)信息處理層的方式,構(gòu)建了一種深度卷積神經(jīng)網(wǎng)絡(luò)模型。通過提取出輸入圖像塊的濾波頻域殘差特征,讓網(wǎng)絡(luò)模型具備識(shí)別一次濾波與二次濾波操作的能力。
目前,大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)只支持單標(biāo)簽數(shù)據(jù)。利用現(xiàn)有的單標(biāo)簽網(wǎng)絡(luò)實(shí)現(xiàn)多標(biāo)簽分類的最直接方法是訓(xùn)練多個(gè)模型,從而將多分類轉(zhuǎn)化為二分類,以消除多標(biāo)簽產(chǎn)生的歧義性問題。但將多個(gè)標(biāo)簽完全分開,分別進(jìn)行特征提取和分類識(shí)別,也同樣忽略了它們之間可能存在的關(guān)聯(lián)對(duì)分類提供的有效信息。文獻(xiàn)[13]提出了一種基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的醫(yī)學(xué)圖像分割方法。首先采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)冠狀面、矢狀面以及橫斷面三個(gè)視圖下的2D切片序列進(jìn)行分割,然后將三個(gè)視圖下的分割結(jié)果進(jìn)行集成,得到最終的結(jié)果。
為了使得深度神經(jīng)網(wǎng)絡(luò)模型能夠更準(zhǔn)確高效地學(xué)習(xí)到不同數(shù)據(jù)集的共性特征,本文提出了一種基于多數(shù)據(jù)集學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)模型的修圖操作識(shí)別方法。首先從原始圖像和修改后圖像中提取周期性特征組成多數(shù)據(jù)集訓(xùn)練集。在訓(xùn)練過程中,將不同數(shù)據(jù)集的圖像特征數(shù)據(jù)輸入到多數(shù)據(jù)集神經(jīng)網(wǎng)絡(luò)模型中。此外,還設(shè)計(jì)了一個(gè)多域損失函數(shù),以增強(qiáng)深入學(xué)習(xí)特征的識(shí)別能力。
近年來,多數(shù)據(jù)集學(xué)習(xí)(multi-dataset learning,MDL)的神經(jīng)網(wǎng)絡(luò)模型被提出,并應(yīng)用在多個(gè)領(lǐng)域。MDL是一種通過跨不同但相關(guān)領(lǐng)域共享知識(shí)來改進(jìn)學(xué)習(xí)的策略[14]。多數(shù)據(jù)集學(xué)習(xí)是指在不同的上下文域中共享關(guān)于同一問題的信息。該學(xué)習(xí)必須以一種有效編碼多個(gè)域通用功能的方式對(duì)超參數(shù)進(jìn)行關(guān)聯(lián)。當(dāng)在多個(gè)不同但相關(guān)的數(shù)據(jù)域中有一個(gè)任務(wù)數(shù)據(jù)時(shí),就形成多數(shù)據(jù)集神經(jīng)網(wǎng)絡(luò)[15]。文獻(xiàn)[16]使用MDL技術(shù)對(duì)面部屬性進(jìn)行分類。文獻(xiàn)[17]使用MDL技術(shù)從人臉圖像中區(qū)分人的性別。
盡管MDL技術(shù)在人臉識(shí)別、目標(biāo)識(shí)別和目標(biāo)跟蹤等傳統(tǒng)的計(jì)算機(jī)視覺應(yīng)用中得到了很大的成功,但是在取證領(lǐng)域卻較少出現(xiàn)相關(guān)應(yīng)用的研究。
如圖2所示,本文提出的MDL神經(jīng)網(wǎng)絡(luò)模型主要包含兩個(gè)相同的組成部分CNN。這組CNN模型分別對(duì)應(yīng)兩種美圖軟件的實(shí)驗(yàn)圖像集。在本實(shí)驗(yàn)中,使用Retouch和Snapseed兩款軟件產(chǎn)生的圖像作為實(shí)驗(yàn)圖像集。兩個(gè)CNN模型之間共享參數(shù),每個(gè)CNN包括4個(gè)卷積+池化層組。在最后的卷積+池化層組之后的是兩個(gè)全連接層,用于為每個(gè)輸入樣本生成表示。最后,利用一個(gè)針對(duì)多數(shù)據(jù)集網(wǎng)絡(luò)模型的損失函數(shù)來得到目標(biāo)表達(dá)式的分布,并計(jì)算分類誤差,以便對(duì)參數(shù)進(jìn)行微調(diào)。
Fig.2 Proposed MDL neural network model圖2 本文提出的MDL神經(jīng)網(wǎng)絡(luò)模型
其網(wǎng)絡(luò)模型參數(shù)設(shè)置如表1所示。用m×m@N表示卷積+池化層組的卷積參數(shù),其中m表示卷積核的大小,N表示卷積核數(shù)量。最大池層(max-pooling)用于在卷積層之后減小特征映射的大小。使用串聯(lián)校正線性單元(concatenated rectified linear units,CReLU)技術(shù)以實(shí)現(xiàn)在不損失精度的情況下減少一半的計(jì)算量。
網(wǎng)絡(luò)模型之間使用了參數(shù)共享機(jī)制。參數(shù)的共享機(jī)制是神經(jīng)網(wǎng)絡(luò)的多任務(wù)學(xué)習(xí)中最常見的一種方式。該機(jī)制應(yīng)用到所有任務(wù)的所有隱含層上,保留了任務(wù)相關(guān)的輸出層。共享機(jī)制也降低了過擬合的風(fēng)險(xiǎn)。
Table 1 Parameters setting of network model表1 網(wǎng)絡(luò)模型參數(shù)設(shè)置
使用不同數(shù)據(jù)庫的多域方法的主要困難之一是,并非所有樣本都標(biāo)記為所有任務(wù)[18]。為解決這一問題,研究人員在不同領(lǐng)域中設(shè)計(jì)了各種類型的損失函數(shù)。在CNN中,通常使用SoftmaxLoss函數(shù)來強(qiáng)制不同類別的特征保持分離。網(wǎng)絡(luò)所學(xué)習(xí)的特征對(duì)應(yīng)于不同的特征空間聚類。但由于類內(nèi)變化較大,不同聚類中的特征可能會(huì)變得分散。同時(shí)由于各個(gè)階間的高度相似性,集群也經(jīng)常會(huì)出現(xiàn)重疊現(xiàn)象。
為了解決該問題,文獻(xiàn)[17]提出了使用Center Loss算法來減少聚類內(nèi)的特征變化幅度。它在估計(jì)每個(gè)類特征的中心的同時(shí),調(diào)整屬于不同類中心的特征之間的距離。中央損失函數(shù)可以將特征聚集到相應(yīng)的類中心。然而,由于該算法沒有考慮類間相似性,在多數(shù)據(jù)集學(xué)習(xí)中效果還有進(jìn)一步提高的空間。
在中央損失函數(shù)算法的啟發(fā)下,提出了一種新的MDL函數(shù)來增強(qiáng)神經(jīng)網(wǎng)絡(luò)特征學(xué)習(xí)的識(shí)別能力。MDL不僅能夠壓縮每個(gè)集群,而且能夠隔離集群。
假設(shè)LC為中央損失函數(shù),其定義為:
其中,yi和xi分別表示第i個(gè)對(duì)象和它從全連接層得到的特征向量。是所有標(biāo)記為yi的特征向量的中心,k是該聚類中的特征數(shù)量。在反向傳播(back propagation,BP)的過程中,計(jì)算相對(duì)于LC輸入樣本的xi的偏導(dǎo)數(shù)的中心:
在迭代優(yōu)化中更新聚類的中心:
其中,δ(yi,j)定義為:
為了充分利用多數(shù)據(jù)集處理的特征信息,計(jì)算其中某一個(gè)樣本與其他所有聚類中心之間的距離,設(shè)為L(zhǎng)MT。
其中,λ是預(yù)定義的邊界參數(shù),為了減少計(jì)算量,使用隨機(jī)梯度下降(stochastic gradient descent,SGD)算法[18]通過在線學(xué)習(xí)來更新參數(shù)。這樣上式變?yōu)椋?/p>
選擇合適的參數(shù)P以跳過一些與當(dāng)前中心相對(duì)較遠(yuǎn)的類中心。在本文中,P設(shè)置為1.5倍聚類中心距離。最后,根據(jù)不同數(shù)據(jù)集的LMT值得到損失函數(shù)LML
在對(duì)數(shù)傅里葉域中,模糊前后的圖像具有等距性。基于此特性,文獻(xiàn)[19]提出了一種基于黎曼測(cè)地線(Riemannian geodesic)[20]的高斯模糊核恢復(fù)方法,該方法對(duì)原始圖像和模糊圖像之間的模糊不變量進(jìn)行評(píng)估,并從模糊圖像中恢復(fù)模糊核。該方法有效應(yīng)用于Retouch軟件模糊的圖像中。受到該算法的啟發(fā),基于黎曼測(cè)地線提取圖像塊中的高斯模糊核參數(shù)作為深度學(xué)習(xí)的圖像特征。設(shè)Kε為卷積核函數(shù),滿足歸一化性質(zhì)。設(shè)為f的傅里葉變換,Kε的傅里葉變換為:
由于卷積在頻域表現(xiàn)為乘性操作,取對(duì)數(shù)運(yùn)算可把卷積轉(zhuǎn)換為求和。設(shè)在對(duì)數(shù)傅里葉空間的卷積為:
上式表明對(duì)數(shù)傅里葉空間函數(shù)卷積后偏移了πεδ2的距離。在二維空間里,函數(shù)f和Kε在空域、頻域和對(duì)數(shù)傅里葉域的卷積操作與一維域類似。文獻(xiàn)[20]對(duì)黎曼對(duì)稱空間上的高斯分布概率進(jìn)行了深入研究,指出指數(shù)黎曼度量和多項(xiàng)式黎曼度量對(duì)R →C(C為復(fù)數(shù)域)函數(shù)系在R+(正實(shí)數(shù)集)上卷積操作具有等距性,因此指數(shù)黎曼度量和多項(xiàng)式黎曼度量可量測(cè)卷積前、后的信號(hào)變化。設(shè)偏移πεδ2的軌跡方向單位向量為:
得到:
上式是以高斯型卷積核Kε為基礎(chǔ)的推演結(jié)果。通過以下步驟計(jì)算模糊核的預(yù)測(cè)值。
步驟1把圖像I、潤(rùn)飾圖像Im變換至對(duì)數(shù)傅里葉空間,分別得到。
步驟2分別計(jì)算模糊量。
步驟3計(jì)算模糊核的預(yù)測(cè)值ε。
步驟4當(dāng)預(yù)測(cè)值ε大于給定閾值v的時(shí)候,則判定該圖像進(jìn)行了模糊修飾操作。
使用在一臺(tái)配有Nvidia GeForce GTX 1080Ti 11 GB RAM顯卡的服務(wù)器上進(jìn)行神經(jīng)網(wǎng)絡(luò)模型架構(gòu)并執(zhí)行訓(xùn)練任務(wù)。從多個(gè)公共實(shí)驗(yàn)庫中選取了5 000張實(shí)驗(yàn)圖像,其中的公共數(shù)據(jù)庫包括:BOSSbase1.01[21]、UCID圖像數(shù)據(jù)庫[22]、CASIA v2.0圖像庫[23]。圖像分辨率為512×512至2 048×1 356之間。隨機(jī)對(duì)其中70%的圖像進(jìn)行Retouch和Snapseed操作,得到兩個(gè)訓(xùn)練圖像集,剩下的30%圖像作為測(cè)試集。本文所提的檢測(cè)方法以圖像塊為檢測(cè)對(duì)象,這樣有利于定位出圖像的具體修改位置,因此圖像塊大小的選擇十分重要,過大的圖像塊會(huì)造成少量像素修改難以被檢測(cè);而過小的圖像塊的修改特征又難以被神經(jīng)網(wǎng)絡(luò)所學(xué)習(xí)。根據(jù)多次實(shí)驗(yàn)結(jié)果,本文確定分割圖像塊的大小為64×64像素。因此所有圖像被裁剪為64×64大小的圖像塊。
采用真陽性率(true positive rate,TPR)和假陽性率(false positive rate,F(xiàn)PR)對(duì)檢測(cè)結(jié)果進(jìn)行檢測(cè)。TPR是正確識(shí)別的被篡改圖像的分?jǐn)?shù),而FPR是將原始圖像識(shí)別為被篡改圖像的分?jǐn)?shù)。
圖3和圖4分別給出了使用本文提出方法對(duì)Snapseed數(shù)據(jù)集和Retouch數(shù)據(jù)集中例子的識(shí)別結(jié)果。圖3第一行實(shí)驗(yàn)圖像使用了修復(fù)功能,第二行實(shí)驗(yàn)圖像使用了局部增亮功能;圖4的兩行實(shí)驗(yàn)圖像則分別使用了Retouch軟件的去除及拉伸功能。實(shí)驗(yàn)結(jié)果表明,本文提出的方法能夠準(zhǔn)確判別出當(dāng)前主流軟件的大部分修圖處理操作。
Fig.3 Detection examples on images processed by Snapseed圖3 對(duì)Snapseed處理過的圖片的識(shí)別例子
表2給出了本文提出的修圖檢測(cè)方法的實(shí)驗(yàn)結(jié)果。從測(cè)試結(jié)果可以看出本文方法具有較高的TPR和較低的FPR值,可以應(yīng)用于實(shí)際取證、識(shí)別場(chǎng)景中。
Fig.4 Detection examples on images processed by Retouch圖4 對(duì)Retouch處理過的圖片的識(shí)別例子
Table 2 Experimental results on different datasets表2 不同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果
由于針對(duì)圖像修飾軟件的識(shí)別方面的研究比較少,選取了當(dāng)前比較有代表性的圖像修改檢測(cè)方法(文獻(xiàn)[3]、文獻(xiàn)[9]、文獻(xiàn)[10]和文獻(xiàn)[24])在不同數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。其中,只有文獻(xiàn)[3]并未使用深度神經(jīng)網(wǎng)絡(luò)技術(shù)。這4個(gè)方法的特征如下,對(duì)比實(shí)驗(yàn)的結(jié)果如表3所示。
Table 3 Comparison results of each method on two datasets表3 每種方法在兩個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果對(duì)比
文獻(xiàn)[3]使用了中心像素映射、最大零連通組件標(biāo)記和片段拼接檢測(cè)3種技術(shù)以提升檢測(cè)的準(zhǔn)確率。
文獻(xiàn)[9]通過給傳統(tǒng)CNN添加一個(gè)處理層來檢測(cè)圖像像素點(diǎn)不連貫性。
文獻(xiàn)[10]提出使用特征金字塔網(wǎng)絡(luò)對(duì)解碼器網(wǎng)絡(luò)中的特征圖進(jìn)行信息補(bǔ)充。
文獻(xiàn)[24]利用重采樣特征和A-對(duì)位分析算法,計(jì)算篡改值得分并輸出檢測(cè)結(jié)果。
總體來看,各種方法在Snapseed數(shù)據(jù)集上的檢測(cè)成績(jī)比在Retouch數(shù)據(jù)集上的低。這是由于Snapseed比Retouch的高斯模糊參數(shù)值相對(duì)較低,同時(shí)Retouch常常使用更多的邊緣虛化操作。但是總體而言,兩個(gè)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果相差不大。
文獻(xiàn)[9]設(shè)計(jì)了一個(gè)新的卷積層,輸入圖像經(jīng)過該卷積層后,將輸出圖像每個(gè)像素的預(yù)測(cè)誤差特征通過該特征訓(xùn)練神經(jīng)網(wǎng)絡(luò),以實(shí)現(xiàn)篡改識(shí)別。該方法的特征提取處理相對(duì)簡(jiǎn)單,它的TPR值并不令人十分滿意,而且其FPR值也相對(duì)較高。這是因?yàn)橥ㄟ^像素預(yù)測(cè)算法對(duì)滑動(dòng)窗口的中央像素進(jìn)行預(yù)測(cè),并統(tǒng)計(jì)出該像素點(diǎn)的預(yù)測(cè)誤差特征。而在自然圖像中,存在不少符合該預(yù)測(cè)誤差條件的真實(shí)圖像,這將導(dǎo)致神經(jīng)網(wǎng)絡(luò)模型出現(xiàn)誤判,提高了其FPR值。得益于卷積內(nèi)核網(wǎng)絡(luò)的使用,文獻(xiàn)[24]獲得了較高的TPR和較低的FPR值。然而,該方法需要根據(jù)實(shí)際情況調(diào)整參數(shù)和熱圖輸出百分比來提升準(zhǔn)確率,因此不太適合于實(shí)際應(yīng)用中。文獻(xiàn)[3]中的檢測(cè)方法由于針對(duì)inpainting修改類型,因此其檢測(cè)結(jié)果也比較令人滿意。綜合實(shí)驗(yàn)結(jié)果顯示,本文提出的基于多數(shù)據(jù)集深度學(xué)習(xí)模型的修圖操作識(shí)別方法優(yōu)于現(xiàn)有主流的方法,并獲得了最高的識(shí)別成績(jī)。
本文針對(duì)手機(jī)APP中的修圖處理軟件,提出一種基于多數(shù)據(jù)集特征學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,并給出其網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)。區(qū)別于傳統(tǒng)的多個(gè)神經(jīng)網(wǎng)絡(luò)并行操作,提出的模型能在共享網(wǎng)絡(luò)模型參數(shù)的同時(shí)對(duì)多個(gè)特征數(shù)據(jù)集進(jìn)行深度學(xué)習(xí),使檢測(cè)算法具備多特征識(shí)別能力。為了增強(qiáng)深度特征學(xué)習(xí)的能力,對(duì)多個(gè)子神經(jīng)網(wǎng)絡(luò)輸出特征進(jìn)行融合,本文還設(shè)計(jì)了一種針對(duì)多模塊神經(jīng)網(wǎng)絡(luò)模型的損失函數(shù)。實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的方法的有效性。