華蓓,陳前,黃汝維,蘇志磊
(廣西大學(xué)計(jì)算機(jī)與電子信息學(xué)院, 廣西南寧530004)
互聯(lián)網(wǎng)技術(shù)和圖像處理技術(shù)的快速發(fā)展,為人們的生活帶來(lái)了極大的便利與樂(lè)趣,但它們同時(shí)也是一把雙刃劍,一些不法分子對(duì)圖像進(jìn)行篡改并在網(wǎng)絡(luò)上傳播,嚴(yán)重影響了人們對(duì)事情真相的判斷,導(dǎo)致了數(shù)字媒體的失信。
圖1所示是對(duì)工程項(xiàng)目圖像進(jìn)行篡改的例子,圖1(a)是工程圖像的原圖,圖1(b)是用圖像處理軟件修改后的圖像,可以看出籠長(zhǎng)原來(lái)是15.35 m,經(jīng)過(guò)軟件篡改后變成15.02 m,而且用肉眼完全看不出是經(jīng)過(guò)修改的。工程影像檔案能夠用于工程項(xiàng)目的施工監(jiān)督、溯源和事故追責(zé),如果發(fā)生了篡改,不僅影響工程項(xiàng)目的正確施工,甚至?xí)?yán)重威脅公眾的生命和財(cái)產(chǎn)安全。
(a) 原圖像
圖像真?zhèn)螜z測(cè)技術(shù)可分為主動(dòng)式檢測(cè)技術(shù)和被動(dòng)式檢測(cè)技術(shù)。所謂主動(dòng)式檢測(cè)技術(shù),就是預(yù)先主動(dòng)地對(duì)圖像數(shù)據(jù)進(jìn)行處理,對(duì)圖像加入某種信息,例如數(shù)字簽名或水印等,在接收端可以通過(guò)事先約定好的方式判斷中間圖像數(shù)據(jù)是否遭到篡改。主動(dòng)式鑒別技術(shù)需要對(duì)圖像進(jìn)行預(yù)先的水印嵌入或數(shù)字簽名處理,而工作生活中大部分的照片是沒有經(jīng)過(guò)這些處理,因此適用范圍有限。為了提高圖像檢測(cè)技術(shù)的應(yīng)用范圍,科學(xué)家們開始研究被動(dòng)式檢測(cè)技術(shù),即數(shù)字圖像的盲取證技術(shù)。盲取證技術(shù)的核心是盲取證類算法,盲取證類算法是指不需要對(duì)圖像進(jìn)行任何預(yù)先的處理,直接跟據(jù)待檢測(cè)圖像本身具有的特性進(jìn)行分析取證的鑒別過(guò)程[1],因此,被動(dòng)式盲取證算法是適應(yīng)性更好、應(yīng)用范圍更廣、研究?jī)r(jià)值更高的圖像真?zhèn)巫R(shí)別方式。
在數(shù)字圖像的盲取證技術(shù)的研究中,Shah等[2]提出利用圖像的單尺度和多尺度表示來(lái)組合各種特征,以識(shí)別偽造和真實(shí)的圖像。Zhou等[3]提出了一個(gè)雙流Faster R-CNN網(wǎng)絡(luò),并對(duì)其進(jìn)行端到端訓(xùn)練,以檢測(cè)給定圖像的篡改區(qū)域。陳佳等[4]通過(guò)級(jí)聯(lián)深度卷積神經(jīng)網(wǎng)絡(luò)提取檔案圖像的特征點(diǎn),然后通過(guò)協(xié)方差描述子來(lái)作為特征描述點(diǎn)符,最后根據(jù)特征點(diǎn)的匹配來(lái)判斷篡改區(qū)域。蘇文煊等[5]根據(jù)插值圖像和理想全色圖像的頻譜差異分塊提取頻譜變化和色度失真特征以反映 CFA 插值特性,計(jì)算重插值前后的插值特性變化作為特征,使用SVM分類并根據(jù)相鄰塊間取證特征的不一致來(lái)鑒別圖像真?zhèn)?。邢楠等[6]通過(guò)小波濾波來(lái)提取反映相機(jī)本身物理特性的噪聲特征,然后通過(guò)廣義高斯分類器和人工神經(jīng)網(wǎng)絡(luò)算法判斷圖像是否被篡改。Sadeghi等[7]提出的方法基于SIFT提取局部圖像特征,然后根據(jù)它們的歐氏距離搜索相似的關(guān)鍵點(diǎn),識(shí)別圖像篡改區(qū)域。王萍[8]針對(duì)拼接方式篡改的圖片,基于經(jīng)過(guò)模糊處理的圖像邊緣寬度是大于自然圖像的邊緣寬度這一特征,通過(guò)對(duì)邊緣像素斜率的計(jì)算,檢測(cè)出拼接篡改的區(qū)域。
圖像噪聲通常表現(xiàn)為孤立的像素或像素塊,會(huì)對(duì)圖像產(chǎn)生強(qiáng)烈的視覺效果。噪聲信號(hào)與要研究的對(duì)象無(wú)關(guān),它以無(wú)用信息的形式出現(xiàn),擾亂了圖像的可觀察信息。 從廣義上講,噪聲使圖像不清晰,圖像噪聲如圖2所示。
圖2 圖像噪聲 Fig.2 Image noise
圖像噪聲提取一般是先將彩色圖轉(zhuǎn)化為灰度圖,然后將灰度進(jìn)行高斯濾波,把灰度圖與高斯濾波后的圖做差得到殘差圖[9]。因?yàn)閳D像的邊緣區(qū)域影響噪聲的提取,所以要進(jìn)行擴(kuò)頻擴(kuò)大邊緣區(qū)域,最后再提取非邊緣區(qū)域的噪聲。噪聲提取過(guò)程如圖3所示。
圖3 噪聲提取過(guò)程Fig.3 Noise extraction process
灰度化就是將圖像由彩色轉(zhuǎn)化為灰色的過(guò)程。一般來(lái)講,彩色圖像可以分為R、G和B 3個(gè)數(shù)量。其中,R代表紅色,G代表綠色,B代表藍(lán)色,數(shù)值分別由r、g、b表示。彩色圖像灰度化是使紅色、綠色、藍(lán)色三色相等的過(guò)程。圖像的各種顏色,取決于每個(gè)像素的灰度值不同,灰度最大值為255,顯示為白色,最小灰度值為0,顯示為黑色,灰度圖像對(duì)應(yīng)每個(gè)像素(的)灰度值,灰色比例在0~255。公式(1)是灰度圖轉(zhuǎn)化常用的公式,
fgray=0.299r+0.587g+0.114b。
(1)
在實(shí)際應(yīng)用中,希望避免浮點(diǎn)運(yùn)算,可以將它們縮放1 000倍來(lái)實(shí)現(xiàn)整數(shù)運(yùn)算,即
(2)
一般來(lái)講RGB的精度是8位而且可以縮放1 000次,所以上面的操作是32位整數(shù)運(yùn)算, 但是要注意的是除法是整數(shù)除法,所以需要添加500才能實(shí)現(xiàn)四舍五入,即
(3)
高斯噪聲是噪聲的一種,其概率密度函數(shù)服從高斯分布,簡(jiǎn)單來(lái)說(shuō)就是正態(tài)分布。高斯濾波器是一種線性平滑濾波器,基于高斯函數(shù)的形狀來(lái)選擇權(quán)重。高斯平滑濾波器在抑制遵循正態(tài)分布的噪聲方面非常有效。一維零均值高斯函數(shù)為
(4)
式中σ為高斯函數(shù)的寬度。二維高斯函數(shù)為
(5)
從理論上來(lái)講,高斯分布需要無(wú)限卷積核,因?yàn)樗谒杏蛏隙季哂蟹秦?fù)值。實(shí)際上,只需將該值取為平均值左右標(biāo)準(zhǔn)偏差的3倍,另一部分可以直接刪除。標(biāo)準(zhǔn)差決定著圖像進(jìn)行高斯濾波后的平滑的程度,因此,它的平滑效果更柔和,相較于平均濾波器,其能夠更好地保留圖像的邊緣。將高斯濾波用作平滑濾波器的主要原因是它是低通濾波器,大多數(shù)卷積平滑濾波器是低通濾波器。高斯濾波步驟為:
①移動(dòng)相關(guān)核心的中心元素,使其直接位于輸入圖像的待處理像素上方。
②用相關(guān)內(nèi)核乘圖像的像素值。
③把前面兩步所得的結(jié)果相加并且輸出。
Canny邊緣檢測(cè)算子是John F.Canny于1986年開發(fā)出來(lái)的一個(gè)多級(jí)邊緣檢測(cè)算法[10],其目的是找到最優(yōu)的邊緣檢測(cè)算法,即:
①最優(yōu)檢測(cè)。算法盡可能地識(shí)別圖像中的實(shí)際邊緣,并且丟失真實(shí)邊緣的概率和非邊緣的錯(cuò)誤檢測(cè)概率盡可能小。
②最佳定位標(biāo)準(zhǔn)。檢測(cè)到的邊緣點(diǎn)的位置與實(shí)際邊緣點(diǎn)的位置最接近,或者在噪聲的影響下檢測(cè)到的邊緣偏離物體的真實(shí)邊緣的程度最小。
③邊緣點(diǎn)與檢測(cè)點(diǎn)互相對(duì)應(yīng)。檢測(cè)到的邊緣點(diǎn)必須要與實(shí)際邊緣點(diǎn)一一對(duì)應(yīng)。
可交換圖像文件格式(EXIF)專為數(shù)碼相機(jī)的照片而設(shè)計(jì),可以記錄數(shù)字照片的屬性信息和拍攝數(shù)據(jù)。EXIF最初由日本電子工業(yè)發(fā)展協(xié)會(huì)于1996年開發(fā),版本為EXIF 1.0。1998年,EXIF 1.0升級(jí)到EXIF 2.1,增加了對(duì)音頻文件的支持,2002年3月,EXIF 2.2發(fā)布,EXIF 2.2可以附加JPEG,TIFF,RIFF和其他文件,以添加有關(guān)數(shù)碼相機(jī)拍攝信息和索引圖或圖像處理軟件的版本信息的內(nèi)容。
本文提出了一圖像真?zhèn)螜z測(cè)算法,算法設(shè)計(jì)了一種噪聲特征的表現(xiàn)形式,建立EXIF信息特征矩陣,通過(guò)訓(xùn)練權(quán)值矩陣建立二者之間的關(guān)系,并根據(jù)此關(guān)系判斷圖像是否發(fā)生篡改。此算法相對(duì)于需要利用深度卷積神經(jīng)網(wǎng)絡(luò)獲取圖像特征的算法來(lái)說(shuō)實(shí)現(xiàn)更加容易,并且不需要很多訓(xùn)練樣本即可完成訓(xùn)練。
算法首先通過(guò)提取清晰度殘差,保留圖像的非邊緣區(qū)域,然后利用去噪過(guò)濾器將圖像進(jìn)行一些簡(jiǎn)單的計(jì)算處理,構(gòu)造圖像噪聲特征向量。根據(jù)圖像EXIF信息,利用曝光等式分別計(jì)算快門速度向量K、感光度向量G、光圈值向量Q、亮度值向量L、曝光值向量B,然后拼接成EXIF信息特征矩陣Y。利用EXIF信息特征矩陣Y和圖像噪聲特征向量通過(guò)訓(xùn)練得出權(quán)值矩陣W(圖4)。
測(cè)試時(shí)將待檢測(cè)圖像傳入,提取圖像的噪聲特征和EXIF信息,在權(quán)值矩陣W條件下計(jì)算評(píng)價(jià)值,根據(jù)評(píng)價(jià)值來(lái)判斷該圖像是否已經(jīng)被篡改(圖5)。
圖6 數(shù)字信號(hào)強(qiáng)度與圖像噪聲的關(guān)系Fig.6 Relationship between digital signal strength and image noise
光子傳輸曲線說(shuō)明了圖像噪聲與數(shù)碼相機(jī)信號(hào)強(qiáng)度之間的關(guān)系,如圖6所示[11]。數(shù)碼相機(jī)的信號(hào)強(qiáng)度也是傳感器在打開快門時(shí)接收的有效光子量。因?yàn)橄鄼C(jī)信號(hào)強(qiáng)度和圖像的EXIF信息和感光值,亮度值等有很多的聯(lián)系,所以可以建立圖像統(tǒng)計(jì)噪聲特性與EXIF參數(shù)之間的相關(guān)性,每個(gè)圖像的EXIF信息可以表示圖像的噪聲特性的加權(quán)組合[12]。
首先將一張彩色圖像轉(zhuǎn)化為灰度圖像A,然后對(duì)灰度圖像進(jìn)行降噪得到平滑圖B,最后將灰度圖與平滑圖B相減得到殘差圖P。這時(shí)從殘差圖中可以得到圖像的經(jīng)驗(yàn)閾值g,進(jìn)行二值化,如公式(6)所示。
(6)
殘差圖二值化之后就變成了1或0的矩陣。二值化之后,為了獲取網(wǎng)格統(tǒng)計(jì)圖,首先要把圖像變?yōu)?56×256的矩陣,然后將矩陣水平、豎直各分為8份,分別統(tǒng)計(jì)每一份中像素點(diǎn)為1的個(gè)數(shù),將這些統(tǒng)計(jì)的值組合在一起構(gòu)成8×8的特征矩陣,最后將二維的矩陣轉(zhuǎn)化為一維的向量X1×64。
EXIF可以記錄更多的圖像捕獲信息。由于拍攝的既定特征,圖像驗(yàn)證過(guò)程是第一次測(cè)試,除非使用特殊的修改工具,否則圖像信息和EXIF信息不會(huì)同時(shí)被修改,因此,EXIF參數(shù)信息的真實(shí)值與估計(jì)值的比較為識(shí)別篡改圖像提供了可能性[13]。
算法將提取與數(shù)字光信號(hào)強(qiáng)度相關(guān)的EXIF的幾個(gè)參數(shù),用來(lái)完成實(shí)驗(yàn)需要建立的模型。為了達(dá)到實(shí)驗(yàn)所需要的功能,使用修改的曝光等式提取EXIF信息,并且計(jì)算K、G、Q、L、B、曝光時(shí)間t、感光速率I、光圈數(shù)N。
(7)
最后得到EXIF信息矩陣Y=[KGQLB]。
從前面兩節(jié)可以知道第i幅圖像的噪聲特征向量為Xi,EXIF信息特征向量為Yi。接下來(lái)以第i幅圖的快門速度為例,快門速度為
(8)
式中:Xij為網(wǎng)絡(luò)模型輸入;Wj1為第i幅圖的第j個(gè)特征對(duì)快門速度的估計(jì)的權(quán)重;di1是估計(jì)的誤差。
建立網(wǎng)絡(luò)模型,通過(guò)訓(xùn)練學(xué)習(xí)使得di1趨近于0,使得誤差最小。
(9)
(10)
通過(guò)一定量的圖像訓(xùn)練,可以得到訓(xùn)練后的權(quán)值矩陣。
從前面的過(guò)程可以知道,第一步要做的就是先對(duì)圖像的特征進(jìn)行提取,設(shè)圖像噪聲特征為X1×64,EXIF信息特征向量為Y1×5,它們的提取方式和訓(xùn)練時(shí)提取的方式相同,根據(jù)前面的理論可以設(shè)EXIF信息估計(jì)的誤差為
|dj|=|Yj-XWj|,j=1,2,…,5,
(11)
之后將|dj|與閾值pj進(jìn)行比較,
(12)
如果Uj=1說(shuō)明該參數(shù)檢測(cè)結(jié)果為正確,否則,檢測(cè)結(jié)果為錯(cuò)誤。閾值pj是經(jīng)過(guò)大量訓(xùn)練得到的。
最后綜合5個(gè)EXIF的信息估計(jì)他們的誤差得到一個(gè)綜合的判斷U[13],
(13)
(14)
如果U=1說(shuō)明該參數(shù)檢測(cè)結(jié)果為未篡改圖像,如果為U=0,則檢測(cè)結(jié)果為已篡改圖像。p為經(jīng)驗(yàn)閾值。
本文的模型算法由MATLAB實(shí)現(xiàn)。在構(gòu)建此模型算法時(shí),使用的測(cè)試數(shù)據(jù)是CASIA圖像篡改數(shù)據(jù)庫(kù),這些圖像是經(jīng)過(guò)各種各樣的篡改方式制作而成的,并且還包括很多不同的拍攝環(huán)境、不同的光照條件、不同的曝光環(huán)境等。1 570張真實(shí)圖像用于訓(xùn)練權(quán)重,1 170張真實(shí)圖像訓(xùn)練經(jīng)驗(yàn)閾值,540張真實(shí)圖像和600張篡改圖像用于測(cè)試。
實(shí)驗(yàn)步驟如下:
①灰度化。當(dāng)拿到一張圖像的時(shí)候圖像是彩色的,為了處理方便,首先要將一張彩色圖像轉(zhuǎn)化為灰度圖像A,在灰度化之前圖像是三維(的),在灰度化后是二維的。
②去噪。通過(guò)高斯濾波去噪,去噪后得到一幅平滑的圖像B,如圖7所示。
③求殘差圖。將灰度圖像A與平滑的圖像B做差得到殘差圖C,殘差圖如圖8所示。
④圖像的二值化。二值化是將整個(gè)圖像呈現(xiàn)出明顯的黑白效果的過(guò)程,使圖像中數(shù)據(jù)量大為減少,從而能凸顯出目標(biāo)的輪廓,簡(jiǎn)單來(lái)說(shuō)就是將數(shù)組轉(zhuǎn)換為0和1的形式。在轉(zhuǎn)換之前,需要設(shè)置一個(gè)閾值,一般來(lái)說(shuō)使用整幅圖像的平均灰度值作為閾值。對(duì)于大于此閾值的像素,將其設(shè)置為1,并且像素小于此閾值,將其設(shè)為0,二值化后的圖像如圖9所示。
圖7 去噪后平滑的圖像Fig.7 Smoothed image after denoising
圖8 殘差圖Fig.8 Residual map
圖9 二值化后的圖像Fig.9 Binarized image
⑤獲取網(wǎng)格特征數(shù)字統(tǒng)計(jì)圖。在圖像二值化之后要獲取網(wǎng)格特征數(shù)字統(tǒng)計(jì)圖,也就是噪聲的特征。首先將二值化后的矩陣水平平均劃線分成8份,豎直平均劃線分成8份,然后分別統(tǒng)計(jì)每一份中像素點(diǎn)為1的個(gè)數(shù),最后將每份統(tǒng)計(jì)值組合在一起,構(gòu)成8×8的統(tǒng)計(jì)矩陣見表1。
表1 統(tǒng)計(jì)矩陣Tab.1 Matrix chart
⑥將二維的統(tǒng)計(jì)表轉(zhuǎn)化為一維的特征向量,構(gòu)成圖像的噪聲特征向量,如圖10所示。
⑦提取圖像EXIF信息。
⑧用循環(huán)重復(fù)步驟①~⑦1 570次,最后得到所有圖片的噪聲特征值特征矩陣X1 570×64,EXIF信息參數(shù)矩陣Y1 570×5。
圖10 噪聲的特征向量Fig.10 Characteristic vector of noise
⑨建立網(wǎng)絡(luò)模型,通過(guò)一定量的圖片訓(xùn)練,得到訓(xùn)練后的權(quán)值矩陣,得出權(quán)重W1、W2、W3、W4、W5,然后把5個(gè)權(quán)重存入文件。
⑩利用1 170張真實(shí)照片訓(xùn)練閾值pj,最后根據(jù)閾值pj(j=1,2,…,5)得出p。
①用1 570張照片進(jìn)行訓(xùn)練得到權(quán)重,如11圖所示。該矩陣總共有5列,每列對(duì)應(yīng)一個(gè)EXIF參數(shù)權(quán)重。
②通過(guò)大量的誤差訓(xùn)練得到閾值,如表2所示
表2 經(jīng)驗(yàn)閾值Tab.2 Empirical threshold
③篡改檢測(cè)。本實(shí)驗(yàn)用2幅被篡改的圖像進(jìn)行分析,原圖的光圈數(shù)N=3.6,感光速率I=85, 曝光時(shí)間t=1/60,利用提出的實(shí)驗(yàn)算法對(duì)圖片進(jìn)行檢測(cè),得到的誤差數(shù)據(jù)見表3。
對(duì)圖像進(jìn)行篡改之后并不會(huì)改變圖像EXIF信息。接著,對(duì)1 000幅篡改圖像和1 000幅真實(shí)圖像運(yùn)用該算法進(jìn)行檢測(cè),并預(yù)測(cè)圖像的EXIF信息,然后與真實(shí)的圖像的EXIF信息進(jìn)行對(duì)比,具體的實(shí)驗(yàn)數(shù)據(jù)見表4。其中,真陽(yáng)率是指在真實(shí)的圖像樣本中,被正確識(shí)別的樣本比例;假陽(yáng)率是指在真實(shí)的圖像樣本中,被誤認(rèn)為是篡改圖像的樣本比例;真陰率是指在篡改的樣本中,被正確識(shí)別的樣本比例;假陰率是指在篡改的樣本中,被誤判斷為是真實(shí)樣本的比例。綜合判斷是在閾值為p的情況下,真陽(yáng)率為86%,真陰率為77%,假陽(yáng)率為14%,假陰率為23%。當(dāng)使用快門速度、光圈值、感光度、亮度值和曝光值作為估計(jì)指標(biāo)時(shí),差異是不同的。
表3 真實(shí)值與估計(jì)值對(duì)比Tab.3 Comparison of real value and estimated value
表4 檢測(cè)結(jié)果分析Tab.4 Analysis table of detection results %
近年來(lái),由于互聯(lián)網(wǎng)和圖像處理技術(shù)的快速發(fā)展,圖像篡改的現(xiàn)象更頻繁了,對(duì)人們的生活和國(guó)家發(fā)展都帶來(lái)了惡劣的影響,因此圖像真?zhèn)巫R(shí)別技術(shù)顯得更為重要了。本文提出了基于圖像噪聲與圖像EXIF信息相關(guān)性的圖像真?zhèn)巫R(shí)別方法。通過(guò)建立圖像噪聲與圖像EXIF信息的相關(guān)關(guān)系,利用計(jì)算出的權(quán)重來(lái)估計(jì)EXIF信息,并且過(guò)濾掉邊緣區(qū)域的影響。經(jīng)實(shí)驗(yàn)證明,本方法實(shí)現(xiàn)簡(jiǎn)單、計(jì)算效率高。下一步工作可以分別針對(duì)圖像拼接篡改方式、圖像copy-move篡改方式,研究圖像真?zhèn)螜z測(cè)的盲取證方法。