提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@图像篡改入门02 利用空间结构篡改定位

图像篡改被动取证 利用图像空间结构进行篡改定位

使用一个CNN-LSTM的网络模型捕获篡改边界特征

J. H. Bappy, A. K. Roy-Chowdhury, J. Bunk, L. Nataraj and B. S. Manjunath, “Exploiting Spatial Structure for Localizing Manipulated Image Regions,” 2017 IEEE International Conference on Computer Vision (ICCV), 2017, pp. 4980-4989, doi: 10.1109/ICCV.2017.532.


主要贡献

高科技日志工具的出现促进的对图像的处理操作,也促进了对图像篡改的检测方法。在图像篡改中,篡改区域的定位是一个重点问题。该文通过一个CNN-LSTM的混合网络来捕获篡改区域和未篡改区域的特征,从而进行篡改区域的定位以及检测。对网络使用端到端训练,在给定篡改区域掩码的条件下,通过BP学习参数。最后在三个不同数据集==(NIST、Forensic、Coverage)==上实验,实现对篡改图像空间块和像素级别的分类。


相关工作

  • 检测数字图像重采样:有学者通过变换后图像二阶导数插值的周期性检测图像。为了检测JEPG压缩图像的重采样,作者在检测之前就添加了噪声,并且说明噪声有助于重采样。也有由归一化的能量密度导出特征然后SVM对图像检测。
  • 为了检测复制移动篡改,可以使用距离度量来确定块。将块划分为多个语义独立的patch,然后在patch之间进行关键点匹配。
  • 利用视觉伪影的图像拼接检测技术:有学者提出一种基于SPT和LBP的图像篡改检测方法,讨论了图像中缺失或者受损区域的恢复过程。

简要介绍

  • 当前大多数的方法都集中在检测图像是否被处理上,关于图像篡改定位的方法比较少,已经存在对图像块进行分类来解决图像篡改方法。本文提出的框架不仅可以从图像块的级别还可以从像素级别进行定位操作。
  • 图像取证的方法中大多数利用图像的频域特性或统计特性。如DWT、SVD、PCA、DCT。近年来深度学习在目标检测、场景分类、语义分割中都有良好的性能。经过良好处理的图像不会出现改变的视觉效果,与真实图像极其相似,这种情况下CNN检测的效果不佳。

框架概述

图像处理当中复制粘贴和移除拼接类型是非常常见的并且难以判别。但是研究发现经过篡改的区域边界性比较与未篡改的区域边界更为平滑。

  • 给定图像,通过滑动窗口提取图像块;输入框架后生成一个块标签和像素级别的分类掩码输出。
  • 整体框架由5个卷积层和3个堆叠的LTSM结构组成,前面的2层卷积层负责学习底层特征,如边缘和纹理,之后输出一个二维特征图,分成88块,输入到LTSM网络中。LTSM网络用来建模相邻像素之间的空间关系,因为篡改会破坏该区域的自然统计数据(natural statistics)。88块按序分给3个LTSM堆叠网络,产生块之间的联系特征。最后通过softmax分类器对块进行分类,并传递给后面的3层卷积层。
  • 在LTSM网络后面使用3个卷积层来获得每个像素的置信度得分的2D图。通过篡改区域的掩码标签进行端到端训练每个像素,通过计算在patch分类层和像素分割层的联合损失,通过BP最小化损失。

卷积层

  • 输入:patch;有RGB值;尺寸64643;卷积核55D(D表示卷深度,不同层D值不同);激活函数:RELU
  • 第一层卷积输出16个特征映射,在第二层进行组合;第二层输出二维特征图分成8块进入LTSM网络。记Fc2.
  • 只在第三层卷积层最大池化,目的是防止信息丢失。
  • 最后使用两层完全卷积层进行像素分类,并且不进行上采样操作防止失真,最后得到64*64的2D置信度图。

LTSM网络

  • LTSM网络用来建模相邻像素之间的空间关系,因为篡改会破坏该区域的自然统计数据(natural statistics)。88块按序分给3个LTSM堆叠网络,产生块之间的联系特征。每层64个单元,最后一层每个LTSM提供256维度的向量转换成1616的块,连接所有块形成2d特征图。最后通过softmax分类器对块进行分类,并传递给后面的3层卷积层。

网络训练

  • 网络中一共两个sotfmax层分别进行块和像素级别的分类任务。
  • 损失函数
    • 对patch的分类使用交叉熵损失,
    • 对像素分割的交叉熵损失
    • 联合损失(通过Adam最小化损失)

实验过程

分别在NIST、IEEE Forensics Challenge 、COVERAGE数据集上进行实验。实验过程中,数据集随机划分为训练集(65%)、测试集(25%)、验证集(10%)。为了增强篡改patch,首先会在篡改区域掩膜上使用轮廓逼近获得边界框,以其为中心扩大。使得LTSM能够学习边界差异。通过真实篡改掩膜和预测区域的交集比率IoU,以12.5%为阈值,含有超过该比率的篡改像素则认为该图像块为篡改块。

特殊机制

通过提前预测的patch标签可以减少最后像素分割的假正元素,因为在一个高置信度的未篡改图像块中,很少有元素是假正的,所以可以从结果中移除他们。

