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

【论文阅读】视觉里程计攻击

Adversary is on the Road: Attacks on Visual SLAM using Unnoticeable Adversarial Patch

一、视觉SLAM的不安全因素

根据论文的分析,视觉SLAM由于完全依赖于特征,缺少验证机制导致算法不安全。前端在受到干扰的情况下,会导致误匹配增加,而后端又无法抵抗这类攻击,所以整个框架对攻击图像产生的误匹配十分脆弱。

二、视觉SLAM的AoR攻击

这个攻击策略也是这篇文章的主要研究内容,简单来说作者设计了一种攻击图像的生成方法,并在车辆、室内机器人的定位上进行了测试。攻击的思路和之前设想的内容很像,就是将这个图像放置在相机的视野范围内,通过增加图像的误匹配进而实现SLAM的干扰。作者的关键放在了如何生成攻击图像。
在这里插入图片描述
从作者的介绍来看,其实这个攻击图像的生成方法可以理解为一个棋盘格与场景的风格迁移。作者利用FAST角点的提取策略,反过来制作了一个类似于标定板的黑白格图像,也就是上图中的Generated Error Pattern,通过这种方式同时保证设计的攻击图像能够被检测同时也能够容易导入误匹配,由于黑白格具有严重的重复性,这会导致在跟踪或者匹配时,攻击图像上的特征点产生大量的误匹配,从而干扰到后续的定位。
在这里插入图片描述
为了让受攻击者察觉不到攻击图像的存在,作者又在黑白格的基础上,使用了类似风格迁移的技术,来将黑白格融入到场景中。作者使用了深度学习的方法,首先将一个黑白格与内容图做融合,内容图可以是广告牌这种路边常见的内容,这一步设计两个优化量:内容损失和特征损失。分别对应内容图像上面的内容差异和融合后特征的差异。除了这两个差异,作者进一步考虑到实际场景中光照等不确定因素对图像的干扰,所以又加了一步动态调整,即通过人为采集的环境图像在进行一次调整,体现为优化公式中的环境损失,让最后的攻击图形同时具有攻击特征、内容以及环境三种风格。
在这里插入图片描述
从论文中给的图来看,作者的攻击方法就是将他们框架最后输出的图像放在路边,即可实现SLAM过程的干扰。其干扰的核心就是增加误匹配,实现途径是加入容易产生自身误匹配的图像,让图像中某个区域的误匹配增大,进而干扰前端的计算结果。产生攻击图的方法是人为设计的攻击图通过风格迁移生成一个带有攻击功能的广告牌。

三、攻击检测

作者在文章最后也针对设计的AoR攻击设计了解决方案,主要是三点:纹理提取、异常检测和跨帧优化。纹理检测是针对特征点的产生设计的,因为加入的路牌势必要比周围的纹理更加复杂,不然如何产生特征点,所以这一步作者使用WLD进行纹理的检测,主要是为了检测纹理比周围有异常复杂的位置。之后对这些区域进行异常检测,检测的过程依然是依赖于局部的纹路差异。最后作者还提了一嘴所谓的鲁棒性优化,说白了这个跨帧优化实际上就是在前端的局部优化过程,加入了一个置信度,以此来让检测出来的攻击匹配特征点能够在后续及时消除。

Perceptual Aliasing++: Adversarial Attack for Visual SLAM Front-End and Back-End

一、针对SLAM回环检测的攻击

这篇文章同样也是攻击相关,只不过针对的是视觉SLAM中的回环检测,而对于不使用回环检测的视觉里程计,文章中的攻击方法可能并没有什么用,甚至可能还能提高里程计的准确性。

论文的主要思路就是将纹理特别丰富的图像加入到场景中,尤其是放在本来纹理就不丰富的位置,通过这种方法,让SLAM系统误认为出现了回环,从而破坏整个观测关系。而在攻击图像的选择方面,作者提到并没有特别的设计,其实只要图像的纹理足够清晰,都可以用于这类攻击。
在这里插入图片描述

I Can See the Light: Attacks on Autonomous Vehicles Using Invisible Lights

一、使用非可见光进行的视觉攻击

这篇文章使用了红外光对无人驾驶系统中的相机进行攻击,一方面红外光属于非可见光,人看不见,所以这类攻击足够隐蔽;另一方面,红外光并不是不能激发相机,而是会在成像上面出现品红色的光斑,这类点很容易被视觉里程计识别为特征点,从而干扰正常的里程计工作。

