怎样分辨图片是否被Ps过
文/笨猫猪(知乎)
本文系作者授权“清南”发布
这个刚好是我的领域,所以来答一下。
判断一幅数字图像是否被修改过(这里我擅自扩大题主提问的领域,这里的修改不仅包括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)等组件构成。如下图所示(图片出自答案最末推荐的综述文献)
因为做工、相机内部的处理操作等的关系,上述的这些组件会在最终产生的数字图像上留下一些“痕迹(trace)”,这些痕迹是随机的、不受外界影响而改变的、并且可以说是每一台相机都不一样的。这里我们可以把这些痕迹理解为照相机的“指纹”。依据这种“相机的指纹”,我们可以来1)判断图像来源
文/笨猫猪(知乎)
本文系作者授权“清南”发布
这个刚好是我的领域,所以来答一下。
判断一幅数字图像是否被修改过(这里我擅自扩大题主提问的领域,这里的修改不仅包括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)等组件构成。如下图所示(图片出自答案最末推荐的综述文献)
因为做工、相机内部的处理操作等的关系,上述的这些组件会在最终产生的数字图像上留下一些“痕迹(trace)”,这些痕迹是随机的、不受外界影响而改变的、并且可以说是每一台相机都不一样的。这里我们可以把这些痕迹理解为照相机的“指纹”。依据这种“相机的指纹”,我们可以来1)判断图像来源 
推荐一个关于数字图像取证很好的综述,包含了我上述的两个方向:1)判断图像来源,2)检测图像篡改。