Fighting Fake News: Image Splice Detection via Learned Self-Consistency
一、简介
论文使用了一种无监督自学习的训练方法,基于图片的EXIF元数据作为监督信号进行学习训练,整个工作中最重要的就是实现对于一堆patch块之间的EXIF元数据信息的提取与比较,判断是否来自同一张图。
二、主要贡献
- 将图像取证视为一个检测学习自一致性的违规的问题(即篡改图像与原图信息不一致)
- 提出EXIF元数据作为学习自一致性的监督信号
- 将这种自一致性检测用于伪造检测和定位拼接
三、主要流程
通过预测一对图像补丁是否彼此一致来进行工作,给定两块补丁,估计其对应n个元数据中每个元数据相同的概率,在此基础上估计补丁整体的一致性,一致性分数高则代表两块补丁有极高概率来自同一张图像
预测EXIF属性一致性
使用 Siamese network来预测一堆patch对于每个元数据属性共享共同值的概率,patch大小为128x128(简单来说网络有两个输入,最后会输出一个80x1的向量,80是因为考虑了80个EXIF属性用作图像取证。该向量的每个元素代表着两个patch在该元素上的相似度)。使用了共享的ResNet-50网络,子网产生4096维的特征向量,通过4096、2048、1024个单位的四层MLP进行连接和传递,最终输出层是一个80维的向量,整个网络预测了n个元数据属性中每一个图像共享相同值的概率。
后处理的一致性
一般图像处理除开基础操作以外,还会进行调整拼接区域大小,平滑边缘伪影,jpeg压缩等方式使最终图像肉眼看起来合适,所以论文作者也考虑了这种情况,设计了三种增强操作:重新jpeg压缩、高斯模糊、图像调整大小。在训练的整个阶段,一半时间对两个patch进行相同的操作,一半时间进行不同操作,操作参数是从一组离散数字中随机选择的。所以引入了三个分类任务来完成这一需求,预测两个patch块是否接受了相同参数的增强,所以最后的输出是一个83维的向量。
结合一致性预测
当得到上述83维的向量之后,需要对补丁的总体进行一致性评估,故可以考虑下述方法
考虑将一对补丁i和j的EXIF一致性预测的83维向量x,估计补丁整体一致性维
c
i
,
j
=
p
θ
(
y
∣
x
)
c_{i,j}=p_\theta(y|x)
ci,j=pθ(y∣x),其中
p
θ
p_\theta
pθ是一个具有512个隐藏单元的双层MLP,训练网络来预测i和j是否来自同一张图像,y=1表示他们相同,y=0表示不同,这里便是一个简单的二元分类问题
直接预测图像一致性
方法比上述方法简单,但需要大量的数据进行训练,实现不易,不详述
从补丁的一致性到整张图片的一致性
给定一张图像,进行若干patch的划分。给定一个patch,可以可视化其与其他patch之间的一致性对应的响应图,并且对重叠板块进行平均。如果存在拼接,则未篡改的部分与篡改部分具有低一致性。
在所有补丁中使用mean shift进行搜索,找到最一致的模式作为最后输出。
四、结论
- 在常规拼接图的处理下有着良好性能,但不能应对copy-move,因为复制的区域和原图来自同一张图片,具有相同的EXIF信息
- 不能识别到小的篡改,因为模型的patch块选择较大,容易跳过拼接区域
- 过度曝光和曝光不足导致画面过白过黑,元数据信号缺乏无法检测
最后代码实现附上github地址:github