根据作者的统计,少部分人能够看到部分的可见光,所以使用这类攻击策略最好的频率是780nm到800nm这段频率。攻击时需要使用一个红外光发射器,可以部署在路边或者安装在无人机上。
在这里插入图片描述
作者很大胆选择了特斯拉的model3进行攻击,直接对商用的无人驾驶进行了攻击,从结果来看,特斯拉的定位、物体识别都出现了很大的偏移。一方面作者将红外发射器布置在红绿灯模型上面,利用成像为品红色这一特点,假装是红灯,让车辆的控制产生了偏差。另一方面作者也尝试了利用红外来干扰相机,让车机系统疯狂报警进而影响用户体验。

而对于SLAM的攻击,作者选择在停车场进行测试,在停车场中提前放置了红外光的LED,从作者给的图来看,测试貌似是在光线不好的环境进行,这种场景下加入红外光干扰,由于品红光斑重复性较高且描述子差异小,会增加误匹配进而导致里程计的偏差,从实验来看整个的攻击基本都很有效。
在这里插入图片描述

相关文章:

【论文阅读】视觉里程计攻击

Adversary is on the Road: Attacks on Visual SLAM using Unnoticeable Adversarial Patch 一、视觉SLAM的不安全因素 根据论文的分析,视觉SLAM由于完全依赖于特征,缺少验证机制导致算法不安全。前端在受到干扰的情况下,会导致误匹配增加&…...

解决 Git LFS 切换分支失败问题

场景描述 在本地已有分支 A 的情况下,目前工作在分支 B。当尝试从 B 分支切回 A 分支时,由于 A 分支存在 LFS 上传的大文件,导致切换失败。这个问题通常是因为某些 LFS 文件在服务器上不存在或没有权限访问。 报错日志 切换分支时遇到的错…...

BaoStock 的安装

安装 pip3 install baostock使用这个库登录免费帐户时有时候会出现登录失败的问题 import baostock as bs # 登录系统 lg bs.login() # 登出系统 bs.logout()login failed! logout failed!可能是由于高版本的python需要验证ssl,本地将其设置为可信服务器地址可以…...

聚势启新 智向未来 | 重庆华阳通用科技有限公司揭牌成立

助推两江新区汽车产业高质量发展 (以下文字内容转载自两江新区网) 9月26日,重庆华阳通用科技有限公司(华阳通用重庆子公司)在两江新区揭牌成立,将致力于智能座舱、智能驾驶两大领域,不断加大技术研发投入…...

【数据结构与算法】Z算法(扩展KMP)(C++和Python写法)

