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

news2024/11/23 13:32:24

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网络,使我初步了解了图像篡改检测方向,下周我会继续努力。

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

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

相关文章

牛客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个元素结…

【JavaSE】初识线程,线程与进程的区别

文章目录 ✍线程是什么?✍线程和进程的区别✍线程的创建1.继承 Thread 类2.实现Runnable接口3.匿名内部类4.匿名内部类创建 Runnable ⼦类对象5.lambda 表达式创建 Runnable ⼦类对象 ✍线程是什么? ⼀个线程就是⼀个 “执行流”. 每个线程之间都可以按…

常见微服务的组件?

注册中心:就是一个服务注册的地方,我们可以把拆分的服务注册到注册中心,这样注册中心就能管理这些服务,服务之间的调用就会很方便,通过服务名就能相互调用。 负载均衡:被调用放的负载均衡,比如…

人工智能产业应用--具身智能

五、下一个浪潮 (一) 跳出缸中脑——虚实结合 在探索人工智能的边界时,“跳出缸中脑——虚实结合”这一概念提出了一个引人深思的视角,尤其是在具身智能的领域。具身智能是一种思想,强调智能体通过与其环境的直接物理互动来实现智能行为。然…

[MSSQL]理解SQL Server AlwaysOn AG的备份

AG提供了以下几种备份策略 下面来看看各项的解释 Prefer Secondary(首选辅助副本) 应在辅助副本上执行此可用性组的自动备份。如果没有可用的辅助副本,将在主副本上执行备份。 这个选项只是概念上的选项。基本上,用户可以从任何复制节点上执行备份命令。 我们可以在主副本…

Django DRF视图

文章目录 一、DRF类视图介绍APIViewGenericAPIView类ViewSet类ModelViewSet类重写方法 二、Request与ResponseRequestResponse 参考 一、DRF类视图介绍 在DRF框架中提供了众多的通用视图基类与扩展类,以简化视图的编写。 • View:Django默认的视图基类&…

数据结构堆

前言: 在前面我们已经学习了数据结构的基础操作:顺序表和链表及其相关内容,今天我们来学一点有些难度的知识——数据结构中的二叉树,今天我们先来学习二叉树中堆的知识,这部分内容还是非常有意思的,下面我们…

设计模式学习笔记 - 设计模式与范式 -行为型:2.观察者模式(下):实现一个异步非阻塞的EventBus框架

概述 《1.观察者模式(上)》我们学习了观察者模式的原理、实现、应用场景,重点节介绍了不同应用场景下,几种不同的实现方式,包括:同步阻塞、异步非阻塞、进程内、进程间的实现方式。 同步阻塞最经典的实现…

【 书生·浦语大模型实战营】学习笔记(一):全链路开源体系介绍

🎉AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、…

【Linux】TCP网络套接字编程+守护进程

文章目录 日志类(完成TCP/UDP套接字常见连接过程中的日志打印)单进程版本的服务器客户端通信多进程版本和多线程版本守护进程化的多线程服务器 日志类(完成TCP/UDP套接字常见连接过程中的日志打印) 为了让我们的代码更规范化&…

鸿蒙实战开发-如何使用声明式UI编程框架的基础组件

介绍 在本教程中,我们将通过一个简单的样例,学习如何使用声明式UI编程框架的基础组件。本篇Codelab将会使用Image组件、Slider组件、Text组件共同实现一个可调节的风车动画,实现效果如图所示 相关概念 Text组件:文本组件&#x…

9.Python类与对象

1 面向对象 类和对象都是面向对象中的重要概念。面向对象是一种编程思想, 即按照真实世界的思维方式构建软件系统。 例如,在真实世界的校园里有学生和老师,学生有学号、姓名、所 在班级等属性(数据),还有…

MAC的Safari浏览器没有声音解决办法

有一段时间没打开电脑,也不知道是系统自动更新或是什么缘故,所有浏览器都无法正常发声。 现象如下: 首先,Safari浏览器无法自动播放声音,下载的360浏览器现象一致,但是播放其他音乐播放软件和视频软件都正…

Java 面试宝典:请说下你对 Netty 中Reactor 模式的理解

大家好,我是大明哥,一个专注「死磕 Java」系列创作的硬核程序员。 本文已收录到我的技术网站:https://skjava.com。有全网最优质的系列文章、Java 全栈技术文档以及大厂完整面经 回答 Reactor 模式是一种高效处理并发网络事件的设计模式&…

新手使用GIT上传本地项目到Github(个人笔记)

亲测下面的文章很有用处。 1. 初次使用git上传代码到github远程仓库 - 知乎 (zhihu.com) 2. 使用Git时出现refusing to merge unrelated histories的解决办法 - 知乎

五、Yocto集成QT5(基于Raspberrypi 4B)

Yocto集成QT5 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第五篇文章: 一、yocto 编译raspberrypi 4B并启动 二、yocto 集成ros2(基于raspberrypi 4B) 三、Yocto创建自定义的layer和image 四、Yocto创建静态IP和VLAN 本章节实操代码请查看github仓库&…

yolov5 v7.0打包exe文件,使用C++调用

cd到yolo5文件夹下 pyinstaller -p 当前路径 -i logo图标 detect.py问题汇总 运行detect.exe找不到default.yaml 这个是yolov8里的文件 1 复制权重文件到exe所在目录。 2 根据报错提示的配置文件路径,把default.yaml复制放到相应的路径下。(缺少相应…

Linux的开发工具(二):编译器gcc/g++与Linux项目自动化构建工具-Makefile

Linux的编译器-gcc/g 基本概念:gcc是专门用来编译c语言的,g可以编译c或c语言 问题一:gcc有时候为什么不能编译带有for循环的c语言源文件? 答:gcc版本过低会不支持for循环等c99标准下的内容 解决方式:gcc…

Spring定义Bean对象笔记

前言:面向对象语言最基本的元素就是对象,在Spring中把对象都封装为一个个的Bean,即通过Bean容器来管理对象;那么接下来我们看下在Spring中如何创建所需要的Bean。 一、环境准备 员工类 package com.xlb.bean;public class Empl…

在 C#和ASP.NET Core中创建 gRPC 客户端和服务器

关于gRPC和Google protobuf gRPC 是一种可以跨语言运行的现代高性能远程过程调用 (RPC) 框架。gRPC 实际上已经成为 RPC 框架的行业标准,Google 内外的组织都在使用它来从微服务到计算的“最后一英里”(移动、网络和物联网)的强大用例。 gRP…