当前位置: 首页 > news >正文

【pan-sharpening 攻击:目标检测】

Adversarial pan-sharpening attacks for object detection in remote sensing

(对抗性泛锐化攻击在遥感目标检测中的应用)

全色锐化是遥感系统中最常用的技术之一,其目的是将纹理丰富的PAN图像和多光谱MS图像融合,以获得纹理丰富的MS图像。随着深度学习的发展,基于CNN的泛锐化方法近年来受到越来越多的关注。由于全色锐化技术可以融合Pan和MS图像的互补信息,研究人员通常将目标检测器应用于这些全色锐化图像以获得可靠的检测结果。然而,最近的研究表明,基于深度学习的对象检测方法容易受到对抗性示例的影响,即,在干净的图像中添加难以察觉的噪声可以欺骗训练有素的深度神经网络。将泛锐化技术与对抗性示例相结合来攻击遥感中的目标检测器是一件有趣的事情。在本文中,我们提出了一个框架来生成对抗泛锐化图像。具体来说,我们提出了一个双流网络来生成泛锐化图像,然后利用形状损失和标签损失来执行攻击任务。为了保证泛锐化图像的质量,利用感知损失来平衡频谱保持和攻击性能。

介绍

由于技术限制,最先进的光学地球观测卫星,如QuickBird, GeoEye和IKONOS,通常携带两种光学传感器:全色传感器和多光谱传感器。全色(Pan)传感器记录的信号在宽波段和需要高空间但低光谱分辨率图像。在相反的位置,多光谱(MS)传感器记录的信号在狭窄的波段和需要高光谱但低空间分辨率图像。然而,在实际应用中,我们总是需要同时使用高空间分辨率和高光谱分辨率的图像。为了解决这个问题,泛锐化提出了通过融合来自MS和Pan模态的信息来获得高分辨率MS图像。由于传统的泛锐化算法受到线性度的限制,因此不能有效地学习Pan图像中的细节并将其注入到MS图像中。为了克服传统泛锐化算法的不足,近年来提出了许多基于深度学习的泛锐化算法。由于全色锐化图像同时具有高空间分辨率和高光谱分辨率的优点,在遥感领域被广泛应用于各种目标探测器,以达到可靠的目标探测效果。
随着近年来深度学习的发展,已经提出了许多基于卷积神经网络(CNN)的对象检测算法。R-CNN是使用CNN进行对象检测的开创性工作,它采用了基于选择性搜索的区域建议方法。随后,基于区域建议网络(RPN)的两阶段目标检测方法被提出并得到广泛应用。然而,这些算法被证明对对抗性示例不鲁棒。一些研究还推荐了一些攻击CNN检测模型的方法。Xie等人首先提出DAG来攻击图像对象检测器。他们为每个地面事实分配一个对抗性标签,然后执行迭代梯度反向传播来误导检测器。类似地,Chen等人和Li等人利用相同的方法来获得对抗性扰动。上述方法只对自然场景图像进行攻击,对遥感图像不进行攻击。
感兴趣的是在遥感图像上产生扰动以攻击对象检测器。一个简单的想法是为泛锐化图像生成对抗性噪声。然而,研究人员已经提出了许多基于对抗性噪声的特征来检测这种对抗性样本的方法。为了保证加密性,本文将泛锐化技术集成到生成对抗性示例的过程中,并提出了一种对抗性泛锐化攻击(APA)方法来攻击遥感中的目标检测器。为了更好地保留Pan和MS图像的空间细节和光谱信息,我们特别提出了一个双流泛锐化网络(TSPSNet)来生成泛锐化图像并修改损失函数,以便生成的泛锐化图像作为对抗性的例子来攻击基于RPN的检测器。修改后的损失函数被用来添加对抗性噪声的泛锐化图像,可以干扰预测的RPN。具体而言,标签损失用于降低正建议的预测置信度,并且形状损失可以破坏RPN中的边界框回归过程。此外,为了保持泛锐化图像的视觉质量,感知损失用于增强光谱特征。我们的方法在单个阶段生成对抗性泛锐化图像更有效,并且可以以端到端的方式进行训练,与原始泛锐化网络相比,不需要额外的时间来生成对抗性噪声。图1显示了我们提出的方法攻击Faster R-CNN检测器的一些示例,这使得检测器获得错误的结果。请添加图片描述

