AR-Net网络(图像篡改检测)

AR-Net网络

  • 摘要
  • Abstract
  • AR-Net
  • 1. 文献摘要
  • 2. 研究背景
  • 3. 创新点
  • 4. AR-Net 网络架构
  • 5. 实验
  • 6. 结论
  • 总结

摘要

AR-Net使用自适应注意力机制来融合位置和通道维度的特征,使网络能够充分利用不同维度的被篡改特征,此外,AR-Net 改进了预测掩模,并在 像素级别定位了被篡改的区域和相应的真实区域,在 CASIAII、COVERAGE 和 CoMoFoD 数据集上进行评估的大量实验表明,AR-Net 的性能优于最先进的算法,并且可以在像素级别定位被篡改的区域和相应的真实区域。本文将详细分析AR-Net网络架构

Abstract

AR-Net uses an adaptive attention mechanism to fuse features in the position and channel dimensions, allowing the network to fully utilize tampered features in different dimensions, in addition, AR-Net improves the prediction mask and localizes tampered regions and corresponding true regions at the pixel level, extensive experiments evaluated on the CASIAII, COVERAGE and CoMoFoD datasets show that AR-Net outperforms state-of-the-art algorithms and can localize tampered regions and corresponding real regions at the pixel level. In this paper, we analyze the AR-Net network architecture in detail

AR-Net

文献来源:AR-Net: Adaptive Attention and Residual
Refinement Network for Copy-Move
Forgery Detection

1. 文献摘要

在复制移动伪造中,篡改区域和真实区域的照明和对比度高度一致,本文提出了一种基于自适应注意力和残差细化网络(AR-Net)的端到端神经网络。具体来说,位置和通道注意力特征通过自适应注意力机制融合,以充分捕获上下文信息并丰富特征的表示。其次,采用深度匹配来计算特征图之间的自相关性,并且多孔空间金字塔池化融合缩放的相关图以生成粗掩模。最后,通过残差细化模块对粗掩模进行优化,保留了对象边界的结构。在 CASIAII、COVERAGE 和 CoMoFoD 数据集上进行评估的大量实验表明,AR-Net 的性能优于最先进的算法,并且可以在像素级别定位被篡改的区域和相应的真实区域。此外,AR-Net 对噪声、模糊和 JPEG 重新压缩等后处理操作具有很高的鲁棒性。

2. 研究背景

随着图像编辑工具的快速发展,可以很容易地修改数字图像,从而达到一定程度的真实感。因此,应保护数字图像的真实性和完整性,避免误导性更改、欺诈和版权纠纷。复制移动是图像伪造中最常见的操作,它可以在同一图像中隐藏或添加有意义的对象,复制移动的痕迹也被噪声、模糊、旋转和压缩等隐藏,这使得识别它成为一项非常具有挑战性的任务。

传统的复制移动伪造检测(CMFD)算法可以分为两类:基于重叠块和基于关键点。 基于重叠块计算复杂度高且对几何变换无效。基于关键点的算法提取鲁棒的关键点特征并通过相似性匹配定位篡改区域,对几何变换具有更好的鲁棒性,但是当篡改区域光滑时会失败。

堆叠式自动编码器(SAE) 首先用于执行拼接伪造检测,它学习了每个块的复杂上下文特征,但像素精度较差,环形残差U-Net(RRU-Net) 更好地利用了上下文空间信息,解决了拼接伪造检测的梯度退化问题。

由于CNN很容易发现篡改痕迹。虽然复制移动伪造中源区域和目标区域源自同一图像,但照明和对比度将高度一致,这对基于CNN的CMFD造成更大的挑战。应用 CNN和长短期记忆(LSTM)提取空间特征,对 Detection and localiza-tion of image forgeries using resampling features and deep learning(使用重采样特征和深度学习检测和定位图像伪造) 论文中的特征进行重采样。

在CVPR2018中提出了基于RGB和噪声的双流网络。双流由双线性池层融合,该层在像素级定位因拼接、复制移动和删除而篡改的区域。

BusterNet 是第一个基于 CNN 的专门用于复制移动伪造的框架,其中融合操作和相似性分支来对源和目标篡改区域进行分类和定位,但它不利于检测小的篡改区域。

