Depth from sensor(深度传感器)

RGB-D相机同时采集彩色图像和逐像素深度图像。直接从硬件获取深度从根本上改变了SLAM问题:不存在需要解决的尺度模糊性,也不需要在地图变得有用之前通过视差三角化点,并且从第一帧开始就可以进行稠密重建。2010-2011年左右廉价消费级深度相机(微软Kinect)的出现让这一领域迅速发展,并催生了以KinectFusion为代表的实时体素融合系统热潮。

两种传感原理(外加一种混合方案)

存在两种主流的传感原理:

第三种相关的设计是主动红外立体视觉(active IR stereo)(例如Intel RealSense D400系列):在传统立体相机对的基础上辅以投射的红外纹理,因此它在无纹理表面上也能工作,同时在阳光下能优雅地退化为被动立体视觉。

结构光主动红外ToF
原理图案三角测量逐像素传播时间
典型量程约0.5-4米最高约4-5米
典型传感器Kinect v1、Orbbec AstraKinect v2、Azure Kinect
弱点阳光、图案干扰多路反射、阳光

深度误差的行为特征

对于任何基于三角测量的传感器(结构光、主动或被动立体视觉),焦距为ff、基线为bb、视差为dd时,深度为Z=fb/dZ = fb/d。求导后可以看出为何这类传感器在远距离时表现不佳:视差误差σd\sigma_d产生的深度误差随距离平方增长,

σZZ2fbσd.\sigma_Z \approx \frac{Z^2}{f\,b}\,\sigma_d.

一台在1米处精度达毫米级的传感器,在4米处可能偏差达数厘米。ToF传感器的退化方式不同——其随机噪声随距离增长得更平缓——但它们会受到特有的系统性误差影响:多路干扰(multi-path interference)(发出的光在返回前从两个表面反射,使角落和凹陷区域产生偏差)以及飞散像素(flying pixels)(跨越深度不连续处的虚假深度值)。这正是RGB-D SLAM系统按距离对测量值加权、截断远处读数并过滤深度边缘的原因。

常见设备

权衡及其细则

获得免费的度量尺度所付出的代价是一系列硬性的物理限制。测距范围较短(仅几米),因此这类传感器属于室内设备。强烈的红外环境光(阳光)会淹没发射的信号。深色、吸光、透明或高光材质返回的信号很弱或已损坏,导致深度图像出现空洞。深度噪声也随距离增长——对基于三角测量的传感器而言大致呈平方增长——这就是RGB-D SLAM系统对远处测量值加权或截断的原因。

常见陷阱

对SLAM的意义

RGB-D SLAM中的每一个设计决策都源自传感器本身:逐像素的度量深度使得使用ICP和体素TSDF或面元(surfel)融合进行稠密的frame-to-model跟踪成为可能,而传感器的噪声模型、量程限制和材质失效模式决定了这些系统会在何处失效。了解你的深度来自结构光、ToF还是主动立体视觉,能告诉你该系统能在哪些环境中生存——也解释了为什么RGB-D SLAM是一种室内技术,而室外系统则依赖立体视觉或LiDAR。

相关条目