RRU-Net:The Ringed Residual U-Net for Image Splicing Forgery Detection阅读笔记一

news2025/2/1 6:05:56

文章目录

  • 1. Introduction
  • 2. Related Work
  • 3. The Ringed Residual U-Net (RRU-Net)
    • 3.1. Residual Propagation
    • 3.2. Residual Feedback
    • 3.3. Ringed Residual Structure and Network Architectures
  • 4. Evaluation Experiment and Comparative Analysis

1. Introduction

根据现有的拼接伪造检测方法中使用的特征提取方法,主要可以分为两类:基于传统特征提取的检测方法和基于卷积神经网络(CNN)的检测方法。

对于传统的基于特征提取的检测方法,大致可以分为四类:基于图像本质属性(image essence attribute)的检测方法[3,25,34],基于成像设备属性(imaging device attribute)的检测方法[6,8,13,17],基于图像压缩属性(image compression attribute)的检测方法[12,14,30],以及基于哈希技术的检测方法[23,26,29,35]。

这些检测方法一般聚焦于一个指定的图像属性,因此在现实任务上存在以下局限性:

  • a)如果在拼接伪造的过程之后执行一些隐藏过程(如整体模糊操作),基于图像本质属性的检测方法可能会失败;
  • b)如果图像的设备噪声强度较弱,则基于成像设备属性的检测方法可能会失败;
  • c)基于图像压缩属性的检测方法只能检测以JPEG格式保存的图像;
  • d)基于哈希技术的检测方法依赖于原始未篡改图像的哈希,因此不能严格视为盲型伪造检测方法。

2. Related Work


U-Net:U-Net 由 Olaf Ronneberger 等人在2015年[21]提出。U-Net在神经元结构分割方面取得了巨大的成功,其框架是开创性的,因为特征是在层之间传播的。在U-Net中,通过收缩路径(contracting path,连续层,successive layers)捕获上下文信息(context information),对输出特征进行上采样,然后与对称扩展路径传播的高分辨率特征(high-resolution features propagated by a symmetric expanding path)相结合,这减少了细节信息的丢失,并实现了精确定位。因此,一些基于U-Net的图像分割方法[4,10]已经被提出。


事实上,图像拼接伪造检测(image splicing forgery detection)可以看作是一项不同于人类视觉系统的复杂图像分割任务。我们需要在一幅图像中,最多的时候分割出人眼无法分辨的篡改区域。定位篡改区域的唯一方法,依赖于图像本质属性的差异(differences of image essence attributes),可以通过提取区分特征(discriminative features)来发现。虽然 U-Net 可以在网络层之间提取一些相对浅层的区分特征,但 U-Net 结构只有两侧是相互作用的,这不足以确认篡改区域。此外,当网络架构越深时,会出现梯度退化问题[7]。

他说的只有两端是互相作用的,指的应该就是 U-Net 比较特殊的译码—解码的结构。

ResNet: ResNet由何凯明等人提出,[7]在2015年,它在ImageNet match的分类任务中获得冠军。在ResNet中,残差映射定义为Eq.(1)。


3. The Ringed Residual U-Net (RRU-Net)

3.1. Residual Propagation


根据上面的讨论,图像本质属性的差异是检测图像拼接伪造的重要依据,但是当网络架构越深,梯度退化问题就会破坏这个依据。为了解决梯度退化问题,我们在堆叠的每一层中都加入了残差传播。图2显示了一个构建模块(building block),它由两个卷积(dilated convolution [31], dconv)层和残差传播(residual propagation)组成。构建模块的输出定义为:

y f = F ( x , { W i } ) + W s ∗ x (2) y_{f}=F\left(x,\left\{W_{i}\right\}\right)+W_{s} * x\tag{2} yf=F(x,{Wi})+Wsx(2)

其中, x x x y f y_f yf 是构建块的输入和输出, W i W_i Wi 表示第 i i i 层的权重,函数 F ( x , { W i } ) F(x,\{W_i\}) F(x{Wi}) 表示要学习的残差映射。


