趙秀鋒,魏偉一,陳金壽,陳 幗
(1.西北師范大學 計算機科學與工程學院,蘭州 730070;2.石河子大學 信息科學與技術(shù)學院,新疆 石河子 832000)
圖像拼接是一種常見的圖像偽造手段,其將多幅圖像合并成一張圖像[1],這種圖像合成往往會造成整幅圖像某些特性(如光照方向[2]、噪聲[3]、光源顏色等)的不一致,從而為圖像拼接篡改檢測研究提供了思路。YU 等[4]較早利用光源顏色不一致來檢測圖像拼接篡改,雖然取得了一定的效果,但其閾值選擇依賴于先驗經(jīng)驗。SUN 等[5]根據(jù)篡改圖像中的色偏不一致來檢測拼接區(qū)域,該方法采用順序分塊策略劃分圖像并根據(jù)先驗知識人工地選取未篡改塊作為參考區(qū)域,丟失了圖像塊的語義信息,導致邊緣檢測效果較差且無法自動定位拼接區(qū)域。WU 等[6]以篡改圖像中噪聲不一致為檢測依據(jù),在單尺度超像素中估計噪聲方差,排除不符合正態(tài)分布的超像素,并將剩余區(qū)域與閾值進行比較以定位可疑區(qū)域。PUN[7]在多尺度超像素分割中利用噪聲差異來檢測拼接區(qū)域,首先在單個尺度中計算噪聲水平和亮度信息并建立兩者之間的多項式函數(shù),將不受函數(shù)約束的塊標記為該尺度下的可疑區(qū)域,然后將相鄰尺度的檢測結(jié)果進行合并,得到最終的篡改區(qū)域,由于該方法使用多尺度超像素分割,因此其時間消耗較大。
為了提高檢測準確性,研究人員提出了使用主成分分析(Principal Component Analysis,PCA)[8]和奇異值分解(Singular Value Decomposition,SVD)[9]來估計噪聲的方法。ZENG 等[10]提出一種基于PCA的拼接圖像檢測方法,首先將可疑圖像進行規(guī)則分塊,然后采用PCA 算法逐塊估計噪聲,最后利用K 均值聚類確定拼接區(qū)域,雖然該方法在噪聲估計時具有良好的性能,但其僅提取單一特征導致誤檢率較高。WANG 等[11]將圖像劃分為順序塊,在彩色空間中利用PCA 算法估計噪聲。文獻[12]在RGB 三通道中分別利用PCA 算法估計噪聲,再將3 個噪聲值取平均作為最終特征檢測拼接區(qū)域。文獻[13]在超像素塊中提取局部噪聲水平和噪聲分布特征,以實現(xiàn)篡改檢測。文獻[14]利用PCA 算法提取圖像的噪聲特征,然后采用聚類算法定位拼接區(qū)域,該方法對拼接區(qū)域檢測效果良好,但對復雜篡改手段抗魯棒性不強。文獻[15]利用奇異值分解和拉普拉斯算子計算噪聲特征,利用模糊聚類檢測拼接區(qū)域,該方法采用順序分塊策略,在一定程度上丟失了語義信息,因此,對拼接區(qū)域邊緣的檢測效果較差。文獻[16]提出利用自適應奇異值分解來估計局部噪聲的方法,該方法首先對圖像進行分割,其次利用奇異值分解將每個區(qū)域分解為多個級別的噪聲圖像以得到局部噪聲特征,同時提出鄰域噪聲描述符來減小區(qū)域間的波動,最后通過支持向量機確定拼接區(qū)域。該方法在大多數(shù)情況下檢測效果較好,但是如果篡改圖像中噪聲差異較小,則其檢測精度將降低。
盡管上述方法在圖像拼接區(qū)域檢測方面表現(xiàn)出一定的可行性,但大多在單個顏色通道或灰度空間中進行檢測,忽略了彩色圖像的顏色信息。另外,為了定位圖像中被篡改的區(qū)域,通常需要對待檢測圖像進行分割,但現(xiàn)有方法采用順序分塊的方式易將篡改區(qū)域與原始區(qū)域的邊緣部分劃分在同一個子塊中,降低了噪聲估計的準確性。為充分利用圖像的顏色信息并提高不同大小圖像塊的噪聲估計準確性,本文提出一種基于自適應四元數(shù)奇異值分解(Quaternion SVD,QSVD)的噪聲估計算法,以對圖像拼接進行檢測。
LIU 等[9]證明圖像能量主要集中在前部分較大奇異值所對應的特征圖像,而尾部奇異值主要表示圖像噪聲。本文驗證了不同圖像尺寸下噪聲估計σ與尾部奇異值均值PM 間的相關性,如圖1 所示。當圖像尺寸較大時,如512×512 和256×256,線性相關性很明顯,而在較小尺寸(16×16 和32×32)圖像中,線性相關性不穩(wěn)定。
圖1 不同尺寸圖像的尾部奇異值均值與噪聲的關系Fig.1 Relationship between tail singular value mean and noise of images with different sizes
在檢測拼接偽造時,為了更準確地定位拼接,往往要對圖像進行分割,這必然會引入不同尺寸的圖像塊。為提高噪聲估計的精度,本文提出一種基于自適應四元數(shù)奇異值分解的噪聲估計方法,以在不同大小的超像素中自適應地估計噪聲。首先采用SLIC 算法分割圖像,并針對每個超像素,利用自適應QSVD 算法估計噪聲;其次計算超像素的亮度信息以構(gòu)建噪聲-亮度函數(shù),得到各超像素塊到該函數(shù)曲線的最小距離,將該距離測度作為表征噪聲水平的特征向量。同時,為避免圖像噪聲差異較小時無法檢測的情況,本文根據(jù)色溫估計算法提取超像素的色溫特征,將噪聲描述符與色溫估計相結(jié)合作為最終特征向量,并利用FCM 聚類算法確定初始可疑拼接篡改區(qū)域。最后,結(jié)合超像素上下文信息進行后處理,得到最終的拼接偽造區(qū)域。本文方法流程如圖2 所示。
圖2 本文方法流程Fig.2 Procedure of the proposed method
為量化描述不同區(qū)域特征的差異,本文采用SLIC 算法將具有相似性的像素分組形成超像素塊。與規(guī)則分塊相比,超像素分割包含一定的語義信息,圖像塊的形狀均勻且邊緣輪廓更為清晰。另外,在超像素塊中提取圖像特征能大幅降低后續(xù)算法的時間復雜度。分割后的超像素滿足式(1):
其中:I表示輸入圖像;kj表示第k個超像素中所有的像素點。
雖然彩色圖像的大多數(shù)信息包含在亮度分量中,但是從灰度圖像中進行拼接篡改檢測忽略了顏色信息。為了充分利用彩色圖像三通道的顏色及結(jié)構(gòu)信息,本文利用四元數(shù)模型表示RGB 圖像。四元數(shù)由1 個實部和3 個虛部單位組成,用式(2)表示:
其中:a、b、c、d∈Z;a是四元數(shù)的實部;b、c、d分別對應四元數(shù)3 個虛部i、j、k的系數(shù)。如果實部a=0,則q稱為純四元數(shù)。
用四元數(shù)模型表示彩色圖像時,可將R、G、B 這3 個通道分別作為純四元數(shù)3 個虛部的系數(shù)。給定彩色圖像的像素(x,y),R(x,y)、G(x,y)、B(x,y)分別表示該像素在R、G、B 通道中的值。對于每一個像素,通過式(3)可獲得該點的四元數(shù)表示:
將RGB 圖像中所有像素點通過式(3)表示,則任意大小的m×n圖像可以整合為一個m×n的純四元數(shù)矩陣。
根據(jù)篡改圖像中噪聲不一致性檢測并定位拼接區(qū)域的方法,大都僅通過提取局部區(qū)域的方差來描述噪聲,未考慮實際成像過程中周圍環(huán)境亮度對噪聲分布產(chǎn)生干擾的情況,使得所得噪聲不準確,并且僅使用方差來檢測圖像篡改區(qū)域會使定位結(jié)果含有較多的誤檢區(qū)。為提高噪聲估計的準確性和篡改檢測的精確率,本文充分考慮亮度與圖像噪聲之間的關系,在利用自適應QSVD 算法估計超像素噪聲水平的同時,計算亮度信息并將其作為影響噪聲方差的自變量,通過多項式擬合建立亮度與噪聲之間的函數(shù)關系。
1.3.1 基于自適應QSVD 的噪聲估計和亮度估計
QSVD 無需對彩色圖像進行分解,而將3 個通道視為一個整體處理,充分保留圖像本身的結(jié)構(gòu)及色彩信息。QSVD 的分解理論跟奇異值分解類似,對任意大小的四元數(shù)矩陣A,可以將其分解為式(4)所示的形式[17]:
其中:H 表示共軛轉(zhuǎn)置;U=(u1,u2,…,um)∈qm×m、V=(ν1,ν2,…,νm)∈qn×n分別為A的左、右奇異值矩陣;S是A的奇異值,為一個m×n的對角矩陣。假設R是矩陣A的秩,則奇異值矩陣S的值可表示為si(i=1,2,…,R),且s1>s2>…>sR。
由于超像素的大小各不相同,因此在重構(gòu)噪聲圖像時需要根據(jù)圖像塊的尺寸自適應確定奇異值的有效階次,重構(gòu)的噪聲圖像表示如下:
其中:Ur=(0,0,…,0,ur+1,ur+2,…,um)。
本文將重構(gòu)圖像的均方誤差(Mean Square Error,MSE)作為衡量標準,其計算公式如式(6)所示,自適應為不同大小的超像素確定階次,確保截取的奇異值有效階次r在保留噪聲子空間能量的同時盡可能多地去除圖像內(nèi)容信號子空間能量,從而得到準確的噪聲水平圖像。
其中:f(i,j)=(u1,u2,…,ur,0,…,0)×S×VH為重構(gòu)的去噪圖像的像素值;f0(i,j)為原始圖像的像素值。
對于秩為R的圖像矩陣,可以進行R次重構(gòu)。每次重構(gòu)使用前r個奇異值,則第r次重構(gòu)圖像的均方誤差變化曲線如圖3 所示。
圖3 重構(gòu)圖像的MSE 變化曲線Fig.3 MSE change curve of reconstructed image
從圖3 可以看出,隨著r的增大,MSE 值減小并逐漸趨于平緩,這是因為MSE 表示重構(gòu)圖像與原始圖像差分后的能量誤差,而圖像能量主要集中在前部分較大奇異值所對應的特征圖像,尾部奇異值主要表示圖像噪聲,因此其包含的圖像能量較少。當r增加到一定程度時,前r個重構(gòu)圖像已充分包含圖像的能量信息,因此,MSE 的下降幅度開始驟減繼而趨于平緩,這個最先趨于平緩的點就是合適的截斷有效階次r。如式(7)所示,本文利用斜率判斷法判斷連續(xù)多段的斜率,若其均小于1,則將最開始趨于平緩的點作為截斷的有效階次r。
在自適應確定r值后,對于重構(gòu)的噪聲圖像Ar,其噪聲估計如下:
其中:n是第i個超像素中的像素總數(shù);Ar(x,y)表示噪聲圖像中的像素值是重構(gòu)矩陣Ar中所有元素的平均值;σi表示第i個超像素的標準偏差。
超像素的平均亮度如下:
其中:q(x,y)表示第i個超像素中的四元數(shù)值;n是超像素中的像素總數(shù);bi是第i個超像素的平均亮度。
1.3.2 函數(shù)建立
由于亮度會對圖像噪聲產(chǎn)生干擾,因此本文將其作為影響圖像噪聲分布的自變量,根據(jù)式(10)建立噪聲與亮度間的函數(shù)關系[18]:
其中:a表示權(quán)重系數(shù);b表示各個超像素塊的亮度。所有圖像塊的噪聲殘差可以表示為:
在噪聲-亮度函數(shù)擬合完成后,根據(jù)式(12)計算每個超像素塊到該函數(shù)曲線的距離:
其中:f(p)表示亮度信息影響下的實際噪聲水平。遍歷超像素塊并計算其與噪聲-亮度函數(shù)曲線間的最小距離,得到每個超像素塊受該函數(shù)曲線的約束程度,將其定量描述為d=min(DDist),每個超像素對應的距離如下:
由于來源不同的圖像可能存在某些區(qū)域噪聲水平相似的情況,當噪聲差異較小時將無法檢測拼接區(qū)域。為了提高檢測精度,本文利用色溫估計算法提取超像素的色溫特征。
不同的顏色空間所表示的顏色特性不同,與RGB 顏色空間相比,YCbCr 色彩空間能夠更好地捕獲圖像光源色溫的差異。因此,為了更準確地估計色溫,要將圖像從RGB 空間轉(zhuǎn)換到Y(jié)CbCr 顏色空間。色溫估計的目標就是估算出圖像的平均色差,文獻[19]中的相機自動白平衡算法通過迭代整個圖像的像素點來計算平均色差。本文考慮到拼接區(qū)在圖像中僅占部分區(qū)域,因此,將傳統(tǒng)的全局平均色差計算算法擴展到局部以提取超像素的色溫特征。為降低算法的時間復雜度,在實際計算中選擇滿足約束條件式(14)的像素參與計算。
其中:φ為約束因子;|·|表示絕對值。
對于分割后的超像素塊,遍歷各個超像素中符合式(14)約束條件的像素并計算平均色差,按照式(15)提取每個超像素塊的色溫特征:
其中:N表示第k個超像素塊中滿足約束條件式(14)的像素數(shù)量,且k=1,2,…,K;Yi、Cbi、Cri表示像素點i在YCbCr 空間的值。對每一個超像素塊進行色溫特征提取,結(jié)果記為IC={Yk,Cbk,Crk|k=1,2,…,K}。
對每一個超像素,將描述噪聲估計的最小距離與色溫特征相融合作為最終的特征向量,表示為F={MMindistk,ICk|k=1,2,…,K},其中:MMindistk是噪聲的最小距離;ICk是色溫特征。本文利用FCM 聚類[20]算法將偽造圖像分為拼接區(qū)域Sarea 和原始區(qū)域Oarea 這2 個部分。由于絕大部分篡改圖像中拼接區(qū)域所占圖像比例小于原始區(qū)域,因此本文將聚類結(jié)果中包含樣本數(shù)較少的一類標記為初始可疑拼接區(qū)域,定義如下:
其中:index1、index2表示超像素塊的分類索引;count(·)是相應標記塊的總數(shù)。
拼接區(qū)域通常是連續(xù)或具有完整語義信息的,因此,可結(jié)合超像素塊間的描述對初步標記結(jié)果進行后處理。如圖4(a)所示(灰色為原始區(qū),白色為篡改區(qū)),首先在集合Sarea 中尋找最大的連通區(qū)域,對不連續(xù)的標記塊進行第一次錯誤過濾;其次采用孤立塊過濾/空洞填充來降低檢測誤差。具體步驟為:
1)如果一個超像素塊k被檢測為拼接塊,但其相鄰的所有圖像塊被檢測為真實塊,則將該塊從可疑拼接塊集合中去除,如圖4(b)所示。
2)如果一個超像素塊k被檢測為真實塊,但其相鄰的所有圖像塊被檢測為可疑塊,則將該塊添加到可疑拼接塊集合中,如圖4(b)所示。使用連接區(qū)域孤立塊過濾/空洞填充方法得到最終的拼接塊集合,從而檢測到拼接區(qū)域。
圖4 超像素塊級后處理效果Fig.4 Super pixel block level post-processing effect
圖5 舉例說明了定位拼接區(qū)域的上下文后處理過程,并證明了本文所提后處理方法的有效性。
圖5 后處理定位檢測結(jié)果Fig.5 Post-processing positioning detection results
本文通過可視化視覺分析及像素級定量評估來驗證所提方法的檢測性能。首先,將本文方法與其他3 種圖像拼接篡改檢測方法進行比較,并可視化呈現(xiàn)各方法的檢測效果,為了使結(jié)果更具說服力,同時給出篡改圖像像素級的檢測精度對比結(jié)果;其次,對本文方法在JPEG 壓縮、高斯模糊和伽瑪校正方面進行魯棒性分析,并與其他相關方法進行實驗對比;最后,分析相關方法檢測定位篡改區(qū)域的時間性能,時間消耗包括圖像分割、特征提取和拼接區(qū)域檢測定位的時間。
為了驗證本文方法的有效性,采用哥倫比亞未壓縮拼接圖像數(shù)據(jù)集(Columbia IPDED)進行實驗。隨機選取Columbia IPDED 數(shù)據(jù)集中的4幅圖像,分別利用本文方法、文獻[10,12,7]中的方法進行檢測,結(jié)果如圖6 所示。從圖6 可以看出,本文方法對4 幅圖像均具有較好的檢測及定位效果,而文獻[10,12]方法未檢測出圖像2 和圖像3 中的拼接區(qū)域,文獻[7]方法雖然定位出了篡改區(qū)域,但含有較多的誤檢測區(qū)域,這是因為某些篡改區(qū)和原始區(qū)之間的噪聲差異較小,而文獻[10,12,7]方法僅使用單一特征噪聲進行篡改區(qū)域定位,因此,出現(xiàn)了無法檢測的情況。本文方法將噪聲和色溫特征相融合作為混合特征,在噪聲差異較小時仍具有較強的檢測性能。
圖6 4 種方法的檢測結(jié)果比較Fig.6 Comparison of detection results of four methods
為定量分析本文方法的拼接檢測性能,根據(jù)式(17)計算圖6 中4 幅圖像的像素級真陽性率TPR和假陽性率FPR,其中各變量的具體含義如表1 所示,不同方法的檢測精度比較結(jié)果如表2 所示。從表2可以看出,本文方法相較文獻[10,12,7]方法具有較高的TPR 和較低的FPR。文獻[10,12]方法整體優(yōu)于文獻[7]方法,但對圖6(a)中的某些篡改圖像,如第2、第3 幅圖像,文獻[7]方法具有更好的檢測效果,這可能是因為圖像背景復雜度影響了算法對特征提取的準確度,使得檢測結(jié)果不穩(wěn)定。雖然表2 的實驗結(jié)果表明本文方法具有較好的檢測性能,但為了驗證該方法的魯棒性,需要進一步分析。
表1 混淆矩陣Table 1 Confusion matrix
表2 像素級精度比較結(jié)果Table 2 Pixel-level accuracy comparison results %
為了評估各方法對經(jīng)過后處理變換篡改圖像的檢測性能,本文隨機選取Columbia IPDED 數(shù)據(jù)集中的幾幅圖像,分別進行不同窗口大小的高斯模糊、不同因子大小的JPEG 壓縮以及不同校正因子的伽馬校正后處理。由于所選圖像具有隨機性,不能充分展示方法的所有檢測性能,因此在整個后處理數(shù)據(jù)集上進行實驗并分析各方法的檢測效果。
1)高斯模糊
實驗首先對篡改圖像進行高斯模糊處理,圖7中第1 列為拼接圖像,第2 列~第4 列分別是未處 理、高斯模糊3×3、高斯模糊5×5 的定位檢測結(jié)果。
2)JPEG 壓縮
實驗對數(shù)據(jù)集中的原始拼接篡改圖像分別進行壓縮因子為95、85、75 的JPEG 壓縮后處理,各方法對壓縮后圖像的檢測結(jié)果如圖8 所示,第1 列為篡改圖像,第2 列~第5 列分別為未壓縮、壓縮因子95、壓縮因子85、壓縮因子75 的拼接篡改定位結(jié)果。
3)伽馬校正
實驗對拼接篡改圖像分別進行校正因子為0.8、1.2的伽馬校正后處理,各方法對校正后圖像的檢測結(jié)果如圖9 所示,第1 列為篡改圖像,第2 列~第4 列分別為未處理、伽馬校正因子為0.8、伽馬校正因子為1.2 的檢測定位結(jié)果。
圖9 伽馬校正的檢測結(jié)果Fig.9 Detection results of Gamma correction
從圖7~圖9 可以看出,本文方法對高斯模糊,JPEG 壓縮和伽馬校正后處理表現(xiàn)出較好的魯棒性。由于本文方法采用SLIC 超像素分割算法劃分圖像,因此對圖像的邊緣劃分效果較好,但該分割策略不可避免地會引入一些面積較小的超像素塊,如果這些塊恰好落在拼接區(qū)域的邊緣,則無法通過本文所提初始可疑區(qū)域后處理辦法進行過濾/填充操作,導致邊緣出現(xiàn)一些漏檢的情況,如圖8(e)所示。盡管如此,與文獻[10,12]方法中采用的順序分塊策略相比,本文方法仍呈現(xiàn)出較好的定位效果。各方法對整個Columbia IPDED 圖像集的檢測精度對比結(jié)果如表3 所示。從表3 可以看出,本文方法相較文獻[10,12,7]方法具有較高的TPR 及較低的FPR。對于后處理結(jié)果,雖然本文方法的誤檢率高于預期水平,但與其他方法相比仍具有較高的TPR 值,這主要有3 個原因:相較單獨提取噪聲特征的方法,本文提取噪聲和色溫的混合特征,當一方差異較小時,仍能夠檢測拼接區(qū)域;本文將彩色圖像的R、G、B 三通道利用四元數(shù)整合為一個整體,充分保留圖像的顏色信息,并在此基礎上利用自適應奇異值分解的方法根據(jù)圖像塊大小自適應確定尾部奇異值的有效截斷值,最大程度地將圖像內(nèi)容與噪聲分離開來;相較順序分塊,本文采用超像素分割策略劃分圖像,保留了更清晰平滑的邊緣輪廓。
表3 Columbia IPDED 圖像集后處理前后檢測性能比較Table 3 Comparison of detection performance before and after post-processing of Columbia IPDED image set %
本次實驗在2.60 GHz CPU 和4 GB RAM 的計算機上使用MATLAB 進行仿真,測試本文方法對Columbia IPDED 中每幅圖像的平均運行時間,并與文獻[10,12,7]方法進行比較,對比結(jié)果如表4所示。從表4 可以看出,文獻[7]方法使用多尺度超像素分割方法劃分圖像,并在每個尺度中定位可疑區(qū)域,因此,檢測時間較長,本文方法采用超像素分割算法并提取噪聲和色溫2 種特征進行拼接區(qū)域檢測,因此,花費時間也較大,但本文方法在Columbia IPDED 數(shù)據(jù)集上具有較高的檢測精確率。
表4 圖像拼接定位方法運行時間比較Table 4 Comparison of running time of image splicing positioning methods s
針對拼接圖像中噪聲分布特性不一致的情況,本文提出一種圖像拼接定位檢測方法。綜合考慮噪聲影響因素以及圖像噪聲差異較小等情況,在超像素中逐塊執(zhí)行自適應四元數(shù)奇異值分解以進行局部噪聲水平估計,同時計算各個超像素的色溫特征,然后將噪聲和色溫特征進行融合并利用FCM聚類算法分類拼接塊和原始塊。在Columbia IPDED 拼接圖像數(shù)據(jù)集上的實驗結(jié)果表明,相較對比方法,本文方法能夠在大多數(shù)情況下表現(xiàn)出更高的檢測性能,但對某些背景復雜的圖像的誤檢率高于預期水平。因此,下一步將著重解決復雜背景的干擾問題,研究能夠充分表示不同區(qū)域紋理特征的提取方法,實現(xiàn)對相似區(qū)域的粗過濾并優(yōu)化噪聲估計算法,從而提高圖像檢測的精確率并降低誤檢率。