贡献

1)我们提出了一种新的方法来利用泛锐化图像攻击对象检测器。据我们所知,这是首次将泛锐化技术应用于生成对抗图像。
2)我们设计了一个新的泛锐化框架攻击对象检测器。全色锐化网络可以以端到端的方式进行训练,并且保留空间细节和光谱信息。
3)实验结果表明,该方法可以产生有效的对抗泛锐化图像,保持了较高的成功率的白盒攻击和实现可转移的黑盒攻击。特别是,APA分别获得了Faster R-CNN和SSD的0.798和0.535的检测精度下降。结果表明,该方法是有效的,具有一定的通用性。

相关工作

Pan-sharpening based on deep learning

目前,卷积神经网络(CNN)被广泛用于图像融合任务。在遥感领域,CNN也有利于泛锐化。Masi等人首先介绍了泛锐化卷积神经网络(PNN)模型,其结构类似于SRCNN。PNN通过三层卷积学习从低分辨率到高分辨率的映射关系。由于全色锐化的输入是两个图像,因此预内插的MS图像与PAN图像在输入层处堆叠以跟随SRCNN的输入。为了进一步提高融合性能,Zhong等人设计了一种两级全色锐化架构,该架构也采用SRCNN来增强MS的分辨率,然后通过Gram-Schmidt变换添加全色细节以获得全色锐化图像。随着残差网络的出现,Wei等人使用残差学习来提升空间-光谱精度。此外,Wu等人开发了一种多目标决策优化算法,以实现泛锐化图像中空间和光谱信息之间的平衡。以前的研究认为泛锐化是一个超分辨率问题,并利用CNN作为工具来提取空间或光谱特征。它们没有充分利用Pan和MS的个体特征。最近,Zhou等人提出了一种双流网络(FusionNet),用于分别从Pan和MS中提取特征,然后将它们连接起来以重建泛锐化图像。该网络可以保存空间和光谱信息。因此,我们参考FusionNet的结构,并提出TSPSNet来生成泛锐化图像。

Object detection

目标检测是计算机视觉领域的一个重要应用。目前,目标检测模型分为两类,一阶段方法和两阶段方法。RCNN作为两阶段方法之一,基于选择性搜索生成数千个自下而上的区域建议,然后利用CNN对建议进行分类。继R-CNN之后,Faster RCNN使用统一架构(区域建议网络)作为选择性搜索的替代,该选择性搜索通过各种固定大小的锚点预测检测候选框。为了减少实际使用的推理时间,提出了一个单阶段检测器,如YOLO和LAMD,以在回归过程中直接预测检测框的坐标。此外,FCOS和ATSS引入了用于无锚检测的中心度分支。

Adversarial attack on deep learning

Szegedy等人首先发现了CNN在图像分类任务中的弱点。他们将对抗性扰动生成的难题转化为优化问题。FGSM被提出来有效地找到最优的最大范数约束扰动。在此基础上,Kurakin等人扩展了FGSM,并提出了I-FGSM来迭代地生成扰动。同时,MIFGSM将动量集成到I-FGSM中,并实现了更高的攻击性能。除了精心制作的扰动之外,对抗补丁是生成对抗示例的另一种方法。构建PS-GAN框架以生成任何风格的基于补丁的扰动,这确保了攻击能力和视觉自然度。为了进一步提高感知局部微小干扰的能力,Gao等人,Liu等人成功地为现实世界的攻击生成了通用和强大的对抗补丁。
与图像分类任务相比,生成对抗对象检测的对抗性示例是一个非常困难的问题。DAG是Xie等人提出的第一种攻击图像分类器的方法。他们为每个地面实况分配一个对抗性标签,然后执行迭代梯度反向传播来误导检测器。类似地,Chen等人和Li等人使用相同的方法来获得对抗扰动。此外,Lu等人试图通过在stop符号和face上添加对抗性扰动来错误分类相应的检测器。最近,提出了一种U-DOS算法来推导针对对象检测的通用对抗性扰动,这可能导致对象检测器无法在大多数图像上找到任何对象。所有这些方法都是基于优化的方式攻击目标检测器,并且具有非常高的计算成本。为了解决这个问题,Wei等人提出了一种名为UEA的统一方法,用于基于生成对抗网络(GAN)框架生成对抗图像和视频。类似地,Xiaoet等人设计了一种自适应的面向对象的对抗机制来生成对抗扰动。本文借鉴UEA的思想,提出了一种适用于遥感领域的对抗性泛锐化攻击(APA)方法。

