视觉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方面,主要用于室内。

相关推荐
AI产品备案7 分钟前
生成式人工智能(大语言模型)上线备案表【模版分享+填报指南】
人工智能·语言模型·自然语言处理
棱镜研途9 分钟前
EI会议分享 | 2026年图像处理与模式识别国际会议(IC-IPPR 2026)【SPIE出版】
图像处理·人工智能·深度学习·目标检测·计算机·计算机视觉·视觉检测
crackpot·12 分钟前
图像处理01
图像处理·人工智能
rebekk14 分钟前
pytorch custom op的简单介绍
人工智能·pytorch·python
不懒不懒15 分钟前
【实战案例:基于特征匹配的指纹识别系统开发】
人工智能·opencv·计算机视觉
ZGi.ai25 分钟前
生产级 Agent 编排 从单一 LLM 调用到多智能体工作流的工程设计
大数据·数据库·人工智能
木斯佳26 分钟前
前端八股文面经大全:阿里云AI应用开发一面(2026-03-20)·面经深度解析
前端·人工智能·阿里云·ai·智能体·流式打印
龙腾AI白云35 分钟前
如何利用大语言模型的能力进行实体关系抽取
人工智能·语言模型·自然语言处理·tornado
8Qi837 分钟前
Hello-Agents阅读笔记--智能体经典范式构建--ReAct
人工智能·笔记·llm·agent·智能体
von Neumann38 分钟前
大模型从入门到应用——HuggingFace:Transformers-[AutoClass]
人工智能·深度学习·机器学习·ai·大模型·huggingface