论文笔记(图像篡改检测_CVPRW2019)(二):RRU-Net: The Ringed Residual U-Net for Image Splicing Forgery Detection

本文主要是介绍论文笔记(图像篡改检测_CVPRW2019)(二):RRU-Net: The Ringed Residual U-Net for Image Splicing Forgery Detection,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址:http://openaccess.thecvf.com/content_CVPRW_2019/html/CV-COPS/Bi_RRU-Net_The_Ringed_Residual_U-Net_for_Image_Splicing_Forgery_Detection_CVPRW_2019_paper.html

论文中,作者提出了一个用于拼接检测的环形残差网络。此网络是一个端到端的image essence attribute segmentation network,没有额外的预处理或后处理操作。这个RRU-Net的核心思想是强化CNN的学习方式。在此网络中包含residual propagation和residual feedback,residual propagation主要用于解决深度网络中梯度退化问题;residual feedback使篡改区域和非篡改区域的差异对比更加明显。

Motivation:

作者认为传统的基于CNN的方法使用image patch作为网络的输入,可能会丢失掉许多上下文信息,这会造成一些错误的预测。当网络的层数加深时,梯度退化问题会出现而且特征之间的可辨别性会变弱,这也使检测更加困难。

针对上述这些问题,作者提出了一个环形残差U-Net。这是一个端到端的图像分割网络,独立于人类视觉系统,可以直接定位篡改区域。更进一步,该网络通过充分利用contextual spatial information可以有效减少误预测。该网络可以有效加强CNN的学习方式并且避免随着网络的加深而出现的梯度退化问题。

How and Why:

之前基于U-net的检测方法,虽然U-net网络各层可以提取出之间一些相对shallow discriminative features,但只有U-net结构两侧的相互作用,仍然不足以充分确定拼接区域。

1.Residual Propagation

image essence attribute之间的差异是拼接检测的基础,而梯度退化现象会对此造成影响,从而使误检率上升。在这里,作者借鉴了Resnet中的shortcut在U-net中引入了这种连接方式,building block如下图所示:

                                              

                                                                       

如上图中,一个block中包含两个卷积层,最后接一个Relu激活函数。是一个线性变换,使前后两项维度相匹配。是通过shortcut连接和逐元素相加实现的。

作者认为这种残差传播过程与人脑的recall机制十分相像。如当一个人学习新知识时可能会忘记之前的旧知识,这时就需要recall机制帮助我们唤起对旧知识的记忆。

2.Residual feedback

作者认为如果可以将篡改区域和非篡改区域之间的差异进一步放大的话,对于拼接检测十分有帮助。在RGN-N一文中,zhou使用SRM来进一步放大差异,但有一个缺点就是:篡改区域和非篡改区域来自相同的brand或model时,由于二者具有相同的noise分布,SRM filter的帮助将非常小。

为了解决这一个问题,作者提出了residual feedback来加强CNN的学习能力,这是一个动态的学习方法,而且不仅仅关注一个或几个特定的图像属性。更进一步,作者设计了一个attention机制,然后将其加在residual feedback上从而更加关注于输入信息中可辨别的特征。在这个attention机制中,作者选择了一个简单的带有sigmoid激活函数的gating mechanism来学习可辨别特征通道之间的非线性关系(同时避免特征扩散),然后将sigmoid的输出与输入信息相加去放大在篡改区域与非篡改区域之间的image essence attributes之间的差异。Residual feedback block的结构如下:

                                                         

                                                                               

G是一个线性映射,用来改变的维度,s表示sigmoid激活函数。

作者认为residual feedback与人脑的consolidation机制有些类似,consolidate我们已经获得的知识时也可以获得新的信息。

作者采用residual feedback放大特征之间的差异也可以看做是对负标签特征的一种抑制;此外这种连接有利于加速模型的收敛。

3.Ringed Residual Structure and Network Architectures

论文提出的RRU-net整体框架图如上。总体来说,环形残残差结构使网络提取出的image essence attribute特征更加明显。

结论 or 下一步:

Pixel level:

Image level:

                                

 

 

这篇关于论文笔记(图像篡改检测_CVPRW2019)(二):RRU-Net: The Ringed Residual U-Net for Image Splicing Forgery Detection的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/317677

相关文章

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

C++ 检测文件大小和文件传输的方法示例详解

《C++检测文件大小和文件传输的方法示例详解》文章介绍了在C/C++中获取文件大小的三种方法,推荐使用stat()函数,并详细说明了如何设计一次性发送压缩包的结构体及传输流程,包含CRC校验和自动解... 目录检测文件的大小✅ 方法一:使用 stat() 函数(推荐)✅ 用法示例:✅ 方法二:使用 fsee