許曼曼 楊繼翔
摘 要:為了提高圖像區(qū)域的復制篡改檢測效率,提出了一種基于相位相關的數字圖像檢測與定位算法。該算法首先對圖像進行滑窗分塊,根據各個圖像塊的灰度均值大小選出可能匹配的圖像塊對,然后利用相位相關技術對圖像塊對進行匹配度計算,最后根據候選圖像塊對之間的距離消除誤匹配塊對,并標記篡改區(qū)域。實驗結果表明,該算法檢測效率高且實用性強。
關鍵詞:相位相關;圖像檢測;篡改檢測
DOIDOI:10.11907/rjdk.161845
中圖分類號:TP317.4
文獻標識碼:A 文章編號文章編號:16727800(2016)011019903
0 引言
目前數字圖像篡改檢測技術是一個熱門學科,在國內外得到了廣泛關注。數字圖像有主動取證和被動取證兩種,被動取證技術因其不需要任何預簽名或預嵌入信息而應用更為廣泛。安徽大學的谷宗運[1]提出了基于Tchebichef矩的數字圖像被動認證算法,該算法是在提取圖像的低頻分量后,對低頻分量進行分塊并提取每一塊的矩特征,因而能有效抵抗噪聲污染、有損壓縮以及旋轉等攻擊;王俊文[2]提出了基于小波變換和Zernike矩的檢測算法和基于高斯金字塔分解和Hu矩的算法。Zernike矩算法主要對待檢測圖像利用小波分解進行降維,提取低頻分量進行研究。Hu矩算法的核心思想是對待檢測圖像進行高斯金字塔分解,并使用圓形塊代替?zhèn)鹘y(tǒng)的方形塊,以對抗區(qū)域復制過程中帶來的旋轉問題;劉美紅等[3]提出了基于將圖像分塊后提取每塊的特征向量進行分形和統(tǒng)計的檢測方法,該算法最后利用圖像塊的位置信息和歐式距離來定位篡改區(qū)域;杜振龍等[4]提出了采用圖像3種特征復合的方式來描述圖像的盲檢測算法;吳瓊等[5]提出了基于零連通特征和模糊隸屬度的圖像盲取證算法;魏為民[6]提出利用JPEG塊效應不一致的方法對合成圖像進行盲檢測;駱偉祺等[7]提出了采用圖像7維特征作為圖像塊特征向量的特征提取方法,該方法可以對抗平滑濾波、壓縮等后處理操作,但不能抗旋轉;康曉兵等[8]提出了一種有效的盲檢測算法來識別圖像復制偽造區(qū)域,該算法采用截尾奇異值分解變換來處理圖像塊數據,并對圖像塊進行相似性匹配檢測。本文利用相位相關計算圖像塊之間的匹配度,對圖像進行滑窗分塊時可以一次滑動多個像素,大大減少了圖像塊數量,從而有效提高了檢測效率。
1 檢測與定位算法
1.1 算法基本思想
當前圖像篡改檢測技術中最常用的是塊匹配技術,該方法是將圖像劃分為獨立且相互重疊的小圖像塊,然后選取圖像特征來描述圖像塊,在圖像塊特征集合中搜索出特征匹配的圖像塊對,進而得出篡改區(qū)域。本文利用相位相關技術來判斷圖像塊匹配度并計算它們之間的相對位移,根據相對位移可以得出它們之間的重疊部分。即使兩個圖像塊不完全一樣,利用它們的相對位移可以標記出相互重疊的部分?;诖嗽?,本文方法對圖像進行分塊時可以一次滑動多個像素,從而減少圖像塊數量,大大縮小了圖像塊對匹配的搜索空間,有效提高了程序運行時間。
1.2 利用相位相關求圖像重疊率
相位相關算法是基于傅里葉變換的一種技術。由于相位相關利用圖像的功率譜信息而不依賴于圖像內容,所以具有很強的抗噪能力,常用于數字圖像取證領域。該技術能夠檢測出圖像塊之間的偏移量。
傅里葉變換和反變換能將信號在時域與頻域之間進行轉化,所以能夠分別在時域或頻域上分析信號。由于它是一種全局變換,所以不能同時在兩個域上分析信號。傅里葉變換在不同研究領域中有各種不同的變體形式,比如離散傅里葉變換和連續(xù)傅里葉變換。對數字圖像進行傅里葉變換,能將圖像從時域變換到頻域空間,利用傅里葉頻譜特性進行圖像處理??焖俑道锶~變換(fft)是離散傅里葉變換的快速算法,它將復雜的運算過程分解成無數個簡單的加(減)運算,而且保留了離散傅里葉變換的所有特性。因此,快速傅里葉變換在圖像處理中得到了廣泛應用。
假設g(x,y)是由圖像f(x,y)平移變換所得,平移量為(x0,y0),它們之間的關系可以表示為:
其中,G*(u,v)是 G(u,v)的共軛復數,對互功率譜P(u,v)進行離散傅里葉逆變換后,能得到兩個圖像間的相位相關性矩陣p(x,y),即互功率譜脈沖函數。矩陣中的峰值與它們之間的重疊程度有關,且峰值對應的坐標表示兩個圖像塊之間的平移量。
互功率譜脈沖函數的最大值代表兩個圖像之間的相關性,隨著相關性降低,脈沖函數的峰值也會減小。圖1是對大小為32×32的圖像塊進行實驗的結果,圖1(a)中的兩幅圖像完全一樣,脈沖函數的峰值在(1,1)處最大且等于1,其余部分全為0;圖1(b)中兩幅圖像的平移量為(4,1),脈沖函數最大為0.49;圖1(c)中兩幅圖像的平移量為(8,7),峰值為0.32;圖1(d)顯示的圖像沒有明顯峰值,且最大值只有0.12,兩幅圖像不相關。
1.3 算法步驟
步驟1:讀取待檢測圖像的大小A×B,對圖像進行劃窗分塊,每塊為正方形,子塊邊長為a,滑動步長為a_sli,當圖像邊界不能完整分塊時,對子塊進行補零,構成a×a像素的圖像塊。
步驟2:對每一圖像塊用其左上角第一個像素在圖像中的位置(xi,yi)進行標示,計算每個圖像塊的灰度均值,并從大到小排序。
步驟3:由于篡改區(qū)域與被復制區(qū)域在灰度均值上相似,對每個圖像塊只要在其[-L,L]范圍內利用相位相關技術搜索與其匹配的圖像塊即可,具體步驟如下:
(1)對每個圖像塊首先排除與它互相重疊的圖像塊對,因為在同幅圖像中復制和粘貼區(qū)域不相交。當|xi-xi′|≤a且|yi-yi′|≤a時,兩個圖像塊相互重疊。
(2)對于不重疊的圖像塊對進行相位相關計算,計算結果返回脈沖函數峰值P和峰值的坐標(i1,j1)。P與預設閾值T1比較,結果有3種情況:①峰值P小于預設閾值T1時,說明圖像塊對不相關;②峰值P大于預設閾值T1且平移坐標為(1,1)時,說明兩個圖像塊完全匹配,記為候選匹配塊對1;③峰值P大于預設閾值T1且平移坐標為(m,n)時,說明兩個圖像塊部分重疊,記為候選匹配塊對2。
步驟4:在候選匹配塊對中,計算每對塊對之間的偏移量,當具有相同偏移量的圖像塊數大于預設閾值T2時,圖像塊對即是復制粘貼區(qū)域,否則是誤匹配塊對。
步驟5:對檢測出的匹配塊對進行白色標記,輸出標記圖片。
2 實驗結果與分析
所有實驗均運行在CPU為Intel Core (TM)2.4GHz、內存為4GB以及Windows7上,采用Matlab 7編程進行測試。
實驗選擇的第一幅是256×256的灰度圖像,如圖2(a)所示,圖2(b)是復制粘貼篡改過的圖像。利用Photoshop圖像處理軟件復制圖像中的馬,粘貼到草地上的另一邊。
對圖像進行檢測,設置參數值子塊大小為16×16,滑動步長為8像素,L=10,閾值T1=0.28,T2=9,檢測結果如圖3所示。
子塊與滑動步長的大小是影響檢測準確率的重要因素,對第二幅實驗圖像采用不同的子塊大小及滑動步長進行對比實驗。圖4(a)是原圖,圖4(b)是篡改后的圖像,圖5(a)是子塊a=16×16,滑動步長為8像素,L=10,閾值T1=0.28,T2=20時的檢測結果;而當子塊a=8×8,滑動步長為4像素,L=20,閾值T1=0.43,T2=100時,檢測結果如圖5(b)所示。
實驗結果表明,不同的參數大小對篡改區(qū)域的定位有很大影響,當子塊大小為16時,程序能準確定位出復制粘貼區(qū)域,由于子塊比較大,所以邊緣區(qū)域不能被準確標記到;當子塊大小縮小到8時,從圖5(b)中可以看出,標志篡改區(qū)域變得更加準確,圖像中動物的腳也能標記出來。所以在對圖像進行分塊時,子塊與滑動步長越小,算法標記復制粘貼區(qū)域的精確率越高,同時檢測時間也越長。
3 結語
本文算法在檢測圖像篡改區(qū)域時,有效解決了檢測效率低的問題。在對圖像劃分子塊時,一次滑動多個像素,可大大減少圖像塊數量;在進行相位相關匹配前,先對圖像塊的灰度均值進行比較,選擇均值相近的圖像塊進行進一步匹配,從而縮小搜索范圍,提高程序檢測效率。實驗結果表明,本文算法能準確定位篡改區(qū)域且檢測效率高。
參考文獻:
[1] 谷宗運.區(qū)域復制篡改的數字圖像被動認證研究[D].安徽:安徽大學,2011.
[2] 王俊文.數字圖像內容篡改盲取證研究[D].南京:南京理工大學,2010.
[3] 劉美紅,徐蔚鴻.基于分形和統(tǒng)計的復制—粘貼篡改圖像的檢測[J].計算機應用,2011,31(8):22362239.
[4] 杜振龍,楊凡,等.基于復合特征的復制粘貼偽造圖像盲檢測[J].計算機工程與設計,2012,33(11):42644267.
[5] 吳瓊,孫韶杰,等.數字圖像盲取證對樣本合成修復應用的篡改區(qū)域檢測算法[J].自動化學報,2009,35(3):239243.
[6] 魏為民.基于Fourier譜分析的數字圖像被動取證研究[D].上海:上海大學,2009.
[7] 駱偉祺,黃繼武,丘國平.魯棒的區(qū)域復制圖像篡改檢測技術[J].計算機學報,2007,30(11):19982007.
[8] 康曉兵,魏生民.基于TSVD的圖像復制區(qū)域偽造檢測算法[J].計算機應用研究,2008,25(12):37413743.
(責任編輯:黃 ?。?