Skip to main content
 首页 » AR百科

什么是SLAM,SLAM有什么作用?

2018年09月17日 09:56:03163730网络

即时定位与地图构建(SLAM)进一步实现VR和AR进步的其中一个关键领域。其他还包括图形,触觉反馈,显示器和音频等等,但在我看来,SLAM是最能带来变革性的一个方面。

但什么是SLAM呢?为什么SLAM如此重要。首先,我们先来解释SLAM及其工作原理。

什么是SLAM,SLAM有什么作用? AR百科 第1张

编辑


1. 位置与方向

SLAM涉及一系列复杂的计算和算法,它们利用传感器来构建未知环境中的地图和结构,并定位设备的位置和方向。全球80%的智能手机都提供摄像头和惯性测量单元(IMU),但目前一般只有高端智能手机能够实际运行SLAM,而它们的整体占比较小。

从技术角度来看,SLAM本质上是一种估算设备位置和方向的过程,并使用摄像头输入馈送和IMU读数来构建环境映射。能够在未知环境中确定设备的准确位置将开发者带来全新的用例和应用程序。

2. 工作原理

今天智能手机的SLAM是如何确定位置的呢?对于下图,智能手机主要是利用IMU传感器采集的数据和处理单目摄像头的视频输入来构建有关环境的信息。

什么是SLAM,SLAM有什么作用? AR百科 第2张

编辑


IMU提供有关智能手机实际运动的信息,但遗憾的是,它们的读数不够精确。在结合摄像头馈送后,我们可以克服这个问题。摄像头馈送用于检测当前帧内的“2D特征点”,然后尝试将它们与前一帧中发现的点相关联。这些点很可能位于帧到帧的不同位置,而根据这些相对点和IMU读数,算法在计算设备的3D位置和方向时可以精确到厘米范围。

IMU的工作频率高于摄像头,这有助于补偿突然的摄像头移动(会造成图像模糊)。SLAM的神奇之处在于,通过将IMU与摄像头馈送相结合,它可以实现比单独使用摄像头或单独使用IMU时更高的精度。

SLAM算法管道同时提供系统一直追踪的2D特征点的3D位置。我们将这组3D点称为“点云”。上述管道还可以提供“稀疏点云(sparse point cloud)”,然后我们可以利用它来从环境中提取平面。但显然,它实际上要比我描述的更加复杂。

什么是SLAM,SLAM有什么作用? AR百科 第3张

编辑


在获取由SLAM提供的设备准确位置和方向,并且知道摄像头参数后,我们可以在根据摄像头馈送渲染3D虚拟对象。这可以通过虚拟对象和虚拟特征来增强真实环境。如下图所示,虚拟花盆覆盖了真正的花盆。当用户在房间内移动时,虚拟花盆将准确地维持在最初的位置。这可以为零售提供一系列方便的用例。例如,消费者可以使用SLAM来确定花盘适不适合某一个房间。

什么是SLAM,SLAM有什么作用? AR百科 第4张

编辑


3. 从“稀疏SLAM”到“密集SLAM”

上面描述的特征都是“稀疏SLAM”的一部分,但展望未来,这很有可能将演变为“密集SLAM”,从简单平面朝着更精确的几何表示发展。在我看来,这是AR真正开始变得有趣的地方,因为开发者不仅可以混合,而且还能修改虚拟现实环境。比方说下图,用户可以用砖块制成的虚拟墙壁来替换真实墙壁。还有很多将现实世界与虚拟世界混合在一起的例子,例如从环境中删除真实对象,并用其他虚拟对象替换它们。游戏领域同样具备巨大的创新潜力。想象一下一只僵尸突然之间粉碎了墙壁,并从中冒出头来。恐怖,但又令人十分兴奋。

什么是SLAM,SLAM有什么作用? AR百科 第5张

编辑


在未来,SLAM的最终目标是在真实环境中渲染虚拟对象,以至于我们无法区分何谓真实,何谓虚拟。这无法在一夜之间成为现实,但可能是AR和VR从业者的长期目标。

今天我们在技术上都可以实现稀疏SLAM和密集SLAM,但稀疏SLAM更为常见。今天,稀疏SLAM多见于基于单目RGB摄像头和IMU传感器的高端智能手机。密集SLAM则更多用于AR设备,比如说HoloLens。这款设备搭载了四个用于追踪用户位置的摄像头,一个飞行时间传感器和IMU传感器。密集SLAM可能是未来,因为这将能实现最终的AR体验。但是,它不会在一夜之间登陆所有的AR设备,因此从稀疏SLAM到密集SLAM的发展将是一个有趣的过程。

评论列表暂无评论
发表评论