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

news2024/11/18 15:23:28

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,从作者给的图来看,测试貌似是在光线不好的环境进行,这种场景下加入红外光干扰,由于品红光斑重复性较高且描述子差异小,会增加误匹配进而导致里程计的偏差,从实验来看整个的攻击基本都很有效。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2176051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法工程师重生之第十八天(修剪二叉搜索树 将有序数组转换为二叉搜索树 把二叉搜索树转换为累加树 总结篇 )

参考文献 代码随想录 一、修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除…

【Sentinel-2简介】

Sentinel-2简介 Sentinel-2是欧洲空间局(European Space Agency, ESA)全球环境和安全监视(即哥白尼计划)系列卫星的重要组成部分,由Sentinel-2A和Sentinel-2B两颗卫星组成。以下是关于Sentinel-2的详细介绍&#xff1…

信息安全工程师(27)环境安全分析与防护

前言 环境安全分析与防护是一个综合性的议题,涉及多个方面,包括环境安全的概念、分析方法、存在的安全隐患以及相应的防护措施。 一、环境安全的概念 环境安全是指人类赖以生存发展的环境,处于一种不受污染和破坏的安全状态,或者说…

828华为云征文 | 华为云X实例CPU性能测试详解与优化策略

目录 引言 1. 测试环境搭建 1.1 测试实例的选择 1.2 CPU性能测试工具介绍 1.3 安装和配置Sysbench 2. CPU性能测试方法 2.1 测试场景设定 2.2 Sysbench单线程CPU性能测试 2.3 Sysbench多线程CPU性能测试(4线程) 2.4 高强度多线程CPU性能测试&a…

【QT 开发日志】QT 基础控件详解:按钮、文本框与标签的使用

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 博主简介 博主致力于嵌入式、Python、人工智能、C/C领域和各种前沿技术的优质博客分享,用最优质的内容带来最舒适的…

努比亚 Z17 NX563J Root 教程三方REC刷写工具教程

教程:1,自用成功 正常链接列表 adb devices 检查fastboot链接列表 fastboot devices 解锁设备fastboot oem nubia_unlock NUBIA_NX563J 我用的解锁设备是:fastboot flashing unlock 1.打开开发者选项。将OEM解锁的按钮打开 2.下载附件努…

【刷点笔试面试题试试水】不使用任何中间变量如何将a、b的值进行交换?

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: #include <iostream> using namespace std;void swap1(int&am…

Cpp::STL—string类的使用与理解(下)(9)

文章目录 前言一、string类对象的修改operator (重点)assigninserterasereplacec_str 二、string类对象的查找findrfindsubstr 三、string类非成员函数operatorrelational operatorgetline 四、VS和g下string结构说明vs下string的结构g下string结构 总结 前言 我认为要想详尽认…

Json 在线可视化工具,分享几个

文章目录 1.json.cn2.json4u.cn3.jsonvisual.com4.jsoncrack5.altearius.github.io6.json.wanvb.com 前序&#xff1a;本文是对多种 Json 在线可视化工具 的介绍、分享。Json官网 https://www.json.org/json-en.html 个人比较中意第四款&#xff1a; https://jsoncrack.com/ed…

数据仓库简介(一)

数据仓库概述 1. 什么是数据仓库&#xff1f; 数据仓库&#xff08;Data Warehouse&#xff0c;简称 DW&#xff09;是由 Bill Inmon 于 1990 年提出的一种用于数据分析和挖掘的系统。它的主要目标是通过分析和挖掘数据&#xff0c;为不同层级的决策提供支持&#xff0c;构成…

Vector不清晰点学习易错点

什么是迭代器 是一个广义指针它可以是指针&#xff0c;也可以是一个可对其执行类似指针得操作-如解除引用&#xff08;如operator*()&#xff09;和递增&#xff08;operator()&#xff09;STL中每个容器类都定义了一个合适的迭代器&#xff0c;该迭代器的类型是一个名为itera…

解决iPhone无法有效响应问题的指南

当您触摸、滑动和点击屏幕时&#xff0c;iPhone 没有响应或屏幕冻结是很烦人的。不可否认&#xff0c;iPhone 是最好的智能手机之一&#xff0c;但它并不完美。触摸屏冻结是 iPhone 用户面临的最常见问题之一。 好消息是&#xff0c;这个问题通常是由软件错误而不是硬件损坏引…

每日学习一个数据结构-DAG有向无环图

文章目录 有向无环图的特性使用场景 有向无环图&#xff08;Directed Acyclic Graph&#xff0c;简称DAG&#xff09; 是一种特殊的图结构&#xff0c;在数学和计算机科学领域有广泛应用。它由顶点&#xff08;vertices&#xff09;和边&#xff08;edges&#xff09;组成&…

C# Windows EventHandler事件的使用

在实现项目中有这样一个使用场景&#xff0c;在一个独立的类库中&#xff0c;它没有对其他类库的引用。所以它能调用的资源有限。这时想在这个类库的一个窗体中的一个按钮要实现一个功能时就会发现有很多要调用的资源没有&#xff0c;无法实现业务逻辑。这时怎么办&#xff1f;…

如何设置一个拉风的PowerShell命令永久别名?

大家好啊&#xff0c;我是豆小匠。 这期来介绍下怎么在PowerShell中设置自己的命令别名。类似Linux系统的alias&#xff01; 1、设置永久别名 设置永久别名需要把命令写入到Microsoft.PowerShell_profile.ps1文件中&#xff08;ps1就是PowerShell脚本文件的扩展名&#xff09…

华为LTC流程架构分享

文末附LTC流程管理PPT下载链接~ 前面笔者分享了华为LTC流程相关PPT&#xff0c;应读者需求&#xff0c;今天从架构角度进行再次与读者共同学习下LTC流程架构。 华为LTC流程架构是一个全面且集成的业务流程体系&#xff0c;从线索发现开始&#xff0c;直至收回现金&#xff0c…

MySQL基础--表的增删改查

目录 一、前言二、新增&#xff08;Create)2.1 单行数据全列插入2.2 单行数据全列插入&#xff08;简写&#xff09;2.3 指定列插入2.4 多行插入 三、查询3.1 全列查询3.2 指定列查询3.3 查询的结果是一个表达式3.3.1 把所有的语文成绩在原本的基础上加一分3.3.2 列与列之间的计…

Docker精讲:基本安装,简单命令及核心概念

docker服务部署 docker是一个容器管理工具&#xff0c;其内部容器才是具体服务&#xff0c;所以我们在安装docker时不需要有太多定制内容&#xff0c;只需要通过yum安装即可 1. 更新系统包 #更新现有依赖包&#xff0c;防止现有依赖包版本过低影响docker安装 yum update2. 安…

【Python】FeinCMS:轻量级且可扩展的Django内容管理系统

在互联网飞速发展的今天&#xff0c;内容管理系统&#xff08;CMS&#xff09;成为了网站开发中的核心工具&#xff0c;尤其对于需要频繁更新内容的企业和个人站点而言&#xff0c;CMS 提供了极大的便利。市场上有许多不同的 CMS 工具可供选择&#xff0c;其中基于 Django 框架…

游戏如何对抗改包

游戏改包是指通过逆向分析手段及修改工具&#xff0c;来篡改游戏包内正常的设定和规则的行为&#xff0c;游戏包被篡改后&#xff0c;会被植入/剔除模块进行重打包。 本期图文我们将通过实际案例分析游戏改包的原理&#xff0c;并分享游戏如何应对改包问题。 安卓平台常见的改…