鑒別P圖,人臉識(shí)別和數(shù)字圖像取證方法

2022-12-26 18:43:30 來(lái)源/作者: / 己有:94人學(xué)習(xí)過(guò)
判斷一幅數(shù)字圖像是否被修改過(guò)(這里我擅自擴(kuò)大題主提問(wèn)的領(lǐng)域,這里的修改不僅包括PS修改圖像內(nèi)容,也包括用一些軟件例如matlab修改圖像的對(duì)比度、復(fù)制/粘貼一部分圖像等等)的工作,叫做數(shù)字圖像篡改檢測(cè)(tampering detection/ image forgery detection),是為了鑒定數(shù)字圖像的完整性和原創(chuàng)性,屬于數(shù)字圖像取證領(lǐng)域(Digital image forensics)。
數(shù)字圖像篡改檢測(cè)可以分為“主動(dòng)”和“被動(dòng)”兩類(lèi)。數(shù)字水印技術(shù),就是將特定的信息嵌入數(shù)字圖像中(這個(gè)嵌入的信息可以是顯式的或者隱式的),通過(guò)檢查主動(dòng)嵌入的信息,可以來(lái)鑒定圖像的完整、原創(chuàng)性,應(yīng)用之一是保護(hù)版權(quán)。但在現(xiàn)實(shí)中,大多數(shù)的數(shù)字圖像都沒(méi)有嵌入水印信息,而EXIF信息是很容易被修改的,因此被動(dòng)取證的方法特別重要。

回到題主的問(wèn)題,如何判斷圖像是否被PS過(guò)?在現(xiàn)實(shí)場(chǎng)景中,這就需要被動(dòng)取證了。

如何被動(dòng)取證呢?
要講這個(gè)要先介紹一下數(shù)字照相機(jī)的結(jié)構(gòu)(我真是夠啰嗦的……科普強(qiáng)迫癥。。。)。一般數(shù)字照相機(jī)由鏡頭(lense)、濾光器(optical filter),色彩濾鏡矩陣(Color Filter Array, CFA),感光器(sensor,例如CCD或CMOS),處理器(digital image processor)等組件構(gòu)成。如下圖所示(圖片出自答案最末推薦的綜述文獻(xiàn))
鑒別P圖,人臉識(shí)別和數(shù)字圖像取證方法
因?yàn)樽龉?、相機(jī)內(nèi)部的處理操作等的關(guān)系,上述的這些組件會(huì)在最終產(chǎn)生的數(shù)字圖像上留下一些“痕跡(trace)”,這些痕跡是隨機(jī)的、不受外界影響而改變的、并且可以說(shuō)是每一臺(tái)相機(jī)都不一樣的。這里我們可以把這些痕跡理解為照相機(jī)的“指紋”。依據(jù)這種“相機(jī)的指紋”,我們可以來(lái)1)判斷圖像來(lái)源(類(lèi)似人類(lèi)的指紋識(shí)別),2)檢測(cè)圖像篡改。

舉個(gè)簡(jiǎn)單的栗子,感光器只能感受單一色光,所以色彩濾鏡矩陣(CFA)的作用就是把光分成單色的,然后單色光通過(guò)感光器后產(chǎn)生模擬信號(hào)進(jìn)而轉(zhuǎn)化成數(shù)字信號(hào)生成數(shù)字圖像。而為了產(chǎn)生全彩色圖像,就需要CFA插值運(yùn)算。這樣的話,插值運(yùn)算會(huì)在數(shù)字圖像的像素之間引入“統(tǒng)計(jì)相關(guān)性”。這種統(tǒng)計(jì)相關(guān)性(就是上面說(shuō)的“指紋”),當(dāng)使用了軟件對(duì)圖像進(jìn)行編輯,這些“指紋”往往遭到破壞,我們?nèi)庋劭床坏?,但是用圖像處理的技術(shù)是可以檢測(cè)到的,這就是圖像篡改的檢測(cè)原理。

另一個(gè)栗子,感光器因?yàn)樽龉?、溫度、壓?qiáng)、材料的不同,感光器的每個(gè)像素感知光線的能力是不一樣的,這種“不一致性”會(huì)在最終的圖像上產(chǎn)生一些“噪聲”,這種噪聲也可以視作“指紋”,如果圖像被篡改了,也可以檢測(cè)出來(lái)。

一個(gè)圖像篡改檢測(cè)網(wǎng)站:https://img.lvups.com/d/file/bigpic/2022/12/26/re2x55bn5y0 /> 大家可以上傳自己的圖片,網(wǎng)站運(yùn)用算法分析圖像是否被修改過(guò)。但是有些“再保存”過(guò)的圖像,可能判斷不準(zhǔn)確。但是一幅圖像如果完全沒(méi)有被改過(guò)(直接從照相機(jī)導(dǎo)出來(lái)的),是可以檢測(cè)出來(lái)的。
一個(gè)有趣的例子,這張照片看起來(lái)好像是PS的,但其實(shí)是真實(shí)的。
鑒別P圖,人臉識(shí)別和數(shù)字圖像取證方法
推薦一個(gè)關(guān)于數(shù)字圖像取證很好的綜述,包含了我上述的兩個(gè)方向:1)判斷圖像來(lái)源,2)檢測(cè)圖像篡改。
Alessandro Piva, An Overview on Image Forensics,2013
http://www.hindawi.com/journals/isrn/2013/496701/

補(bǔ)充回答:
一個(gè)很有趣的問(wèn)題:“請(qǐng)問(wèn)如果我翻拍一張已被修改過(guò)的照片,是不是就無(wú)法用您說(shuō)的這種方法識(shí)別了?”

理論上,如果翻拍一張照片,那么翻拍照片里面殘留的“照相機(jī)指紋”應(yīng)該主要是翻拍相機(jī)的指紋,而需要利用原始相機(jī)指紋來(lái)鑒定原始照片是否被改過(guò)的方法的有效性就有疑問(wèn)了。這方面我暫時(shí)還沒(méi)有看到相關(guān)的研究。

不過(guò)利用照相機(jī)指紋來(lái)鑒定一幅數(shù)字圖像是否是翻拍過(guò)的圖像,倒是有這方面的工作:
X. Gao et al, A Smart Phone Image Database for Single Image Recapture Detection, IWDW 2010 http://link.springer.com/chapter/10.1007%2F978-3-642-18405-5_8
還有就是通過(guò)照相機(jī)指紋來(lái)鑒定打印圖片的來(lái)源:
M. Goljan et al, Camera Identification From Printed Images, SPIE 2008, https://img.lvups.com/d/file/bigpic/2022/12/26/4435t1s0psb.edu />
例如照相機(jī)A拍了一幅圖像a,照相機(jī)B拍了一幅圖像b,但是我們不知道這個(gè)信息;現(xiàn)在只能直接拿到打印出來(lái)的圖像a和b再通過(guò)掃描儀掃描成的數(shù)字圖像,通過(guò)照相機(jī)指紋來(lái)判斷a,b到底是哪臺(tái)照相機(jī)拍的。這種例子是很實(shí)用的,因?yàn)闅W洲很多銀行接受掃描的賬單作為證據(jù)。這種打印、再掃描的圖像的來(lái)源、是否被改過(guò)就是值得關(guān)注的問(wèn)題。上面的這篇論文是判斷這種圖像的來(lái)源,判斷是否被改過(guò)理論上也是可以的,因?yàn)閮烧叩囊罁?jù)都是照相機(jī)指紋;但我感覺(jué)應(yīng)該比判斷來(lái)源難,因?yàn)槭艿酱蛴D像的質(zhì)量影響應(yīng)該更大。