華 蓓, 陳 前, 黃汝維
(廣西大學 計算機與電子信息學院,廣西 南寧 530004)
隨著計算機技術的高速發(fā)展,出現(xiàn)了各種新興的圖像處理技術,這些技術發(fā)展的同時也帶來了一些弊端。例如,圖像處理軟件的廣泛使用產(chǎn)生了大量篡改圖像。篡改圖像可以影響人們對圖像內容的理解,并且篡改區(qū)域往往難以發(fā)現(xiàn)。一些惡意篡改的圖像往往會影響社會輿論、干涉司法取證甚至影響國家安全[1],因此,圖像真?zhèn)舞b別方法的研究有著重大的現(xiàn)實意義,已成為網(wǎng)絡空間安全領域的一個重要研究方向。
目前在圖像真?zhèn)舞b別領域,國內外的研究主要分為主動鑒別技術和被動鑒別技術2個方向:所謂主動鑒別技術,就是預先主動地對圖像數(shù)據(jù)進行處理,對圖像加入某種信息,在接收端通過事先約定好的方式判斷中間圖像數(shù)據(jù)是否經(jīng)過改動;被動鑒別技術是指不需要對圖像進行任何預處理,直接根據(jù)待檢測圖像本身具有的特性進行分析取證的鑒別過程。雖然主動鑒別技術研究較為成熟,并已投入應用,但該技術需要對圖像進行水印嵌入或數(shù)字簽名等預處理[2],處理過程繁瑣,并且生活中大部分的照片是沒有經(jīng)過這些處理的,適用范圍較窄。因此,被動鑒別技術具有更廣闊的研究意義和研究空間。
針對被動鑒別技術,國內外相關領域研究人員進行了研究。Mahmood等[3]提出了一種通過平穩(wěn)小波的低逼近分量上的局部二進制模式方差(local binary pattern variance, LBPV)進行復制-粘貼偽造檢測的方法,并將其應用于圓形區(qū)域的檢測。Sadeghi等[4]提出基于尺度不變特征變換(scale-invariant feature transform, SIFT)關鍵點最近鄰搜索的算法,該算法對一些常見的后處理具有一定的魯棒性。Saini等[5]采取了一種結合了SIFT和快速魯棒性特征(speeded up robust features, SURF)的方法。Selvaraj等[6]結合SIFT和聚類算法很好地解決了圖像復制-粘貼篡改的問題。Wu等[7]提出用ManTra-net網(wǎng)絡檢測圖像篡改,取得了較好的效果。針對復制-粘貼篡改檢測,張震等[8]提出了基于LPP-SIFT和向量角度比率的檢測方法。李子健等[9]為了解決SIFT算法中特征向量維數(shù)過高的問題,使用LPP(locality preserving projections)算法對SIFT特征點描述子進行降維處理,然后利用層次聚類算法定位復制-粘貼的篡改區(qū)域。馬偉鵬等[10]基于SIFT特征描述子的圖像復制-粘貼篡改檢測算法,在降維處理上選取了感知哈希的方式,提升了算法的匹配速度。鞏家昌[11]提出了可以對SIFT算法進行改進的OpponentSIFT算法,利用局部顏色不變性描述子特征進行盲取證,然后利用仿射變換估計和隨機抽樣一致性避免誤匹配。汪濤[12]采用Affine SIFT仿射不變特征點的匹配來進行復制-粘貼區(qū)域的檢測定位。駱偉祺等[13]提出一種基于塊匹配的圖像復制-粘貼篡改盲取證算法,該算法對加噪聲、JPEG壓縮等后處理操作具有較好的魯棒性。柴新新等[14]提出一種基于圖像小波變換特征的圖像塊匹配算法來進行復制-粘貼篡改取證。
在圖像復制-粘貼篡改檢測方面,利用特征匹配是常見且有效的方法,因為復制-粘貼篡改檢測的核心就是找出圖像中高度相似部分。目前有很多基于SIFT的算法,但是它們對于圖中篡改區(qū)域的定位不夠明確,并且SIFT誤匹配現(xiàn)象會對篡改區(qū)域分辨造成干擾。本文對上述問題進行改進,提出了一種新的基于特征匹配的篡改區(qū)域定位算法,能夠在一定程度上更準確清晰地確定復制-粘貼篡改的區(qū)域。
SIFT算法是由Lowe[15]提出的一種非常優(yōu)秀的圖像特征提取算法。SIFT算法主要具有以下3種優(yōu)勢:
(1)SIFT算法提取的特征關鍵點具有獨特性,每個特征關鍵點有一個128維向量進行詳細描述,所以非常適合用于圖像匹配的場合。
(2)SIFT算法提取的特征關鍵點具有大量性,也就是說在一幅圖像中使用該算法可以找到許多關鍵點,為我們對圖像特征進行分析提供了充足的信息。
(3)SIFT算法提取的特征關鍵點具有很好的穩(wěn)定性,主要表現(xiàn)在對光照變化、仿射變換、大小縮放、圖像旋轉、圖像噪聲、視角變化有著非常好的魯棒性。
SIFT算法主要分為以下4步:
(1)在尺度空間上進行極值檢測。首先對原圖像進行高斯模糊處理,然后構造高斯金字塔,使用高斯差分算子DOG構造高斯差分金字塔,最后尋找出空間極值點。
(2)對圖像特征關鍵點進行定位。上一步已經(jīng)確定了若干個極值點的侯選位置,通過泰勒展開式來擬合DOG函數(shù),之后跟據(jù)偏移量剔除不符合條件的候選點。
(3)確定圖像梯度方向。對于圖像的局部區(qū)域,計算區(qū)域內各個點的梯度幅值和方向,把它們歸為8類(8個方向)。
(4)形成特征點描述子。在關鍵點周圍的鄰域內,Lowe[15]提出在關鍵點尺度空間內定義一個4×4的小型窗口,窗口內每一個元素都包含步驟(3)中8個方向的信息,所以最后形成一個128維(4×4×8=128)的特征描述子向量。
SIFT算法雖然精確度很高,但是由于提取關鍵點特征的處理步驟過于復雜,所以提取過程用時較長,并且特征向量維度過高,會使后續(xù)的匹配工作較為緩慢。
數(shù)學形態(tài)學是一門廣泛應用于圖像處理領域的學科。其主要目的是通過數(shù)學形態(tài)學的操作,去除圖像中沒有意義的部分,保留實際需要分析的部分,能夠幫助我們抓住圖像的本質信息[16]。
1.2.1 形態(tài)學腐蝕
數(shù)學形態(tài)學中的腐蝕操作,顧名思義,就是對圖像中的內容進行“腐蝕”,如圖1所示,其中圖1(a)為腐蝕前的圖像,圖1(b)為腐蝕后的圖像。腐蝕操作會對圖像內容的邊界進行消磨。形態(tài)學腐蝕的模型如式(1)所示,其中B被稱為結構元素,選取合適的結構元素B對A進行腐蝕,A能夠完全包含結構元素B時,(x,y)所組成的點集即為腐蝕之后的圖像。
圖1 形態(tài)學腐蝕Figure 1 Morphological corrosion
AΘB={x,y|Bxy?A}。
(1)
1.2.2 形態(tài)學膨脹
數(shù)學形態(tài)學中的膨脹操作,顧名思義,就是對圖像中的內容進行“膨脹”,如圖2所示,其中圖2(a)為膨脹前的圖像,圖2(b)為膨脹后的圖像。膨脹操作會對圖像內容的邊界進行擴張。形態(tài)學膨脹的模型如式(2)所示。B被稱為結構元素,選取合適的結構元素B對A進行膨脹,B在A上移動,滿足A與結構元素B至少有一個像素重疊,這樣形成的圖像是膨脹之后的圖像。
圖2 形態(tài)學膨脹Figure 2 Morphological expansion
A⊕B={x,y|Bxy∩A≠?}。
(2)
目前基于SIFT算法的圖像復制-粘貼盲取證算法普遍存在較多誤匹配現(xiàn)象,如圖3所示,導致定位效果不清晰、不明確,不能清晰劃定篡改區(qū)域。本文提出一種基于形態(tài)學和特征匹配的方法,可以較清晰地定位篡改區(qū)域。
圖3 SIFT誤匹配Figure 3 SIFT mismatch
圖像復制-粘貼篡改是最常見的圖像篡改方式之一。修圖者通過復制原圖像中的某個區(qū)域并將它粘貼到圖像中的另一個區(qū)域,從而達到掩蓋原圖像某一重要特征的目的。
駱偉祺等[13]提出了圖像區(qū)域復制-粘貼篡改的模型,認為篡改之后存在2個等大面積相似區(qū)域,且假設復制區(qū)域和粘貼區(qū)域對應位置的位移矢量相等。這樣一來會導致基于該模型的算法對于圖像復制-粘貼篡改后可能會進行的旋轉、略微縮放等操作不具有適應性,所以該模型的普適性還不夠高。王俊文等[17]提出的模型考慮了粘貼時圖像可能的旋轉,但假設復制區(qū)域和粘貼區(qū)域一樣大。本文參考文獻[13]和文獻[17],對圖像復制-粘貼篡改模型進行修改,使得基于此模型的算法可以適應復制-粘貼篡改后可能會進行的旋轉、縮放操作,如圖4所示。
圖4 復制-粘貼圖像篡改示意圖Figure 4 Copy-move image tampering diagram
算法模型假設如下:
(1)假設篡改區(qū)域是連通區(qū)域,且連通區(qū)域面積不算太小。
(2)假設復制區(qū)域和粘貼區(qū)域有一定的距離,距離不算太近并且兩區(qū)域不重合。
(3)假設在復制-粘貼后可以適當在粘貼區(qū)域旋轉、縮放復制的圖像部分。
模型的數(shù)學表達如式(3)所示,在一幅被篡改圖像f′(pic)中,存在區(qū)域(pick,pic′k),pick、pic′k∈pic(k=1,2,…,n),其中k為復制-粘貼圖像對的序號。
s.t.?(i,j)∈pick,f2(i,j)=f1(i′,j′ ),(i′,j′)=
(i,j)+(mk,nk),(i′,j′)∈pick′,mk2+nk2≥
thx2+thy2,Spick≥Sth,Spic′k≥Sth。
(3)
式中:Sth為最小面積閾值;向量(thx,thy)為位移矢量閾值;向量(mk,nk)為位移矢量;(i,j)為圖像中的位置坐標;f1(i,j)為原圖像的灰度值函數(shù);pic′k為被復制的圖像部分;pick為遮蓋部分。
本文改進算法具體步驟如下。
步驟1基于SIFT算法,對圖像進行特征提取,找出所有關鍵點的位置,每個關鍵點形成一個128維的特征描述子向量。
步驟2基于歐式距離對特征描述子向量進行兩兩匹配,按匹配關鍵點的位置形成圖像塊,形成塊匹配,并根據(jù)塊匹配來進行篡改區(qū)域粗略定位。由于一般情況下,復制-粘貼篡改區(qū)域(即高度相似的區(qū)域)中特征點比較集中,因此基于關鍵點的圖像塊之間可以相互連接形成一個較大的連通分量,而誤匹配的特征點一般相對分散,較難形成較大的連通分量,所以可以根據(jù)這一點排除部分誤匹配特征點的干擾,粗略地確定復制-粘貼篡改區(qū)域。
步驟3在匹配完成后,通過數(shù)學形態(tài)學方法進行處理,保留最大的2個連通分量,其他部分為冗余匹配塊,將其去除。
為了最后確定的定位區(qū)域可以較完整地包括復制-粘貼的區(qū)域,將連通分量對應的疑似區(qū)域定義為一個面積為該連通分量4倍的正方形。正方形的質心(C1,C2)為原連通分量的質心(可使用數(shù)學形態(tài)學方法求出)。形成疑似區(qū)域對(Sp1,Sp2),接下來僅僅對疑似區(qū)域對進行分析即可,粗略定位結果如圖5所示。
圖5 粗略確定疑似區(qū)域Figure 5 Suspected area roughly determine
步驟4進行基于SIFT特征的細節(jié)匹配和區(qū)域重定位。因為疑似區(qū)域對只是對疑似復制-粘貼區(qū)域進行粗略定位,所以定位面積較大,而且實際復制-粘貼區(qū)域可能并不位于疑似區(qū)域粗略定位的中心,若不進行后續(xù)處理,區(qū)域定位效果較差,所以需要對定位區(qū)域進行矯正,并且對疑似區(qū)域對中兩個區(qū)域的部分細節(jié)點進行匹配,使定位更加清晰。使用SIFT算法提取疑似區(qū)域的特征點,形成SIFT特征描述子(128維向量),由于疑似區(qū)域面積相對于整幅圖來說一般不會太大,所以SIFT算法的特征提取執(zhí)行時間較短。
然后將疑似區(qū)域對中2塊區(qū)域的SIFT特征點描述子進行兩兩匹配。為了解決SIFT描述子維度過高的問題,可以對SIFT描述子矩陣進行PCA降維處理,用主成分分析的方法,可以使向量維度減少50%左右,這在一定程度上減少了匹配時間,并且可以提高匹配精度。匹配程度采用歐式距離來描述,歐式距離越小,表示2個特征點匹配度越好,依次尋找兩區(qū)域內歐式距離最短的特征點對(pi,pj)。
在實驗中發(fā)現(xiàn),SIFT算法偶爾會存在“誤匹配現(xiàn)象”,如圖6所示,這會使定位效果和可視化效果欠佳,雖然先對圖像進行粗略匹配可以大大減少這種情況發(fā)生,但是有時還是會存在誤匹配現(xiàn)象,如圖6中的綠色圈圈出的特征點對。
圖6 SIFT誤匹配點對Figure 6 SIFT mismatch point pair
張宇等[18]提出,衡量2個向量的相似程度,通常通過距離度量方式和相似性函數(shù)方式。基于最小歐式距離的特征點匹配是距離度量方式。歐式距離只單純考慮了兩向量的距離,但未考慮向量各個分量之間的相關性,所以這里采用相關系數(shù)法設置閾值θ。θ取值為0~1,θ值越大,則篩選條件越苛刻,剩余的匹配點對就越少,設置時應在過濾錯誤匹配點對的基礎上盡量保留正確的匹配點對。
(4)
按式(4)對匹配的特征點對進行“提純”(其中p1、p2為特征向量)。提純后形成n個特征點對((x1i,y1i),(x2i,y2i)),之后需要進行重定位來精確定位復制-粘貼區(qū)域。對于疑似區(qū)域Sp1,4個頂點的坐標從上至下從左至右令其為(u11,v11)、(u12,v11)、(u11,v12)、(u12,v12);對于疑似區(qū)域Sp2,4個頂點的坐標從上至下從左至右令其為(u21,v21)、(u22,v21)、(u21,v22)、(u22,v22),修正系數(shù)ξ∈(0,1),按照式(5)進行區(qū)域重定位修正。
(5)
在Windows10和MATLAB R2016的實驗環(huán)境下,對本文提出的方法進行仿真實驗。實驗選取1組有代表性的圖像,加入復制-粘貼和旋轉縮放攻擊后進行實驗。將實驗結果與文獻[19]中的基于神經(jīng)網(wǎng)絡算法(調用“小花兒人工智能科技”提供的API進行測試)以及傳統(tǒng)的SIFT算法匹配效果進行對比,檢測三者在篡改區(qū)域定位方面的差異。
如圖7所示,第1列為文獻[19]中的基于神經(jīng)網(wǎng)絡算法運行結果,第2列為傳統(tǒng)的SIFT匹配盲檢測算法運行結果,第3列為本文定位方法運行結果。第1行是簡單背景下進行復制-粘貼篡改的檢測結果;第2行是較復雜背景下進行復制-粘貼篡改的檢測結果;第3行是簡單背景下進行復制-粘貼篡改并縮放旋轉攻擊后的檢測結果;第4行是較復雜背景下進行復制-粘貼篡改并縮放旋轉攻擊后的檢測結果。
圖7 不同算法仿真實驗結果對比Figure 7 Comparison of simulation experimental results of different algorithms
本文針對圖像復制-粘貼篡改問題,就傳統(tǒng)基于SIFT關鍵點歐式距離匹配算法未能清晰地對篡改區(qū)域進行定位的問題,提出了基于形態(tài)學和特征匹配的篡改區(qū)域定位方法。經(jīng)實驗對比,基于形態(tài)學和特征匹配的篡改區(qū)域定位方法能夠更清晰地定位復制-粘貼篡改區(qū)域。