【论文阅读】视觉里程计攻击
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 中的一个消息类型,用于表示一…...
mycat读写分离中间件
5、部署Mycat读写分离中间件服务 5.1安装Mycat服务 将Mycat服务的二进制软件包Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz上传到Mycat虚拟机的/root目录下,并将软件包解压到/use/local目录中 5.2赋予解压后的mycat目录权限 5.3向/etc/profile系统变量…...
Growthly Quest 增长工具:助力 Web3 项目实现数据驱动的增长
作者:Stella L (stellafootprint.network) 在瞬息万变的 Web3 领域,众多项目在用户吸引、参与和留存方面遭遇重重难关。Footprint Analytics 推出 Growthly,作为应对这些挑战的全方位解决方案,其中创新性的 Quest(任务…...
Pytorch 学习手册
零 相关资料 官方网址 官方网址下的API搜索网站 一 定义 深度学习框架是用于设计、训练和部署深度学习模型的软件工具包。这些框架提供了一系列预定义的组件,如神经网络层(卷积层、全连接层等)、损失函数、优化器以及数据处理工具…...
第十一章 【前端】调用接口(11.1)——Vite 环境变量
第十一章 【前端】调用接口 11.1 Vite 环境变量 参考:https://cn.vitejs.dev/guide/env-and-mode.html Vite 在一个特殊的 import.meta.env 对象上暴露环境变量。为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 …...
MySQL添加时间戳字段并且判断插入或更新时间
文章目录 步骤 1: 修改表结构步骤 2: 插入或更新数据步骤 3: 查询数据并判断时间完整示例 在MySQL中,可以在表中添加一个时间戳字段来记录每条数据的最后插入或更新时间。然后,在插入或更新数据时,自动更新这个时间戳字段。最后,在…...
SOA(面相服务架构)
目录 SOA的基本概念 SOA的关键特性 SOA的实现步骤 SOA的技术实现 SOA的应用场景 面向服务的架构(Service-Oriented Architecture, SOA)是一种软件设计理念和架构模式,旨在通过网络协议将不同的服务相互连接和集成,以构建灵活、可扩展和可重用的应用系统。SOA的…...
One2many(一对多)关联场景中,如何从模型(一)关联到模型(多)的某个字段
好的,我们用一个更通俗的例子来解释不同模块之间的模型关联,场景是“学校和学生”的例子。 1. 场景介绍 假设我们有两个模块: 学校模块 (school):用于管理学校信息。学生模块 (student):用于管理学生信息。 每个学…...
LLaMA 3 和 OpenAI有哪些相同点和不同点?
LLaMA 3(Meta 的 LLaMA 系列)和 OpenAI 的模型(如 GPT 系列)都是先进的 大语言模型(LLMs),它们在训练、应用场景和能力上有很多相似之处,但也存在显著的不同点。以下是一些关键相同点…...
Spring 事务管理及失效总结
所谓事务管理,其实就是“按照给定的事务规则来执行提交或者回滚操作”。 Spring 并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给 Hibernate 或者 JTA 等持久化机制所提供的相关平台框架的事务来实现。 Spring 事务…...
全局思维下的联合创新:华为携手ISV伙伴助推银行核心平稳升级
文 | 螳螂观察 作者 | 李永华 随着数字金融快速发展,对核心系统提出了“海量、高效、弹性、扩展、敏捷”等新需求,区域性银行面临核心系统升级的迫切需要,对金融科技厂商而言也催生了庞大的机遇和空间。 只是,银行核心系统是金…...
做app 需要先做网站吗/建站seo是什么
线上PHP程序动不动就报PHP Fatal error: Uncaught RedisException: read error on connection错误,就是连接Redis在那么1秒钟有问题,我们的架构是: PHP程序—>twemproxy代理—>Redis实例(5个节点) PHP-FPM的超时…...
炽乐清网站建设/网页制作的软件有哪些
日志按天记录,自动生成当天的记录文件 日志分级存储(info,error) Springboot有自带日志,但只是类似于System.out.printl();的简单输出: //增加日志 private final Logger log LoggerFactory.g…...
个人网站可以做充值/电子商务
Java程序在不同操作系统上运行时,可能需要取得平台相关的属性,或者调用平台命令来完成特定功能。Java提供了System类和Runtime类来与程序的运行平台进行交互。 System类 System类代表当前Java程序的运行平台,程序不能创建System类的对象&am…...
毕设DW做网站的过程/seo优化培训机构
文章目录ABCDEF小结我怕不是傻子吧!!! 分数好低呀QAQ 算了原本就是个蒟蒻。 A 这道题目的大意就是求1−n1-n1−n里面奇数的个数占1−n1-n1−n个数的多少 真SB的题目 #include<cstdio> using namespace std; int n; double a;…...
大淘客网站推广位怎么做/制作网站的平台
1、普通索引(加快对数据的访问速度) –直接创建索引(length表示使用名称前1ength个字符)create index index_name on table_name(字段名(length))–修改表结构的方式添加索引alter table table_name add index index_name on (字段名(length))–删除索引 drop index index_name…...
用户体验好网站/seo推广方法有哪些
迎接新的开始,2021沉淀 蜕变 静心 修炼!...