Intel RealSense SR300 Coded light depth Camera

深度重建

深度重建管道由两个主要模块组成。首先,码字提取模块为每个像素提取码字。它计算每个输入帧中的每个像素是否被照亮。此外,还计算了模式转换的亚像素位置信息。其次是深度生成模块,一旦所有模式都被投射,它就会被激活。它利用码字和标定数据重建每个像素处的深度。此外,它增强了图像的深度。深度重建管道的流程图如图5所示。
在这里插入图片描述

码字提取阶段

码字提取以传感器输入图像的帧率(通常为600帧/秒)进行操作,其主要目标是评估每个像素的码字。码字提取管道主要包括两个步骤:归一化、二值化和亚像素估计,具体如下:

这个模块的输入是灰色模式的图像。我们使用了9个灰色代码模式,表示为P0,…,P8和两个参考图像:一个完全发光的图像(记为I 1)和一个不发光的图像(记为I 0)。投影序列是I0, I1 P0…,P8。经过大量的调优和对光学算法实现的权衡,我们发现9种模式提供了最佳的性能。通过9种模式,场景被总共511个过渡投影,在全传感器分辨率中,每超过1个像素就有一个过渡,这将深度空间“横向”分辨率限制在大约1.25个像素。

当一个参考模式 I 0 / I 1 I 0 / I 1 被投影时,它被存储在内存中,以供以后对 P 0 P 8 P 0 - P 8 的投影模式进行规范化。码字提取阶段的输出是一个每像素9位码字的帧,标记表示像素的有效性和二进制转换的亚像素位置(如果有的话)。

标准化

这是重建管道的第一部分。它的主要目标是评估模式图像Pi上每个像素中从场景对象反射的红外投影仪发射光子的数量。为此,使用了参考图像 I 0 I 1 I0和I1 。利用非照明图像i0作为环境光的估计。被照图像被用作反照率估计。当一个参考模式到达归一化块时,由于反照率和环境光近似分段平滑,所以它是通过3×5中值滤波形式的2D低通滤波后存储在内存中的。利用传感器的定量宽松因子,参考图像和模式都从其固有的图像数字电平转换为光电子。

二值化和亚像素估计

二值化是将每个像素转换成一个位的指示,以指示该像素在给定模式中是否被照亮(1)(0)。二值化块的输入是标准化模式图像、过滤的参考图像和4位状态图。在二值化过程中,块对状态图进行修改,并保存关于像素有效性的信息,以及存在过渡时的亚像素位置信息。二值化输出是一个1位像素的数据和更新后的状态图。

采用最大似然估计[21]进行二值化处理。我们用下面的模型来描述这个信号,
在这里插入图片描述
y是由传感器、信号采样的x是反射的信号发射器投影,σ是读出噪声,ρ是散斑噪声系数η是不确定性,反照率是α,β是环境光。我们描述传感器和投影仪来评估噪音(σ,ρ和η)。η因素并不是标准,用于弥补在其他现象没有被考虑。反照率和环境光,α和β,分别评估使用参考图像;α= 1−我0,β= 0。

使用(log)极大似然进行二值化可以解决以下问题:
在这里插入图片描述
由于上述最小化问题在硬件资源方面是复杂和昂贵的,我们使用模板来实现它;我们为每个模式构建了几个大小为3x9的2D模板,每个模板都是从2开始的一个可能的x,表示沿着像素的信号水平横截面。利用反照率估计、环境光估计和噪声系数估计,我们可以计算v。然后我们通过评估每个v的成本并选择产生最低成本的模板来找到描述信号的最有可能的模板。所选模板告诉我们像素应该标记为1还是0,并根据模式类型将其存储在码字的适当位置。所选的像素模板还指示是否以及在何处发生了0.1像素精度的转换。

对其硬件实现作了特别的考虑了 1 v \frac{1}{v} l o g   v log\ v 的函数。它们通过使用两个查找表(LUTs)和使用自定义浮点表示法的线性内嵌实现。v的最高有效位的位置确定规模,后4位最重要的作为输入查找表和剩余部分用于提高精度的线性插值附近地区的结果乘以剩余的残留作为插值的规模大小。该函数的精度可达该函数结果的百万分之一。例如,除以v = 1950,
在这里插入图片描述
二值化块还通过估计信噪比来确定像素的可信度。这是通过使用公式1中的模型,只使用反照率和环境信息来实现的。我们计算了发射体从 y x = 1 √{y_ x}=1 照亮像素时信号的偏差和从 y x = 0 √y_x=0 不照亮像素时信号的偏差。结合这两个因素给出了不确定性估计。置信度是不确定度和反照率的比值,
在这里插入图片描述 然后,我们应用一个阈值来使低置信度像素无效。在稍后的过程中,如果像素邻居中有足够的信息,就会尝试修复无效的像素。