怎样分辨图片是否被 PS 过?

标签: 图片 ps | 发表时间:2014-05-20 18:00 | 作者:知乎用户(登录查看详情)
出处:http://www.zhihu.com
这个刚好是我的领域,所以来答一下。
判断一幅数字图像是否被修改过(这里我擅自扩大题主提问的领域,这里的修改不仅包括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)判断图像来源(类似人类的指纹识别),2)检测图像篡改。

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

另一个栗子,感光器因为做工、材料的不同,会在最终的图像上产生一些“噪声”,这种噪声也可以视作“指纹”,如果图像被篡改了,也可以检测出来。

一个图像篡改检测网站: izitru Trusted Photos
大家可以上传自己的图片,网站运用算法分析图像是否被修改过。但是有些“再保存”过的图像,可能判断不准确。但是一幅图像如果完全没有被改过,是可以检测出来的。
一个有趣的例子,来自 izitru Trusted Photos 这张照片看起来好像是PS的,但其实是真实的。


推荐一个关于数字图像取证很好的综述,包含了我上述的两个方向: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 A Smart Phone Image Database for Single Image Recapture Detection

还有就是通过照相机指纹来鉴定打印图片的来源:
M. Goljan et al, Camera Identification From Printed Images, SPIE 2008, http:// Camera Identification From Printed Images

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

— 完 —
本文作者: 知乎用户(登录查看详情)

【知乎日报】 你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 45 个回答,查看全部。
延伸阅读:
如何证明这张图是PS的?
ps教程在哪有比较好的?

相关 [图片 ps] 推荐:

背景图片的天怎么那么蓝,是PS的么?

- KNocTis - 新闻跟帖局
核心提示:《华尔街日报》报道,中国《人民日报》旗下的人民网在纽约帝国大厦30层租用了一处合281平方米的区域作为驻美办公场所. 报道称,人民网进驻帝国大厦不仅可以大大提高知名度而且也将为其拓展北美业务提供方便. 《人民日报》纽约分社社长拒绝讨论租用办公楼细节. 网易新加坡网友 ip:210.193.*.*2011-07-14 15:46:43 发表网易山东省烟台市网友(119.180.*.*)的原贴:1.

PS图片处理技巧-如何将MM祛斑

- 并非无聊 - Yoxu Home
这位MM是位名人,很多朋友为她美容,今天我们试一下,把MM脸上的雀斑去掉. 用Photoshop为MM美容.

怎样分辨图片是否被 PS 过?

- - 知乎每日精选
这个刚好是我的领域,所以来答一下. 判断一幅数字图像是否被修改过(这里我擅自扩大题主提问的领域,这里的修改不仅包括PS修改图像内容,也包括用一些软件例如matlab修改图像的对比度、复制/粘贴一部分图像等等)的工作,叫做数字图像篡改检测(tampering detection/ image forgery detection),是为了鉴定数字图像的完整性和原创性,属于数字图像取证领域(Digital image forensics).

"[传说图文]用PS去除图片中文字的6个方法[6P]

- Asker - Cao Liu
具体的操作是,选取仿制图章工具,按住Alt键,在无文字区域点击相似的色彩或图案采样, 然后在文字区域拖动鼠标复制以复盖文字. 要注意的是,采样点即为复制的起始点. 选择不同的笔刷直径会影响绘制的范围,而不同的笔刷硬度会影响绘制区域的边缘融合效果. 如果图片的背景色彩或图案比较一致,使用修补工具就比较方便.

[来自iPc.me] 放弃笨重的PS吧!15个强大的在线图片编辑网站推荐

- chaoping - iPc.me
在线图像编辑类软件是网页应用中较早出现的和比较成熟的在线应用,他们的功能非常强大,有的并不逊色桌面软件,甚至比桌面软件更为强大,这儿为大家做一个最强图像编辑软件大汇总……. [ 请大家更新订阅地址 http://feed.ipc.me ]. iPc.me 猜你可能还会喜欢:国内常用Web 2.0分享网站图标集设计下载.

令人感动的PS

- -_- - YesKafei Daily
Reddit.com是一个网络分享网站,“好”与“垃圾”的投票让更有价值或更受大众喜欢的网络资源显示在前页,而热衷评论的用户更让一个非原创内容网站有了生命、创造性和原创. 三天前,bbilbay这个ID在Reddit上传了一张照片(图片左边),标题是“这是我的女儿和被确诊患上白血病的她的最好的朋友,你们可以将背景PS的漂亮些或有趣些么.

英国暴乱,PS图集[30p]

- 麦个憋 - 煎蛋
伦敦骚乱不断升级,而有闲人士也把目光放到了Photoshop上,“Photoshop Looter”这个网站就开始收集各种打砸抢烧的PS图,至于有没有笑点嘛,这就请读者们自取了. 如果你也有关于这次暴乱的PS作品,还能发邮件给该站去投稿哦,邮箱就是[email protected].

PS教程–制作Disco海报

- shallwelin - 译言-每日精品译文推荐
来源Creating an Impactful Disco Party Poster. 在这个教程里面我们将学到如何合成一张海报. 让我们先看看作者都干了些什么:. 用渐变和颜色叠加做了一幅背景. 在背景上添加了几个类似CD碟片的圆环,以及放射状的线条、彩色的烟雾和水花,欢呼的人群,添加了音响作为前景.

索尼公布PS Vita规格

- Johnny - Solidot
索尼公布了次世代掌机PS Vita的硬件规格.

PS制作逼真纸飞机教程

- yasy - PS教程网,专业的PS教程网
很久没写教程了,亲们,想我了吧. 今天给大家带来个小教程,做个纸飞机. 本来在这个教程中我想加入透视的讲解,后面想了下太麻烦了,大家就学下效果吧. 新建一个600X400px的画布,然后拉个径向渐变,中间色为:#bbd1f8,旁边为:#6a91c7. 使用钢笔工具勾出一个矩形来,填充白色. 在用同样的方法在画一个,也是纯白.