【论文阅读】视觉里程计攻击
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]: 导入后的磁盘的总线类型及其编号,总线类型可以选择IDE、SATA…...
NLP_情感分类_机器学习(w2v)方案
文章目录 项目背景数据清洗导包导入数据切分评论及标签Word2Vec构造w2v 数据切分模型训练查看结果 同类型项目 项目背景 项目的目的,是为了对情感评论数据集进行预测打标。在训练之前,需要对数据进行数据清洗环节,前面已对数据进行清洗&…...
240929-CGAN条件生成对抗网络
240929-CGAN条件生成对抗网络 前面我们学习了GAN(240925-GAN生成对抗网络-CSDN博客)和DCGAN(240929-DCGAN生成漫画头像-CSDN博客),接下来继续来看CGAN(Conditional GAN)条件生成对抗网络。 流…...
springboot第74集:设计模式
解析 核心线程数与CPU核数相同:避免线程过多导致的上下文切换,提高CPU利用率。无界队列:适合任务量大且任务执行时间短的场景,避免因队列满而拒绝任务。 IO密集型任务 场景描述 适用于执行大量IO操作的任务,如文件读写…...
数字化采购管理革新:全过程数字化采购管理平台的架构与实施
摘要:在数字化转型的浪潮中,采购管理正逐步迈向全流程的数字化。本文将详细解析全过程数字化采购管理平台的技术架构和实施策略,探讨如何通过Spring Cloud、Spring Boot2、Mybatis等先进技术和服务框架,实现从供应商管理到采购招投…...
Webpack 特性探讨:CDN、分包、Tree Shaking 与热更新
文章目录 前言包准备CDN 集成代码分包Tree Shaking原理实现条件:解决 treeShaking 无效方案:示例代码: 热更新(HMR) 前言 Webpack 作为现代前端开发中的核心构建工具,提供了丰富的特性来帮助开发者优化和打…...
Robot Operating System——一组三维空间中的位姿(位置和方向)
大纲 应用场景1. 机器人导航场景描述具体应用 2. 运动规划场景描述具体应用 3. 物体识别和跟踪场景描述具体应用 4. 环境建模场景描述具体应用 5. 仿真环境场景描述具体应用 定义字段解释 案例 geometry_msgs::msg::PoseArray 是 ROS 2 中的一个消息类型,用于表示一…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
