張廣群,汪杭軍
(浙江農(nóng)林大學信息工程學院,浙江臨安311300)
一些媒體中出現(xiàn)了復制移動篡改的事件,例如首屆華賽金獎作品《廣場鴿接種禽流感疫苗》[1]就被確定為是造假照片,見圖1。于是,數(shù)字圖像的完整性和權威性的驗證技術顯得日益重要。從理論上來說,在自然圖像中有二個以上 (含兩個)連貫區(qū)域中精確匹配 (包括顏色、噪聲、紋理等)的可能性很小。因此,復制移動篡改檢測技術的目標就是找到同幅圖中完全相同的圖像塊。然而由于篡改者為了得到更逼真的效果,通常在篡改區(qū)域中加入噪聲、壓縮、進行諸如平移、旋轉(zhuǎn)、縮放等幾何變換,從而使篡改的區(qū)域與復制的區(qū)域可能不完全一致。因此,一個好的篡改檢測算法應該能夠有效地對抗常規(guī)的這些后處理操作。目前已有的檢測算法可分成基于塊匹配和基于點匹配兩大類。
圖1 復制移動篡改例子
基于塊匹配技術關鍵是找到魯棒的圖像塊特征表達。很多學者提出了用不同的特征來代表圖像塊。如:駱偉祺[2]選擇顏色和方向特征來檢測復制篡改區(qū)域。Bayram[3]采用了傅里葉-梅林變換 (fourier-mellin transform,F(xiàn)MT)來產(chǎn)生幾何特征不變量。Lin[4]等人提出一種旋轉(zhuǎn)不變的特征?,F(xiàn)有的這些塊匹配算法雖然在時間復雜度上有所降低,但還存在以下兩個問題:
(1)面對大量的篡改數(shù)據(jù)需要檢測時將顯得力不從心。
(2)同時在對抗旋轉(zhuǎn)、縮放等幾何變換效果方面也是不理想。如特征FMT、也只能對抗輕微的旋轉(zhuǎn)和縮放。Lin提出的也只能對抗諸如90、180和270度等一些特殊角度的旋轉(zhuǎn),而不能對抗任意角度的旋轉(zhuǎn)。
因此,由Huang等人[5]首次提出基于關鍵點匹配算法,它基于SIFT(scale-invariant feature transform)的移動復制檢測算法,利用了SIFT算子具有很好的光照、旋轉(zhuǎn)、縮放等不變性并且具有相對低的計算量等特點,能很好地檢測經(jīng)過旋轉(zhuǎn)、縮放等幾何變換,同時它在特征點上進行匹配,大大降低了算法的復雜度。但是該算法存在一個致命的問題,在圖像的平坦區(qū)域中不能提取特征點,所以也就無法檢測出平坦區(qū)域的篡改。例如,在圖2中,柱子被天空的一部分覆蓋而成為平坦區(qū)域,對篡改圖進行SIFT特征點提取時,由于天空部分沒有特征點,而無法檢測該篡改。
圖2 平坦區(qū)域圖像關鍵點檢測
結(jié)合上述兩類算法的優(yōu)點,本文提出復雜場景下 (平坦區(qū)域和非平坦區(qū)域都有篡改)圖像復制-移動篡改檢測方法:即把一副待檢測的圖像分成兩部分,非平坦區(qū)域和平坦區(qū)域。非平坦區(qū)域采用基于關鍵點 (speeded-up robust features,SURF)匹配,平坦區(qū)域采用塊匹配。實驗結(jié)果表明,該方法可以很好地解決在平坦區(qū)域和非平坦區(qū)域均有篡改的圖像。
SURF是由Bay[6]提出的一種特征提取算法,比SIFT計算速度更快[5,7]。本文采用OpenSURF提取特征點來檢測非平坦區(qū)域的篡改,細節(jié)參見文獻 [8]。
Bayram[3]利用傅里葉變換的位移具有旋轉(zhuǎn)、理論和相似性的傅里葉-梅林變換下的不變量,提出了一個基于塊匹配的篡改檢測算法。由于FMT特征的優(yōu)秀性能,本文用它來進行平坦區(qū)域的篡改檢測?;贔MT的不變量特征提取過程如下:
(1)獲取傅里葉變換以保證特征是平移不變量
(2)轉(zhuǎn)換為對數(shù)-極坐標域中相應參數(shù)的平移變換
3)將轉(zhuǎn)換的對數(shù)-極坐標值投影為1維,并按照式3得到不同θ的量化值共45個特征
本文首先采用平坦區(qū)域檢測算法把一副圖像分成兩部分。然后分別用基于塊匹配算法和基于關鍵點算法檢測。具體的過程描述如下:
步驟1 通過采用1.1介紹的SURT算法從圖像中提取特征點,通過特征點匹配和排除,再對區(qū)域變形進行評估,并利用相關性確定篡改區(qū)域,最終確定非平坦區(qū)域的篡改檢測;
步驟2 以特征點為中心作正方形,用數(shù)學形態(tài)學的腐蝕與開運算,填補小空洞,填充小的封閉區(qū)域,最終檢測出平坦區(qū)域;
步驟3 在平坦區(qū)域圖像分塊,在分塊中提取FMT特征;
步驟4 相似塊檢測算法確定平坦區(qū)域篡改部分。
首先,通過采用1.1介紹的SURT算法從圖像中提取特征點。通過特征點匹配和排除,再對區(qū)域變形進行評估,并利用相關性確定篡改區(qū)域。該算法采用了Xueyun Pan框架[9],可以檢測連續(xù)旋轉(zhuǎn)的區(qū)域,而不像文獻 [7]僅僅是給出了匹配點。
在平坦區(qū)域中,由于像素值是相似的,變化不大,我們可以通過觀察像素值的變化確定這些區(qū)域。Ahn[10]提出了使用熵和二階統(tǒng)計的方法來檢測圖像中的平坦區(qū)域。但是這種算法并沒有利用關鍵點信息,復雜度較高,影響我們算法的性能。我們采用的算法是基于2.1中得到的關鍵點基礎上的。
假設得到的n個關鍵點為p1,p2,…pn,具體的過程描述如下:
步驟1 初始化:FLM(i,j)=255(表示為白色)圖像中所有的像素點;
步驟2 以關鍵點為中心,作邊長為a的正方形,見圖3(b);
步驟3 然后進行腐蝕與開運算,將一些小的空洞填補,得到圖3(c);
步驟4 最后填充面積小于A的密閉區(qū)域,得到圖3(d);
步驟5 圖3(d)中白色的背景區(qū)域即為所求的平坦區(qū)域。
圖3 平坦區(qū)域求解過程
雖然平坦區(qū)域算法檢測出白色的部分就是平坦區(qū)域,但是該區(qū)域是由許多不規(guī)則的形狀組成,如圖4所示。為了提高檢測篡改區(qū)域的效率,我們用固定大小的正方形對圖像進行分塊。
圖4 平坦區(qū)域圖像分塊
首先,分塊算法將圖像從左到右和從上到下的順序分成固定大小的、互不重疊的塊,刪除那些沒有點落在平坦區(qū)域的子塊。分塊效果如圖4所示。這樣的分塊方式有兩個優(yōu)點:
(1)忽視非平坦區(qū)域;
(2)減少平坦區(qū)域塊的子塊的數(shù)目。
但是同時也帶來一個問題:如何確定部分塊的篡改,我們將在2.4節(jié)討論解決這個問題。
分塊后,我們采用1.2介紹的FMT來提取每一個子塊的特征,得到45個特征值。
為了找到相似塊,我們采用基排序[4]來代替通常使用的字典排序。在對所有的子塊獲得特征向量后,對每個特征向量值進行取整操作。然后對特征向量進行排序操作,將這些圖像塊的特征向量組成特征矩陣,矩陣的行數(shù)就是圖像塊的數(shù)目,矩陣的列數(shù)就是每個圖像塊的特征維數(shù)。
對排序后的特征向量對應的圖像塊,按照偏移向量的計算式 (4),計算出2個圖像塊對的偏移向量,統(tǒng)計相同的偏移向量的個數(shù)N,并與閾值進行比較。對塊間距離D和T比較,當滿足條件N>5且D>T時確定存在篡改操作
由于采用互不重疊的分塊方式,當獲取檢測結(jié)果后,需要進行邊緣處理,細節(jié)參見本文作者在文獻 [11]提出的方法。
在這部分,我們將描述本文提出的篡改檢測方法的實驗效果。實驗中的圖像來自于我們自己篡改圖像庫,該庫有200副圖像,其中100副是篡改圖像,100副是原始圖像,圖像的分辨率從500*375到800*600像素點。我們從中挑選出包含有平坦區(qū)域和非平坦區(qū)域都有篡改的圖像。
一般來說,平坦區(qū)域的篡改是為了隱藏不想出現(xiàn)部分的圖像部分,采用復制平坦的一部分來覆蓋它,這使得這部分圖像也成了平坦區(qū)域。平坦區(qū)域的篡改很少用到圖像的幾何變換。而非平坦區(qū)域部分的圖像經(jīng)常在篡改后會應用各種幾何變換。因此,我們測試了10副在平坦區(qū)域僅僅有壓縮和高斯模糊的篡改和非平坦區(qū)域有旋轉(zhuǎn)和縮放的圖像,部分檢測的結(jié)果如圖5和圖6所示。
本實驗是在CPU 2.60GHz,內(nèi)存2GB的機器上實現(xiàn)的,輸入的參數(shù)如下所示:所有子塊的大小16*16,OpenSURF參數(shù) 為 octaves=4,intervals=1,sample=2,thres=0.00001f,輪廓塊的相關性的閾值是0.3,在非平坦區(qū)域的篡改檢測區(qū)域的閾值是600像素,正方形的長度是a=16,在平坦區(qū)域填充封閉區(qū)域的閾值A=500,偏移向量u=6。
在圖5(b),有兩個地方有篡改,在圖像的左邊屋頂被擦除,圖像的右邊出現(xiàn)了一個略微放大的塔。基于關鍵點匹配的方法檢測結(jié)果如圖5(c)所示,由于兩個塔有相同的關鍵點,因此被檢測,但是屋頂沒被檢測出來,因為擦除后的屋頂成為平坦區(qū)域沒有關鍵點。而基于我們的方法,首先在提取關鍵點的基礎上用平坦區(qū)域算法產(chǎn)生平坦區(qū)域,然后被分塊,提取FMT特征。在塊匹配后,結(jié)果如圖5(d)所示,兩塊區(qū)域均被檢測到。
在圖6(b),有兩個地方有篡改,一個是位于圖像右邊的街燈的上半部分被天空覆蓋,另一個是右邊騎自行車的人經(jīng)過一定角度的右旋轉(zhuǎn)后復制到小車的后半部分。同樣地,基于關鍵點匹配的結(jié)果如圖6(c)所示,兩個騎自行車的人因為有同樣的關鍵點而被檢測到。而原來是街燈的區(qū)域因為成為平坦區(qū)域而沒有關鍵點,所以沒被檢測到。我們的方法檢測結(jié)果如圖6(d)所示,兩塊區(qū)域均被檢測到。
以上2個例子的結(jié)果表明了我們的算法不但能夠很好的檢測所有的篡改區(qū)域,能夠?qū)购筇幚聿僮鳎倚枰鄬Χ痰臅r間,每幅圖像處理的時間大約5秒。
基于塊匹配的大部分已有的技術在檢測傳統(tǒng)的復制移動型篡改具有一定抗噪、抗重壓縮,甚至是抗對比度調(diào)整和抗模糊的能力。但這些方法都不能非常有效地檢測圖像中經(jīng)過旋轉(zhuǎn)、鏡像及縮放拷貝的粘貼區(qū)域而且是耗時的。而基于點匹配技術雖然解決了上述基于塊匹配的不能解決的問題,但卻無法檢測出平坦區(qū)域的篡改。因此本文提出結(jié)合塊匹配和關鍵點匹配技術的優(yōu)點進行篡改檢測一個新的方法。將一副待檢測的圖像分成非平坦區(qū)域和平坦區(qū)域兩部分,分別采用基于SURF匹配和塊匹配技術。實驗結(jié)果表明,該方法不但能夠檢測在平坦區(qū)域和非平坦區(qū)域均有篡改的圖像,而且算法具有很好的魯棒性,在計算速度上也具有明顯的優(yōu)勢。
[1]TAN Renwei."Square pigeons"fake reporters confirmed[EB/OL].[2008-04-04].http://epaper.nddaily.com/A/html/2008-04/04/content_431860.htm(in Chinese).[譚人瑋.“廣場鴿”確認造假記者解聘 [EB/OL].[2008-04-04].http://epaper.nddaily.com/A/html/2008-04/04/content _431860.htm.
[2]LUOW,HUANG J,QIU G.Robust detection of region-duplication forgery in digital image[C]//Washington,D.C:ICPR,2006:746-749.
[3]Bayram S,Sencar H T,Memon N.An effcient and robust method for detecting copy-move forgery[C]//Washington:IEEE CASSP,2009:1053-1056.
[4]LIN H J,WANG C W,Kao Y T.Fast copy-move forgery detection[J].WSEAS Transaction on Signal Processing,2009,5(5):188-197.
[5]HUANG H,GUOW,ZHANGY.Detection of copy-move forgery in digital images using SIFT Algorithm [C]//Washington,D C:IEEE Computer Society,2008:272-276.
[6]BAY H,Tuytelaars T,Van Gool L.Surf:Speeded-up robust features[C]//Berlin:9th Euro-Pean Conference on Computer Vision,2006:404-417.
[7]Amerini I,Ballan L,Caldelli R,et al.Geometric tampering estimation by means of a SIFT-based forensic analysis[C]//Dallas:IEEE International Conference on Acoustics,Speech,and Signal Processing(ICASSP),2010:1702-1705.
[8]Christopher Evans.Notes on the opensurf library[DB/OL].[2009-02-18].http://www.cs.bris.ac.uk/Publications/Papers/2000970.pdf.
[9]PAN Xunyu,Lyu Siwei.Region duplication detection using image feature matching[J].IEEE Transactions on Information Forensics and Security,2010,5(4):857-867.
[10]Ahn W,Kim J S.Flat-region detection and false contour removal in the digital TV display[C]//Amsterdam:ICME,2005:1338-1341.
[11]ZHANG Guangqun,WANG Hangjun.Quick detection of Copy-Move forgery based on FMT [J].Computer Engineering and Design,2010,31(15):3530-3533(in Chinese).[張廣群,汪杭軍.基于FMT的快速Copy-Move篡改檢測[J].計算機工程與設計,2010,31(15):3530-3533.]