视觉SLAM-基本原理

以视觉传感器作为感知方式的SLAM称为视觉SLAM。按照建图稀疏程度来分,视觉SLAM技术可以分为稀疏SLAM,半稠密SLAM和稠密SLAM。虽然同为SLAM系统,但它们的侧重点并不完全一样。SLAM 系统最初的设想是为机器人提供在未知环境中探索时的定位和导航能力,其核心在于实时定位。以定位为目的,需要建立周围环境的路标点地图,进而确定机器人相对路标点的位置,这里的路标点地图即稀疏地图,地图服务于定位。但随着算法和算力的进步,SLAM逐渐被用于对环境的重建,也即把所有看到的部分都完整的重建出来。视觉SLAM中常用的传感器是相机,根据相机的工作工作方式不同,可以分为三类:单目相机(Monocular)、双目相机(Stereo)、深度相机(RGB-D)。

单目SLAM只用一个摄像头就可以完成SLAM。最大的优点是传感器简单且成本低,但同时也有个大问题,就是不能通过单张图片得到深度信息(距离),存在尺寸不确定的现象,比如丢失深度信息的相片中,我们能见到“手捏太阳”、“借位拍照”这样的现象。单目相机无法依靠一张图像获得图像中物体离自己的相对距离,为了估计相对深度,利用相机移动形成的图像,进行三角化,测量像素的距离。即是说,它的轨迹和地图,只有在相机运动之后才能收敛,如果相机不进行运动时,就无法得知像素的位置。同时,相机运动还不能是纯粹的旋转,这就给单目SLAM的应用带来了一些麻烦。单目相机结构简单,成本较低。本质上是拍照时的场景在相机的成像平面上留下一个投影,以二维的形式记录了三维的世界。单目SLAM估计的轨迹和地图,与真实的轨迹地图,相差一个因子,也就是所谓的尺度。由于单目SLAM无法仅凭图像确定这个真实尺寸,所以又称为尺度不确定性。本质原因是通过单张图像无法确定深度,为了得到这个深度,人们开始使用双目相机和深度相机。

双目SLAM利用左右目的视差计算像素的距离,从而实现自身的定位。立体视觉既可以在运动时估计深度,亦可在静止时估计,消除了单目视觉的无法得到深度信息的麻烦。不过通过双目图像计算像素距离,计算量大,而且在特征少的白墙或暗光环境易丢失目标。双目相机由两个单目相机组成,但这两个相机之间的距离(称为基线)是已知的。我们通过这个基线来估计每个像素的空间位置,基线距离越大,能够测量到的就越远,双目与多目的缺点是配置与标定均较为复杂,其深度量程和精度受双目的基线与分辨率的限制,而且视觉计算非常消耗计算资源,需要使用GPU和FPGA设备加速后,才能实时输出整张图像的距离信息。因此在现有的条件下,计算量是双目的主要问题之一。

深度相机又称RGB-D相机,它最大的特点是可以通过红外结构光或Time-of-Flight(ToF)原理,像激光传感器那样,通过主动向物体发射光并接收返回的光,测出物体离相机的距离。因此,它比传统相机能够提供更丰富的信息,也不必像单目或双目那样费时费力地计算深度。目前常用的RGB-D相机还存在测量范围窄、噪声大、视野小、易受日光干扰、无法测量透射材质等诸多问题,在SLAM方面,主要用于室内。

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

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

相关文章

如何识别和使用GRS证书

申请TC时的问题 1.没有及时添加分包商信息,TC无法申请 申请TC前,承担“染色”加工的分包商没有增加到GRS证书上; 2.发票地址不在证书上,TC无法申请 公司办公地址与注册地址不同时,证书上没有开票单位的地址&#xff1b…

舆情公关是什么?如何处理企业网络舆情?

舆情就是舆论的情况,在公关领域有暗指负面舆论的意思。总之,舆情公关是目前公关领域的重要分支,很多企业在舆情公关方面折戟,目前越来越多的企业开始重视舆情公关,成为企业一项常规的工作。 什么是舆情公关&#xff1f…

大模型框架:vLLM

目录 一、vLLM 介绍 二、安装 vLLM 2.1 使用 GPU 进行安装 2.2 使用CPU进行安装 2.3 相关配置 三、使用 vLLM 3.1 离线推理 3.2 适配OpenAI-API的API服务 一、vLLM 介绍 vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架。它利用了全新的注意力算法「PagedAtten…

Codeforces Round 946 (Div.3)

C o d e f o r c e s R o u n d 946 ( D i v . 3 ) \Huge{Codeforces~Round~946~(Div.3)} Codeforces Round 946 (Div.3) 题目链接:Codeforces Round 946 (Div. 3) 文章目录 Problems A. Phone Desktop题意思路标程 Problems B. Symmetric Encoding题意思路标程 Pr…

Java-RabbitMQ

RabbitMQ使用场景 1、跨系统异步通信 2、多应用之间解耦 3、应用内流程同步变异步 4、整体架构即采用消息驱动 5、应用内部解耦 RabbitMQ内部角色 角色简介生产者消息创建者消费者消息接收者代理RabbitMQ本身,用于存储转发消息,快递功能 RabbitMQ有哪…

ubuntu 配置用户登录失败尝试次数限制

