·,·
(新疆警察學院 信息安全工程系,烏魯木齊 830013)
隨著數字技術的發展,出現了很多對數字圖像進行處理的軟件,以此可以形成各種類型的偽造圖像。圖像偽造檢測在取證等領域具有重要意義。由于數字圖像中功能強大的軟件工具,通過肉眼很難確定圖像是否為原始圖像[1]。其中,復制-移動和拼接是兩種常見的圖像偽造手段[2]。復制-移動是通過剪切圖像中的一個區域并將其粘貼到其他位置,而剪切是通過剪切其他圖像區域并將其粘貼到該圖像。基于這種分類,在復制-移動圖像中搜索具有相似特征的區域,或者在拼接圖像中搜索完全不同特征的區域是偽造檢測的基本原理[3]。
對于復制-移動類圖像偽造的檢測,基本都是以搜索相似區域為主要手段,而特征不一致性的情況被認為是拼接圖像[4]。文獻[5]利用離散小波變換(DWT)和離散余弦變換(DCT)來變換圖像,然后提取特征,并基于特征比較來確認復制區域。文獻[6]提出了一種基于二進小波變換(UDWT)和Zernike矩的新方法來進行復制-移動圖像的偽造檢測。其首先采用UDWT方法來獲得圖像低頻(LL)組件,然后計算Zernike矩以產生LL上重疊塊的特征向量,并根據這些向量找到復制區域。文獻[7]使用DWT將圖像分解成4個子帶,對從LL子帶劃分出的每個小重疊塊使用尺度不變特征變換(SIFT)來提取特征向量。
對于拼接的檢測,其比復制-移動的檢測復雜。許多拼接檢測方法的關鍵思想是尋找與圖像特征不一致的區域。重采樣的區域,雙重壓縮的區域,以及具有模糊差異或銳度差異的區域都可以被認為是拼接的痕跡。例如,文獻[8]表明圖像中JPEG壓縮的差異可能由拼接引起,其基于8×8塊的離散余弦變換(DCT)變換來檢測DCT塊的移位。文獻[9]表明照明不一致性和固有重采樣性質也是檢測拼接的參數,其在提取對比度和平均灰度值特征之前,將圖像塊轉換成HSV顏色空間。
然而,大部分現有方法都是單獨檢測復制-移動或拼接的問題,只有很少的文獻能夠同時對同一圖像中的復制-移動和拼接問題進行檢測。例如,文獻[10]提出了一種結合DCT和加速穩健特征(SURF)的綜合技術,以檢測復制-移動或拼接圖像的偽造。這意味著被檢測的圖像是可選的,而不需事先將其分類為復制-移動或拼接。文獻[11]提出了一種二進小波變換和Zernike矩的檢測方法,通過Zernike矩來表示塊區域的特征。文獻[12]使用多分辨率韋伯局部描述符(WLD)來檢測圖像中的復制-移動和拼接,其首先將RGB圖像轉換為YCbCr色彩圖像,使得WLD可以從比亮度更不敏感的色度分量中提取特征。
本文開發了一種檢測算法,可以對多個復制-移動和拼接形式的圖像偽造進行檢測。通過應用一級DWT獲得LH、HL和HH子帶,通過閾值判斷來獲得偽造圖像區域邊緣,通過形態學濾波來連接邊緣使其清晰化,以此實現偽造行為的檢測。為了確定偽造類型,提取偽造區域的尺度不變特征變換(SIFT)特征,并通過相似性檢測來確定。實驗結果表明,本文方法能夠準確檢測出偽造區域和偽造類型。
本文提出了一種在沒有任何原始圖像先驗信息情況下,不僅可以對偽造進行檢測,同時能夠給出偽造類型。偽造類型包括單獨的復制-移動、拼接或同時有復制-移動和拼接。另外,該方法可以檢測圖像中的多個偽造區域。
提出方法分為兩個部分:1)邊緣檢測和偽造確認;2)相似區域檢測來確定偽造類型。其中,基于一級DWT的3個子帶LH,HL和HH,通過高清晰邊緣對可疑區域進行定位來檢測偽造。通過搜索類與可疑區域相似的區域來確定圖像偽造的類型。兩部分的流程分別如圖1和圖2所示。

圖1 邊緣檢測和偽造確認的流程圖
在圖1所示的第一階段中,在應用一級DWT分解之前,首先使用I=0.299R+0.587G+0.114B將彩色圖像轉換成灰度圖像。由于邊緣由高頻表示,所以考慮3個子帶LH,HL和HH來檢測邊緣。實際上,真實圖像中有許多邊緣,因此需要對粘貼引起的邊緣進行采集。為每個圖像的紋理和布局進行閾值設置,范圍從最大清晰度的50%~80%。
在所有3個高頻子帶中通過閾值進行銳化和濾波之后,通過形態學濾波操作來連接邊緣間隙。為了檢測粘貼部分,通過設置LL子帶中的低頻部分為零來忽略他們。因此,對這4個子帶進行逆離散小波變換(IDWT)后,只顯示包含邊緣的圖像。如果存在粘貼圖像的邊緣,即可以確認偽造行為。否則,圖像是原始的。