方法

图2示出了所提出的APA方法的总体流程图,其基本上由两个部分组成:全色锐化模块和攻击模块。泛锐化模块使用L l1损失和Lper损失来生成泛锐化图像。请添加图片描述
攻击模块通过Lshape和Llabel损失将生成的泛锐化图像变成对抗图像。整个网络可以端到端地训练,输入是平移图像和预插值的MS图像,输出是对抗性的平移锐化图像。在测试阶段,我们简单地使用泛锐化模块来生成对抗性的泛锐化图像,而不是任何其他耗时的操作。

Problem formulation

令XP R H × W R^{H×W} RH×W表示具有大小H ×W的Pan图像,并且XM R H × W × N R^{H×W ×N} RH×W×N表示具有与Pan图像相同大小的上采样MS图像(N表示频带数)。为方便起见,我们使用Φ(·)表示用于泛锐化的CNN。然后(XP,XM)∈ R H × W × N R^{H×W ×N} RH×W×N¯Φ(XP,XM R H × W × N R^{H×W ×N} RH×W×N分别表示泛锐化图像和对抗泛锐化图像。假设(Bi,Ci)是(XP,XM),其中Bi是边界框,并且Ci是类别。我们希望¯Φ(XP,XM)可以攻击检测器D,使得检测结果为(¯Bi,¯Ci)。其中¯Ci≠ Ci或¯Bi与Bi之间的IOU小于0.3。为了测量APA的性能,我们通过计算mAP(平均平均精度)来比较检测精度。Φ(XP,XM)和¯Φ(XP,XM)。

Pan-sharpening network

为了获得更好的泛锐化效果,我们在本模块中提出了一种称为TSPSNet的双流泛锐化网络。TSPSNet的详细架构如图3所示。请添加图片描述
TSPSNet由特征提取、特征重建和图像生成三个模块组成。在特征提取模块中,TSPSNet使用双流网络分别从Pan和MS图像中提取各个特征图。每个子网络包含两个连续的卷积单元(一个卷积层和一个relu层)和一个下采样卷积层。然后,将两个特征图连接在一起,以馈送到特征重建模块中的另一个卷积单元和下采样层。从图3中我们可以看到,特征图的空间和光谱分辨率每两个卷积单元被上采样。为了恢复在下采样过程中丢失的更多细节,TSPSNet在浅特征图和深特征图之间添加跳过连接。通过以上两个模块,TSPSNet可以完整地获取空间和光谱信息。TSPSNet的最后一个模块是图像生成,网络以tanh层结束,并输出所需的高分辨率4波段MS图像。

Loss function

损失函数在许多基于CNN的方法中起着重要的作用。在本文中,选择L1损失作为全色锐化损失函数,因为几项研究已经证实L1在图像重建任务的优势。给定训练样本(XP,XM,G),G是原始MS图像,L1损失可表示为:在这里插入图片描述
正如我们上面所讨论的,我们的目标是生成一个对抗性的泛锐化图像,以欺骗检测器中的RPN。为了解决这个问题,我们使用如下描述的标签损失Llabel和形状损失Lshape
Label loss:
类似于对象检测器的现有对抗扰动方法,标签损失Llabel用于通过降低正建议的预测置信度来扰动RPN建议的预测标签。标签损失Llabel定义为:
在这里插入图片描述
其中n是正proposal的数量,m是proposal的总数,pi ∈ { 0,1 },其中如果第i个proposal是正的,则pi = 1,否则为负。μi是第i个proposal的预测置信度。当这是一个正的proposal,μi1或第i个proposal的边界框与相应的地面实况之间的IOU(intersect-over-union)大于λ2。在我们的方法中,我们设置λ1 = 0.01且λ2 = 0.3 。
Shape loss:
形状损失Lshape可以破坏RPN中的边界框回归过程。形状损失Lshape定义为:
在这里插入图片描述
其中t-boxi表示第i个proposal的边界框,g-box是相应的groundtruth。
为了减少Llabel和Lshape对全色锐化视觉质量的影响,我们还添加了感知损失,
在这里插入图片描述
最后,我们的全损失函数可以表示为:
在这里插入图片描述
这些损失的相对权重由α、β和δ确定。我们设置这些权重(α = β = 0.5,δ = 0.1),使得每个损失的平均梯度处于相同的尺度。然后对抗性泛锐化图像¯Φ(XP,XM)可以通过优化min L来获得。

相关文章:

【pan-sharpening 攻击:目标检测】

Adversarial pan-sharpening attacks for object detection in remote sensing (对抗性泛锐化攻击在遥感目标检测中的应用) 全色锐化是遥感系统中最常用的技术之一,其目的是将纹理丰富的PAN图像和多光谱MS图像融合,以获得纹理丰…...

nginx反向代理_负载均衡的配置

说明 两台虚拟机: 88节点是自己的虚拟机 66节点是小组成员的虚拟机,我们暂且叫同学机 tomcat端口,分别为8081和8082 总结就是: 自己虚拟机上面安装nginx和tomcat8082 同学机上安装tomcat8081 一、开始安装nginx(只安装…...

程序员随时担心被抛弃......大厂外包值不值得去?

外包”这个词经常被人提及,而且也经常被我们所“鄙夷”,很多人都在四处问:“软件外包公司到底能不能去”? 外包公司到底能不能学到真正的技术? 外包大厂能不能去? 今天就给大家详细分享下外包的利与弊 做…...

C++解释器模式实战:从设计到应用的全面指南

目录标题 第一章:解释器模式简介(Introduction to the Interpreter Pattern)1.1 模式定义(Pattern Definition)1.2 解释器模式的用途(Uses of the Interpreter Pattern) 1.3 解释器模式的优缺点…...

使用华为云免费资源训练Paddle UIE模型

一、创建虚拟环境 好习惯,首先创建单独的运行环境 conda create -n uie python3.10.9 conda activate uie 二、安装paddle框架及paddlenlp 2.1 参考官方文档安装paddle 开始使用_飞桨-源于产业实践的开源深度学习平台 首先查看自己服务器cuda版本,…...

深度学习12. CNN经典网络 VGG16

深度学习12. CNN经典网络 VGG16 一、简介1. VGG 来源2. VGG分类3. 不同模型的参数数量4. 3x3卷积核的好处5. 关于学习率调度6. 批归一化 二、VGG16层分析1. 层划分2. 参数展开过程图解3. 参数传递示例4. VGG 16各层参数数量 三、代码分析1. VGG16模型定义2. 训练3. 测试 一、简…...

Doris(3):创建用户与创建数据库并赋予权限

Doris 采用 MySQL 协议进行通信,用户可通过 MySQL client 或者 MySQL JDBC连接到 Doris 集群。选择 MySQL client 版本时建议采用5.1 之后的版本,因为 5.1 之前不能支持长度超过 16 个字符的用户名。 1 创建用户 Root 用户登录与密码修改 Doris 内置 r…...

深入浅出 Golang 内存管理

了解内存管理~ 前言: 本节课主要介绍了内存管理知识与自动内存管理机制,并对目前 Go 内存管理过程中存在的问题提出了解决方案,同时结合了上次课程学习的《Go 语言性能优化》相关知识,提供可行性的优化建议 … 自动内存管理 Go…...

基于Python的简单40例和爬虫详细讲解(文末赠书)

目录 先来看看Python40例 学习Python容易坐牢? 介绍一下什么是爬虫 1、收集数据 2、爬虫调研 3、刷流量和秒杀 二、爬虫是如何工作的? 三、爬虫与SEO优化 什么是python爬虫 Python爬虫架构 最担心的问题 本期送书 随着人工智能以及大数据的兴起…...

Vector - CAPL - CAN x 总线信息获取(续2)

继续.... 目录 ErrorFrameCount -- 错误帧数量 代码示例 ErrorFrameRate -- 错误帧速率 代码示例 ExtendedFrameCount -- 扩展帧数量 代码示例 ExtendedFrameRate -- 扩展帧速率 代码示例 ExtendedRemoteFrameCount -- 远程扩展帧数量 代码示例 ExtendedRemoteFrameRa…...

C++基础知识【8】模板

目录 一、什么是C模板? 二、函数模板 三、类模板 四、模板特化 五、模板参数 六、可变模板参数 七、模板元编程 八、嵌套模板 九、注意事项 一、什么是C模板? C模板是C编程中非常重要的一部分,它允许程序员以一种通用的方式编写代码…...

MAC-安装Java环境、JDK配置、IDEA插件推荐

背景:发现经常换电脑装环境等比较麻烦,主要还是想记录一下,不要每次安装都到处翻。。 1、下载并安装JDK 到官网下载所需的JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 这儿下…...

Mysql如何避免常见的索引失效

Mysql索引算是非常常用了,用得好提高效率,用的不好适得其反 如何避免常见的索引失效 1.模糊查询 使用 LIKE 查询时,如果搜索表达式以通配符开头,如 %value,MySQL 就无法使用索引来加速查询,因为它无法倒序…...

SpringBoot集成Redis及问题解决

SpringBoot集成Redis 此篇文章为SpringBoot集成Redis的简单介绍,依赖、序列化操作、工具类都可以在后面的实操中直接搬运使用或者在此基础上进行改进使用 1、集成Redis 1.1、新建SpringBoot项目 新建项目这边就不一一介绍了,大家如果还有不会的可以自行…...

PyTorch 人工智能研讨会:6~7

原文:The Deep Learning with PyTorch Workshop 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心…...

AI绘图设计师Stable Diffusion成为生产力工具(五):放大并修复老照片、马赛克照片、身份证件照

S:你安装stable diffusion就是为了看小姐姐么? I :当然不是,当然是为了公司的发展谋出路~~ 预先学习: 安装webui《Windows安装Stable Diffusion WebUI及问题解决记录》。运行使用时问题《Windows使用Stable Diffusion时…...

cubase正版下载安装包-cubase正版下载v1.2.0.69 软件激活版

cubase正版下载是一款实用的音乐创作类软件。我们可以通过这款软件实现创作音乐的自由,再也不用花大价钱请别人来帮忙制作,只需自己动动手就可以轻松完成我们所想要的,这款软件做到了让每一位热爱音乐的人都可以实现自己的梦想。 cubase正版…...

Python机器学习:支持向量机

这是我读本科的时候第一个接触到的机器学习算法,但也是第一个听完就忘的。。。 他的基本思想很简单:想办法把一个样本集划成两个部分:对于空间中的样本点集合,我们找到一个超平面把这个样本点集合给分成两个部分,其中…...

矩阵和线性代数的应用

矩阵和线性代数是数学中重要的概念,它们被广泛应用于物理、工程、计算机科学、经济学等众多领域。本文将讨论矩阵和线性代数的一些基本概念以及它们在实际应用中的重要性和影响。 一、矩阵和线性代数的基本概念 矩阵是由数字组成的矩形数组。它可以表示线性方程组…...

六:内存回收

内存回收: 应用程序通过 malloc 函数申请内存的时候,实际上申请的是虚拟内存,此时并不会分配物理内存。 当应用程序读写了这块虚拟内存,CPU 就会去访问这个虚拟内存, 这时会发现这个虚拟内存没有映射到物理内存&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

Python 高效图像帧提取与视频编码:实战指南

Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...

【Qt】控件 QWidget

控件 QWidget 一. 控件概述二. QWidget 的核心属性可用状态:enabled几何:geometrywindows frame 窗口框架的影响 窗口标题:windowTitle窗口图标:windowIconqrc 机制 窗口不透明度:windowOpacity光标:cursor…...

关于 ffmpeg设置摄像头报错“Could not set video options” 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/148515355 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...

AWSLambda之设置时区

目标 希望Lambda运行的时区是东八区。 解决 只需要设置lambda的环境变量TZ为东八区时区即可,即Asia/Shanghai。 参考 使用 Lambda 环境变量...