3. 创新点

CMFD通常指的是"Convolutional Mixture Density
Network",即卷积混合密度网络。这是一种神经网络模型,结合了卷积神经网络(CNN)和混合密度网络(MDN)的特点,用于处理具有多模态输出的回归问题。
在传统的回归问题中,我们通常希望模型输出一个确定的数值作为预测结果。但在某些情况下,输出可能是多个不同的模态(或者说是多个可能的值),例如在生成任务中或者处理不确定性较大的数据时。这时候,传统的回归模型可能无法很好地处理这种多模态输出的情况。

大多数方法在 CMFD 任务中仍然存在缺陷,整体像素之间的相互关系没有很好地建模,并且上下文信息在 BusterNet 中丢失。因此在本文中,作者提出了一种基于自适应注意力和残差细化网络的端到端网络(AR-Net),输入后可以直接得到预测掩模。

  1. 作者提出了一种新颖的 自适应注意机制 来提取所表示的篡改特征,可以将其添加到任何伪造检测框架中 以提高篡改位置的准确性。
  2. 作者使用 残差细化模块来优化预测边界 ,从而实现了完整的篡改对象。

通过结合上述两个模块,提出了一种新颖的CMFD网络。实验证明,AR-Net 可以有效检测被篡改的区域和相应的真实区域,并且对于常见的后处理操作非常鲁棒。CCNet 使用交叉注意力来减少参数数量,然而,这些算法仅在单一维度上使用注意力机制,忽略了其他维度的信息。 DANet 虽然采用了多维度的自注意力机制,但它只是简单地融合了多特征,很容易受到单维度特征的影响。

作者利用自注意力机制获得位置和通道维度的注意力图,通过自适应融合方法将它们融合以获得更适合篡改区域检测的注意力图。大多数研究人员都专注于可靠的篡改特征表示,而没有考虑分割图的细化。在本文中,作者提出添加残差细化模块来细化预测的粗掩模,这使得最终掩模保留了对象边界的结构,并提高了篡改区域的准确性。

4. AR-Net 网络架构

作者提出的 AR-Net 在像素级别定位同一图像中的被篡改区域和相应的真实区域。如下图所示,
在这里插入图片描述
AR-Net 中有两个主要模块——检测模块和残差细化模块。检测模块由两个主要部分组成:具有自适应注意力的特征提取网络,以及通过自相关和通过空洞空间金字塔池化(ASPP)融合进行的深度匹配。

池化层可以减少网络参数的数量,但会降低空间分辨率。为了丰富深层特征的空间信息并生成高分辨率特征图,我们在第四个卷积层之后采用扩展率为“2”的空洞卷积。

空洞卷积(Dilated Convolution),也称为膨胀卷积,是一种卷积神经网络中的特殊卷积操作,通过在卷积核中引入间隔(或称为膨胀率)来增大感受野,而不改变参数数量的情况下,增加输出特征图的尺寸。空洞卷积可以有效地捕获输入特征图中更大范围的上下文信息,有助于提升网络对于全局信息的理解能力,从而提升模型的性能。

然后利用自适应注意模块来提取全局特征,如下图所示。作者在位置和通道维度中使用自适应注意机制来捕获全局像素的长程依赖性,突出显示被篡改区域和真实区域之间的差异。在这里插入图片描述
其中 E P = α ( V ∗ A ) + X E_{P}=\alpha(V*A)+X EP=α(VA)+X E C = α ′ ( V ′ ∗ A ′ ) + X E_{C}=\alpha'(V'*A')+X EC=α(VA)+X E = γ ∗ E P + θ ∗ E C E=\gamma*E_P+\theta*E_C E=γEP+θEC,其中γ和θ是两个自适应参数,由标准高斯分布初始化,在训练过程中不断学习。

