郭 靜,張玉金,張立軍,孫 冉
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
隨著數(shù)字時(shí)代的快速發(fā)展,圖像的編輯操作日趨多樣化和復(fù)雜化,圖像的內(nèi)容安全受到威脅,最常見的是圖像拼接篡改[1]。JPEG 圖像由于其信息存儲(chǔ)方式具有明顯優(yōu)勢(shì),成為應(yīng)用最廣泛的信息載體之一,對(duì)JPEG 圖像拼接區(qū)域進(jìn)行旋轉(zhuǎn)、縮放等操作可以使偽造的圖像在視覺上更加逼真,以此來(lái)隱藏篡改痕跡,影響圖像盲取證的效果,圖像重采樣檢測(cè)是圖像篡改操作取證的標(biāo)準(zhǔn)工具[2-3],對(duì)JPEG 圖像的重采樣取證研究具有重要的意義和廣闊的應(yīng)用前景。
目前重采樣檢測(cè)算法可以分為基于頻譜的方法、基于特征的方法和基于模式的方法3 類。在下采樣因子的檢測(cè)研究中,文獻(xiàn)[4]證明了通過JPEG圖像重采樣信號(hào)差分的二階信號(hào)呈現(xiàn)的周期性來(lái)估計(jì)因子;文獻(xiàn)[5]通過在圖像的二階導(dǎo)數(shù)圖上計(jì)算不同角度的拉東變換(Radon Transform)構(gòu)成序列,并在該序列的自協(xié)方差上揭示重采樣操作引起的周期性痕跡;文獻(xiàn)[6]經(jīng)過下采樣后在頻域產(chǎn)生3 種峰,傳統(tǒng)光譜分析法在重采樣峰值檢測(cè)時(shí)會(huì)被無(wú)關(guān)峰干擾,且受到JPEG 壓縮品質(zhì)因數(shù)的影響較大,導(dǎo)致與上述頻域分析相關(guān)算法的準(zhǔn)確性均下降。經(jīng)過下采樣操作后,光譜特征進(jìn)一步減弱,難以檢測(cè);文獻(xiàn)[7]提出差分圖像相鄰極值的方法并結(jié)合頻譜分析對(duì)JPEG 預(yù)壓縮圖像進(jìn)行下采樣因子估計(jì)。
為了避免頻域無(wú)關(guān)峰對(duì)檢測(cè)結(jié)果造成的干擾,且根據(jù)文獻(xiàn)[7],差分圖像相鄰極值之間的間隔服從幾何分布且分布直方圖具有周期性。未經(jīng)重采樣的JPEG 圖像的分布直方圖以8 為周期進(jìn)行變化,而經(jīng)過下采樣后的周期與下采樣因子有關(guān)。因此,下采樣因子可以通過檢測(cè)經(jīng)過下采樣操作后的差分極值直方圖的周期進(jìn)行估計(jì)。
本文分析了JPEG 質(zhì)量較高且紋理和邊緣較豐富的圖像存在以下問題:圖像豐富的紋理和邊緣作為高頻信息周期性產(chǎn)生偽周期,干擾了極值直方圖的統(tǒng)計(jì),對(duì)檢測(cè)結(jié)果影響較大;JPEG 壓縮圖像的質(zhì)量越高,壓縮塊效應(yīng)越微弱,更是降低了下采樣因子檢測(cè)的準(zhǔn)確性。
為減少紋理和邊緣對(duì)塊效應(yīng)偏移造成的影響,本文首先引入了二次引導(dǎo)濾波對(duì)紋理進(jìn)行平滑,降低了圖像紋理產(chǎn)生的影響;其次,使用改進(jìn)人工蜂群算法弱化圖像邊緣對(duì)直方圖統(tǒng)計(jì)的影響;最后,選擇交叉差分圖像的方式進(jìn)一步凸顯JPEG 圖像移位的塊效應(yīng)網(wǎng)格特性,來(lái)減少最終估計(jì)值的誤差。本文算法有效的提升了下采樣因子檢測(cè)的準(zhǔn)確性,有效削弱圖像紋理和圖像邊緣產(chǎn)生的周期性干擾,具有紋理邊緣的雙重抵抗性。
g(n)為二維連續(xù)信號(hào)g(x)的采樣,表示為圖像色彩空間中的亮度通道,原始離散序列g(shù)0(n)以因子λ進(jìn)行重采樣,經(jīng)過計(jì)算插值信號(hào)得到重采樣后信號(hào),式(1):
當(dāng)g0(n)為二階平穩(wěn)信號(hào),得到插值信號(hào)的方差vh(x),式(2):
其中,
重采樣后信號(hào)gr(n)的傅里葉變換,式(5):
其幅值如式(6):
由于JPEG 壓縮過程中對(duì)圖像進(jìn)行離散余弦變換(DFT)等步驟,在圖像的像素域中形成塊效應(yīng)網(wǎng)格(Block Artifact Grid,BAG)。一幅未經(jīng)JPEG 壓縮和重采樣的圖像,在空間域內(nèi)差分相鄰極值間隔分布直方圖(Nf圖)呈伯努利分布,如圖1(a)所示;對(duì)其進(jìn)行縮放因子為λ的重采樣操作,其直方圖無(wú)周期性出現(xiàn),如圖1(b)所示;由于JPEG 圖像塊效應(yīng)的存在,圖像經(jīng)過壓縮后導(dǎo)致原來(lái)的分布出現(xiàn)周期為8 的峰值,且壓縮率越高,圖像的質(zhì)量越低,BAG 越明顯如圖1(c)所示;經(jīng)過縮放因子為λ的操作后,圖像BAG 發(fā)生移位,信號(hào)邊界周期變?yōu)?λ,新的峰值周期由下采樣因子決定,如圖1(d)所示。
圖1 不同圖像的NfFig.1 Different images of Nf diagram
由上述分析可知,下采樣因子的檢測(cè)根據(jù)直方圖的統(tǒng)計(jì)特性得到。但圖像的周期性紋理和邊緣會(huì)導(dǎo)致直方圖產(chǎn)生偽周期,嚴(yán)重影響最終的檢測(cè)結(jié)果,如圖2 所示。差分圖像極值直方圖后得到的周期被偽周期干擾,導(dǎo)致得到不準(zhǔn)確的檢測(cè)結(jié)果。
圖2 紋理邊緣未去除圖像Fig.2 Graph for images without removing textures and edges
由于圖像中存在豐富的紋理噪聲和邊緣,在塊效應(yīng)網(wǎng)格上產(chǎn)生偽周期,從而干擾在像素域提取圖的極值周期,使因子的估計(jì)結(jié)果準(zhǔn)確率下降。本文引入二次引導(dǎo)濾波對(duì)JPEG 圖像進(jìn)行預(yù)處理,去除圖像紋理和無(wú)關(guān)噪聲干擾,同時(shí)保留邊緣強(qiáng)度特征,提升蜂群算法對(duì)濾波后的圖像的邊緣檢測(cè)的效率,使用交叉差分圖像的方式凸顯塊效應(yīng),具體步驟如下:
(1)讀取一幅JPEG 圖像;
(2)對(duì)圖像使用二次引導(dǎo)濾波去除紋理和高頻噪聲;
(3)將濾波后的圖像使用人工蜂群算法進(jìn)行邊緣檢測(cè)和去除;
(4)使用交叉差分方式差分圖像,計(jì)算圖像相鄰極值區(qū)間直方圖。
結(jié)合最大似然估計(jì)和光譜分析估計(jì)直方圖峰值周期,計(jì)算重采樣因子,結(jié)果得到了有效優(yōu)化,檢測(cè)結(jié)果如圖3 所示。
圖3 QF80 具有周期性紋理和邊緣的圖像Fig.3 QF80 images with periodic textures and edges
He[8]等提出引導(dǎo)濾波利用引導(dǎo)圖像I與濾波輸出圖像Q之間的局部線性關(guān)系。在窗口內(nèi)將輸出圖像與引導(dǎo)圖像近似為線性關(guān)系,P為輸入圖像,以像素k為中心,濾波窗口為Wk,ak和bk是當(dāng)窗口的中心位置為像素k時(shí)線性函數(shù)的系數(shù),t為中心窗口的領(lǐng)域像素點(diǎn),采用最小二乘法來(lái)擬合線性關(guān)系,式(7):
同一個(gè)像素點(diǎn)會(huì)被許多不同的濾波窗口所包含,將每一個(gè)窗口求解出不同的擬合函數(shù)系數(shù)求均值,式(8):
JPEG 圖像紋理和噪聲所在的高頻區(qū)域會(huì)在圖像重采樣時(shí)造成偽周期,從而影響本文算法的效果。傳統(tǒng)引導(dǎo)濾波有效地去除紋理和噪聲信息的能力欠佳,即經(jīng)過一次引導(dǎo)濾波后,平滑了噪聲和紋理所在區(qū)域,但仍有大量殘余對(duì)后續(xù)檢測(cè)產(chǎn)生干擾[9]。本文算法采用二次引導(dǎo)濾波模型(Secondary Guidance Filtering,SGF)來(lái)進(jìn)一步抑制高頻信息,二次引導(dǎo)濾波的過程如圖4 所示。
圖4 二次引導(dǎo)濾波模型Fig.4 Secondary guided filtering model
輸入圖像和引導(dǎo)圖像都為JPEG 圖像,經(jīng)過引導(dǎo)濾波器G1 之后得到輸出圖像;第二次引導(dǎo)濾波的過程中,窗口設(shè)置較小保留更多有用的細(xì)節(jié)和邊緣,待濾波圖像不變,引導(dǎo)圖像為第一次濾波后的輸出圖像,經(jīng)過第二個(gè)引導(dǎo)濾波器G2 輸出圖像Q'。
經(jīng)過SGF 處理后的JPEG 圖像,像素紋理區(qū)域得到平滑,周期性減弱,減少了噪聲,提高了檢測(cè)模型的紋理抵抗性,同時(shí)保留邊緣特性,提升了下一步對(duì)邊緣移除的效率。
對(duì)圖像進(jìn)行邊緣移除能在一定程度上減少圖像內(nèi)容干擾,提高檢測(cè)精度。在圖像中特性不連續(xù)點(diǎn)構(gòu)成了圖像的邊緣,為了解決傳統(tǒng)邊緣檢測(cè)器計(jì)算負(fù)荷較低、對(duì)噪聲不敏感、導(dǎo)致破碎的邊緣偽影的缺陷,文獻(xiàn)[10]提出基于蜂群識(shí)別多邊的邊緣檢測(cè)算法,在邊緣檢測(cè)中的效果較其他智能算法更精準(zhǔn),具有更大的優(yōu)勢(shì)。本文首先引入人工蜂群算法(Improved Artificial Bee Colony algorithm,IABC)提取圖像的邊緣,流程圖如圖5 所示。
圖5 邊緣提取移除流程圖Fig.5 Flowchart of edge extraction removal
蜂群主要由雇傭蜂、觀察蜂和偵察蜂組成。首先,雇傭蜂分布在食物源上,即圖像的像素域,尋找最佳食物來(lái)源并記憶;其次,雇傭蜂回到蜂巢將食物信息傳遞給觀察蜂;當(dāng)食物源被放棄后雇傭蜂成為偵察蜂開始尋找新的食物來(lái)源。人工蜂群算法的改進(jìn)具體步驟如下:
(1)初始化:設(shè)置參數(shù)空間維度D =2,種群大小NP即像素的大小,雇傭蜂數(shù)量SN =
(2)雇傭蜂階段:每個(gè)雇傭蜂被分配到圖像像素中,根據(jù)適合度值搜索像素位置周圍的局部區(qū)域,尋求最佳方案并將其存儲(chǔ),根據(jù)公式(9)移動(dòng):
其中,vij、xij為新、舊像素位置;φij為[-1,1]之間的隨機(jī)數(shù);xkj為隨機(jī)選擇的像素;j∈{1,…,D},i,k∈{1,2,…,SN},且k≠i,將新舊解進(jìn)行比較,只保留高適應(yīng)度解。
(3)計(jì)算新位置的概率:由于花蜜量越大適應(yīng)度越高,能吸引更多的蜜蜂,每個(gè)雇傭蜂在移動(dòng)過程中的行動(dòng)概率如公式(10)所示。本文使用改進(jìn)的導(dǎo)數(shù)計(jì)算方法,為減少由于單個(gè)噪點(diǎn)的像素值太高,被檢測(cè)為邊緣像素的機(jī)會(huì)也越高的容錯(cuò)率,除考慮像素值之差外還考慮了邊緣的線性,因此計(jì)算并比較了單個(gè)像素與其相鄰的4 個(gè)位置像素點(diǎn)的平均值,選出最大值,并將其值作為食物來(lái)源的花蜜量,以此來(lái)得到適應(yīng)度值fiti。
其中,i∈{1,2,…,SN},fiti是第i個(gè)解的適應(yīng)度。
(4)觀察蜂階段:使用公式(9)為圍觀蜂分配像素位置,將雇傭蜂的像素位置作為舊解以概率如公式(10)所示的方式移動(dòng),每個(gè)觀察蜂都以雇傭蜂階段的相同方式搜索鄰域并記憶。
(5)偵察蜂階段:若放棄食物源,則雇傭蜂成為偵察蜂尋找更好的食物來(lái)源,此時(shí)要為偵察蜂分配新的食物源。
(6)選擇最佳食物源:根據(jù)適應(yīng)度值選擇一定數(shù)量的解并標(biāo)記為邊緣像素。
得到的邊緣提取二值圖像如圖6 所示,對(duì)于圖像中的周期性邊緣來(lái)說,會(huì)影響到最后的檢測(cè)結(jié)果,因此將提取到邊緣后的圖像與原始圖像進(jìn)行反向相乘,達(dá)到移除邊緣的效果,此步驟可以有效去除處于JPEG 塊效應(yīng)區(qū)域的邊緣像素,減少了對(duì)塊效應(yīng)網(wǎng)格提取的干擾,提高了檢測(cè)模型的邊緣抵抗性。
圖6 邊緣檢測(cè)Fig.6 Edge detection image
最后對(duì)圖像進(jìn)行交叉差分,凸顯塊效應(yīng),得到差分圖像I',選擇交叉差分能夠跳出網(wǎng)格提取方法的局限性,壓縮質(zhì)量越小,JPEG 網(wǎng)格越明顯,在不同質(zhì)量因子下使用交叉差分方式可以更有效地凸顯塊效應(yīng)[11]。
圖像I'(x,y)的交叉差分公式如式(11)所示,設(shè)I為輸入圖像,大小為M × N,I(x,y)為像素點(diǎn)(x,y)的強(qiáng)度值:
得到了差分圖像后對(duì)差分圖像的相鄰極值區(qū)間直方圖進(jìn)行估計(jì),求出下采樣因子。
(1)差分圖像極值直方圖計(jì)算
以I'x(x,y)來(lái)表示x方向的差分,極值點(diǎn)為:{(x,y)|I'x(x,y)|>|I'x(x +ε,y)|,ε >1},計(jì)算極值點(diǎn)的相鄰極值直方圖Nf(i),i∈N。
(2)峰值周期估計(jì)
移位的塊效應(yīng)網(wǎng)格的周期8λ,代表圖像峰值周期性間隔T,故估計(jì)的重采樣因子為:
為了從直方圖中獲得準(zhǔn)確的估計(jì)值,直方圖的相鄰極值區(qū)間間隔必須為整數(shù),本文將光譜法和最大似然估計(jì)法相結(jié)合來(lái)估計(jì)最終的下采樣因子值。
為了評(píng)估算法性能,本文使用Dresden image database 中的200 張未經(jīng)過壓縮的圖像。為了避免相機(jī)內(nèi)部CFA 插值可能產(chǎn)生的干擾,將每個(gè)圖像使用最近鄰插值核函數(shù),下采樣2 倍。對(duì)選取的未經(jīng)壓縮的圖像以不同的質(zhì)量因子{50,60,70,80,90} 進(jìn)行壓縮,從圖像中截取128×128 的中心區(qū)域,再用給定的下采樣因子進(jìn)行下采樣,生成待檢測(cè)圖像庫(kù)。為了呈現(xiàn)更簡(jiǎn)明清晰的算法性能,本文采用絕對(duì)誤差(Mean Absolute Error,MAE)評(píng)估算法性能。
在不同的質(zhì)量因子和不同采樣因子下,采用雙三次(Bicubic)和函數(shù)對(duì)篡改JPEG 圖像進(jìn)行下采樣因子估計(jì)時(shí)的性能如圖7 所示。由圖7(a)可知Padín 等人光譜分析對(duì)于下采樣因子的檢測(cè)性能較差,由于下采樣后譜峰較微弱、難以提取,易受到JPEG 峰值干擾,使篡改圖像的下采樣因子檢測(cè)準(zhǔn)確率更低;其次,JPEG 壓縮產(chǎn)生的塊效應(yīng)網(wǎng)格越微弱,越容易受到圖像噪聲、紋理及邊緣等產(chǎn)生的偽周期的干擾,Liu 等人的算法性能急劇下降;由圖7(b)可知,隨著下采樣因子增加,Padín 等人和Liu 等人檢測(cè)性能均不及本文,本文采用二次引導(dǎo)濾波去除圖像紋理后,再使用改進(jìn)人工蜂群算法對(duì)其進(jìn)行邊緣檢測(cè)和移除,進(jìn)一步消除了圖像邊緣的干擾。實(shí)驗(yàn)對(duì)比分析說明本文算法能夠更有效地減輕圖像紋理和邊緣等噪聲對(duì)重采樣估計(jì)的影響。
圖7 插值核為Bicubic 時(shí)的下采樣因子估計(jì)性能Fig.7 The downscaling factor estimation performance with Bicubic interpolation kernel
為了更直觀清晰地展示算法性能,本文在不同的壓縮質(zhì)量因子下,使用兩種不同插值核函數(shù)時(shí),雙三次(Bicubic)、雙線性(Bilinear)函數(shù)JPEG 圖像的下采樣因子檢測(cè)誤差,實(shí)驗(yàn)結(jié)果見表1 和表2。通過對(duì)比可進(jìn)一步得知:
表1 不同質(zhì)量因子下的JPEG 圖像在核函數(shù)為Bicubic 時(shí)的不同下采樣因子估計(jì)性能Tab.1 The performance MAE of JPEG images with different quality factors is estimated by different downscaling factors when the kernel function is Bicubic
表2 不同質(zhì)量因子下的JPEG 圖像在核函數(shù)為Bilinear 時(shí)的不同下采樣因子估計(jì)性能Tab.2 The performance MAE of JPEG images with different quality factors is estimated by different downscaling factors when the kernel function is Bilinear
(1)在不同壓縮質(zhì)量因子下的JPEG 圖像經(jīng)過重采樣后,本文算法對(duì)下采樣因子評(píng)估的準(zhǔn)確性整體得到提高,當(dāng)重采樣因子為時(shí),文獻(xiàn)[7]和本文的檢測(cè)結(jié)果較高,而當(dāng)因子為時(shí),本文算法有更好的性能,因?yàn)榻?jīng)過重采樣的JPEG 圖像在空間域引起的移位的塊效應(yīng)的周期近似于8,使得此區(qū)間的直方圖的提取更容易受到圖像紋理和邊緣噪聲的干擾,本文算法在此區(qū)間優(yōu)勢(shì)明顯,經(jīng)過二次引導(dǎo)濾波之后對(duì)圖像使用了改進(jìn)人工蜂群算法,對(duì)圖像的邊緣進(jìn)行了更為精準(zhǔn)的提取和去除,進(jìn)一步削弱了圖像邊緣造成的偽周期的影響,提高了檢測(cè)結(jié)果的準(zhǔn)確性。
(2)以不同的插值方式進(jìn)行下采樣操作時(shí),對(duì)不同的質(zhì)量因子下的JPEG 圖像進(jìn)行檢測(cè)估計(jì),傳統(tǒng)的基于頻譜分析的檢測(cè)誤差較大,文獻(xiàn)[6]明顯沒有優(yōu)勢(shì),經(jīng)過下采樣后在頻譜圖上引起的峰值很微弱,且JPEG 壓縮產(chǎn)生額外的干擾峰值,下采樣因子的估計(jì)過于依賴頻譜峰值。
(3)隨著質(zhì)量因子的遞增,JPEG 壓縮的塊效應(yīng)越來(lái)越微弱,直方圖的提取越困難。圖像的紋理分布屬性具有規(guī)律性,邊緣影響了圖像直方圖的提取。本文利用二次引導(dǎo)濾波進(jìn)一步削弱了圖像紋理,改進(jìn)人工蜂群算法檢測(cè)圖像邊緣并移除,減輕了邊緣對(duì)其造成的偽周期的影響,利用交叉差分圖像來(lái)凸顯塊效應(yīng),進(jìn)一步提高了算法的檢測(cè)性能,對(duì)于JPEG 壓縮圖像來(lái)說具有更好的魯棒性,準(zhǔn)確率更好。
針對(duì)直方圖的提取受到圖像周期紋理和邊緣的干擾,本文提出的JPEG 圖像下采樣因子估計(jì)算法具有對(duì)紋理和邊緣的雙重抵抗,在傳統(tǒng)引導(dǎo)濾波的基礎(chǔ)上,利用二次引導(dǎo)濾波去除圖像的紋理和高頻噪聲,同時(shí)保留JPEG 圖像原來(lái)的邊緣特性,使用改進(jìn)人工蜂群算法進(jìn)行邊緣提取和移除,有效地抑制圖像中高頻紋理和邊緣對(duì)直方圖周期性的干擾;使用交叉差分圖像的方式來(lái)凸顯塊效應(yīng),更精確地提取直方圖,減少重采樣中下采樣估計(jì)的誤差,提高了算法性能,增強(qiáng)算法魯棒性。