吳冬梅,鄭佳雯
(1.永城職業(yè)學(xué)院電子信息工程系,河南永城 476600;2.西安信息職業(yè)大學(xué) 大數(shù)據(jù)與云計算學(xué)院,陜西 西安 710077)
隨著圖像處理技術(shù)的日益增強,出現(xiàn)的篡改圖像會導(dǎo)致人們無法分辨出真實圖像[1-3],所以數(shù)字圖像檢測技術(shù)得到了國內(nèi)外學(xué)者的重視。
Dixit 等人提出一種基于Fourier-Meilin 的圖像篡改檢測算法[4],該算法很好地描述了圖像的特征,但是對于篡改區(qū)域定位較差。華秀茹等人提出了一種基于超像素分割和SURF 特征點的篡改檢測算法[5],該算法提高了圖像的篡改檢測準(zhǔn)確率,但是不能對篡改區(qū)域進行定位。
針對上述算法的缺點,該文提出改進的變鄰域局部搜索的篡改圖像檢測算法,首先提取SIFT 特征,通過特征匹配判斷圖像是否經(jīng)過篡改,然后合并符合相似性判定的由分塊的超像素所得到的疑似區(qū)域以及改進的變鄰域局部搜索算法所得到的鄰域塊,最終采用形態(tài)學(xué)閉運算填補孔洞,完成篡改區(qū)域的檢測。
首先對圖像進行非重疊分塊,再提取子塊的SIFT 特征,提取SIFT 特征的過程可概括為如下三個步驟[6]。
Step1:構(gòu)造尺度空間
尺度空間核函數(shù)的選用標(biāo)準(zhǔn)是具備描述圖像的多尺度特征,所以通常用高斯函數(shù)作為核函數(shù)[7]。尺度空間經(jīng)過采樣處理后,相鄰的每一層的尺度空間相減,就可得到高斯差分尺度空間,如式(1)所示:
Step2:檢測尺度空間極值點
為了得到準(zhǔn)確的特征點的位置信息和尺度信息,對候選特征點相應(yīng)的高斯差分尺度空間進行泰勒二次展開,通過對泰勒展開式的三維二次函數(shù)的計算,可得到擬合曲面的極值。
特征良好的方向性需要具備旋轉(zhuǎn)不變性,這是通過計算特征點鄰域像素的梯度分布特性得到的。
Step3:生成特征向量
坐標(biāo)軸以特征點為方向和中心,特征向量的采樣窗口為16×16 的鄰域范圍,將采樣窗口分成16 個子塊,此時每一個子塊為4×4,SIFT 特征向量就是產(chǎn)生于子塊的梯度直方圖。
為了檢測篡改圖像,還需要特征匹配,該文采用g2nn 算法對提取的SIFT 特征進行匹配,依次計算兩個SIFT 特征之間的歐幾里得距離,如式(2)所示:
其中,圖像上的特征點表示為l1和l2,特征中的分量表示為xi和yi。
此時距離向量為D={d1,d2,…,dn},循環(huán)執(zhí)行2 近鄰準(zhǔn)則進行搜索,依次計算相鄰歐幾里得距離之間的比值,如式(3)所示:
判斷某一特征點與其余特征點的匹配條件是[8]Mk<τ且Mk+1≥τ,并且滿足1 ≤k≤n-2。
其中,τ表示閾值,閾值的大小會影響匹配的結(jié)果,該文設(shè)置為0.5。
局部搜索算法的思想可以應(yīng)用到圖像檢測[9]。特征匹配后可以得到篡改區(qū)域,但是此時的篡改區(qū)域不完整,可以用局部搜索算法解決這樣的問題。在特征匹配算法的篡改區(qū)域基礎(chǔ)上搜索其鄰域,得到更加準(zhǔn)確的篡改區(qū)域,即原有篡改區(qū)域加上特征描述后的鄰域。
局部搜索算法的鄰域有固定鄰域和變鄰域之分,該文選用四鄰域和八鄰域的變鄰域,分別如圖1和圖2 所示。
圖1 四鄰域局部搜索算法
圖2 八鄰域局部搜索算法
由圖1 可知,區(qū)域a、b和c均為特征匹配后的已檢測區(qū)域,則區(qū)域a的四鄰域為aneighbor,即aneighbor={a0,a2,a4,a6},其中,a0表示上鄰域,a2表示左鄰域,a4表示下鄰域,a6表示右鄰域,區(qū)域b和c的四鄰域類似。經(jīng)過四鄰域局部搜索算法后,就可得到右下角的真實篡改區(qū)域。
由圖2 可知,區(qū)域a、b、c、d和e均為特征匹配后的已檢測區(qū)域,則區(qū)域a的八鄰域為aneighbor,其中a0表示上鄰域,a1表示左上鄰域,a2表示左鄰域,a3表示左下鄰域,a4表示下鄰域,a5表示右下鄰域,a6表示右鄰域,a7表示右上鄰域,可表示為aneighbor={a0,a1,a2,a3,a4,a5,a6,a7},區(qū)域b、c、d和e的八鄰域類似。經(jīng)過八鄰域局部搜索算法后,就可得到右下角的真實篡改區(qū)域。
四鄰域和八鄰域局部搜索算法都可減少重復(fù)計算,比如圖1 中的a4和圖2 中的a5區(qū)域。對于每一個篡改區(qū)域都優(yōu)先使用四鄰域搜索,如果當(dāng)前檢測篡改區(qū)域不屬于四鄰域,則采用八鄰域搜索,直至檢測完最后一個篡改區(qū)域[10-11]。
雖然采用四鄰域和八鄰域可以更好地表示篡改區(qū)域,但是仍然存在著真實篡改區(qū)域具體判定條件的問題,該文提出了一種改進的變鄰域局部搜索的篡改區(qū)域定位算法。對于疑似區(qū)域(Suspected Regions,SR)的選取、鄰域塊的選取、合并區(qū)域(Merged Regions,MR)的具體判定條件等給予了詳細(xì)說明。
改進算法的具體步驟如下:
Step1:疑似區(qū)域
超像素算法通??蓱?yīng)用于圖像分割[12-13],超像素初始值大小的設(shè)置尤為重要,該文初始值設(shè)置為20和10,高分辨率圖像設(shè)置為20,低分辨率圖像設(shè)置為10。采用超像素分塊的SIFT 特征匹配點可以作為真實篡改區(qū)域的疑似區(qū)域。
Step2:鄰域塊
采用變鄰域局部搜索得到鄰域塊,鄰域塊的定義如式(4)所示:
其中,θ決定了到底采用哪一種鄰域方式,θ={90°,180°,270°,360°}為四鄰域,θ={45°,90°,135°,180°,225°,270°,315°,360°}為八鄰域。
Step3:合并區(qū)域
合并區(qū)域指的是合并疑似區(qū)域和鄰域塊,但是需要一定的合并條件,即局部顏色RGB 特征的條件,如式(5)和式(6)所示:
其中,R()表示鄰域塊的RGB 分量的R 分量,G()表示鄰域塊的RGB 分量的G 分量,B()表示鄰域塊的RGB 分量的B分量。
其中,TRsim表示度量相似程度的閾值,該文設(shè)置為15。
Step4:形態(tài)學(xué)閉運算
此時Step3 中得到的區(qū)域還存在些許小空洞,該文采用結(jié)構(gòu)元素為圓的形態(tài)學(xué)閉運算不僅可以填充出現(xiàn)的孔洞,還不會改變原有區(qū)域的形狀。
該文所采用的軟件環(huán)境是Matlab 2016b。數(shù)據(jù)集是benchmark data[14],該數(shù)據(jù)集包含96 幅圖像,真實圖像和篡改圖像各占一半,即各48 幅。
該文考慮了圖像像素,采用precision、recall 和F這三個指標(biāo)去分析篡改圖像算法的性能[15],如式(8)-(10)所示:
其中,TP 表示正確檢測的篡改像素的數(shù)目,F(xiàn)N表示錯誤檢測的篡改像素的數(shù)目,F(xiàn)P 表示錯誤檢測的真實像素的數(shù)目。
單純依靠precision 指標(biāo)和recall 指標(biāo)是不能判斷檢測性能的,F(xiàn) 指標(biāo)權(quán)衡了兩個指標(biāo)并加以結(jié)合,一般認(rèn)為F 值的大小和算法檢測性能的優(yōu)劣呈正相關(guān)關(guān)系,即F 值越大越能凸顯算法的優(yōu)越性。
將該文算法與文獻[14]算法和文獻[16]算法進行對比,單區(qū)域篡改和多區(qū)域篡改的檢測結(jié)果分別如圖3-圖5 所示,三種算法precision、recall 和F 指標(biāo)的檢測結(jié)果如表1 所示,可以對三種算法進行定量分析和定性分析。
表1 三種算法檢測性能的比較
由圖3-5 可知,文獻[14]算法、文獻[16]算法和該文算法檢測復(fù)制篡改圖像的效果各不相同。文獻[14]算法會出現(xiàn)漏檢的情況,對于圖3 和圖4 的篡改圖像均出現(xiàn)檢測不完整的情況,對于圖5 的篡改圖像的其中一個篡改區(qū)域沒有檢測出來;文獻[16]算法的檢測效果較文獻[14]的檢測效果更好一些,但是仍然會出現(xiàn)部分誤檢的情況,如圖4 和圖5 的篡改圖像;與文獻[14]算法和文獻[16]算法相比,該文算法的檢測效果是最佳的。
由表1 可知,相比較文獻[14]算法和文獻[16]算法,該文算法的precision、recall和F 都是最高的,其中precision 的漲幅分別為7.1%和0.8%,recall 的漲幅分別為2.5%和0.4%,F(xiàn) 的漲幅分別為2.6%和0.6%,與圖3-圖5的檢測結(jié)果是一致的。這是因為文獻[14]算法采用一種基于密度場的篡改圖像檢測算法,其中匹配算法會存在漏檢的情況,并且不能實現(xiàn)對于多區(qū)域篡改的定位;文獻[16]算法采用SURF特征算法和2近鄰特征匹配算法,匹配算法會存在漏檢和誤檢的情況,并且不能實現(xiàn)篡改區(qū)域定位;而該文算法采用一種改進的變鄰域局部搜索算法消除特征匹配的誤匹配,實現(xiàn)篡改區(qū)域準(zhǔn)確定位,可以減少漏檢和誤檢。
圖3 單區(qū)域單次篡改圖像
圖4 單區(qū)域多次篡改圖像
圖5 多區(qū)域篡改圖像
該文提出一種改進的變鄰域局部搜索的篡改圖像檢測算法。提取SIFT 特征,通過特征匹配判斷圖像是否經(jīng)過篡改,合并滿足一定相似性條件的由分塊的超像素所得到的疑似區(qū)域以及改進的變鄰域局部搜索算法所得到的鄰域塊。改進算法的檢測準(zhǔn)確率為91.1%,相較于兩種主流算法,檢測F 值分別提高2.6%和0.6%。該文算法對于復(fù)制篡改圖像具有較高的檢測準(zhǔn)確率,對于單個篡改區(qū)域和多個篡改區(qū)域的定位效果較好。后續(xù)工作將研究在復(fù)制篡改的基礎(chǔ)上添加尺度變換、旋轉(zhuǎn)等操作的檢測。