该图为自适应注意模块,其中包含(a)位置注意模块、(b)通道注意模块和自适应融合,X是VGG16的最后三个卷积输出,E是自适应注意模块之后的特征图。作者使用多个自适应注意力模块。具体来说,VGG16 的最后三个卷积输出被发送到三个自适应注意模块中。特征图由第 k 个卷积块通过自适应注意力模块 E k ∈ R C × H × W E_k ∈ R^{C×H×W} EkRC×H×W, k ∈{3, 4, 5} 获得。由于主干网络为VGG16网络,因此第一个自适应注意力模块 E 3 E^{3} E3的通道为256个,其余两个通道 E 4 E^4 E4 E 5 E^5 E5为512个,如下图所示。在这里插入图片描述
由于被篡改的区域是从相应的真实区域复制而来的,因此它们之间的相似度远高于被篡改的区域和其他真实区域。

作者使用深度匹配来定位相似区域。 E 3 E^3 E3 E 4 E^4 E4 E 5 E^5 E5 在其中找到匹配补丁的特征图,第m个patch的特征图 E m k E^{k}_{m} Emk 和第n个patch的特征图 E n k E^{k}_{n} Enk 之间的相似度得分 s m , n k s^{k}_{m,n} sm,nk 计算为 s m , n k = ( E m k ) T ( E n k ) s^{k}_{m,n}=(E^{k}_{m})^{T}(E^{k}_{n}) sm,nk=(Emk)T(Enk)为了抑制不相关的信息,我们使用降序排列的池化来选择与前 T T T 个分数对应的索引作为 i n d k ( T ) ind_k(T) indk(T)在这里插入图片描述
其中Top_T_index(·)表示选择 t o p − T top-T topT 值的索引的函数, S k S^k Sk是特征图 E k E^k Ek的相似度得分。在我们的网络中,由于空洞卷积,特征图 E 3 、 E 4 、 E 5 E^3、E^4 、E^5 E3E4E5 具有相同的维度,但通道数不同,深度匹配后,得到匹配特征图 E f i n a l E_{final} Efinal在这里插入图片描述
如下图所示,残差细化模块主要由输入层、下采样层、桥接层、上采样层和输出层组成,输入阶段有 64 个大小为 3 × 3 的滤波器,后面是批量归一化和 ReLU 函数。,桥接阶段还具有一个卷积层,其中包含 64 个大小为 3 × 3 的滤波器,然后是批量归一化和 ReLU 函数,下采样使用平均池化,上采样使用双线性插值,同时,引入了跳层连接,其中上采样后的特征图被添加到相应输入阶段的特征图。,最后,经过一个带有sigmoid激活函数的卷积层,得到最终的细化掩模。在这里插入图片描述
在训练检测模块时,使用空间交叉熵损失函数来最小化网络中的最优参数集,在训练残差模块时,由于BCE损失只考虑每个像素孤立的情况,没有考虑每个像素与相邻像素之间的关系,BCE损失对篡改区域和真实区域边界处的像素一视同仁,无法突出篡改区域和真实区域之间的差异。为了保留更多的结构信息并突出篡改区域的边界,我们使用混合损失函数 l r e f l_{ref} lref 定义为在这里插入图片描述
其中 l b c e l_{bce} lbce l s s i m l_{ssim} lssim l i o u l_{iou} liou分别代表BCE损失、结构相似性(SSIM)损失和交并集(IoU)损失。

SSIM损失可以捕获结构信息并考虑每个像素的局部邻域,这是块级别的度量,通过SSIM损失,残差细化网络可以更加关注被篡改区域的边界,并在训练时为边界分配更多的权重。

IoU 损失通常用于评估对象检测和分割,通常被用于训练阶段

5. 实验

作者使用 CASIAII、COVERAGE 和 CoMoFoD——三个标准的复制-移动伪造数据集。数据集如下表:
在这里插入图片描述
为了加快模型收敛速度并为训练提供有效的初始化参数方案,将训练数据集调整为256×256,初始化参数由DMAC提供。训练分两个阶段进行:检测模块训练和细化模块训练。两个阶段训练损失的可视化如下图所示。在DMAC和Adadelta优化器预训练初始化参数的帮助下,lbce1在多次迭代中收敛,lbce2、lssim和liou在训练细化模块时很快收敛到最优值,因为细化模块的参数小于整个网络的10%。
在这里插入图片描述
为了在像素级别评估框架,作者使用Precision、Recall和F1作为评估标准,它们是测试数据的平均值,计算公式如下:

