亲宝软件园·资讯

展开

鉴别P图,人脸识别和数字图像取证方法

笨猫猪 人气:0
判断一幅数字图像是否被修改过(这里我擅自扩大题主提问的领域,这里的修改不仅包括PS修改图像内容,也包括用一些软件例如matlab修改图像的对比度、复制/粘贴一部分图像等等)的工作,叫做数字图像篡改检测(tampering detection/ image forgery detection),是为了鉴定数字图像的完整性和原创性,属于数字图像取证领域(Digital image forensics)。
数字图像篡改检测可以分为“主动”和“被动”两类。数字水印技术,就是将特定的信息嵌入数字图像中(这个嵌入的信息可以是显式的或者隐式的),通过检查主动嵌入的信息,可以来鉴定图像的完整、原创性,应用之一是保护版权。但在现实中,大多数的数字图像都没有嵌入水印信息,而EXIF信息是很容易被修改的,因此被动取证的方法特别重要。

回到题主的问题,如何判断图像是否被PS过?在现实场景中,这就需要被动取证了。

如何被动取证呢?
要讲这个要先介绍一下数字照相机的结构(我真是够啰嗦的……科普强迫症。。。)。一般数字照相机由镜头(lense)、滤光器(optical filter),色彩滤镜矩阵(Color Filter Array, CFA),感光器(sensor,例如CCD或CMOS),处理器(digital image processor)等组件构成。如下图所示(图片出自答案最末推荐的综述文献)
鉴别P图,人脸识别和数字图像取证方法
因为做工、相机内部的处理操作等的关系,上述的这些组件会在最终产生的数字图像上留下一些“痕迹(trace)”,这些痕迹是随机的、不受外界影响而改变的、并且可以说是每一台相机都不一样的。这里我们可以把这些痕迹理解为照相机的“指纹”。依据这种“相机的指纹”,我们可以来1)判断图像来源(类似人类的指纹识别),2)检测图像篡改。

举个简单的栗子,感光器只能感受单一色光,所以色彩滤镜矩阵(CFA)的作用就是把光分成单色的,然后单色光通过感光器后产生模拟信号进而转化成数字信号生成数字图像。而为了产生全彩色图像,就需要CFA插值运算。这样的话,插值运算会在数字图像的像素之间引入“统计相关性”。这种统计相关性(就是上面说的“指纹”),当使用了软件对图像进行编辑,这些“指纹”往往遭到破坏,我们肉眼看不到,但是用图像处理的技术是可以检测到的,这就是图像篡改的检测原理。

另一个栗子,感光器因为做工、温度、压强、材料的不同,感光器的每个像素感知光线的能力是不一样的,这种“不一致性”会在最终的图像上产生一些“噪声”,这种噪声也可以视作“指纹”,如果图像被篡改了,也可以检测出来。

一个图像篡改检测网站:http://www.izitru.com/
大家可以上传自己的图片,网站运用算法分析图像是否被修改过。但是有些“再保存”过的图像,可能判断不准确。但是一幅图像如果完全没有被改过(直接从照相机导出来的),是可以检测出来的。
一个有趣的例子,这张照片看起来好像是PS的,但其实是真实的。
鉴别P图,人脸识别和数字图像取证方法
推荐一个关于数字图像取证很好的综述,包含了我上述的两个方向:1)判断图像来源,2)检测图像篡改。
Alessandro Piva, An Overview on Image Forensics,2013
http://www.hindawi.com/journals/isrn/2013/496701/

补充回答:
一个很有趣的问题:“请问如果我翻拍一张已被修改过的照片,是不是就无法用您说的这种方法识别了?”

理论上,如果翻拍一张照片,那么翻拍照片里面残留的“照相机指纹”应该主要是翻拍相机的指纹,而需要利用原始相机指纹来鉴定原始照片是否被改过的方法的有效性就有疑问了。这方面我暂时还没有看到相关的研究。

不过利用照相机指纹来鉴定一幅数字图像是否是翻拍过的图像,倒是有这方面的工作:
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
还有就是通过照相机指纹来鉴定打印图片的来源:
M. Goljan et al, Camera Identification From Printed Images, SPIE 2008, http://www.cs.dartmouth.edu/~farid/dfd/index.php/publications/show/164

例如照相机A拍了一幅图像a,照相机B拍了一幅图像b,但是我们不知道这个信息;现在只能直接拿到打印出来的图像a和b再通过扫描仪扫描成的数字图像,通过照相机指纹来判断a,b到底是哪台照相机拍的。这种例子是很实用的,因为欧洲很多银行接受扫描的账单作为证据。这种打印、再扫描的图像的来源、是否被改过就是值得关注的问题。上面的这篇论文是判断这种图像的来源,判断是否被改过理论上也是可以的,因为两者的依据都是照相机指纹;但我感觉应该比判断来源难,因为受到打印图像的质量影响应该更大。  

加载全部内容

相关教程
猜你喜欢
用户评论