前言: 通过修改pam配置来达到限制密码尝试次数! 1:修改 /etc/pam.d/login 配置(这里只是终端登录配置,如果还需要配置SSH远程登录限制,只配置下面的 /etc/pam.d/pam.d/common-auth 即可) vim…

SpringCloud的Config配置中心,为什么要分Server服务端和Client客户端?

SpringCloud的Config配置中心,为什么要分Server服务端和Client客户端? 在SpringCloud的Config配置中心中分了Server服务端和Client客户端,为什么需要这样分呢?它的思想是所有微服务的配置文件都放到git远程服务器上,让…

Java---图书管理系统(练习版)

1.主函数 import book.Book; import book.BookList; import user.AdminUser; import user.NormalUser; import user.User;import java.util.Scanner;public class Main {public static User Login(){//确认你的身份System.out.println("请输如你的名字");Scanner sc…

Elasticsearch集群搭建学习

Elasticsearch集群聚合、集群搭建 RestClient查询所有高亮算分控制 数据聚合DSL实现Bucket聚合DSL实现Metrics聚合RestAPI实现聚合 拼音分词器如何使用拼音分词器?如何自定义分词器?拼音分词器注意事项? 自动补全数据同步集群搭建ES集群结构创…

CSS3边框与轮廓

CSS3边框与轮廓 border-radius border-radius 属性用于设置元素边框的圆角半径。通过这个属性,您可以使元素的角呈现圆形或椭圆形外观,而不是传统的直角。其语法格式如下: .element {border-radius: [horizontal-radius vertical-radius] | [radius];}horizontal-radius 和…

蓝桥杯备赛——DP【python】

一、小明的背包1 试题链接:https://www.lanqiao.cn/problems/1174/learning/ 问题描述 输入实例 5 20 1 6 2 5 3 8 5 15 3 3 输出示例 37 问题分析 这里我们要创建一个DP表,DP(i,j)表示处理到第i个物品时消耗j体…

Atlas 200 DK(Model 3000)安装MindSpore Ascend版本

一、参考资料 mindspore快速安装 二、重要说明 经过博主多次尝试多个版本,Atlas 200 DK(Model 3000)无法安装MindSpore Ascend版本。 三、准备工作 1. 测试环境 设备型号:Atlas 200 DK(Model: 3000) Operating System Vers…

Vue框架案例学习

1.项目搭建 利用vitets框架进行搭建 npm create vite 启动项目 npm run dev 2.项目配置 ①运行项目,浏览器自动打开 package.json "scripts": {"dev": "vite --open",} ②配置src文件夹的别名 在根目录下配置tsconfig.json文件 …

依赖的各种java库(工具类) :fastjson,lombok,jedis,druid,mybatis等

lombok 功能&#xff1a; Lombok 是一个实用的Java类库&#xff0c;可以通过简单的注解来简化和消除一些必须有但显得很臃肿的Java代码。 导入包&#xff1a;使用Lombok首先要将其作为依赖添加到项目中&#xff0c;在pom.xml文件中手动添加 <dependency><groupId&g…

提取COCO 数据集的部分类

1.python提取COCO数据集中特定的类 安装pycocotools github地址&#xff1a;https://github.com/philferriere/cocoapi pip install githttps://github.com/philferriere/cocoapi.git#subdirectoryPythonAPI若报错&#xff0c;pip install githttps://github.com/philferriere…

【CTF Web】CTFShow web5 Writeup(SQL注入+PHP+位运算)

web5 1 阿呆被老板狂骂一通&#xff0c;决定改掉自己大意的毛病&#xff0c;痛下杀手&#xff0c;修补漏洞。 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\…

判断视频moov的位置

前言 MP4文件由若干称为Atom&#xff08;或称为box&#xff09;的数据对象组成&#xff0c;每个Atom的起首为四个字节的数据长度&#xff08;Big Endian&#xff09;和四个字节的类型标识&#xff0c;数据长度和类型标志都可以扩展。Atom可以嵌套&#xff0c;即其数据域可以由…

24款奔驰S450升级原厂后排娱乐系统 主动氛围灯有哪些功能

24款奔驰S400豪华升级原厂主动氛围灯与后排娱乐系统&#xff1a;画蛇添足还是锦上添花&#xff1f; 在当今汽车市场竞争激烈的环境下&#xff0c;汽车制造商们为了满足消费者的多元化需求&#xff0c;不断推出各种升级配置和豪华版本。24款奔驰S400豪华版作为奔驰S级的一款重要…

听说部门来了个00后测试开发,一顿操作给我整麻了

公司新来了个同事&#xff0c;听说大学是学的广告专业&#xff0c;因为喜欢IT行业就找了个培训班&#xff0c;后来在一家小公司实习半年&#xff0c;现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍&#xff0c;服务器缩减一半&#xff0c;性能反而提升4倍&#xff01…

uniapp开发vue3监听右滑返回操作,返回到指定页面

想要在uniapp框架中监听左滑或者右滑手势&#xff0c;需要使用touchstart和touchend两个api&#xff0c;因为没有原生的左右滑监听api&#xff0c;所以我们只能依靠这两个api来获取滑动开始时候的x坐标和滑动结束后的x坐标做比对&#xff0c;右滑的话&#xff0c;结束时候的x坐…