对于图2中有两个卷积层的例子, F = W 2 σ ( W 1 ∗ x ) F=W_{2} \sigma\left(W_{1} * x\right) F=W2σ(W1x),其中 σ σ σ 表示ReLU[19],为了简化符号,偏差被省略。线性投影 W s W_s Ws 用于改变 x x x 的维度以匹配 F ( x , { W i } ) F\left(x,\left\{W_{i}\right\}\right) F(x,{Wi})。通过快捷连接(shortcut connection)和元素相加来执行操作 F + W s ∗ x F+W_s*x F+Wsx

short connection 就是指的是网络这种连接结构,元素相加指的是具体实际的数值操作。卷积可以被看作是矩阵相乘,但是为什么两个卷积层可以理解为是一个非线性函数。

残差传播看起来像人类大脑的回忆机制。当我们学习到更多的新知识时,可能会忘记以前的知识,所以我们需要回忆机制来帮助我们唤起那些以前的模糊记忆。


在这里插入图片描述

3.2. Residual Feedback


很明显,在拼接伪造检测中,如果能够进一步加强未篡改区域和篡改区域之间的图像本质属性差异,则可以进一步提升检测的性能。在[36]中,所提方法通过将伪造图像通过SRM滤波层来叠加噪声属性,以增强检测结果。SRM滤波层具有一定的效果,但是,它是一种人工选择的方法,只能用于RGB图像的伪造检测。而且,当未篡改区域和篡改区域来自相同品牌和型号的相机时,SRM滤波层的有效性会急剧降低,因为它们具有相同的噪声属性。

为了进一步加强图像本质属性的差异,提出了残差反馈,这是一种自动学习的方法,而不是只关注一个或几个特定的图像属性。进一步地,我们设计了一种简单有效的注意力机制,它利用了Hu等人[9]的思想,然后我们将其添加到残差反馈中,以更加关注输入信息的 discriminative features


在这个注意力机制中,我们选择采用一个简单的带有 sigmoid 激活函数的门控机制(gating mechanism)来学习 a nonlinear interaction between discriminative feature channels避免特征信息的扩散,然后我们将sigmoid激活得到的响应值叠加在输入信息上,以放大未篡改区域和篡改区域之间的图像本质属性差异。构建块中的残差反馈如图3所示,定义为Eq.(3),

y b = ( s ( G ( y f ) ) + 1 ) ∗ x (3) y_{b}=\left(s\left(G\left(y_{f}\right)\right)+1\right) * x\tag{3} yb=(s(G(yf))+1)x(3)

其中, x x x 是输入, y f y_f yf E q . ( 2 ) \mathrm{Eq.(2)} Eq.(2) 中定义的残差传播的输出, y b y_b yb 是增强输入。函数 G G G 是线性投影,用于改变 y f y_f yf 的维度。函数 s s s 是一个sigmoid激活函数。

这里简单的门控机制能够避免特征信息的扩散


与残差传播模拟的回忆机制相比,残差反馈(the residual feedback)似乎充当了人脑的巩固机制(consolidation mechanism),我们需要巩固我们已经学过的知识,获得新的特征理解。残差反馈可以放大输入中未篡改区域和篡改区域之间的图像本质属性差异,如图1 (c) 所示,篡改区域“鹰”通过残差反馈被放大为全局最大响应值。此外,它还具有两个深远的影响:

  • (1)区分特征的加强可以同时被视为对负标签特征的抑制;
  • (2)网络在训练过程中的收敛速度更快。

在这里插入图片描述

3.3. Ringed Residual Structure and Network Architectures


结合残差传播和残差反馈的环形残差结构如图4所示。残差传播就像人脑的回忆机制一样,通过回忆输入的特征信息来解决更深层次网络中的退化问题;残差反馈则巩固输入特征信息,使未篡改区域与篡改区域之间的图像本质属性差异被放大。综上所述,环形残差结构保证了在网络层间提取特征的同时,图像本质属性特征的区分度更加明显,比传统的基于特征提取的检测方法和现有的基于 CNN 的检测方法能够取得更好且稳定的检测性。RRU-Net的网络架构如图5所示,它是一个端到端的图像本质属性分割网络,无需任何预处理和后处理即可直接检测拼接伪造。


在这里插入图片描述


4. Evaluation Experiment and Comparative Analysis