在这里插入图片描述
其中TP表示预测为被篡改的被篡改像素数,FP表示预测为被篡改的真实像素数,FN表示被篡改的像素数,实际操作中,当概率值大于 0.3 时,我们将像素标记为被篡改。

准确率、召回率和F1如下表所示,随着位置注意力、渠道注意力和简单整合注意力的导入,F1分别上涨4.82%、5.18%和5.84%。此外,加入残差细化模块后,AR-Net的F1提高了2.13%,可以验证细化模块有效缓解了“Base-Ada-Atten”网络的像素边界预测不准确的问题,提高了网络的整体性能。
在这里插入图片描述

6. 结论

本文提出了一种基于自适应注意力机制和残差细化的端到端CMFD网络。 ,AR-Net使用 自适应注意力机制来融合位置和通道维度的特征,使网络能够充分利用不同维度的被篡改特征,此外,AR-Net 改进了预测掩模,并在 像素级别 定位了被篡改的区域和相应的真实区域,实验表明了自适应注意力模块和 CASIAII、COVERAGE 和 CoMoFoD 数据集上的残差细化的有效性,与其他最先进的 CMFD 方法相比,AR-Net 可以准确定位被篡改的区域,并且对噪声、模糊和 JPEG 重新压缩等后处理具有鲁棒性。但是,AR-Net 是单流,没有利用多种模式的信息

总结

本周学习了AR-Net网络,作者提出了一种新颖的自适应注意机制来提取所表示的篡改特征,可以将其添加到任何伪造检测框架中以提高篡改位置的准确性。同时使用残差细化模块来优化预测边界,从而实现了完整的篡改对象。通过学习AR-Net网络,使我初步了解了图像篡改检测方向,下周我会继续努力。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Web and HTTP,HTTP概况,HTTP连接,持久HTTP,用户-服务器状态:cookie】

文章目录 Web and HTTPHTTP概况HTTP:超文本传输协议使用TCP:HTTP是无状态的 HTTP连接非持久HTTP持久HTTP响应时间模型 持久HTTP非持久HTTP的缺点:持久HTTP提交表单输入 用户-服务器状态:cookie Web and HTTP Web页:由一些对象组成…

智慧校园管理系统

一、项目介绍 1.1 项目简介 智慧校园管理系统:主要是以年级、班级为单位,进行老师和学生信息记录和统计功能。项目采用前后端分离架构思想,前端采用HTMLCSSVUE来实现页面效果展示,后端采用SpringBootMybatisPlus框架实现数据存储…

v3-admin-vite 改造自动路由,view页面自解释Meta

需求 v3-admin-vite是一款不错的后端管理模板,主要是pany一直都在维护,最近将后台管理也进行了升级,顺便完成一直没时间解决的小痛痒: 在不使用后端动态管理的情况下。我不希望单独维护一份路由定义,我希望页面是自解…

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题

鸿蒙手机cordova-plugin-camera不能拍照和图片不显示问题 一、运行环境 1、硬件 手机型号:NOVA 7 系统:HarmonyOS版本 4.0.0 2、软件 android SDK platforms:14.0(API Level 34)、13.0(API Level 33) SDK Build-T…

【踩坑】荣耀系统Android8.0 system目录Read-only file system

本来以为直接把Charles证书改成系统证书格式,然后通过mt管理器root之后移动到系统证书目录就行了,结果访问baidu仍然显示网络错误,折腾一晚上。后来直接安装为用户证书,与系统证书冲突。 手机型号:荣耀v10 EMUI&…

win10 安装kubectl,配置config连接k8s集群

安装kubectl 按照官方文档安装:https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/ curl安装 (1)下载curl安装压缩包: curl for Windows (2)配置环境变量: 用户变量: Path变…

牛客NC92 最长公共子序列(二)【中等 动态规划 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/6d29638c85bb4ffd80c020fe244baf11 思路 https://blog.csdn.net/qq_36544411/article/details/120021203 思路 动态规划法, 我们以dp[i][j]表示在s1中以第i个元素结尾,s2中以第j个元素结…

CCF-CSP26<2022-06>-第1/2/3题

