楊 海,藺 聰
(1. 廣東財(cái)經(jīng)大學(xué)信息學(xué)院,廣州 510320;2. 廣東財(cái)經(jīng)大學(xué)統(tǒng)計(jì)與數(shù)學(xué)學(xué)院大數(shù)據(jù)與教育統(tǒng)計(jì)應(yīng)用實(shí)驗(yàn)室,廣州 510320;3. 中山大學(xué)廣東省信息安全技術(shù)重點(diǎn)實(shí)驗(yàn)室,廣州 510006)
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,新手只需經(jīng)過(guò)簡(jiǎn)單的學(xué)習(xí)就可借助圖像編輯軟件對(duì)圖像進(jìn)行篡改。篡改后的圖像很難用肉眼辨別其真?zhèn)?,使圖像的真實(shí)性和完整性受到威脅[1]。因此,迫切地需要可靠且全面的篡改檢測(cè)技術(shù)來(lái)識(shí)別偽造圖像。
圖像偽造中,常用的篡改操作有:復(fù)制移動(dòng)、修復(fù)和拼接。圖像拼接偽造是復(fù)制一幅圖像的部分區(qū)域,然后粘貼到另一幅圖像中并合并成一幅新圖像[2]。在2017 年美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所的Nimble挑戰(zhàn)中[3],圖像拼接問(wèn)題被重新表述為:給定一個(gè)查詢(xún)(探針)圖像Q和一個(gè)潛在供體圖像P,其目標(biāo)除了檢測(cè)Q是否包含來(lái)自P中的區(qū)域,還要定位出Q的拼接區(qū)域和P提供給Q的區(qū)域。這將圖像拼接檢測(cè)和定位的研究約束在一對(duì)圖像上,因此Wu 等[4]將其定義為約束圖像的拼接檢測(cè)和定位(constrained image splicing detection and location, CISDL)。CISDL問(wèn)題所用輸入圖像如圖1 所示,圖中第三列Qm中白色表示拼接區(qū)域,黑色為真實(shí)區(qū)域,第四列Pm中白色區(qū)域?yàn)樘峁┙oQ的區(qū)域。圖中前兩對(duì)圖像的Q中包含了來(lái)自P的區(qū)域,為篡改圖像,第三對(duì)圖像為真實(shí)圖像。
圖1 CISDL問(wèn)題所用圖像
針對(duì)CISDL 問(wèn)題,本文提出一種基于切比雪夫-傅里葉矩(Chebyshev-Fourier Moments,CHFM)特征的檢測(cè)方法。本方法首先用CHFM矩[5]進(jìn)行特征提取;其次用PatchMatch[6]算法進(jìn)行特征匹配,得到各像素對(duì)應(yīng)匹配像素的坐標(biāo)索引;最后將上步得到的索引矩陣進(jìn)行后處理,得到輸入圖像的掩模圖像。
關(guān)于CISDL 問(wèn)題,Wu 等[4]提出了深度匹配和驗(yàn)證網(wǎng)絡(luò)(deep matching and validation network,DMVN),DMVN 網(wǎng)絡(luò)中有特征提取、深度密集匹配、掩模反卷積和視覺(jué)一致性驗(yàn)證器四個(gè)模塊。Ye 等[7]繼承了DMVN 中的深度密集匹配,提出了特征金字塔深度匹配和定位網(wǎng)絡(luò)(feature pyramid deep matching and localization network,F(xiàn)PLN)。FPLN 在深度密集匹配后添加了融合層,簡(jiǎn)化了DMVN 網(wǎng)絡(luò)結(jié)構(gòu),可以檢測(cè)和定位到小的拼接區(qū)域,但空間信息丟失限制了模型的辨別能力和定位精度。Liu 等[8]提出一種新的對(duì)抗性學(xué)習(xí)框架。該框架包含基于空洞卷積的深度匹配網(wǎng)絡(luò)(deep matching network based on atrous convolution,DMAC)、一個(gè)檢測(cè)網(wǎng)絡(luò)和一個(gè)判別網(wǎng)絡(luò)。Liu 等[9]又提出一種新的注意感知編解碼器的深度匹配網(wǎng)絡(luò),稱(chēng)為AttentionDM。Xu 等[10]提出一種新的尺度自適應(yīng)深度匹配網(wǎng)絡(luò)(scale-adaptive deep matching network,SADM),SADM的金字塔框架捕獲了多尺度細(xì)節(jié),提高了多尺度區(qū)域和邊界檢測(cè)與定位的精度。
本節(jié)分為三個(gè)部分,來(lái)詳細(xì)介紹提出方法的各個(gè)步驟,其流程如圖2所示。第一部分介紹特征提取的相關(guān)知識(shí);第二部分介紹Patch-Match 算法進(jìn)行特征匹配的過(guò)程;第三部分是后處理,生成二值圖像的過(guò)程。
圖2 提出方法的流程
首先介紹一下圖像矩。在數(shù)學(xué)上,圖像矩一般定義為圖像函數(shù)f和基函數(shù)Vnm的內(nèi)積,公式為
其中:?表示復(fù)共軛;f(x,y)是圖像函數(shù),其取值為(x,y) ∈R2。CHFM 矩是圓形矩,需將圖像矩用極坐標(biāo)形式進(jìn)行表示,因此式(1)可表示為
式(2)中FI(n,m)表示圖像矩集,f(ρ,θ)是圖像函數(shù)f(x,y)的極坐標(biāo)表示,其中ρ∈[0,∞ ],θ∈[0,2π ]。式(2)中基函數(shù)Vnm(ρ,θ)形式如下:
其中:Rnm(ρ)為徑向基函數(shù),可以是任意取值,j為虛數(shù)單位,取值為。
將式(3)代入式(2)中,式(2)可重新表示為
本方法中,選用的徑向基函數(shù)為CHFM,其形式如下:
以上是圖像矩的定義及形式,接下來(lái)用這些理論定義描述圖像特征。圖像中各像素的特征f(a)是由其FI(a)(n,m)值組成的集合,因此特征提取轉(zhuǎn)變?yōu)榍蠼飧飨袼氐腇I(a)(n,m)值。計(jì)算FI(a)(n,m)值時(shí),首先確定(n,m)對(duì)數(shù)量和塊的大小。本方法選取16 對(duì)(n,m),即特征長(zhǎng)度為16。塊大小即濾波器大小為16×16。
其次,對(duì)式(2)進(jìn)行近似,求解圖像矩集。其近似形式為
特征匹配前首先對(duì)特征進(jìn)行歸一化,其公式為
式(7)中X是需歸一化的像素對(duì)應(yīng)的像素值,MinValue是需歸一化的所有像素中像素值的最小值,MaxValue是需歸一化的所有像素中像素值的最大值。
歸一化后使用PatchMatch 算法進(jìn)行特征匹配。其匹配步驟如下:
2.2.1 初始化
首先介紹一下偏移量。偏移量值是二維的,其值記錄的是特征向量距離最小的兩個(gè)塊中心像素坐標(biāo)之間的橫向和縱向差值。用公式表示為
式中:Ω表示圖像所有像素,a+Φ是除像素a外的像素。f(a)表示以a為中心P像素鄰域的塊對(duì)應(yīng)的特征向量,D表示兩個(gè)塊對(duì)應(yīng)特征向量之間的距離。D取最小值時(shí),兩個(gè)像素之間的坐標(biāo)差值,即為a到其最近鄰的偏移量。a對(duì)應(yīng)最近鄰像素(即a對(duì)應(yīng)匹配點(diǎn))a′的坐標(biāo)用公式表示為
初始化是為圖像中每個(gè)像素隨機(jī)賦予一個(gè)偏移量,使每個(gè)像素都能夠在當(dāng)前圖像中找到一個(gè)像素與之匹配,其匹配點(diǎn)坐標(biāo)由公式(9)得到。由于特征匹配是尋找與目標(biāo)點(diǎn)相對(duì)較遠(yuǎn)的匹配項(xiàng),所以本階段提前排除小于閾值8的偏移量。
2.2.2 迭代
本步驟是將初始化階段好的偏移量傳播和更新到整幅圖像,需掃描整幅圖像,在掃描時(shí),每掃描一個(gè)像素執(zhí)行傳播和隨機(jī)搜索,當(dāng)掃描完整幅圖像即一次迭代。其迭代過(guò)程如下:
(1)傳播
奇數(shù)次迭代時(shí)Φ取值為ΔP(a) ={δ(a),δ(ar),δ(ac) },分別為當(dāng)前像素的偏移量及其左相鄰和上相鄰像素的偏移量,掃描順序如圖3所示,從上至下,從左至右逐個(gè)進(jìn)行掃描。首先掃描圖像左上角第一個(gè)像素點(diǎn),分別計(jì)算以該像素為中心的塊與以該像素加上三個(gè)偏移量后得到的三個(gè)不同的像素為中心的塊的特征向量之間的距離。取三個(gè)距離中的最小值,計(jì)算對(duì)應(yīng)偏移量,接著執(zhí)行隨機(jī)搜索,更新當(dāng)前像素的偏移量。然后往右掃描第二個(gè)像素,執(zhí)行相同操作。當(dāng)掃描完一行像素時(shí),換行仍從左到右逐個(gè)像素進(jìn)行掃描。當(dāng)掃描到圖像右下角最后一個(gè)像素時(shí),掃描結(jié)束即完成一次迭代。在奇數(shù)次迭代時(shí),好的偏移量能夠傳播到當(dāng)前像素右面及下面各個(gè)像素。
圖3 奇數(shù)次迭代掃描順序
偶數(shù)次迭代時(shí)Φ取值分別為當(dāng)前像素的偏移量及其右相鄰和下相鄰像素的偏移量。偶數(shù)次迭代過(guò)程中,掃描是從下至上,從右至左進(jìn)行掃描。在偶數(shù)次迭代時(shí),好的偏移量能夠傳播到當(dāng)前像素左面及上面各個(gè)像素。
(2)隨機(jī)搜索
傳播得到的偏移量是在相鄰像素中尋求的最優(yōu)值,可能會(huì)出現(xiàn)在整個(gè)區(qū)域內(nèi)不是最優(yōu)的情況,所以需進(jìn)行隨機(jī)搜索,防止其陷入局部最優(yōu)。
隨機(jī)搜索時(shí)像素a偏移量取值公式為
其中:δ(a)是傳播后的偏移量,Ri是邊長(zhǎng)為2i-1(i= 1,2,…,L)的方形網(wǎng)格中,服從均勻分布的二維隨機(jī)變量,公式(10)中Φ取值為
本步驟首先以當(dāng)前像素的最近鄰像素為中心,在初始搜索半徑為圖像最長(zhǎng)邊的區(qū)域中隨機(jī)尋找一個(gè)像素,計(jì)算以當(dāng)前像素為中心的塊與以該像素最近鄰像素為中心的塊特征向量之間的距離,與以隨機(jī)搜索到的像素為中心的塊特征向量之間的距離,比較兩距離值。如果與以最近鄰像素為中心的塊特征向量的距離最小,將搜索區(qū)域半徑縮小為原來(lái)一半,繼續(xù)搜索。相反,更新當(dāng)前像素偏移量,并以隨機(jī)搜索的像素為中心,在搜索半徑為原來(lái)一半的區(qū)域中繼續(xù)進(jìn)行搜索。當(dāng)搜索半徑縮小為1時(shí),當(dāng)前像素的偏移量更新完成。
通過(guò)匹配,最終得到兩個(gè)分別記錄各像素匹配像素的x索引和y索引的矩陣。
理想情況下,匹配后的偏移量大多是混濁的,需后處理來(lái)規(guī)范和約束偏移量,以減少誤檢的概率。后處理步驟如下:
(1)用半徑為4 的圓形域?qū)ζ屏窟M(jìn)行中值濾波。首先生成半徑為4的圓形域,隨后用其對(duì)匹配后得到的索引矩陣進(jìn)行順序統(tǒng)計(jì)中值濾波,得到兩個(gè)新的索引矩陣。
(2)在半徑為6 的圓形域中計(jì)算密集線性擬合(dense linear fitting,DLF)誤差。DLF 是用線性仿射模型擬合出以a為中心N像素鄰域的偏移量,使匹配后的偏移量與經(jīng)過(guò)仿射后的偏移量誤差平方和最小化:
(3)去除偏移對(duì)間距離小于50 的像素。本操作需計(jì)算各像素與對(duì)應(yīng)最近鄰像素歐式距離的平方,與閾值50×50 進(jìn)行比較,會(huì)得到一幅二值圖像,并與上步的二值圖像取交集,最終得到去除偏移對(duì)間距離小于閾值的二值圖像。
(4)形態(tài)學(xué)處理。首先去除二值圖像中面積小于600 像素的區(qū)域;其次進(jìn)行鏡像檢測(cè),尋找二值圖像中值為1 的像素,將其對(duì)應(yīng)像素標(biāo)記為1,并再次剔除面積小于600 像素的區(qū)域;隨后對(duì)二值圖像進(jìn)行膨脹操作。特征生成后,去除了特征圖邊緣,需填充二值圖像邊緣,使其與輸入圖像大小相同。
本實(shí)驗(yàn)選用數(shù)據(jù)集是CASIA v2.0[12],圖像大小從320×240 像素到800×600 像素不等,其中包含7200 張真實(shí)圖像和5123 張篡改圖像。篡改的5123 張圖像中,有3302 張是復(fù)制移動(dòng)問(wèn)題的圖像,有1821 張是拼接檢測(cè)問(wèn)題的圖像。本實(shí)驗(yàn)根據(jù)Wu 等[4]上傳到gitlab 上的CASIA 配對(duì)表格,隨機(jī)選取100 對(duì)標(biāo)簽為1 的匹配對(duì),將其對(duì)應(yīng)圖像拼接,并用Photoshop 生成各對(duì)圖像的掩模圖像。隨后,對(duì)合成的圖像及掩模圖像進(jìn)行后處理,將大小都設(shè)置為384×512像素。
為了綜合評(píng)估本方法的性能,使用評(píng)價(jià)指標(biāo)F1來(lái)度量,F(xiàn)1公式如下:
其中:圖像級(jí)F1中的TP(真正例)為檢測(cè)到的偽造圖像的數(shù)量、FN(假反例)為未檢測(cè)到的偽造圖像數(shù)量、FP(假正例)為錯(cuò)誤檢測(cè)到的真實(shí)圖像的數(shù)量。像素級(jí)F1中TP為檢測(cè)到偽造像素的數(shù)量,F(xiàn)N為未檢測(cè)到的偽造像素的數(shù)量,F(xiàn)P為誤檢測(cè)到真實(shí)像素的數(shù)量。在圖像級(jí)上,F(xiàn)1的值表示檢測(cè)方法識(shí)別圖像真?zhèn)蔚哪芰?。在像素?jí)上,F(xiàn)1的值表示檢測(cè)方法檢測(cè)和定位圖像偽造區(qū)域的精度。
為了檢測(cè)本方法的性能,將本文方法與Cozzolino等[13]提出方法進(jìn)行比較。圖4展示了三組圖像的掩模輸出結(jié)果。從(c)和(d)中第一行和第三行可以看出兩種方法檢測(cè)到的篡改區(qū)域大小差不多,從第二行了解到本文方法檢測(cè)到Cozzolino等[13]方法沒(méi)有檢測(cè)到的篡改區(qū)域。。
圖4 兩種方法檢測(cè)結(jié)果對(duì)比
對(duì)比實(shí)驗(yàn)結(jié)果見(jiàn)表1,表1 中報(bào)告了兩種方法圖像級(jí)和像素級(jí)的F1值。通過(guò)表格了解到本方法圖像級(jí),特別是像素級(jí)的F1優(yōu)于Cozzolino等[13]方法。
表1 對(duì)比實(shí)驗(yàn)結(jié)果/%
圖像編輯軟件不斷發(fā)展,篡改后的圖像效果逼真,很難辨別,給圖像偽造檢測(cè)帶來(lái)極大的挑戰(zhàn)。基于此,本文提出一種基于CHFM 特征的方法解決CISDL 問(wèn)題,該方法首先提取CHFM 特征,其次用PatchMatch算法進(jìn)行特征匹配,最后進(jìn)行后處理,輸出二值圖像,以此了解輸入圖像對(duì)中的重復(fù)區(qū)域。
實(shí)驗(yàn)結(jié)果表明,本文方法檢測(cè)和定位精度與Cozzolino 等[13]方法相比有了提高。但本文方法還有改造的空間,比如特征匹配方法和后處理階段。在未來(lái)的工作中,將對(duì)這兩個(gè)步驟的改進(jìn)進(jìn)行研究。