【论文阅读】Adversarial Detection: Attacking Object Detection in Real Time

news/2025/2/8 5:15:24/

一、背景

目标检测是无人驾驶以及机器人领域中十分关键的一个子任务,该任务将图像作为输入,检测图像中存在的目标,给定该目标的类别以及用于指示位置的包围框bounding box。针对该任务的攻击大多数使用的是像素级的攻击,该攻击计算开销大且难以部署在现实中。针对这一问题,本文提出了一种小范围的数字扰动攻击,该攻击包括三种模式,分别对应三种类型的目标检测模型,同时还开源设计了一种ROS仿真的演示程序。

在相关工作的部分,作者总结了一下图像攻击的集中模式,根据攻击的方法,作者将图像的攻击分为敌对滤波器(adversarial filter)以及敌对贴片(adversarial patch)。

敌对滤波器

敌对滤波器根据实现方式进一步划分为数字滤波和物理滤波。数字滤波指的是直接从数据层面利用掩码修改整个图像,这种方法十分简单粗暴,但是并不容易部署在现实中,因为获取并替换整个图像的这种攻击方法并不容易实现。而物理滤波同样使用一个掩码,但不同之处在于这种方法需要将制作好的掩码以类似贴纸的形式,贴在摄像头表面,这样子整个相机观测到的所有内容都会被这个物理滤波所干扰。

敌对贴片

贴片指的就简单多了,其实就是在图像中进行攻击的放置。作者同样划分了两类:数字贴片和物理贴片。数字贴片是在原图上进行叠加,而物理贴片则是在场景中真实布置这一贴片。本质上就是一个只能在仿真实验中进行,而另一个可以在真实环境中进行部署。
在这里插入图片描述

二、攻击设计

作者进行的是一个白盒攻击,对YOLO V3和V4进行攻击,目标是让模型在没有物体的地方检测出物体。作者首先自己定义了一种叫做敌对叠加(adversarial overlay)的方法,简单来说前面提到的敌对滤波器是对整张图像进行一个扰动的叠加,敌对贴片是对图中的一部分进行扰动和原图的加权求和,而作者提出的敌对叠加是只在一个区域进行扰动。但个人感觉这就是纯炒概念显得高大上。
在这里插入图片描述
在攻击的过程中,攻击者需要首先划定一个区域,之后通过迭代的方法,调整区域内的扰动,来最大化目标检测的推理偏离。针对模型的检测目标,作者设计了三种目标函数,分别对应单目标、多目标、多目标无指向:
在这里插入图片描述
这三种优化函数针对的分别是一个、多个特定类别的目标检测以及多个不同目标的目标检测,使用的参数本身就是YOLO的输出参数:
在这里插入图片描述
所以这个过程实际上就是,攻击者利用ROS的服务器,划定一个区域,在这个区域内,调整扰动并将调整后的图像送入YOLO进行推理,根据推理结果得到优化函数的值,这个值反过来再进行优化,从而实现攻击效果的最大化。
在这里插入图片描述


http://www.ppmy.cn/news/1570245.html

相关文章

PHP之hyperf学习笔记

Hyperf Model,Dao,Service,Contronller 路由 使用文件来配置路由,就是和laravel一样的 Router::addGroup(["middleware" > ["web", "auth"],"namespace" > "Hyperf\HttpServer\Contr…

LeetCode:583.两个字符串的删除操作

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:583.两个字符串的删除操作 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的…

2025年02月05日Github流行趋势

项目名称:OCRmyPDF 项目地址url:https://github.com/ocrmypdf/OCRmyPDF项目语言:Python历史star数:15872今日star数:157项目维护者:jbarlow83, fritz-hh, apps/dependabot, mawi12345, mara004项目简介&…

AI驱动的智能流程自动化是什么

在当今快速发展的数字化时代,企业正在寻找更高效、更智能的方式来管理日常运营和复杂任务。其中,“AI驱动的智能流程自动化”(Intelligent Process Automation, IPA)成为了一个热门趋势。通过结合人工智能(AI&#xff…

M系列/Mac安装配置Node.js全栈开发环境(nvm+npm+yarn)

一、安装 nvm(Node Version Manager) 打开终端,使用 curl 在 M 系列 Mac 上安装 nvm: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash对于非 M 系列的 Intel Mac,上述命令同样适…

测试驱动开发(TDD)实践:从理论到实践

测试驱动开发(Test-Driven Development,简称TDD)是一种软件开发方法,其核心理念是“先写测试,再写代码”。与传统的开发方式不同,TDD并非开发完成后再进行测试,而是将测试置于开发的前沿&#x…

.net framework 4.5 的项目,用Mono 部署在linux

步骤 1:安装 Mono 更新包列表: 首先,更新 Ubuntu 的包列表以确保获取最新的软件包信息。 sudo apt update 安装 Mono: 安装 Mono 完整版(mono-complete),它包含了运行 .NET 应用程序所需的所有…

Java 开发面试全解析:15 个关键问题深度剖析

在竞争激烈的 Java 开发领域, Java 开发工程师需要具备扎实的专业知识、丰富的实践经验和卓越的问题解决能力。以下为你精心准备了 15 个Java 开发工程师面试题及详细答案,助你在面试中脱颖而出。 1. 请详细阐述 Java 中的多线程同步机制 在 Java 里&a…