Compared Detection Methods:为了对比所提 RRU-Net 的性能,我们选择了三种基于传统特征提取的检测方法、两种基于 CNN-based detection methods 和两种 semantic segmentation methods,它们是DCT[30]、CFA[5]、NOI[18]、DF-Net [15] C2R-Net[27]、FCN[16]和DeepLab v3[2]。DCT是JPEG DCT系数直方图的一种 inconsistent detection method。在CFA中,颜色滤波器阵列(color
filter array,CFA)插值模式中的干扰被建模为高斯分布的混合,以检测篡改区域。NOI通过小波滤波(wavelet Filtering)提取 local image noise variance modeling 来检测拼接区域。比较的检测方法(DCT、CFA和NOI)主要由Zampoglou、Papadopou-los和Kompatsiaris[32]实现。在我们的实验中,我们选择了这个版本的算法进行估计。C2R-Net和DF-Net使用CNN检测篡改区域,它们使用图像块作为CNN的输入,算法代码由作者提供。DF-Net在CASIA上是低效的,因为这种方法使用64∗64图像块作为输入,而CASIA上的图像较小,所以我们没有在这个数据集上呈现它的结果。


FCN 和 DeepLab v3 是经典的有效的检测方法对于图像语义分割任务,两者都取得了较好的检测性能。此外,我们利用 U-Net 和 residual U-Net (RU-Net)两种检测方法来进一步评估RRU-Net中残差残差结构的有效性。U-Net的实现参照其在[21]中的原始结构,RU-Net的结构去掉了RRU-Net中的残差反馈。


Implementation Detail:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/999917.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang 常用的几种密码加密方式

加密方式 加密有两种方式,一种是直接加密,一种是盐值加密 **直接加密(Plain Hashing)**指的是将原始密码直接进行加密,而不进行任何额外的操作。这种方式可能存在一些安全风险,因为相同的密码在经过加密后…

STM32F4X DMA

STM32F4X DMA 什么是DMASTM32F4X DMADMA框图DMA通道DMA仲裁器DMA FIFO DMA传输模式DMA传输方向存储器到存储器存储器到外设外设到存储器 DMA循环模式和普通模式循环模式(Circular)普通模式(Normal) DMA源、目标寄存器增量模式DMA例…

一文简介,数字时代的数据交易模式

在数字时代,数据作重要的信息和资源,未来获得更高质量的数据资源,数据交易越来越常见,数据也成为企业重要的无形资产。 2022年3月出台的《中共中央、国务院关于加快建设全国统一大市场的意见》强调要加快培育数据要素市场&#xf…

Zabbix登录绕过漏洞复现(CVE-2022-23131)

0x00 前言 最近在复现zabbix的漏洞(CVE-2022-23131),偶然间拿到了国外某公司zabbix服务器。Zabbix Sia Zabbix是拉脱维亚Zabbix SIA(Zabbix Sia)公司的一套开源的监控系统。该系统支持网络监控、服务器监控、云监控和…

Jetpack Compose 1.5 发布:全新 Modifier 系统助力性能提升

不久前 Compose 1.5.0 稳定版发布,在组合的性能方面得到明显改善,这主要归功于对 Modifier API 的持续重构。 Modifier 是 Compose 中的重要概念,为 Composition 中的 LayoutNode 配置各种样式信息以用于后续渲染。在 1.3.0 之前的 Modifier …

Java知识点二

Java知识点二 1、Comparable内部比较器,Comparator外部比较器2、源码结构的区别:1)Comparable接口:2)Comparator接口: 2、Java反射 1、Comparable内部比较器,Comparator外部比较器 我们一般把Comparable叫…

【MySQL】表的增删改查

目录 MySQL表的增删查改 Create 单行数据全列插入 多行数据指定列插入 插入否则更新 替换数据 Retrieve SELECT 列 全列查询 指定列查询 查询字段为表达式 为查询结果指定别名 结果去重 WHERE 条件 查询英语不及格的同学及其英语成绩 查询语文成绩在80到90分的…

【自动化测试】如何在jenkins中搭建allure