202206-1 归一化处理 题目&#xff1a;202206-1 题目分析&#xff1a; 给出了数学上归一化的数学公式&#xff0c;直接按照要求完成即可。 AC代码&#xff1a; #include <bits/stdc.h> using namespace std; int main() {int n;cin >> n;double a[n];double s…

开关恒流源简介

目录 工作原理 设计要点 应用场景 初步想法&#xff0c;为参加活动先占贴&#xff08;带家人出去玩没时间搞~~&#xff09;&#xff0c;后面优化 开关恒流源是一种基于开关电源技术的恒流输出电源设备。它采用开关管进行高速的开关动作&#xff0c;通过控制开关管的导通和截…

【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统概述

系列文章目录 【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 文章目录 系列文章目录[TOC](文章目录) 前言一、Linux 概述1.1、GNU 与自由软件1.2、Linux是什么1.3、Linux 特色1.4、Linux的优缺点1.4.1、Linux 优点1.4.2、Linux 缺点 二、虚拟机介绍2.1…

数据结构与算法 顺序栈的基本运算

一、实验内容 编写一个程序sqstack.cpp&#xff0c;实现顺序栈的各种基本运算&#xff0c;并在此基础上写一个程序exp6.cpp,实现以下功能 初始化栈s判断栈是否为空依次进栈元素a,b,c,d,e判断栈是否为空输出出栈序列判断栈是否为空释放栈 二、实验步骤 1、sqstack.cpp 2、ex…

6.5物联网RK3399项目开发实录-驱动开发之LCD显示屏使用(wulianjishu666)

90款行业常用传感器单片机程序及资料【stm32,stc89c52,arduino适用】 链接&#xff1a;https://pan.baidu.com/s/1M3u8lcznKuXfN8NRoLYtTA?pwdc53f LCD使用 简介 AIO-3399J开发板外置了两个LCD屏接口&#xff0c;一个是EDP&#xff0c;一个是LVDS&#xff0c;接口对应板…

go: go.mod file not found in current directory or any parent directory.如何解决?

这个错误表明你正在执行 go get 命令&#xff0c;但是当前目录或任何父目录中都找不到 go.mod 文件。这可能是因为你的项目还没有使用 Go Modules 进行管理。 要解决这个问题&#xff0c;有几种方法&#xff1a; go mod init <module-name> 其中 <module-name>…

CentOS系统下Docker的安装教程

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

oracle+110个常用函数

ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2. CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr…

C语言-malloc(申请函数)free(释放函数)

malloc和free的语法格式 malloc 函数是 C 语言标准库中的一个重要函数&#xff0c;用于动态分配内存。其语法如下&#xff1a; void *malloc(size_t size);这里的 void * 表示返回的是一个 void 类型的指针&#xff0c;实际上这个指针指向的是一个 char 类型的内存块。size_t …

R语言决策树(1)

数据集heart_learning.csv与heart_test.csv是关于心脏病的数据集&#xff0c;heart_learning.csv是训练数据集&#xff0c;heart_test.csv是测试数据集。要求&#xff1a;target和target2为因变量&#xff0c;其他诸变量为自变量。用决策树模型对target和target2做预测&#xf…

机器学习—— PU-Learning算法

机器学习—— PU-Learning算法 本篇博客将介绍PU-Learning算法的基本概念、基本流程、基本方法&#xff0c;并简单探讨Two-step PU Learning算法和无偏PU Learning算法的具体流程。最后&#xff0c;将通过Python代码实现一个简单的PU-Learning示例&#xff0c;以便更好地理解这…

事务传播行为Propagation

目录 背景Propagation测试程序1测试程序2分析 背景 前段时间&#xff0c;某个项目在部署时&#xff0c;被公司的一个检测拦截了&#xff0c;提示报错如下&#xff1a; Your code exists Method or Class with Transactional annotation that not use Propagation.REQUIRED.有…

npm镜像源证书过期问题解决

title: npm镜像源证书过期 search: 2024-02-29 文章目录 Failed to check for updates 问题ERR_PNPM_NO_PKG_MANIFESTnpm缓存清除指令权限不足导致删除不了解决方案npm创建基础配资文件 Failed to check for updates 问题 错误描述如上 检查完 node,vue,npm 的版本后都没啥问…