李小紅,王曉霞
(1.天津天獅學(xué)院信息科學(xué)與工程學(xué)院,天津 301700;2.渤海大學(xué)信息科學(xué)與技術(shù)學(xué)院,遼寧 錦州 121013)
所謂圖像篡改,就是通過拼接、粘貼、變換等方式改變原始圖像[1]。在云計(jì)算網(wǎng)絡(luò)及其移動(dòng)設(shè)備不斷豐富的環(huán)境下,大量網(wǎng)絡(luò)圖像面臨著被應(yīng)用軟件偽造的可能,產(chǎn)生未知圖像篡改。這種經(jīng)過篡改的圖像會(huì)令其表達(dá)信息失真,嚴(yán)重的會(huì)導(dǎo)致安全威脅。例如利用篡改圖像欺騙司法調(diào)查,災(zāi)害鑒定等。圖像篡改檢測就是根據(jù)圖像的特征,通過各類算法完成篡改范圍的檢測確定。圖像篡改技術(shù)多樣發(fā)展,使一些偽造圖像很難辨別,這也推動(dòng)了圖像篡改檢測研究的不斷進(jìn)步。
在當(dāng)前研究成果中,文獻(xiàn)[2]根據(jù)拼接取證,基于QDCT域提取得到Markov特征。此方法主要針對拼接篡改進(jìn)行分析,但是沒有充分考慮復(fù)制粘貼和尺度變換等篡改情況的適用性。文獻(xiàn)[3]基于Y通道DCT系數(shù),創(chuàng)建對應(yīng)的哈希表,通過哈希表對比確定偽造痕跡。該方法能夠達(dá)到像素級性能,但是其針對的是剪切篡改場景,且哈希創(chuàng)建時(shí)需要依賴原始圖像。文獻(xiàn)[4]提出了CBAM-RPN卷積網(wǎng)絡(luò),用以改善篡改圖像的特征提取。該方法能夠根據(jù)主分支較好的捕獲到偽造信息,同時(shí)根據(jù)次分支捕獲到噪音信息?,F(xiàn)有研究中,很大一部分是針對某種特定篡改場景進(jìn)行檢測,同時(shí)利用圖像屬性和哈希實(shí)現(xiàn)偽造識(shí)別。這類方法普遍存在適應(yīng)性較差,圖像格式較為單一,檢測精度易受影響等缺點(diǎn)。
由于卷積神經(jīng)網(wǎng)絡(luò)(CNN)表現(xiàn)出良好的學(xué)習(xí)與參數(shù)整定優(yōu)勢,使得CNN在圖像處理領(lǐng)域被高度重視。CNN能夠擺脫屬性依賴,且具有更好的普適性。另外,CNN中的卷積結(jié)構(gòu)能夠降低深度學(xué)習(xí)時(shí)對資源的消耗,更適合部署于資源寶貴的移動(dòng)設(shè)備端。文獻(xiàn)[5]引入CNN,并將其輸入設(shè)定為非重疊圖像區(qū)域;文獻(xiàn)[6]采取元數(shù)據(jù)來比較圖像在學(xué)習(xí)網(wǎng)絡(luò)里的相似性,文獻(xiàn)[7]設(shè)計(jì)了多通道CNN,并在其中提取多梯度特征;文獻(xiàn)[8]設(shè)計(jì)了級聯(lián)CNN,通過低層的補(bǔ)充學(xué)習(xí),改善對復(fù)雜特征的處理效果。關(guān)于CNN在圖像篡改方面的應(yīng)用研究,當(dāng)前主要存在以下問題:篡改部分和非篡改部分特征提?。惶荻忍幚韺W(wǎng)絡(luò)學(xué)習(xí)的影響。這些問題的存在也導(dǎo)致現(xiàn)有檢測方法的性能突破。此外,考慮到現(xiàn)有方法CNN網(wǎng)絡(luò)層過多,產(chǎn)生大量中間參數(shù)和結(jié)果,使其對部署環(huán)境資源有著嚴(yán)格的約束。于是,本文設(shè)計(jì)了一種剪枝壓縮CNN,通過剪枝策略實(shí)現(xiàn)網(wǎng)絡(luò)壓縮。經(jīng)過壓縮后的網(wǎng)絡(luò)具有能夠獲得更好的訓(xùn)練效果,并且參數(shù)與存儲(chǔ)消耗都將明顯減少?;诩糁嚎sCNN,優(yōu)化相應(yīng)的網(wǎng)絡(luò)層,增強(qiáng)篡改圖像特征提取,改善對各類篡改圖像的檢測效果。
在CNN網(wǎng)絡(luò)中,將其學(xué)習(xí)集標(biāo)記為D={X={x0,x1,…,xn},Y={y0,y1,…,yn}},X為學(xué)習(xí)網(wǎng)絡(luò)IN參數(shù),Y為學(xué)習(xí)網(wǎng)絡(luò)OUT結(jié)果;加權(quán)集標(biāo)記為W,假定CNN中一共包含L層,則其對應(yīng)的加權(quán)集可以表示如下
(1)
這里的Ni表示第i層內(nèi)包含的加權(quán)數(shù)量。在進(jìn)行CNN學(xué)習(xí)時(shí),需要根據(jù)集合W的調(diào)整,令集合D達(dá)到最低損失。學(xué)習(xí)過程中,會(huì)在各層產(chǎn)生大量的中間數(shù)據(jù),對應(yīng)形成大量的加權(quán),參數(shù)的增加引發(fā)的復(fù)雜度和資源消耗是非線性的,因此,為使其能夠適應(yīng)移動(dòng)設(shè)備端部署要求,本文對其采取剪枝操作。即在保證CNN學(xué)習(xí)性能的基礎(chǔ)上,盡可能的裁剪掉W中冗余加權(quán),使剩余加權(quán)具有更高的利用密度。采取網(wǎng)絡(luò)學(xué)習(xí)精度作為性能衡量,于是加權(quán)裁剪可看做是一個(gè)組合優(yōu)化過程。根據(jù)加權(quán)集W確定解搜索空間是2W,裁剪加權(quán)時(shí)最優(yōu)解約束為
(2)
其中,W′表示剪枝更新后的加權(quán)集;K表示W(wǎng)′內(nèi)的加權(quán)數(shù)量;Loss(D|W)表示學(xué)習(xí)集D對應(yīng)的損失。為了從大量加權(quán)中搜索得到最佳組合,根據(jù)重要程度對W內(nèi)元素進(jìn)行評價(jià),并依次裁掉其中較低評價(jià)值。在設(shè)計(jì)重要程度指標(biāo)時(shí),考慮到關(guān)聯(lián)程度大的樣本在預(yù)測下層網(wǎng)絡(luò)過程中具有更大的優(yōu)勢。于是,先求解網(wǎng)絡(luò)中神經(jīng)元關(guān)聯(lián)程度,再對其進(jìn)行由大到小排序,選擇部分較大值作為激活值。該篩選過程可以描述為圖1。其中,i層包含的神經(jīng)元數(shù)量是ni,向j層傳遞的結(jié)果是Yi。當(dāng)?shù)趈層和第i層內(nèi)的神經(jīng)元存在依賴關(guān)系時(shí),將兩層間的加權(quán)表示為Wj,i,它的元素wk,l表示第j層內(nèi)的神經(jīng)元k和第i層內(nèi)的神經(jīng)元l間的加權(quán)關(guān)系。
圖1 網(wǎng)絡(luò)層間的傳播模型
傳播模型中的f(·)表示激活函數(shù),它的具體描述如下
(3)
(4)
根據(jù)激活值對學(xué)習(xí)集內(nèi)的若干樣本采取分割得到I段,激活值落在第m段的概率記做pfi,m,此時(shí),利用(4)求解出激活值對應(yīng)的熵為
(5)
Ri=abs(E(wk,lyk,l)·H(f)i)
(6)
利用式(6)配合迭代操作來衡量加權(quán),并進(jìn)行剪枝,能夠確保剪枝精度和壓縮性能。在迭代過程中,將各層剪枝效果采取橫向?qū)Ρ?,根?jù)精度和剪枝效果對其進(jìn)行反饋調(diào)整。雖然每次迭代裁掉的加權(quán)數(shù)量不大,但是有效保證了每次迭代的精度和合理性。假定層i內(nèi)的加權(quán)總數(shù)是ni,層i剪枝率時(shí),迭代總數(shù)是di。于是,可以計(jì)算出每次被裁剪出去的加權(quán)個(gè)數(shù),公式為
Numi=pini/di
(7)
剪枝壓縮CNN的步驟可以描述如下:
1)輸入初始CNN模型M0,確定M0的加權(quán)矩陣。
2)通過激活值與熵的融合,對學(xué)習(xí)集內(nèi)的加權(quán)重要程度進(jìn)行求解,并采取反向排序。
3)開始迭代處理,通過剪枝率控制加權(quán)裁剪,同時(shí)令其加權(quán)歸零。
4)利用前一輪結(jié)果,在新一輪迭代時(shí)采取調(diào)整,保證M0的精度損失最小。
5)迭代達(dá)到上限或者剪枝壓縮結(jié)束,輸出新的CNN模型Mr。
在對篡改圖像處理的初期,為了盡可能發(fā)現(xiàn)圖像內(nèi)的像素區(qū)別,本文設(shè)計(jì)了如下三個(gè)原始過濾器
(8)
過濾器設(shè)計(jì)時(shí)要盡可能相似,這樣有利于篡改痕跡的識(shí)別。基于(8)中的三個(gè)過濾器,對其中的每一個(gè)經(jīng)過對稱和變換處理,擴(kuò)展出18個(gè)新過濾器。在對稱處理時(shí),包含水平對稱、垂直對稱、對角對稱。在旋轉(zhuǎn)處理時(shí),包含90°、180°、270°變換。利用18個(gè)過濾器可以得到18個(gè)特征圖。由于三通道原因,這里累計(jì)將會(huì)產(chǎn)生54個(gè)加權(quán)矩陣。其具體描述如下
Wi=[W((3*i-3)mod 18)+1W((3*i-2)mod 18)+1W((3*i-1)mod 18)]
(9)
Wi的i取值為[1,18]。CNN模型加權(quán)服從標(biāo)準(zhǔn)差為0.01高斯規(guī)則。在CNN模型的卷積層上部署過濾器。當(dāng)該層采取若干數(shù)量的過濾器處理輸入時(shí),將會(huì)得到相應(yīng)數(shù)量特征索引。此時(shí)得到對應(yīng)的輸出如下
(10)
(11)
pooling(·)為池函數(shù)。隨后進(jìn)入調(diào)節(jié)層,在該層限制飽和性。為防止提取特征的惡化,這里通過a和b參數(shù)對數(shù)據(jù)進(jìn)行線性轉(zhuǎn)化,公式如下
(12)
(13)
式中,T1與T2均代表限定值。當(dāng)發(fā)現(xiàn)兩幅圖像的相似性符合(13)條件,意味著存在復(fù)制粘貼偽造。對pooling池化層采樣的圖像做傅氏變換,公式如下
(14)
其中,N和K依次代表行、列向量。此時(shí)求解出它們的偏差,根據(jù)偏差對比,能夠判斷出是否存在尺度變換篡改。
為了實(shí)現(xiàn)篡改定位,這里引入相關(guān)度處理。其思想是選擇一個(gè)圖像塊Ik(i,j),對其周圍的鄰近圖像塊做相關(guān)度分析,利用漢明距離得到相關(guān)度公式如下
(15)
當(dāng)圖像塊沒有發(fā)生篡改時(shí),求解出的相關(guān)度會(huì)明顯小于發(fā)生篡改時(shí)的值,這樣,通過相關(guān)度比較便可以確定實(shí)際的篡改位置。
仿真數(shù)據(jù)集采用VOC2007,其中包含3000幅可用于網(wǎng)絡(luò)學(xué)習(xí)的圖像?;赩OC2007訓(xùn)練CNN模型,考慮到圖像篡改檢測的需求,通過程序?qū)?shù)據(jù)集樣本進(jìn)行任意形式的篡改,用于實(shí)際測試。
首先,對本文提出的CNN剪枝壓縮性能進(jìn)行驗(yàn)證。在不同壓縮率的情況下,對比了三種(文獻(xiàn)[9]、文獻(xiàn)[10]和本文)剪枝壓縮的效果,結(jié)果如圖2所示??梢钥闯觯N方法的曲線趨勢一致,壓縮率越大,剪枝的準(zhǔn)確性就越低。由于壓縮率與裁掉的加權(quán)呈正相關(guān),所以裁掉的加權(quán)與剪枝準(zhǔn)確性呈負(fù)相關(guān)。經(jīng)過對比,本文方法在同樣壓縮率的情況下,具有更好的剪枝準(zhǔn)確性;分析可以得到,在同樣的剪枝準(zhǔn)確性時(shí),具有更高的壓縮比。在綜合衡量壓縮率與剪枝準(zhǔn)確性后,本文方法能夠獲得更好的剪枝壓縮性能。
圖2 剪枝壓縮性能對比
然后,對提出的剪枝壓縮CNN圖像篡改檢測性能進(jìn)行主觀驗(yàn)證。圖3列舉了兩種篡改圖像場景,(a)~(e)依次描述了用于測試的原始圖像、篡改圖像,以及三種方法(文獻(xiàn)[6]、文獻(xiàn)[8]和本文)的檢測結(jié)果。其中第一幅測試圖像中包含了拼接、粘貼、尺度變換篡改,第二幅測試圖像中包含了尺度變換篡改。根據(jù)篡改檢測結(jié)果對比,本文方法能夠準(zhǔn)確判斷出圖像中的篡改區(qū)域,并且能夠?qū)Υ鄹膮^(qū)域的邊緣進(jìn)行準(zhǔn)確描述,進(jìn)而判斷出篡改區(qū)域所屬類型,相比其它對比方法,具有更好的主觀效果。
圖3 圖像篡改檢測結(jié)果主觀對比
最后,對提出的剪枝壓縮CNN圖像篡改檢測性能進(jìn)行客觀驗(yàn)證。采取準(zhǔn)確度(precision)與F-measure作為評價(jià)指標(biāo)。precision代表檢測范圍內(nèi)被正確識(shí)別出的偽造像素占比。F-measure代表檢測方法準(zhǔn)確性與全面性的綜合性能,其計(jì)算公式為:
(16)
其中,recall表示召回率。F-measure越大,意味著檢測的綜合性能越出色。
通過對100次檢測結(jié)果取平均,得到三種方法(文獻(xiàn)[6]、文獻(xiàn)[8]和本文)的precision、F-measure,以及檢測時(shí)間結(jié)果,如表1所示。
表1 客觀結(jié)果對比
根據(jù)篡改檢測的客觀實(shí)驗(yàn)結(jié)果,本文方法的precision指標(biāo)分別比文獻(xiàn)[6]和[8]提高了3.8%和0.7%,F(xiàn)-measure指標(biāo)分別比文獻(xiàn)[6]和[8]提高了15.13%和1.76%。表明本文方法具有更高的檢測準(zhǔn)確度和更好的檢測全面性。另外,由于測試圖像包含多種篡改手段,說明本文方法對于不同篡改方式的圖像,均具有穩(wěn)定的檢測效果。經(jīng)過檢測時(shí)間的對比可以發(fā)現(xiàn),本文方法的檢測時(shí)間僅為文獻(xiàn)[6]的52.67%,文獻(xiàn)[8]的16.82%,顯著降低了CNN圖像篡改檢測的時(shí)間復(fù)雜度。
本文基于CNN模型提出一種圖像篡改檢測方法,首先針對現(xiàn)有CNN模型層數(shù)和參數(shù)過多問題,設(shè)計(jì)了剪枝壓縮策略。通過激活值與熵的融合,以及逐層裁剪,合理的裁剪冗余加權(quán)。然后針對剪枝壓縮CNN,設(shè)計(jì)了相應(yīng)的網(wǎng)絡(luò)層,并對不同的篡改方式和篡改位置進(jìn)行了分析。最后通過數(shù)據(jù)集的仿真,驗(yàn)證了本文提出的剪枝策略具有良好的準(zhǔn)確度和壓縮率;所提的篡改檢測方法顯著提升了篡改檢測的準(zhǔn)確性和全面性,能夠準(zhǔn)確判斷出圖像中的篡改區(qū)域,并且能夠?qū)Υ鄹膮^(qū)域的邊緣進(jìn)行準(zhǔn)確描述;顯著降低了篡改檢測時(shí)間和復(fù)雜度,更適合于移動(dòng)設(shè)備端的部署應(yīng)用。