圖2 基于相似性檢測的偽造類型確定流程圖
圖2所示的偽造類型確定過程中,對于每個偽造部分,通過特征相似性檢測來確認復制-移動或拼接操作。應用斑點檢測來定義偽造區域的大小m×n。通過將測試的M*N圖像分割為多個重疊的m*n塊。使用SIFT特征提取技術創建(M-m+1)(N-n+1)個特征向量,并搜索具有相似特征的區域。可存在如下幾種偽造類型:1)復制-移動,如果圖像中至少有一個其他區域有類似特征;2)拼接,如果圖像中沒有類似的區域;3)復制-移動和拼接,如果存在至少兩個偽造區域,且復制-移動為類型1,拼接為類型2。
1.2.1 基于DWT的圖像多尺度表示
DWT是對選定的圖像進行多分辨率分解,將圖像在不同方向和頻帶上分解為不同的子圖。通過一級小波分解后,圖像變為逼近子圖(LL)、水平方向子圖(HL)、垂直方向子圖(LH)和對角方向子圖(HH),如圖3所示。其中,LL為低頻分量,繼承了圖像的大部分能量;其他3個子圖為高頻細節分量,所包含的圖像能量較少,主要用來表示圖像的邊緣信息。在進行下一級分解時,LL將以相同的方式再次分解為更小的4個子圖。

圖3 DWT分解子圖
對于二維圖像f(x,y),二維DWT將產生一個可分離的尺度函數φ(x,y)和3個可分離的方向敏感小波ψH(x,y),ψV(x,y),ψD(x,y),分別對應于沿水平邊緣,垂直邊緣和對角線的變化。表達式如下:
φ(x,y)=φ(x)φ(y)
(1)
ψH(x,y)=ψ(x)φ(y)
(2)
ψV(x,y)=φ(x)ψ(y)
(3)
ψD(x,y)=ψ(x)ψ(y)
(4)
式中,φ(x),φ(y)是一維的尺度函數。ψ(x),ψ(y)是一維的小波函數。
在DWT中,尺度函數用于創建一系列圖像的近似值。尺度和變換的基本功能定義如下:
φj,m,n(x,y)=2j/2φ(2jx-m,2jy-m)
(5)
(6)
對于所有的j,k∈Z,m=n=0,1,2,…,2j-1。i={H,V,D}表示方向小波。然后,通過定義近似系數和方向系數來完成尺寸為MxN的圖像f(x,y)的離散小波變換。
(7)
(8)
式中,j0為任意尺度,Wφ(j0,m,n)為尺度j0處圖像f(x,y)的近似系數,Wψi(j0,m,n)為用于在尺度j≥j0中增添水平、垂直和對角細節的系數。


圖4 對二維圖像的一級DWT分解
1.2.2 邊緣檢測
邊緣的清晰度可以作為復制粘貼區域的痕跡。因此,邊緣檢測是搜索可疑區域的第一步,對有高清晰度邊緣的可疑區域進行采集,然后進行檢測偽造。本文將拉普拉斯算子應用于DWT的LH,HL和HH3個子帶,通過每個子帶與一個3×3拉普拉斯核之間的卷積來選擇用于進一步處理步驟的邊緣部分。
1.2.3 基于形態學操作連接邊緣間隙
一般來說,在粘貼的位置,會通過一些軟件工具或Photoshop使邊界變平滑,因此并不是所有的邊緣在LH,HL和HH中都能被連續檢測到。存在一些零散分布的像素值,因此采用了形態學操作來連接一些間隙,使邊界平滑,有助于更好地檢測偽造區域。
通過將每個LH,HL和HH應用于A,以及將連接間隙的結構元素應用于B,通過形態學操作來修復邊界上的間隙。形態學操作定義為:
A°B=(AΘB)⊕B
(9)
式中,A和B是二維空間Z2中的兩個集合;Θ表示形態學操作中的腐蝕操作,⊕表示膨脹操作。另外,Z2中的兩個集合A和B的連接定義如下:

(10)