实验环境

Tensorflow、 两个NVDIA Tesla K80

实验中的对比网络以及对比内容

S表示像素分割
P表示patch分类

联合学习

不同层次和不同大小特征图



通过减少卷积层的映射数量,得到更好的效果,这是因为通过操作(复制、移除)的图像不会留下视觉线索。

不同IoU阈值的影响


尽管较高的IoU可以提高patch的检测正确率,但是会降低像素分割任务的准确率。上表是网络模型在NIST数据集的结果。

ROC曲线和定性分析


实验效果展示


图像篡改入门02 利用空间结构篡改定位相关推荐

  1. 图像内复制粘贴篡改取证matlab_[论文笔记] 篡改检测:RGB-N

    [论文笔记] Learning Rich Features for Image Manipulation Detection 说在前面 个人心得: 第一次关注篡改检测,最常见的篡改方式是拼接.复制移动 ...

  2. CSS3基础入门02

    目录 CSS3 基础入门02 边框相关属性 border-radius border-image box-shadow CSS3 弹性盒子模型 什么是弹性盒子模型 新旧版本的弹性盒子 相关概念 弹性容 ...

  3. 推荐系统实践读书笔记-02利用用户行为数据

    推荐系统实践读书笔记-02利用用户行为数据 为了让推荐结果符合用户口味,我们需要深入了解用户.如何才能了解一个人呢?<论语·公冶长>中说"听其言,观其行",也就是说可以 ...

  4. Canvas入门-利用Canvas绘制好玩的电子时钟

    在这之前 你需要了解一下方法的使用: beginPath() closePath() moveTo() lineTo() fill() stroke() fillRect() clearRect() ...

  5. css 高度塌陷_HTML+CSS入门 HTML高度塌陷以及定位详解

    本篇教程介绍了HTML+CSS入门 HTML高度塌陷以及定位详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 高度塌陷的含义: 父元素的高度,默认被子元素撑开,目前来讲 ...

  6. IOS基础之UIDynamicAnimator动力学入门-02

    IOS基础之UIDynamicAnimator动力学入门-02 10-弹性附着 // // ViewController.m // 10-弹性附着 // // Created by 鲁军 on 202 ...

  7. 【网络爬虫入门02】HTTP客户端库Requests的基本原理与基础应用

    [网络爬虫入门02]HTTP客户端库Requests的基本原理与基础应用 广东职业技术学院  欧浩源 2017-10-15  1.引言 实现网络爬虫的第一步就是要建立网络连接并向服务器或网页等网络资源 ...

  8. java编程菜鸟入门02

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: java编程菜鸟入门01 java编程菜鸟入门02 ...

  9. 服务器网页篡改,网站服务器网页防篡改系统

    网页防篡改系统设计理念 网页防篡改系统在站点采用了两种防范方法,实现对静态区域文件和动态区域文件的保护.动态区域文件保护主要是在站点架设Web防火墙,通过设定关键字.IP.时间过滤规则,对扫描,非法访 ...

最新文章

  1. java 网络编程简单聊天_网络编程之 TCP 实现简单聊天
  2. JAVA中深拷贝与浅拷贝(在网上找到的) 希望对于理解深拷贝与浅拷贝有帮助...
  3. 大剑无锋之面试问到了Kafka???【面试推荐】
  4. Tomcate服务器的基本知识概括总结及安装目录概括
  5. win7注册表无法修改计算机名称,Win7旗舰版
  6. 二叉树的前中后层遍历
  7. Skype for Business Server 2015-12-WAP-发布-1-前端服务器-OWAS01
  8. windows server 2008 NLB 集群
  9. MQTT客户端程序的编写
  10. 用游戏编辑器制作MOD脱颖而出
  11. EagleEye的特性分析
  12. 网络安全——Cobaltstrike
  13. 蝴蝶效应---。。。
  14. 无线路由器打印机服务器设置,newifi新路由打印机服务器设置全教程
  15. 长在火山熔岩石板地上的大米
  16. 上市公司注册城市、上市日期、成立日期以及行业和注册资本信息
  17. Django实训:图书信息管理系统
  18. 使用for循环加if-else实现两个数最小公倍数和最大公约数的计算
  19. 我总是那么傻,爱的那么真,最后伤了自己:情感日志
  20. 基于GAN的小目标检测算法总结(1)——Perpetual GAN

热门文章

  1. Ubuntu 16.04安装网络流量监控工具Netspeed(附带10款最佳的指示器工具)
  2. 学 C 语言,最经典的书有这样几本
  3. android 查看UID
  4. 惠普成长史:没有惠普,就没有蓬勃发展的硅谷
  5. [P1919 【模板】A*B Problem升级版(FFT快速傅里叶)(高精乘板子,FFT板子)
  6. mw320r虚拟服务器,水星MW320R路由器桥接设置教程-水星路由器设置
  7. android app 短信接收,Android创建简单发送和接收短信应用
  8. 计算机WORD函数求乘积,Word表格函数运用:加减乘除、求和、求积超简单,大神都不一定会!...
  9. android 获取全国地址,Android获取所有国家列表
  10. 【呆瓜学maven】Maven介绍(创建工程项目以及下载所需要的jar包)