袁桂霞,周先春
(1.江蘇開放大學(xué) 信息與機(jī)電工程學(xué)院,江蘇 南京 210017;2.南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京 210044)
當(dāng)前圖像偽造主要為復(fù)制-移動方式,其通過圖像中某個目標(biāo)復(fù)制并移動到圖像的其它位置,達(dá)到掩蓋其它區(qū)域[1-3]。對此,如何快速準(zhǔn)確檢測出圖像的真?zhèn)纬蔀楫?dāng)前研究熱點。
焦麗鑫等[4]設(shè)計了均值漂移的復(fù)制移動篡改檢測造檢測方案。該方案采用近鄰匹配法完成特征配準(zhǔn),對篡改區(qū)進(jìn)行粗識別。然后通過均值漂移將相似特征劃分為相同區(qū)域,通過匹配SURF特征與均值漂移劃分區(qū)域的關(guān)系判別篡改區(qū)域。再利用邊緣直方圖與HSV顏色直方圖來完成篡改檢測。但是該方法在模糊、噪聲、旋轉(zhuǎn)等因素下難以有效獲取均值,導(dǎo)致在這種情況下的篡改檢測效果不佳。夏蕾等[5]提出了一種像素預(yù)測誤差與似然映射的移動-復(fù)制圖像篡改檢測方案。該方案通過定義顏色濾波序列CFA插值方程,從而提取圖像綠色成分。通過引入權(quán)重因子,設(shè)計偽造特征統(tǒng)計函數(shù),判別出近似零的特征。最后利用特征統(tǒng)計性質(zhì),構(gòu)建似然率模型,完成檢測。但是當(dāng)復(fù)制區(qū)存在多個情況下,此技術(shù)容易產(chǎn)生混淆檢測,并且對復(fù)制區(qū)發(fā)生旋轉(zhuǎn)等篡改檢測效果不太理想。Mahdian等[6]定義了基于模糊不變矩的復(fù)制-粘貼篡改檢測技術(shù)。該技術(shù)通過測量圖像塊的模糊不變矩,通過利用PCA對特征維度簡化,計算圖塊之間的相似性,根據(jù)相似性來尋找篡改區(qū)。但是,該技術(shù)采用的模糊不變矩對復(fù)制區(qū)旋轉(zhuǎn)情況下無法準(zhǔn)確識別,容易導(dǎo)致誤檢和漏檢。
為了提高對各種復(fù)雜情況下以及多復(fù)制區(qū)的篡改檢測精度和魯棒性,本文設(shè)計了基于DCT與Gaussian徑向基函數(shù)的復(fù)制-移動篡改檢測方案。將輸入圖像劃分為一定大小的圖像子塊,為降低數(shù)據(jù)維度與提高圖像特征提取能力,對每個子塊進(jìn)行DCT,利用DCT分量表征塊特征,并引入了一個Gaussian RBF核函數(shù)的PCA,結(jié)合PCA的非線性與DCT的線性優(yōu)勢,能夠更適合各種更復(fù)雜的特征提取,再利用DCT與PCA得到的分量來構(gòu)建圖像的系數(shù)矩陣,計算系數(shù)矩陣的特征值表示為塊的特征,最后將計算得到的不同塊之間的Euclidean距離與給定的閾值比較,從而完成偽造檢測。對算法進(jìn)行了篡改檢測測試。
離散余弦變換(discrete cosine transform,DCT)為一種壓縮變換,能夠?qū)⒚芏染鶆虻男盘栟D(zhuǎn)變?yōu)槊芏炔痪男盘朳7,8]。其除了含有正交變換性質(zhì)外,變換陣的基向量類似于Toeplitz矩陣的特征矢量,具有很強(qiáng)的“能量集中”,即大部分信號的能量都聚集在DCT的低頻中。且當(dāng)信號類似于Markov過程特性時,DCT的去相關(guān)性近似于K-L的最優(yōu)去相關(guān)性。
已知一個離散傅里葉變換(discrete fourier transform,DFT),設(shè)x[n]為一個長度為M的信號,則x[n]的N點DFT表示為[9]
(1)
(2)
DCT可對實信號變換,并且獲得的同樣是實信號。相對于DFT,DCT可至少提高一倍的計算效率。DCT還具有能量聚集特性:大部分信號的能量聚集在DCT的低頻中。因此,DCT在數(shù)據(jù)壓縮中應(yīng)用廣泛。由于DCT是從DFT演化得到,在DCT中仍然是保持了DFT的良好性能。
對于長度為N的實信號,定義一個長度為2N的信號,其表示為
(3)
將長度為N的信號x[m]擴(kuò)展為2N的信號,如圖1所示。
圖1 實信號擴(kuò)展
對于這個2N的實信號,其DFT表示為
(4)
(5)
根據(jù)式(5)可看出,DCT相當(dāng)于長度為2倍的DFT。變換后x[n]的周期為2N,即x[N+n]=x[N+n-2N],定義一個變換矩陣C[n,m]
(6)
(7)
為滿足其正交性,嵌入一個因子a[n]
(8)
因此,正交DCT可定義如下
(9)
對于正交DCT矩陣,那么有
C-1=CT
(10)
在所提算法中,將圖像劃分為一定大小的子塊,引入DCT對子塊表示,由于偽造區(qū)域大多會經(jīng)過壓縮、模糊、縮放和噪聲等后處理操作,DCT對這些后處理的具有良好的魯棒性,利用DCT和Gaussian徑向基核PCA進(jìn)行復(fù)制-移動篡改檢測。盡管DCT對篡改區(qū)變換具有良好效果,但是通過DCT的塊表示仍會存在一些不足,例如,當(dāng)旋轉(zhuǎn)操作區(qū)域超過篡改區(qū)域時,DCT的表示準(zhǔn)確性也受到影響。為了克服這一限制,在DCT系數(shù)計算中采用了Gaussian徑向基核函數(shù)(RBF)PCA。使用核PCA與DCT的另一個優(yōu)勢是結(jié)合PCA的非線性特性與DCT的線性特性。因此,該技術(shù)可使特征表示更加多樣化,提高檢測準(zhǔn)確性。整個檢測算法過程如圖2所示,主要步驟如下:
(1)將圖像劃分為固定尺寸的圖像子塊;
(2)對每個圖像字塊進(jìn)行DCT處理;
(3)提取每個DCT塊的Gaussian RBF核PCA特征;
(4)匹配相似塊;
(5)刪除孤立塊并輸出重復(fù)區(qū)域。
圖2 本文篡改檢測算法過程
為了實現(xiàn)所提出的方法,首先,將彩色圖像變換為灰度圖像。設(shè)一幅大小為H×W的彩色圖像I,表示如下
I=0.229R+0.587G+0.114B
(11)
其中,R、G、B分別為圖像I的紅、綠、藍(lán)成分。I被轉(zhuǎn)換成灰度圖像后,利用一個尺寸h×w滑動窗口,將圖像沿左上角到右下角劃分為若干個重疊塊。每個塊表示Brc,其中,r和c分別為塊的行與列的起始點,定義為
Brc(x,y)=f(x+c,y+r)
(12)
其中,x,y∈{0,1,…,Brc-1},r∈{0,1,…,H-h+1},c∈{0,1,…,W-w+1}。
因此,I劃分為N個重疊塊可表示為
N=(H-h+1)×(W-w+1)
(13)
(14)
其中,系數(shù)αp,αq分別表示如下
(15)
(16)
(17)
其中,p′、q′分別為經(jīng)過一個旋轉(zhuǎn)角度為θ后的塊坐標(biāo),簡化后可表示為
(18)
(19)
λ(φ(xk).V)=(φ(xk).CV) ?k=1,2,…,l
(20)
設(shè)存在一個系數(shù)αi,符合以下條件
(21)
定義一個M×M的矩陣K,Kij=(φ(xi).φ(xj)),將C代入到式(20)與式(21)中,得到
Mλα=Kα
(22)
其中,α為列向量,K對稱Gram矩陣,表示如下
K(xixj)=φ(xi)Tφ(xj)
(23)
如果λi>λi+1表示K的特征值,i=1,2,…,M。αi表示特征向量;Vi表示規(guī)范化的特征向量。設(shè)λk≥0,滿足λk(αk.αk)=1,因此,對于任何測試點φ(xt),第K次非線性主成分表示如下
Vk,φ(xt)
(24)
為了準(zhǔn)確提取塊特征,引入了一個Gaussian RBF核函數(shù),其可通過映射函數(shù)φ:[0,∞)→定義得到[11]
(25)
(26)
其中,σ為Gaussian核參數(shù)。通將式(26)代入到式(24)中,得到一個變換表示
(27)
矩陣MKPCA的維度Nc可通過以下計算
(28)
(29)
矩陣MKPC通過字典排序使得相同特征接近對方,同時記錄每個塊的左角坐標(biāo)。字典排序在特征向量匹配過程,有助于降低計算成本[12],因為一個向量fvi與鄰近特征向量Nn來判斷相似性。在本文中,為了有效處理各種后處理操作,如模糊、噪聲、壓縮,Nn的窗口大小為20。
偽造檢測的目標(biāo)是尋找復(fù)制區(qū)域之間的相似性指數(shù)(特征向量)小于某一閾值并且該區(qū)域不重疊,對于基于閾值的區(qū)域匹配的原因是由于偽造圖像進(jìn)行后處理操作,一幅圖像中特征相似的概率可忽略不計。因此,在本文中,對復(fù)制塊檢測過程施加兩個條件:①塊與塊不相交不重疊;②相似性指數(shù)不超過閾值。
為了滿足第一個條件,在不重疊塊匹配中,引入了移位距離準(zhǔn)則,設(shè)(xi,yi),(xj,yj)分別為由特征向量fvi,fvj表示的兩個塊的前左角坐標(biāo),因此
(30)
如果兩個特征向量滿足式(30),這些特征向量進(jìn)行相似性指數(shù)計算滿足第二個條件。利用Euclidean距離計算可得到[13]
(31)
為了顯示該算法的最終檢測結(jié)果,使輸出IO中不丟失任何興趣細(xì)節(jié),在一個尺度中的結(jié)構(gòu)元素中進(jìn)行形態(tài)學(xué)開、閉運算[14]。因此,通過一個3×3尺寸結(jié)構(gòu)元素的開操用于去除IO中小的和不需要的塊。利用一個8×8尺寸結(jié)構(gòu)的閉操作填充IO中突出區(qū)域的孔。
為對算法的復(fù)雜性分析,設(shè)每個塊的大小為h×w,h=w=16,塊的總數(shù)為N。首先,對一個塊進(jìn)行2D DCT,消耗O(nlogn)s時間,然后,通過Gaussian RBF核PCA對DCT處理后的塊進(jìn)行計算,消耗O(n2)s時間。因此,一個塊所需的時間為O(n2+nlogn)s,在時間復(fù)雜性方面,一般只對最大的因素感興趣。因此,計算單個塊的特征所需的時間O(n2)s。由于總共存在N個塊,所以,得到特征矩陣MKPC總共需要消耗的時間O(Nn2)s。然后,通過詞典排序?qū)KPC運算需要的時間為O(NlogN)s。因此,總的時間為O(N(nlogn+n2)+NlogN)s。
為驗證算法性能,進(jìn)行多次測試,借助PS軟件進(jìn)行各種情況下的復(fù)制-移動偽造處理,得到測試圖像。同時,借助MATLAB7.0進(jìn)行仿真分析。仿真環(huán)境為:Core I3四核CPU,3.50 GHz,8 GB運行RAM,Win8系統(tǒng)。為突顯本文算法的優(yōu)異性,選取具有代表性的檢測算法:文獻(xiàn)[4]、文獻(xiàn)[5]和文獻(xiàn)[6]進(jìn)行對比,為便于記錄,依次記為A算法、B算法、C算法。
在本文實驗中,通過多次實驗,確定了最優(yōu)的實驗參數(shù):塊B的大小為h×w=16×16,行數(shù)Nn=20,塊距離閾值Nt=40,主成分?jǐn)?shù)Nc=10,向量的相似距離dt=0.002。
為對算法的性能準(zhǔn)確評估,借助圖像偽造檢測中最常用的評價指標(biāo):查準(zhǔn)率(Precision)和召回率(Recall),算法精度(Accuracy),其中,Precision和Recall分別定義如下[15]
(32)
(33)
其中,Tp為正確識別偽造數(shù)量;Fp為誤判為偽造數(shù)量;Fn為漏檢的偽造數(shù)量。
算法精度Ac計算如下
(34)
其中,Tn為真實圖像正確識別數(shù)量。
為較全面測試算法的偽造檢測性能,本文在不同條件下進(jìn)行測試,測試得到的結(jié)果如圖3~圖6所示。圖3為簡單的復(fù)制-移動偽造檢測。圖3(a)、圖3(b)為原圖像和偽造圖像;圖3(c)、圖3(d)、圖3(e)和圖3(f)分別為A、B、C、本文算法的檢測結(jié)果。依據(jù)圖3中看出,4種檢測算法均能識別篡改區(qū)域,如圖3中高亮的灰色區(qū)域為檢測出的復(fù)制-移動區(qū)域。從圖3得出,本文算法和對照組算法一樣,能夠在簡單的復(fù)制-移動偽造準(zhǔn)確識別篡改區(qū)域。
圖3 簡單復(fù)制-移動偽造檢測結(jié)果
圖4為多復(fù)制區(qū)的篡改檢測的結(jié)果。圖4(a)、圖4(b)分別為原圖像和偽造圖像;圖4(c)、圖4(d)、圖4(e)和圖4(f)分別為A、B、C、本文算法的檢測結(jié)果。從圖4看出,本文算法能準(zhǔn)確識別篡改區(qū)域;C算法基本上檢測出偽造區(qū)域,但是篡改區(qū)出現(xiàn)了一些偏差;A算法,B算法出現(xiàn)了誤檢測和漏檢測,如圖中灰色區(qū)域所示。
圖4 多復(fù)制區(qū)偽篡檢測結(jié)果
圖5為復(fù)制區(qū)發(fā)生縮放的篡改檢測的結(jié)果。圖5(a)、圖5(b)分別為原圖像和偽造圖像;圖5(c)、圖5(d)、圖5(e)和圖5(f)分別為A、B、C、本文算法的檢測結(jié)果。依據(jù)圖5得出,本文方法能有效檢測出篡改區(qū)域;A、B、C這3種算法得到的檢測復(fù)制區(qū)域移動區(qū)域出現(xiàn)了偏差,無法準(zhǔn)確識別篡改范圍,如圖中灰色區(qū)域所示。
圖5 縮放篡改檢測結(jié)果
在CASIA數(shù)據(jù)庫中[16],選擇200幅含有旋轉(zhuǎn)、縮放、壓縮、模糊和噪聲等幾何變換的復(fù)制-移動篡改圖像集。將200幅圖像平均分為4組,分別不同的JPEG壓縮、模糊、旋轉(zhuǎn)角度、縮放下進(jìn)行精度測試,結(jié)果如圖6所示。圖6(a)~圖6(d)分別為在不同的縮放、旋轉(zhuǎn)、JPEG壓縮、模糊篡改下得到的精度曲線圖。依據(jù)圖6看出,在不同的篡改手段下,本文算法得到的精度曲線相對比較平穩(wěn),算法精度較高,說明了提出的方案對縮放、旋轉(zhuǎn)、JPEG壓縮、模糊等不同條件下的均具有良好的效果,能有效檢測出各種篡改區(qū)域。相對給出的3種對照組算法,本文算法具有突出的性能,使用范圍更廣。主要是本文采用了PCA的非線性與DCT的線性優(yōu)勢,能夠更適合各種復(fù)雜形式的特征提取。
圖6 不同形式的篡改檢測精度
為了更全面衡量算法的檢測性能,引入了P-R曲線[17]與AUC面積進(jìn)行定量測量。P-R曲線為查準(zhǔn)率-查全率曲線,其廣泛應(yīng)用于在分類、檢索中。AUC(area under curve)為曲線下面積,AUC越大,算法性能越好。從組成的200幅數(shù)據(jù)集中,隨機(jī)選擇40幅圖像進(jìn)行測驗,得到了圖7中的結(jié)果。圖7(a)為P-R曲線圖,圖7(b)為AUC面積圖。從圖7(a)看出,本文算法的P-R性能表現(xiàn)最好,曲線平滑,穩(wěn)定性較好。從圖7(b)的AUC看出,本文算法的AUC面積最大,在復(fù)雜的篡改形式下仍具有較好的魯棒性。其主要是本文通過PCA的非線性與DCT的線性優(yōu)勢,能夠更適合各種復(fù)雜形式的特征提取。
圖7 P-R曲線與AUC面積測量結(jié)果
根據(jù)以上得到的實驗結(jié)果與性能評價得知,本文算法具有優(yōu)異的偽造檢測性能,在各種復(fù)雜的篡改形式下?lián)碛辛己玫男Ч?,得到了較好的P-R曲線與AUC面積。說明了本文提出的偽造檢測具有良好的定位精度與檢測性能;具有較強(qiáng)的魯棒性,抗幾何變換篡改能力強(qiáng)。主要原因是為降低數(shù)據(jù)維度,提高圖像塊中特征提取能力,對每個子塊進(jìn)行DCT,利用DCT分量表征塊特征。針對篡改區(qū)發(fā)生旋轉(zhuǎn)時,DCT不具有旋轉(zhuǎn)不變性,無法準(zhǔn)確表示其特征。因此,為準(zhǔn)確提取圖像子塊特征,降低特征維度,嵌入了一個Gaussian RBF核函數(shù)的PCA,結(jié)合PCA的非線性與DCT的線性優(yōu)勢,能夠更適合各種更復(fù)雜的特征提取。通過DCT與PCA得到的分量構(gòu)建圖像的系數(shù)矩陣,計算系數(shù)矩陣的特征值表示為塊的特征。計算不同塊之間的Euclidean距離作為不同區(qū)域的相似性,并與給定的閾值比較,從而完成偽造檢測。而A算法中在清晰圖像中具有較優(yōu)異的性能,能夠有效檢測出復(fù)制-移動篡改檢測。但是該方法在模糊、噪聲、旋轉(zhuǎn)等因素下難以有效獲取均值,導(dǎo)致在這種情況下的篡改檢測效果不佳。B算法中當(dāng)復(fù)制區(qū)存在多個情況下,容易產(chǎn)生混淆檢測,并且對復(fù)制區(qū)發(fā)生旋轉(zhuǎn)等篡改檢測效果不太理想。C算法中采用的模糊不變矩對復(fù)制區(qū)旋轉(zhuǎn)情況下無法準(zhǔn)確識別,容易導(dǎo)致誤檢和漏檢。
計算效率是衡量算法的一個重要指標(biāo),在保證具有較高檢測精度的同時需要提高計算效率,降低時間成本,因此,對算法的運算時間進(jìn)行統(tǒng)計。表1為在200幅數(shù)據(jù)集中隨機(jī)選擇50進(jìn)行測驗得到的平均時間。依據(jù)表1得知,本文算法時間最低,計算效率最高。主要是DCT具有很強(qiáng)的“能量集中”特性,良好的去相關(guān)性,降低了信息冗余,提高了算法效率。
表1 算法運行時間
本文提出了基于DCT與Gaussian徑向基函數(shù)的復(fù)制-移動篡改檢測技術(shù)。為降低數(shù)據(jù)維度,提高圖像塊中特征提取能力,對每個子塊進(jìn)行DCT,利用DCT分量表征塊特征。針對篡改區(qū)發(fā)生旋轉(zhuǎn)時,以及DCT不具有旋轉(zhuǎn)不變性,無法準(zhǔn)確表示其特征,本文引入了一個Gaussian RBF核函數(shù)的PCA,結(jié)合PCA的非線性與DCT的線性優(yōu)勢,能夠更適合各種更復(fù)雜的特征提取。通過DCT與PCA得到的分量構(gòu)建圖像的系數(shù)矩陣,計算系數(shù)矩陣的特征值表示為塊的特征。計算不同塊之間的Euclidean距離作為不同區(qū)域的相似性,并與給定的閾值比較,從而完成偽造檢測。實驗結(jié)果表明本文算法能夠有效檢測各種篡改形式(旋轉(zhuǎn)、壓縮、模糊)以及多篡改,算法具有優(yōu)異的檢測精度,得到的P-R曲線與AUC。