相信大家在做自动化测试过程中,都会用到自动化测试环境,目前最常见的就是通过容器化方式部署自动化测试环境,但对于一些测试小白,不是很会搭建持续集成环境,特别是从0-1的过程,需要自行搭建很多依赖环境&am…

完全保密的以太坊交易:Aztec网络的隐私架构

1. 引言 Aztec为隐私优先的以太坊zkRollup:即其为具有完全隐私保护的L2。 为了理解私有交易的范式变化性质,以及为什么将隐私直接构建到网络架构中很重要,必须首先讨论为什么以太坊不是私有的。 2. 以太坊:公有链 以太坊为具有…

设计师常用的8款作图软件推荐

在数字时代,绘图软件已经成为设计师不可缺少的工具。从图形设计到插图,从传统绘图到人工智能绘画,为了实现高效、方便、创意的设计,设计师需要一个强大的绘图软件。本文将介绍8个易于使用的绘图软件,每个软件都具有独特…

ME51N 采购申请屏幕增强仅显示字段

1、业务需求 通过委外工单生成的采购申请,需要将自定义“图号”字段显示在采购申请中,且只用于显示即可 2、增强实现 增强表EBAN的结构CI_EBANDB 增强点CMOD:MEREQ001 出口EXIT_SAPLMEREQ_001 首先在TOP文件中引入全局CI_EBANDB 创建子屏…

动态渲染 echarts 饼图(vue 2 + axios + Springboot)

目录 前言1. 项目搭建1.1. 前端1.2. 后端 2. 后端数据渲染前端2.1 补充1:在 vue 中使用 axios2.2. 补充2:Springboot 处理跨域问题2.3. 修改前端代码2.3.1 修改饼图样式2.3.2 调用后台数据渲染饼图2.3.3 改造成内外两个圈 前言 因为上文中提到的需求就是…

轻松上手Three.js:JavaScript 3D库指南

1.Three.js概述 Three.js是使用JavaScript语言编写的一款运行在浏览器中的3D引擎。与WebGL不同,开发人员在使用Three.js进行开发时,无须掌握高深的图形学知识,只需使用少量JavaScript代码即可创建出一个3D场景。可以说,Three.js的…

恒运资本:小盘股的优点?投资小盘股要注意哪些方面?

股市是一个充溢时机和危险的当地,不同出资者有不同的偏好,有的人喜爱追逐大盘蓝筹股,有的人则钟情于小盘股。那么小盘股的长处?出资小盘股要注意哪些方面?恒运资本也为我们准备了相关内容,以供参考。 小盘股…

vue+springboot+mysql的垃圾分类管理系统

1、引言 设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题。你想要解决的问题&am…

六、Hive数据仓库应用之Hive事务(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

Hive远程模式部署参考: 一、Hive数据仓库应用之Hive部署(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7) 文章目录 一、事务的设计与特点1、事务的特点2、事务的设计3、事务的实现 二、…

【LeetCode刷题笔记】动态规划 — 70.爬楼梯

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

Python不是一种伟大的编程语言?

作为一门简洁易用、生态蓬勃且具有高泛用性的编程语言&#xff0c;Python一直以来都被不少人称作“编程语言中的瑞士军刀”。 尤其随着近来AI热潮席卷全球&#xff0c;Python在编程语言圈中的地位也随之水涨船高&#xff0c;甚至一度被视作AI专用语言或大数据专用语言。 然而…

Netty核心原理:一、基础入门-04:NettyServer字符串解码器

文章目录 一、前言介绍二、代码实现2.1 工程结构2.2 Netty服务端字符串解码器实现2.2.1 服务端处理器2.2.2 通道初始化2.2.3 netty服务端 2.3 单元测试 一、前言介绍 &#x1f4a1; 服务端接收数据后我们希望是一个字符串或者是一个对象类型,而不是字节码。 在 netty 中是否可以…

数据结构与算法基础-学习-33-归并排序

目录 一、基本思想 二、算法思路 1、合并两个有序序列 2、分治法 三、算法源码 1、MergeSortTwoSortData 2、TwoWayMergeSortRecurtionSentryQueue 四、算法效率分析 五、Linux环境编译测试 六、小感慨 排序的其他相关知识点和源码分享可以参考之前的博客&#xff1a…