写在前面
最新在啃这个方向的论文,零零总总找来了有几十篇,目前自己也没看完,下图中上面几行标星号的是自己打算多看几眼的:
这篇博客里会介绍几篇这个方向里做得比较好的几篇论文。
demo工具
如果你对image forensics感兴趣但不了解,想找个demo先看下效果,推荐以下两个链接:
- http://fotoforensics.com/(可展示ELA方法的测试结果)
- https://29a.ch/photo-forensics/#forensic-magnifier (clone detect、ELA等多种方法都有展示)
数据集介绍
在多个论文中出现的几个常见数据集:
- CA- SIA
- COVER
- Columbia dataset
具体论文笔记
- ManTra-Net
- 概述:一个end-to-end网络,前后分为“篡改特征提取-篡改检测定位”两部分。
- 模型结构:在“篡改特征提取”第一阶段,该算法是通过构造一个篡改细分类任务来实现篡改特征的提取任务,具体细分类别数量达到385类,也是目前见到的篡改分类数量最多最细化的了。
- 训练方式:第一阶段的细分类训练过程,不是上来就直接训一个385类分类,而是将这385类进行不同 level的划分,依次分为7, 25, 49, 96, 185, and 385类来训。
- Learning Rich Features for Image Manipulation Detection
- 概述:Adobe公司2018年的文章,具体算法是通过一个双流的faster R-CNN来实现篡改位置检测
- 模型结构:双流的其中一流为RGB流,就是常见的用神经网络对RGB图像特征提取和分析,并且经过一个RPN网络生成proposal框;另一流是noise流,RGB图像经过SRM filter层获得图像的noise feature,再经过神经网络进行处理分析。两个分支对应在proposal上的的特征,通过bilinear-pooling进行融合。
- 训练方式:首先由COCO数据集合成一个42K规模的篡改数据集进行pre-train,然后再在四个现有篡改数据集上进行fine-tune和test;训练loss由三部分组成:LPN的loss、图像篡改分类的cross entropy loss、篡改位置定位的smooth L1 loss。
- Image Splicing Localization Using A Multi-Task Fully Convolutional Network (MFCN)
参考资料
关于图像篡改检测的算法总结(前两个链接已经挂了):
- http://homeway.me/2018/08/05/tamper-detection-an-overview/
- http://homeway.me/2019/05/04/tamper-detection-an-overview-2/
- https://blog.youkuaiyun.com/u010183397/article/details/54799471
- 一篇中文综述 https://zhuanlan.zhihu.com/p/110093560
综述文章
算法笔记
1. ELA and CNN
链接:https://github.com/agusgun/FakeImageDetector/blob/master/fake-image-detection.ipynb
简介:为原始真、假图像经过ELA(error-level analysis)后的结果搭建CNN网络进行分类。
e.g.:一张真图在ELA前后的效果如图:
而一张假图在ELA前后的对比:
对这两张偏黑色的图进行分类
2. Multi-Scale Analysis Strategies in PRNU-Based Tampering Localization
链接:http://kt.agh.edu.pl/~korus/files/7414/8271/2864/2016-tifs-preprint.pdf
代码:https://github.com/pkorus/multiscale-prnu
简介:
3. Detection and Localization of Image Forgeries using Resampling Features and Deep Learning
算法:根据重采样程度是否相同来检测