1.3.1 提取塊區域的SIFT特征
用SIFT特征點檢測算子提取可疑塊區域圖像的特征。
首先,需要找出在不同方向觀察物體時都不會受影響的位置和尺度。通過一個連續尺度函數來尋找穩定的特征點,即將一個尺度可變的高斯函數與二維圖像I(x,y)進行卷積,表達式[13]如下:
L(x,y,σ)=G(x,y,σ)*I(x,y)
(11)
式中,x,y表示空間坐標,σ為高斯標準差,用來表示尺度大小,G(x,y,σ)為高斯函數:
(12)
為了尋找L(x,y,σ)尺度空間的極大值點和極小值點,將每一個采樣點與同尺度的相鄰點進行比較,將極值點對應的采樣點作為特征點[8]。
然后,依據極值點鄰域像素的梯度方向分布特性,給每個極值點分配一個方向。每個取樣點的梯度模值和方向的表達式如下:
m(x,y)=
(13)
(14)
為了正確感知在尺度空間中檢測穩定關鍵點的位置,借助于高斯函數微分中的尺度空間峰值D(x,y,σ),兩個鄰近尺度中的不相似性通過穩定性k來表示。在任何情況下,都需要對尺度空間特征描述進行計算,因此D可以通過簡單的圖像相減來計算,表示如下:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=
L(x,y,kσ)-L(x,y,σ)
(15)
1.3.2 基于特征矩陣的相似塊檢測
相似區域塊檢測是通過計算各塊區域的特征向量之間的相似性,其中相似性以歐式距離來度量。設定Si和Sj表示兩個SIFT特征向量,每個特征向量包含L個特征,那么兩者的相似性計算如下[14]:
(16)
設定一個閾值Ts,如果D(i,j)小于Ts,那么判斷第i個塊區域的特征Si與第j塊區域的特征Si相似,即兩個塊區域相似。
所提出的算法在Matlab2013中由處理器Intel(R)Core i5-2400 CPU@3.10 GHz,內存 8 GB的PC機上運行。用于測試復制-移動、拼接的偽造測試圖像是從文獻[15]提供的基準數據中采集。這些圖像都是自然圖片,并由Photoshop進行偽造。
所提出的方法基于3個不同的數據進行評估,3個不同數據集分別包含復制-移動圖像,拼接圖像以及在相同圖像同時包含復制-移動和拼接。每個數據集中包含50張圖像。
首先,利用本文方法對3種數據集中的一張偽造圖像進行檢測,檢測結果如圖5所示。可以看出,圖5(a)中右邊的小樹為復制-移動區域,圖5(c)中的修正膠帶為拼接區域,圖5(e)中右邊大花苞為復制-移動區域,小花苞為拼接區域。通過本文方法都成功地檢測出偽造區域和偽造類型,證明本文方法的有效性。

圖5 本文方法的檢測結果
將本文方法與文獻[10]提出的DCT+ SURF特征的檢測方法,文獻[11]提出的基于二進小波變換(UDWT)+Zernike矩的方法進行比較。
定義的3個性能參數,稱為準確率(Precision),召回率(Recall)和F1度量。精確度用來度量精確檢測偽造圖像的可能性,召回率用來度量偽造圖像被成功檢測的可能性。F1度量綜合考慮了準確率和召回率。
(17)
(18)
(19)
式中,TP、FP和FN分別表示正確檢測偽造像素、錯誤檢測偽造像素和遺漏偽造像素的數量。
在3個數據集上進行3次實驗,并計算性能度量的平均值,實驗結果如表1所示,另外,表2統計了所有數據集上的平均值。可以看出,本文方法獲得了最佳的性能。這是因為,本文通過DWT和形態學濾波獲得了連續清晰的邊緣信息,這為定位偽造區域提供了良好的基礎。另外,本文通過提取偽造區域的SIFT特征,并通過相似性計算來確定偽造類型,大大提高了準確性。
而文獻[10]提出的DCT+ SURF特征的檢測方法中,SURF特征是一種基于不同尺度空間的,采用小波變換來提取的特征。為了保證SURF特征的有效性,需要事先對特征確定方向。另外,其是通過特征匹配來檢測偽造,所產生的特征維數較大,這在一定程度上影響了檢測性能。文獻[11]提出的基于二進小波變換(UDWT)+Zernike矩的方法中,Zernike矩特征是一種魯棒特征,并能夠縮小塊匹配的搜索范圍。但是,Zernike矩特征匹配中的閾值選取需要人工調試,很難得到一個最佳閾值,為此也影響了檢測精度。

表1 3個數據集上的性能比較 %

表2 3個數據集上的性能平均值 %
本文提出了一種檢測圖像偽造檢測方法,包括單獨復制-移動、拼接偽造或同時具有兩者的偽造。首先通過DWT分解得到圖像的3個子帶LH,HL和HH,獲得粘貼的邊緣痕跡。當偽造被確認后,提取可疑區域的SIFT特征。通過與圖像中其他區域塊的比較來確定偽造類型。實驗結果證明了本文方法的有效性和可行性。