Z算法(扩展KMP) 文章目录 Z算法(扩展KMP)朴素求法线性求法力扣类型题变种题:[3303. 第一个几乎相等子字符串的下标](https://leetcode.cn/problems/find-the-occurrence-of-first-almost-equal-substring/) 所谓Z算法&…...

免费语音转文字软件全览:开启高效记录新时代

在当今快节奏的信息时代,高效地处理和记录信息变得至关重要。语音转文字技术的出现,为我们带来了极大的便利,今天,就让我们一同探讨这些语音转文字免费的软件的使用方法。 1.365在线转文字 链接直达:https://www.pdf…...

PHP“===”的意义

在PHP中, 运算符被称为“恒等比较运算符”(Identical Comparison Operator),它用于比较两个变量的值和类型是否完全相同。这个运算符与双等号 (等值比较运算符)不同,后者在比较时会对两边的值进…...

Tomcat架构解析

Tomcat: 是基于JAVA语言的轻量级应用服务器,是一款完全开源免费的Servlet服务器实现。 1. 总体设计 socket: 其实就是操作系统提供给程序员操作“网络协议栈”的接口,你能通过socket的接口,来控制协议,实现网络通信,达…...

如何在 Kubernetes 上部署和配置开源数据集成平台 Airbyte?

在 Kubernetes 上部署和配置 Airbyte 是一个复杂但非常有价值的过程,特别是对于需要强大数据集成和数据处理能力的企业或团队。Airbyte 是一个开源的数据集成平台,允许用户从各种来源提取数据并加载到目标存储中。其强大的插件系统支持多种数据源与目标&…...

信息技术与商业变革:机遇与挑战

信息技术与商业变革:机遇与挑战 目录 引言信息技术推动商业变革的主要因素 数字化转型的加速客户需求的个性化创新技术的应用 信息技术在企业中的应用场景 供应链管理的智能化营销与客户关系管理财务与资源管理的自动化远程工作和协作 信息技术带来的挑战 网络安全…...

JavaWeb之过滤器

1. 过滤器的概念 过滤器是Java Servlet规范中定义的组件,用于在请求到达Servlet之前或响应返回客户端之前,对请求或响应进行拦截和处理。过滤器可以实现以下功能: 日志记录:记录请求的详细信息,如URI、参数、时间等。…...

学习 笔记

bin log/redo log/undo log MySQL日志主要包括查询日志、慢查询日志、事务日志、错误日志、二进制日志等。其中比较重要的是 bin log(二进制日志)和 redo log(重做日志)和 undo log(回滚日志)。 慢SQL查询&…...

Flask-1

文章目录 Flask准备创建flask项目flask加载项目配置的二种方式 路由的基本定义接收任意路由参数接收限定类型参数自定义路由参数转换器 终端运行Flask项目http的请求与响应flask的生命周期请求获取请求中各项数据获取请求URL参数获取请求体获取请求头相关信息 响应响应html文本…...

pve 直通硬盘

qm set <vm_id> –<disk_type>[n] /dev/disk/by-id/- b r a n d − brand- brand−model_$serial_number <vm_id> : 为创建虚拟机时指定的VM ID。 <disk_type>[n]&#xff1a; 导入后的磁盘的总线类型及其编号&#xff0c;总线类型可以选择IDE、SATA…...

NLP_情感分类_机器学习(w2v)方案

文章目录 项目背景数据清洗导包导入数据切分评论及标签Word2Vec构造w2v 数据切分模型训练查看结果 同类型项目 项目背景 项目的目的&#xff0c;是为了对情感评论数据集进行预测打标。在训练之前&#xff0c;需要对数据进行数据清洗环节&#xff0c;前面已对数据进行清洗&…...

240929-CGAN条件生成对抗网络

240929-CGAN条件生成对抗网络 前面我们学习了GAN&#xff08;240925-GAN生成对抗网络-CSDN博客&#xff09;和DCGAN&#xff08;240929-DCGAN生成漫画头像-CSDN博客&#xff09;&#xff0c;接下来继续来看CGAN&#xff08;Conditional GAN&#xff09;条件生成对抗网络。 流…...

springboot第74集:设计模式

解析 核心线程数与CPU核数相同&#xff1a;避免线程过多导致的上下文切换&#xff0c;提高CPU利用率。无界队列&#xff1a;适合任务量大且任务执行时间短的场景&#xff0c;避免因队列满而拒绝任务。 IO密集型任务 场景描述 适用于执行大量IO操作的任务&#xff0c;如文件读写…...

数字化采购管理革新:全过程数字化采购管理平台的架构与实施

摘要&#xff1a;在数字化转型的浪潮中&#xff0c;采购管理正逐步迈向全流程的数字化。本文将详细解析全过程数字化采购管理平台的技术架构和实施策略&#xff0c;探讨如何通过Spring Cloud、Spring Boot2、Mybatis等先进技术和服务框架&#xff0c;实现从供应商管理到采购招投…...

Webpack 特性探讨:CDN、分包、Tree Shaking 与热更新

文章目录 前言包准备CDN 集成代码分包Tree Shaking原理实现条件&#xff1a;解决 treeShaking 无效方案&#xff1a;示例代码&#xff1a; 热更新&#xff08;HMR&#xff09; 前言 Webpack 作为现代前端开发中的核心构建工具&#xff0c;提供了丰富的特性来帮助开发者优化和打…...

Robot Operating System——一组三维空间中的位姿(位置和方向)

大纲 应用场景1. 机器人导航场景描述具体应用 2. 运动规划场景描述具体应用 3. 物体识别和跟踪场景描述具体应用 4. 环境建模场景描述具体应用 5. 仿真环境场景描述具体应用 定义字段解释 案例 geometry_msgs::msg::PoseArray 是 ROS 2 中的一个消息类型&#xff0c;用于表示一…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...