
# 通过学习与FLAT数据集解决3D ToF伪影问题

郭琪 $^{1,2}$、Iuri Frosio $^{1(\boxtimes)}$、Orazio Gallo $^{1}$、Todd Zickler $^{2}$ 以及 Jan Kautz $^{1}$

$^{1}$ 英伟达，美国圣克拉拉 <mailto:ifrosio@nvidia.com>

$^{2}$ 哈佛大学工程与应用科学学院，美国剑桥

摘要：场景运动、多次反射和传感器噪声会导致飞行时间相机生成的深度重建结果出现伪影。我们提出了一种两阶段的深度学习方法来同时解决所有这些伪影来源。我们还推出了FLAT——一个包含2000组ToF测量数据的合成数据集，该数据集能够模拟各种非理想情况，还可用于模拟不同型号的相机硬件。以Kinect 2相机为基准，我们在模拟数据和真实数据上均验证了该方法在降低重建误差方面优于现有最先进的方法。

关键词：飞行时间 · MPI伪影 · 运动伪影

## 1 引言

深度估计是诸多计算机视觉应用的核心。在现有的多种提取场景3D信息的策略中，飞行时间（ToF）相机因其鲁棒性强且成本低廉而备受青睐。

ToF相机利用物体与传感器之间的距离和光子往返该物体所需的时间之间的关系。具体而言，振幅调制连续波（AMCW）相机会发射周期性光信号，并测量其返回时的相位延迟：相位延迟可用来估算飞行时间，进而得到深度信息。这种方法的实现需要考虑多个细节。

首先，当距离达到调制周期的整数倍时，相位延迟会出现“卷绕”现象。常见的解决方法是结合不同调制频率的信息：较长的调制周期可以扩展无歧义的测量范围，而较短的周期则能分辨更精细的细节。不过使用多频率也会带来相应问题：场景中动态部分在不同频率的连续测量之间可能发生位移，从而导致深度估计出现$errors^{1}$，这种伪影在深度不连续处尤为明显。

---

![Image](images/10d6ab0f97f4b2cad01a72dbe06d4cbf9173b5e880e11211e06bce2da303e46b.jpg)

<div style="text-align: center;">Fig. 1. The traditional ToF processing pipeline (green, libfreenect2 [^1] as an example) and the proposed framework (red). The lower left panel shows artifacts generated by MPI and motion, that show up respectively as deformation close to corners and spikes or missing data close to the boundaries of moving objects in the traditional flowchart (green). These artifacts are greatly reduced by the proposed framework (red), which is based on the introduction of the motion and multi-reflection modules depicted in the right part. (Color figure online)</div>

这些伪影可以被识别并消除，但代价是对应像素处的深度信息会丢失。

另一个需要考虑的因素是多路径光传输。除了直接的发射器-物体-传感器路径外，光线还可能经过其他路径并多次反射后才被单个像素记录。这种现象被称为多路径干涉（MPI），会导致深度估计出现偏差。已有多种方法试图减弱MPI的影响[^2] [^3] [^4] [^5] [^6]，其中一些方法采用多调制频率[^2] [^3]，正如上文所述，这可能会引入运动伪影。理论上可以通过提高采集速度来减少这类伪影，但较短的曝光时间会因散粒噪声而导致信噪比降低。

相位解缠、运动、传感器噪声和MPI之间的微妙权衡已被从多方面研究过，也有多种方法试图单独减弱不同伪影源的影响。但据我们所知，目前尚未有人尝试通过学习方法联合解决这些问题，这可能是因为缺乏大型数据集。

我们提出了一种基于学习的方法，用于同时处理动态场景、多路径干扰和散粒噪声问题。我们的两阶段架构（见图1）直接作用于多频ToF传感器的原始测量数据，生成经过优化的测量结果，这些结果可与相位解缠及深度转换的标准公式兼容。第一阶段采用编码器-解码器架构[^7]，通过将原始测量数据空间变换到统一的2D参考帧来抑制运动伪影。这一操作增加了能够可靠估计深度的像素数量，尤其是在运动物体边界附近。第二阶段是一个核预测网络[^8]，用于削弱多路径干扰和散粒噪声。由于现实场景中真实深度难以获取，

---

因此我们推出了FLAT（灵活、大规模、可扩展的ToF数据集），这是一个用于训练和评估的合成数据集。它能够精确模拟不同AMCW ToF相机（包括Kinect 2）在存在多路径干扰和散粒噪声时的原始测量数据；FLAT数据集还可扩展以模拟运动伪影。我们的贡献如下：

(i) FLAT：一个大规模的ToF测量合成数据集，可模拟多路径干扰、运动伪影、散粒噪声以及不同的相机响应函数。

(ii) 一种用于抑制运动伪影、多路径干扰和散粒噪声的深度神经网络（DNN）架构，该架构既可在原始测量域也可在深度域进行训练。

(iii) 全面的验证过程，包括消融实验以及与现有最先进算法的对比，以评估减少多路径干扰和运动伪影的效果。

(iv) 对Kinect 2相机的全面特性分析，涵盖其相机响应函数和传感器噪声特性。

我们的DNN模型、数据集以及对Kinect 2的特性分析结果均可在<http://research.nvidia.com/publication/2018-09_Tackling-3D-ToF>获取。

## 2 相关工作

现有多项研究分别针对AMCW ToF成像中的多路径干扰、运动伪影或散粒噪声问题进行降噪处理。我们将它们分为四类。

测量噪声降低。原始ToF测量数据会受到系统噪声和随机噪声的影响[^9]。系统误差通常与不完美的正弦调制有关，可通过校准来减少[^9] [^10] [^11]。散粒噪声及其他类型的随机噪声通常通过对原始测量数据、深度图或两者进行双边滤波来处理，有时还会利用其他图像作为引导[^12]。这些方法的表现总体令人满意，任何试图取代它们的系统（包括我们的系统）其性能都不应明显更差。

运动伪影的消除。当物体移动且ToF原始测量值被连续采集时，就会产生运动伪影。Gottfried等人[^13]指出了三种减弱运动伪影的方法：减少连续测量的次数；检测并修正受运动影响的区域，这些区域既存在于原始测量域中，也存在于深度域中；或者估算原始二维测量图之间的二维运动场，并应用校正性空间扭曲。在原始测量中检测受影响像素的一种方法是依据静态场景中光线测量的物理约束来应用“加规则”和“减规则”[^14] [^15]。检测之后，可通过插值等方法修正受运动模糊影响的像素[^14]。由于多普勒效应，物体运动还会影响反射信号的频率；不过，要利用频率偏移来测量物体运动，需要更多的测量次数以及复杂的处理过程[^16]。

---

基于物理的多路径干扰消除。从ToF相关性数据中恢复深度的算法通常假设仅测量直接的单次反射光路（发射器-表面-传感器）。实际上，许多光子会经历多次反射，从而导致“错误”的测量结果[^2] [^10]。若采用多种调制频率，可通过在傅里叶域中分析原始测量数据中每个像素的时间变化来解决这一问题。例如，在无噪声的情况下，通过$2K + 1$次频率测量就能解析出K条干扰路径[^3]。针对原始ToF测量数据的逐像素时间处理技术还包括Prony法、矩阵笔法、正交匹配追踪、EPIRIT/MUSIC以及原子范数正则化[^2]。Freedman等人提出了一种实时时间处理技术，该技术基于包含稀疏且低秩分量的光传输模型进行逐像素优化[^17]。相量成像技术利用了多路径干扰在更高调制频率下会减弱的特性，研究表明仅需两种这样的频率就能实现简单的时间处理，不过此时可明确测量的范围会有所缩小[^18]。

基于学习的多路径干扰消除。由于难以对多路径干扰进行解析建模，机器学习便成为消除该干扰的诱人替代方案。不过，一个障碍是缺乏用于训练的大规模、物理精度高的数据集——这类数据既难以采集[^19]，模拟成本也极高，直到最近情况才有所改观。Marco等人利用编码器学习从采集到的ToF测量数据到（受多路径干扰影响的）深度图的映射关系，再结合少量模拟的仅含直接光路的ToF测量数据来训练解码器，从而生成经多路径干扰校正后的深度图[^4]。Mutny等人专注于不同材质的拐角区域，利用此类拐角的数据集来训练基于手工设计特征的随机森林模型[^5]。Son等人则采取了不同的策略：他们利用机械臂和结构光系统采集带有真实深度标签的ToF测量数据[^6]，随后训练两个神经网络，分别用于校正深度以及通过测地滤波优化边缘。

我们利用现有的计算能力以及瞬态渲染技术的进步[^10] [^20]，来合成一个规模足够大且种类丰富的训练数据集，以便探索更广泛类别的学习模型。除了物理上精确的MPI效应外，该数据集还提供了逼真的散粒噪声，支持利用近似运动模型进行数据增强，并能高效生成来自AMCW ToF传感器的原始测量数据，这些传感器可采用任意调制信号。

## 3 飞行时间相机模型

在本节中，我们首先回顾理想情况下的ToF重建理论。我们指出深度重建方程具有可微性，从而支持反向传播。接着，我们分析了MPI和运动对深度重建的影响，这有助于明确学习问题的框架并确定训练所需的关键要素。我们利用这些因素来训练神经网络，该网络直接在原始测量数据域中工作且尚未进行解包裹处理，旨在校正这些伪影。本节最后给出了精确的特性描述。

---

我们使用Kinect 2作为硬件测试平台；这样做是为了生成用于训练的精确模拟数据，并减少合成数据与真实数据之间的偏差。本节的所有数学细节均收录于补充材料中。

### 3.1 理想相机模型

AMCW ToF相机用振幅调制的正弦信号照射场景$g(t) = g_1 \cos(\omega t) + g_0$，[^16]。如果相机与光源位置重合且场景静止，那么返回到像素的信号为：

 $$ s\left(t\right)=\int_{-\infty}^{t}a(\tau)\mathrm{c o s}(\omega t-2\omega\tau)d\tau, $$

其中$a(\tau)$表示场景响应函数，即时间$\tau$时到达像素的信号。在理想情况下，光线仅反射一次，此时场景响应为一个脉冲$a(\tau) = a\delta(\tau - \tau_0)$。传播时间$\tau_0$可直接转换为深度。

同频ToF相机会用同一频率下带有相位延迟的参考信号来调制入射信号$b \cos(\omega t - \psi)$。相机的曝光时间通常设定为$T \gg 2\pi/\omega$。通过简单的三角学关系，可将原始相关测量结果$i_{\psi,\omega}$表示为：

 $$ i_{\psi,\omega}=\int_{-T/2}^{T/2}s(t)b\cos{(\omega t-\psi)}d t\approx a(\tau_{0})b\cos{(\psi-2\omega\tau_{0})}=a f_{\psi,\omega}(\tau_{0}), $$

此处我们用$f_{\psi,\omega}(\tau) = b\cos(\psi - 2\omega\tau)$表示相机函数。利用在单一频率$\omega$下采集的原始测量结果以及$K \geq 2$个相位$\psi = (\psi_1, \ldots, \psi_K)$，即可在每个像素处恢复出深度d：

 $$ d=c/(2\omega)\arctan[(\sin\psi\cdot\mathbf{i}_{\psi,\omega})/(\cos\psi\cdot\mathbf{i}_{\psi,\omega})], $$

其中$i_{\psi,\omega}$为每个相位测量值对应的K向量。

不过，当深度超过$\pi c/\omega$时，深度值会发生缠绕现象，因此需要在$L \geq 2$个不同频率$\omega = (\omega_1, \ldots, \omega_L)$下进行额外测量。将频率$\omega_l$下的测量结果记为$i_{\psi, \omega_l}$，Goshov和Solodkin[^21]基于中国剩余定理给出了深度d的解析表达式：

 $$ d=\sum_{\omega}A_{l}(\omega)\arctan{[(\sin{\psi}\cdot i_{\psi,\omega_{l}})/(\cos{\psi}\cdot i_{\psi,\omega_{l}})]}+B(\omega), $$

其中$\{A_l(\boldsymbol{\omega})\}_{l=1,\ldots,L}$和$B(\boldsymbol{\omega})$为常数。根据公式4，我们可以轻松求出导数$\partial d/\partial i_{\psi,\omega_l}$，进而实现对深度误差的反向传播，完成端到端训练。

### 3.2 多路径效应的影响

在现实场景中，到达传感器的信号会受到多条光路的影响，这些光路会经历不同的反射事件且具有不同的路径长度。

---

长度。这意味着场景响应$a(\tau)$不再是一个脉冲，因为它衡量的是光线从所有能连接像素与发射源的光路到达该像素的情况。在这种情况下，公式2变为：

 $$ \begin{align*}i_{\psi,\omega}&=\int_{-T/2}^{T/2}\left(\int_{-\infty}^{t}a(\tau)\cos(\omega t-2\omega\tau)d\tau\right)b\cos\left(\omega t-\psi\right)dt\\&\approx\int_{-\infty}^{t}a(\tau)b\cos(\psi-2\omega\tau)d\tau=\int_{-\infty}^{t}a(\tau)f_{\psi,\omega}(\tau)d\tau.\end{align*} $$

当依次测量具有不同频率 $\omega_l$ 和相位 $\psi_k$ 的正弦参考信号时，就会得到多通道的原始测量数据。任意像素 $i_{\psi, \omega}$ 处的多通道测量值可以被视为多维空间中的一个点；虽然难以用解析方法建模，但该空间中确实存在可通过学习加以利用的结构。

在单次反射的理想情况下，所有可能的测量向量集合$\mathbf{i}_{\psi, \omega}$构成了由公式2定义的“单次反射测量流形”。如果仅使用一种频率，受MPI影响的测量结果会位于同一个流形上，因此无法识别并纠正它们。另一方面，当使用多种频率时，该流形会变成一个非线性子空间，受MPI影响的向量就不再位于其上。此时，MPI问题便可以转化为将可能受MPI影响的真实测量结果映射到理想的单次反射流形上，这也是许多现有MPI校正方法的核心理念。

### 3.3 运动的影响

真实场景很少是静止的。由于物体相对于摄像机的横向和轴向运动，连续的相关测量结果$i_{\psi, \phi}$会出现错位。此外，运动的轴向分量还会改变场景响应函数$a(\tau)$：例如，即使在单次反射的简单情况下，公式2中的项$\tau_0$也会随物体的轴向运动而变化，而测量到的强度则与距离的平方成反比。在我们的室内实验环境中发现，这两种现象都会对深度重建误差产生显著影响。运动甚至会在每个原始相关测量结果中产生模糊和多普勒效应，但我们发现与前两种效应相比，这些影响可以忽略不计。

### 3.4 Kinect 2的特性分析

Kinect 2是一款有详尽文档记载、应用广泛的ToF相机，它配有开源SDK（libfreenect2 [^1]），能够输出原始相关测量结果，还提供了用于基准测试的算法（下文简称为LF2）。我们仔细分析了该相机的各项功能、散粒噪声、渐晕效应以及逐像素延迟特性，以便生成精确的仿真结果，并减少FLAT数据集中的合成数据与真实场景之间的数据偏差。

---

Kinect 2使用三种调制频率，每种频率对应三个相位，总共可产生九种相机功能$\boldsymbol{f}_{\psi,\omega}(\tau)$。为了校准这些相机功能，我们先将光轴精确对准朗伯校准平面。我们在Kinect的光源前放置一个光吸收管，以缩小光束发射角度并限制MPI现象。我们将该平面移动到已知距离$\{d_j\}_{j=1\ldots N}$处，从而得到一系列原始测量结果$\{\dot{i}_{\psi,\omega}(d_j)\}_{j=1\ldots N}$，这些结果在忽略常数比例因子的情况下可近似表示$(d_j)^{-2} \boldsymbol{f}_{\psi,\omega}(2d_j/c)$，且适用于每个像素。去除距离平方带来的强度衰减因素$(d_j)^{-2}$后，我们就得到了相机功能的一系列观测值$\{\boldsymbol{f}_{\psi,\omega}(2d_j/c)\}$。图2展示了三种相机功能。

![Image](images/921ee355050e29d29bf08b40edf7a15605f489885453d33a793b3dff7ae449c4.jpg)

<div style="text-align: center;">Fig. 2. Calibrated camera functions for Kinect 2; the points represent experimental data, the continuous line are the fitted camera functions. (Color figure online)</div>

通过该方法拟合的函数分别表示为$b \cos(\psi - 2\omega\tau)$（图2中的红色和蓝色曲线）以及$\max(\min(b_1 \cos(\psi - 2\omega\tau), b_2), -b_2)$（图2中的绿色曲线）。

至于散粒噪声，我们假设每个像素彼此独立。我们从15个场景中采集数据；对于每一次原始相关测量，我们都会计算每个像素的期望值，即100次测量的平均值。对于任意期望值，我们会将含噪样本的经验分布存入查找表，以便在仿真中生成含噪数据。

关于校准流程的完整说明，包括渐晕效应和像素级时间延迟等内容，我们建议读者参阅补充材料，其中还包含了更多实验结果。

## 4 FLAT数据集

用于训练和验证ToF算法的理想数据集应具备以下特点：规模足够大；能够模拟不同的相机响应函数（如第3.4节所述）；能够包含多重散射、散粒噪声和运动因素；还能提供原始相关测量数据。我们正是基于这些原则创建了FLAT数据集。

FLAT数据集包含2000个场景响应函数$\{a^j(\tau, x, y)\}_{j=1..2000}$，其中我们明确体现了其对像素$(x,y)$的依赖性。每个响应函数都是通过瞬态渲染[^20]计算得出的，该过程模拟了向环境发射光脉冲后，相机传感器在每个时间帧接收到的辐照度。渲染器的输出是一个$n_\tau \times n_x \times n_y$张量，也就是$a^j(\tau, x, y)$的离散化版本。数据集中的场景由70种物体组合生成；每种组合包含1到5个具有朗伯表面且反照率均匀的物体；它们的3D模型来自斯坦福3D扫描库[^22]以及在线合集[^23]。我们从大约30个视角和方向对每个组合进行渲染，空间分辨率为$(n_x = 424) \times (n_y = 512)$像素，连续时间区间数为$n_\tau = 1000$个（每个区间时长$5e^{-11}$秒）；水平视场角为$70^\circ$（与Kinect 2相机对应）。由于采用了双向路径追踪来采样和模拟每条光线，

---

$a^j(\tau,x,y)$确实能模拟多重散射现象。根据$a^j(\tau,x,y)$的离散化版本，按照公式5即可获得任意原始测量值$i_{\psi,\omega}$，这里的相机函数$f_{\psi,\omega}(t)$可由用户指定（比如我们为Kinect 2估算出的那些函数）。

FLAT数据集支持为原始测量数据添加散粒噪声、纹理、渐晕效应和运动信息。在FLAT中，我们提供了相应代码，可将任何渐晕函数和散粒噪声与模拟相机协同应用，而多重散射和相机函数的处理方式如前文所述。因此，在FLAT中实现不同相机函数、多重散射、渐晕效应和散粒噪声的物理级正确模拟，计算开销很低。相比之下，精确渲染纹理和运动则更为耗时。由于FLAT数据集中的每个场景平均需要10小时CPU时间来渲染，若要创建包含不同纹理和运动的大规模场景集，所需时间将是数十到数百倍之多。对此我们的解决方案是提供工具来实时近似模拟纹理和运动（作为数据增强的特殊形式），同时在FLAT中提供一个小型测试集，其中包含精确的运动、纹理和渲染结果。

我们在训练数据中通过逐像素相乘的方式，将渲染得到的$i_{\psi,\omega}$与CURET纹理数据集中的纹理贴图结合[^24]。这种近似方法忽略了真实纹理对多重散射的递归影响，但我们发现它作为一种数据增强手段依然十分有用。

FLAT数据集提供了两种不同的方法，用于在模拟的原始测量数据中加入近似运动。为了说明第一种方法，我们以Kinect 2为例：对静态场景的九组相关性测量值$\mathbf{i}_{\psi, \omega} = (i_{\psi_1, \omega_1}, \ldots, i_{\psi_9, \omega_9})$进行模拟。我们生成一个随机的二维仿射变换T，并将其应用于数据以创建平滑的运动效果$i_{\psi_j, \omega_j}'(x, y) = i_{\psi_j, \omega_j}(T^j-5(x, y))$，其中$T^n(x, y)$表示通过变换T对$(x, y)$进行n次处理，从而得到$T^{-n}(T^n(x, y)) = (x, y)$。需要注意的是，第一组与最后一组测量值所产生的位移最大。为了获得更复杂的运动效果，我们模拟两个或多个物体在不同仿射变换下的运动，并根据它们的深度信息合成场景。这种近似运动模型计算速度快，但无法再现场景中物体之间的多路径干涉现象。第二种运动近似方法以渲染后的场景响应函数$a(\tau, x, y)$作为输入。我们随后生成一个随机的三维仿射变换，并对其进行相应的位移处理$(v_x, v_y, v_z)$，即$a'(\tau, x, y) = a(\tau + v_z/c, x + v_x, y + v_y)$。接着利用公式5来计算九组原始测量值之一。与第一种方法类似，该变换会被多次应用，从而在九组测量值之间产生平滑的运动效果。这种方法虽然计算成本比前一种方法更高，但在物理上更为精确。

## 5 网络架构

我们提出了一种由两个模块组成的深度神经网络（见图1），用于处理原始相关性测量数据中的多路径干涉、运动以及散粒噪声问题。我们在Kinect 2的数据上验证了这两个模块的有效性。这两个模块可以被集成到系统中。

---

<div style="text-align: center;">Table 1. Training specification.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Name</td><td style='text-align: center; word-wrap: break-word;'>MOM + LF2</td><td style='text-align: center; word-wrap: break-word;'>MOM-MRM + LF2 $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'>MRM + LF2 $^{{*}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Training data</td><td style='text-align: center; word-wrap: break-word;'>Motion, MPI</td><td style='text-align: center; word-wrap: break-word;'>Motion, MPI</td><td style='text-align: center; word-wrap: break-word;'>Static, MPI</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Architecture</td><td style='text-align: center; word-wrap: break-word;'>Encoder-Decoder</td><td style='text-align: center; word-wrap: break-word;'>Encoder-Decoder-KPN $(3 \times 3 \times 1)$</td><td style='text-align: center; word-wrap: break-word;'>KPN $(1 \times 1 \times 9)$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Depth reconstruction</td><td style='text-align: center; word-wrap: break-word;'>LF2</td><td style='text-align: center; word-wrap: break-word;'>LF2, no filter</td><td style='text-align: center; word-wrap: break-word;'>LF2, no filter</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Training loss</td><td style='text-align: center; word-wrap: break-word;'>L2, Velocity</td><td style='text-align: center; word-wrap: break-word;'>L2, Raw intensity</td><td style='text-align: center; word-wrap: break-word;'>L2, Raw intensity</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Fine tuning loss</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>L2, Depth</td><td style='text-align: center; word-wrap: break-word;'>L2, Depth</td></tr></table>

![Image](images/2a9fd5f06079ce8dc54e1398550acc3b8d4fb808867dbce0a92ce276e45feb03.jpg)

<div style="text-align: center;">(a) True depth</div>

![Image](images/45be5e6ba16f6be2e678b9b75cf6c67b2f5447073b10e4cb9adbfbfe93e83f0e.jpg)

<div style="text-align: center;">(b) Motion</div>

![Image](images/162608e777a6d6f535ab08a7a01ac2533d0faff3aca6383128b3f23311f2359d.jpg)

<div style="text-align: center;">(c) Shot noise</div>

![Image](images/e41ef1628e55c33765de2778ab14fa53f613dd36713a730e958c6c9a90b444b3.jpg)

<div style="text-align: center;">(d) MPI</div>

<div style="text-align: center;">Fig. 3. Effect of non-idealities on the LF2 depth reconstruction error, in cm. (Color figure online)</div>

将其集成到LF2 [^1]重建流程中，该流程本质上是在Kinect 2上实现公式4的过程。我们利用公式4的可微性，除了其他训练方式外，还采用基于深度域的损失函数对深度神经网络进行训练。

第一个模块（运动模块，MOM）是一种受Flownet启发的编码器-解码器结构[^7]。MOM的目标是输出速度图，以便对齐Kinect2采集的九个原始通道数据。与Flownet最初的设计不同——Flownet用于计算同一域中两幅图像间的光流——MOM负责对齐由不同相机功能采集、虽相关但视觉上存在差异的原始相关性测量值。此外，MOM以九个未对齐的通道作为输入，同时输出八个光流，而Flownet仅处理一对图像和一个光流。第二个模块（多反射模块，MRM）基于核预测网络（KPN），该网络在散粒噪声环境下的 burst 去噪任务中表现优异[^25]。MRM为每个像素输出九个空间变化的核；每个核会与输入的原始测量值进行局部卷积，从而在每个通道上同步去除散粒噪声和多路径干涉噪声，生成干净的原始测量数据。

表1展示了我们在实验中考虑的不同基础深度神经网络架构变体的详细信息。需要注意的是，当使用MRM模块时，我们会修改LF2流程以移除其中的双边滤波步骤，因为去噪工作已由MRM完成；我们将这种LF2流程的变体称为LF2*。MOM-MRM（后接LF2*）网络继承了MOM的编码器-解码器结构；MRM的训练以MOM的输出作为输入，且MOM的权重固定不变。我们最初以原始相关性测量值的L2误差作为损失函数进行训练，随后对MRM进行微调。

---

我们使用通过LF2*传播的第二层深度损失。训练数据中的运动是利用FLAT数据集中的第一种近似方法生成的。我们也尝试使用第二种更物理上精确的近似方法进行微调，得到了类似的结果。

## 6 实验

为了更清晰地展示由运动、散粒噪声和MPI引入的伪影的典型分布，我们在图3中展示了FLAT数据集中的一个场景：分别仅加入运动、散粒噪声或MPI效果后，再通过LF2流程进行重建。在运动物体的边缘可以观察到过冲/欠冲现象，这是由于运动和前景与背景的原始测量值混合所致。$i_{\psi,w}$中的散粒噪声会在深度图中产生随机噪声，尤其是在背景和图像边缘等暗区域。MPI则会在受光线反射影响的区域产生低频噪声，比如图3中的墙角处。

### 6.1 MPI校正

我们首先测量MRM模块对FLAT数据集中受MPI影响的静态场景的效果，并将其与LF2 [^1]、DToF [^4]以及Phasor [^18]进行比较。这几种方法分别基于多频技术、深度学习和定制硬件。LF2在Kinect 2上实现公式4，它构成了我们评估同一平台上DNN所带来改进的基准。DToF和Phasor所需的传感器平台与Kinect 2不同，但得益于FLAT数据集的灵活性，我们可以模拟使用它们特定调制频率和相位的原始测量数据，并加入同等水平的噪声用于测试。由于DToF和

![Image](images/33eadf565f7aa43eff6132ed37f9fd5454ccfc28524766d45ad2d80ba57e4cf9.jpg)

![Image](images/aba9240243052029b428a7ae93dc00f18f989540f57ef74a837fab3a980f591b.jpg)

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Median (error)</td><td style='text-align: center; word-wrap: break-word;'>IQR</td><td style='text-align: center; word-wrap: break-word;'>Prctile (90 $^{th}$) (absolute error)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LF2</td><td style='text-align: center; word-wrap: break-word;'>2.92 (1.62%)</td><td style='text-align: center; word-wrap: break-word;'>3.01 (2.34%)</td><td style='text-align: center; word-wrap: break-word;'>6.55 (5.36%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MRM</td><td style='text-align: center; word-wrap: break-word;'>-0.01 (0.00%)</td><td style='text-align: center; word-wrap: break-word;'>2.63 (1.70%)</td><td style='text-align: center; word-wrap: break-word;'>4.19 (2.52%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>DToF</td><td style='text-align: center; word-wrap: break-word;'>-2.48 (1.80%)</td><td style='text-align: center; word-wrap: break-word;'>12.36 (7.13%)</td><td style='text-align: center; word-wrap: break-word;'>19.56 (9.84%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Phasor</td><td style='text-align: center; word-wrap: break-word;'>-0.29 (0.12%)</td><td style='text-align: center; word-wrap: break-word;'>1.62 (0.71%)</td><td style='text-align: center; word-wrap: break-word;'>1.83 (1.16%)</td></tr></table>

<div style="text-align: center;">Fig. 4. The upper left panel shows the CDF of the depth error for LF2, MRM, DToF, and Phasor, for simulated data from FLAT, affected by shot noise and MPI. The upper right panel shows the histogram of the error. All pixels whose real depth is in the [1.5 m, 5m] range have been considered. Our MRM outperforms LF2 and DToF, and it comes much closer to the accuracy achieved using the MPI-dedicated, higher-frequency modulations of Phasor. The table shows corresponding median and Inter Quartile Range (IQR) of the depth error, and  $90^{th}$ percentile of the absolute error, in cm. The numbers in the brackets indicate the relative errors. (Color figure online)</div>

Phasor不会屏蔽不可靠的输出像素（而LF2会），且Phasor的工作范围仅限于[1.5米, 5米]，因此我们只比较该范围内所有此类

---

像素的深度误差。此外，由于Phasor不处理散粒噪声，我们对其输出的深度图应用双边滤波器来去除噪声。

![Image](images/22de66a6d0f524689ee25096bfc976994aae89600edc6aca9ca5da2e6ff563fa.jpg)

<div style="text-align: center;">(a) True</div>

![Image](images/c9e957206bc0be9038b327eb5633116c0b565fcebc266b877b4c9b35a53fd558.jpg)

![Image](images/7f2bcd299265219c65b3ff259a3d00e323005ed999435a523dd47c0945916848.jpg)

<div style="text-align: center;">Med: -11.38, IQR: 14.28</div>

![Image](images/4805b4c73253049e87be166df48ff9e3724035a38ef9f51bdce0fbd4ba0cb4b6.jpg)

<div style="text-align: center;">(b) DToF</div>

<div style="text-align: center;">Med:0.53, IQR:0.96</div>

![Image](images/196cd1598d7e212a71c37898dd980680d8e3c51b27301e9940cde10b000e2fdf.jpg)

<div style="text-align: center;">Med:0.93, IQR:1.25</div>

![Image](images/544c59d38469971d08f07884e4d52b62a45c551fd4ec48017eb04b8108f64b1d.jpg)

<div style="text-align: center;">(c) Phasor</div>

![Image](images/f645bcfea2aef3567cc9e8c47bc3c7e6189ca71de4e26d712ba2b5147817b8ae.jpg)

<div style="text-align: center;">Med:1.29, IQR:2.32</div>

![Image](images/1815c9abeba6b5ae617534e8605be2add40f22f8146bc9ea1ebf6b36ffb47a69.jpg)

<div style="text-align: center;">(d) LF2</div>

![Image](images/923dccd2ccc3c72fa5e6089dc3ecc9a103354107e460ec74ed3ead03917fce87.jpg)

![Image](images/d22e334a364914254aab01c05cde6a37cfa43d4935243522bd4ed0ead4944ec0.jpg)

<div style="text-align: center;">(e) MRM</div>

<div style="text-align: center;">Fig. 5. Depth error for scenes from the FLAT dataset, corrupted by shot noise and MPI and reconstructed by DToF [^10], Phasor Imaging [^18], LF2 [^1] and MRM, in cm. Errors are computed only in the unambiguous reconstruction range of Phasor Imaging, [1.5 m, 5 m]; no mask is used to remove unreliable pixels. The blue boxes in the first row show the receptive field for DToF and MRM. (Color figure online)</div>

图4所示的结果表明，DToF生成的深度图精度最低。由于原始数据中存在的MPI，LF2的中位误差存在偏差——实际上LF2流程中并未包含校正这种非理想情况的机制。这种偏差被MRM有效消除了。我们的方法在不需使用昂贵硬件来产生极高调制频率（1063.3 MHz和1034.1 MHz）的情况下，就能达到与Phasor相近的精度：MRM可在频率低于150 MHz的Kinect 2上运行。图5展示了FLAT数据集中典型场景的结果，其中Phasor和MRM在消除MPI方面优于其他方法。值得注意的是，像Phasor所使用的高频调制信号极易受噪声影响。事实上，我们使用双边滤波器来降低散粒噪声对Phasor输出的影响。虽然这能有效减少随机噪声，但原始相关测量中的任何错位（比如运动时出现的那种情况）都会产生系统噪声，而双边滤波无法消除这种噪声，这会大幅降低Phasor的精度（图7c）。在这种情况下，我们的MRM显得可靠得多（图7e）。

图8展示了一个在静态条件下用Kinect 2采集的真实场景角落。通过对角落的三个平面分别应用棋盘格校准，可以估算出该场景的真实形状。这张图表明，MRM不仅能模拟环境中，还能在真实条件下显著减少MPI伪影（与LF2相比）。

---

### 6.2 运动伪影校正与消融研究

我们进行了消融实验，以量化MOM和MOM-MRM在受MPI、散粒噪声和随机运动干扰的FLAT数据集测试集上的性能提升。在该实验中，九次相关测量之间的运动是通过在三维空间中移动物体来完全模拟的。这使得我们能够在受真实运动场影响的模拟原始相关测量数据上测试MOM和MOM-MRM，即便这些模块是基于近似运动数据训练的。

![Image](images/67b68780b3dc681b97b970325cf2a803aa65631d57248d209d350f031c905b2b.jpg)

![Image](images/20dfd0dd4c6ec88d9f74e447bca4930f3eba1fcb91bf339b5fa47a1071975da9.jpg)

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Median (error)</td><td style='text-align: center; word-wrap: break-word;'>IQR</td><td style='text-align: center; word-wrap: break-word;'>Prctile $90^{th}$ (absolute error)</td><td style='text-align: center; word-wrap: break-word;'>Density -</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LF2</td><td style='text-align: center; word-wrap: break-word;'>2.57 (1.11%)</td><td style='text-align: center; word-wrap: break-word;'>2.65 (1.14%)</td><td style='text-align: center; word-wrap: break-word;'>5.62 (2.51%)</td><td style='text-align: center; word-wrap: break-word;'>93.56%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MOM</td><td style='text-align: center; word-wrap: break-word;'>2.50 (1.08%)</td><td style='text-align: center; word-wrap: break-word;'>2.55 (1.10%)</td><td style='text-align: center; word-wrap: break-word;'>5.48 (2.44%)</td><td style='text-align: center; word-wrap: break-word;'>95.50%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MOM-MRM</td><td style='text-align: center; word-wrap: break-word;'>1.02 (0.45%)</td><td style='text-align: center; word-wrap: break-word;'>2.43 (1.06%)</td><td style='text-align: center; word-wrap: break-word;'>4.12 (1.82%)</td><td style='text-align: center; word-wrap: break-word;'>97.67%</td></tr></table>

<div style="text-align: center;">Fig. 6. The upper left panel shows the CDF of the depth error for LF2, MOM and MOM-MRM, for simulated data from the FLAT dataset, affected by shot noise, MPI, and motion. The upper right panel shows the histogram of the error. Only those pixels that have been reconstructed contribute to the statistics. The table shows the corresponding reconstruction errors (median, 90th percentile, and Inter Quartile Range (IQR), in cm). The numbers in the brackets indicate the relative errors. (Color figure online)</div>

我们通过LF2、MOM和MOM-MRM三种方法对比深度重建效果，每种方法均采用LF2提供的相同掩码方法来剔除不可靠像素，比如因运动导致的物体边界错位处的像素。图6中报告的密度（即重建像素的百分比）能够反映MOM对物体边界的对齐效果。与LF2相比，MOM的深度精度略高，但MOM的主要优势在于减少了不可靠像素的数量，密度从93.56%提升至95.50%。图9中的红色框通过模拟展示了引入MOM模块后，重建场景中孔洞的出现频率降低，尤其是在物体边界附近。引入MRM模块后，密度进一步提升，且由MPI引起的深度误差偏差也得以减小。这种效果在图9的绿色框中清晰可见：引入MRM模块后，房间角落处的MPI伪影明显减少。

### 6.3 综合应用

图7展示了来自FLAT数据集的模拟场景，该场景受到了散粒噪声、MPI以及轻微运动的干扰（首次和最后一次原始相关测量之间的平均位移为10个像素）。在这种情况下，相量成像无法生成可靠的深度图：由于调制频率较高，即使微小的运动也会显著改变测量相位。MRM的表现仍优于LF2，能有效降低MPI的影响；而经过训练可同时处理运动和MPI问题的架构……

---

![Image](images/3015706dcd9fba0db87ee5ebc75036d5dd8d105b159d05c90b6181174dc10ae1.jpg)

<div style="text-align: center;">(a) True</div>

![Image](images/e8b26474a6d60df94f83c91e3200b0c97c562face7f8cc947a80606de7131d3c.jpg)

<div style="text-align: center;">(b) DToF</div>

![Image](images/bd592ef0fc92fc356cc5ea0a7ebee7f7dac22a7c0ec6bf5fe110d8f6782913be.jpg)

<div style="text-align: center;">(c) Phasor</div>

![Image](images/71dc5849736c76c4a09924c5ba0adc424b0d962b5f9689f89cf63b6e57197209.jpg)

<div style="text-align: center;">(d) LF2</div>

![Image](images/49f49899fcfc38702b0a1314ff1f70e7e5c19140655bc5f586376c32140194eb.jpg)

<div style="text-align: center;">(e) MRM</div>

![Image](images/b73fcbb0c072ce3f0319f417e506d9159ef5e6700481d95aaa3925a0a6026c7d.jpg)

<div style="text-align: center;">(f) MOM-MRM</div>

<div style="text-align: center;">Fig. 7. Depth error for different reconstruction methods and a simulated scene from FLAT, corrupted by shot noise, MPI, and small motion. Units in cm. (Color figure online)</div>

![Image](images/9669d4405caeec54dcf56045edc754bb0fe77fd6e95c92b6ef1b0c970d69ec69.jpg)

<div style="text-align: center;">(a) Scene</div>

![Image](images/5d3104c048d63d8294d61485c3f26171bf72f001f52914538e615f242e3a98ba.jpg)

<div style="text-align: center;">(b) True</div>

![Image](images/e94612e883174c75f7b56504222cdfa7a80b71d65db3ed18c6c400db4c7421ff.jpg)

<div style="text-align: center;">(c) LF2</div>

![Image](images/76a7207ed93b5ff049600c42ecb5ed3e4ea743f07eacdd37c971557468d96fcd.jpg)

<div style="text-align: center;">(d) MRM</div>

<div style="text-align: center;">Fig. 8. A real scene of a corner captured by a Kinect 2 (a) with ground truth depth (b) and depth errors for LF2 (c), and MRM (d). MPI artifacts show up as lobes close to the corner in LF2, and are reduced by MRM. Units in cm. (Color figure online)</div>

![Image](images/3bba328afaf6bef6da3b5629843fb005096f7961cf5ab1c101e8c1259f3f15e2.jpg)

![Image](images/4f36415dfa7741a118c6cf8bf678d989e3d3d373ea81dd92fb5ffa7374c05d3e.jpg)

<div style="text-align: center;">(a) True</div>

![Image](images/7be58e5ad13c93126fa3d1b21192b43e89625743e89682bc94b71d10c9e2d95a.jpg)

![Image](images/13ce509413172a3ccd0f10ccc18075f9426fe666c15b5dce6f194ae9596e0bba.jpg)

<div style="text-align: center;">(b) LF2</div>

![Image](images/50bce2f4b0ed8b102600985eb8308bc7a4306426fb7a64d92135b75071294683.jpg)

![Image](images/3d0a86e6347f8b42807646ddf93d880f0d0809a072ae76a18fce6cf5b43bcfb5.jpg)

<div style="text-align: center;">(c) MOM</div>

![Image](images/4f0b07e6ec2e39a839e9fd765d09e67186ab4983b1f28f1135871c3d72005520.jpg)

![Image](images/50295487feb0461a3e10c704c3fc5766d1ba6f67c108dd1aaa6782df10cd3f29.jpg)

<div style="text-align: center;">(d) MOM-MRM</div>

图9. 来自FLAT数据集的模拟场景，受到散粒噪声、MPI和运动干扰。上行显示深度图，左下方面板为强度图像，该行其他面板展示深度误差。MOM能对齐物体边界并实现更密集的重建（b、c中的红色框）。MRM主要在平滑区域修正MPI伪影（c、d中的绿色框）。单位为厘米。（彩色图在线查看）

![Image](images/4ad3e502fc4a61879f689234401dc863901e9ba96db9d6df3a2f8543f9b0bbf0.jpg)

<div style="text-align: center;">(a) Scene</div>

![Image](images/c076339f3a3b3fbd64702f7d8d3fba40157b9273a864fdf8d93362d27dd9a472.jpg)

<div style="text-align: center;">(b) Raw</div>

![Image](images/707e96c687e422fe60dbe5544d0f21fcaf8d97018ce4fe7eb7c64651f0addd7c.jpg)

<div style="text-align: center;">(c) LF2</div>

![Image](images/8e197ac6c465a30136ea807234e6d7aee75b0673641e3b2db500b8d4a8646306.jpg)

<div style="text-align: center;">(d) MOM-MRM</div>

![Image](images/37bf85fab6e54107db47ead3411a9b384deedefeccf15bc7401473c6557edda5.jpg)

<div style="text-align: center;">(e) Flow</div>

<div style="text-align: center;">Fig. 10. Panel (a) shows the average of nine raw correlation measurements acquired by Kinect 2, with a moving ball (blue box); panel (b) shows one of the raw measurements. Our method (d) reduces the motion artifacts compared to LF2 (c). The optical flow generated from MOM is shown in panel (e). The red box highlights the reflective hand bar with specular reflections; if not masked out, our method fails on these pixels. Units in cm. (Color figure online)</div>

---

能够同时处理运动和MPI问题的MOM-MRM表现最佳（中位数和四分位距均最小）。使用MOM-MRM方法重建深度场景在NVIDIA TitanV GPU上大约需要90毫秒。

我们的基于原始测量数据的DNN架构是深入研究的成果。我们测试了多种架构，包括Su等人近期研究中提出的直接输出深度的架构[^26]，但其重建误差始终大于所提出的DNN。我们认为这是因为直接输出深度的DNN被迫学习从原始测量数据到深度的非线性映射，而无法利用这种关系由物理规律决定且已知这一事实（见公式4的反正切函数）。在原始域中处理的另一个好处是，除了深度外，我们还能像LF2流程那样估算不确定性，例如用于屏蔽不良深度值。

图10展示了一个包含运动物体（蓝色框内的球）的真实场景示例，该场景由Kinect 2采集。请注意，图10a较为模糊，因为它是对九个原始测量值取平均的结果；而每个单独的原始测量值仍然清晰，如图10b所示。与模拟结果一致，MOM的主要效果是减少运动物体边界附近的空洞。

### 6.4 方法局限性

我们的方法存在一些局限性，这些局限性可通过进一步开发来克服。MRM的感受野（图5中的蓝色框）为$72 \times 72$像素，理论上不足以捕捉全局几何信息并纠正长距离的MPI现象；此外，我们的损失函数天然侧重于短距离MPI校正，因为较短传播距离下的信号强度明显更强。尽管如此，MRM确实减少了许多长距离MPI伪影（见图5中汽车的挡风玻璃部分）。这一现象可以用MRM学到的关于物体外观的先验信息来解释，或者假设MRM学会了将受长距离MPI影响的测量值投影到单次反射流形上（详情见补充材料）。

另一个局限性是FLAT仅包含漫反射材质。因此，MRM无法重建具有强镜面反射的表面，如图10中的门把手（红色框内）所示。

图10还凸显了MOM在大幅运动情况下的局限性：虽然MOM能有效扭曲前景运动物体的像素，但它并非用于修复部分被遮挡背景中缺失的数据。这导致在大运动场中运动伪影只能被部分消除。

由于我们使用Kinect 2进行的实验表明快速运动导致的模糊可忽略不计（见图10b），因此我们并未考虑单个原始测量值内的模糊问题。若其他平台出现显著的运动模糊现象，在基于FLAT模拟测量值时可轻松加入近似模糊效果。

最后，我们的方法假设环境光恒定（如典型的室内条件）来对相机噪声进行建模。若能单独表征环境光引发的噪声，或许能建立更精确的噪声模型。

---

## 7 结论

运动、MPI和散粒噪声会显著影响ToF成像中深度重建的准确性。我们证明了利用深度学习可以联合减少运动伪影和MPI伪影，且该方法可在现成的ToF相机上应用于原始相关测量数据领域。我们通过消融研究验证了MOM和MRM模块的有效性，并报告了在合成数据和真实数据上的实验结果。针对这些伪影的其他处理方法仍有待探索；我们认为，灵活的FLAT数据集将为这一研究方向提供有益的工具。

## 参考文献

[^1]: Xiang, L., et al.: libfreenect2: Release 0.2, April 2016

[^2]: Bhandari, A., Raskar, R.: Signal processing for time-of-flight imaging sensors: an introduction to inverse problems in computational 3-D imaging. IEEE Signal Process. Mag. 33, 45–58 (2016)

[^3]: Feigin, M., Bhandari, A., Izadi, S., Rhemann, C., Schmidt, M., Raskar, R.: Resolving multipath interference in kinect: an inverse problem approach. Sensors 16, 3419–3427 (2016)

[^4]: Marco, J., et al.: DeepToF: off-the-shelf real-time correction of multipath interference in time-of-flight imaging. ACM Trans. Graph. (SIGGRAPH ASIA) 36, 219 (2017)

[^5]: Mutny, M., Nair, R., Gottfried, J.: Learning the correction for multi-path deviations in time-of-flight cameras. arXiv preprint arXiv:1512.04077 (2015)

[^6]: Son, K., Liu, M., Taguchi, Y.: Automatic learning to remove multipath distortions in time-of-flight range images for a robotic arm setup. arXiv preprint arXiv:1601.01750 (2016)

[^7]: Dosovitskiy, A. et al.: Flownet: learning optical flow with convolutional networks. In: Proceedings of the IEEE International Conference on Computer Vision (ICCV) (2015)

[^8]: Bako, S., et al.: Kernel-predicting convolutional networks for denoising monte carlo renderings. ACM Trans. Graph. (SIGGRAPH) 36, 97 (2017)

[^9]: Jung, J., Lee, J.-Y., Kweon, I.S.: Noise aware depth denoising for a time-of-flight camera. In: Korea-Japan Joint Workshop on Frontiers of Computer Vision (2014)

[^10]: Jarabo, A., Masia, B., Marco, J., Gutierrez, D.: Recent advances in transient imaging: A computer graphics and vision perspective. Vis. Inform. 1, 65–79 (2017)

[^11]: Ferstl, D., Reinbacher, C., Riegler, G., Rüther, M., Bischof, H.: Learning depth calibration of time-of-flight cameras. In: Proceedings of the British Machine Vision Conference (BMVC) (2015)

12. Lenzen, F.等人：飞行时间数据的去噪策略。载于：Grzegorzek, M., Theobalt, C., Koch, R., Kolb, A.（编）《飞行时间与深度成像：传感器、算法及应用》。LNCS第8200卷，第25–45页。斯普林格出版社，海德堡（2013年）。<https://doi.org/10.1007/978-3-642-44964-2_2>

[^13]: Gottfried, J.M., Nair, R., Meister, S., Garbe, C.S., Kondermann, D.: Time of flight motion compensation revisited. In: IEEE International Conference on Image Processing (ICIP), (2014)

## [^14]: Lee, S.: Time-of-flight depth camera motion blur detection and deblurring. IEEE Signal Process. Lett. 21, 663–666 (2014)

---

15. Hansard, M., Lee, S., Choi, O., Horaud, R.：《飞行时间相机：原理、方法与应用》。斯普林格出版公司，伦敦（2012年）。<https://doi.org/10.1007/978-1-4471-4658-2>

[^16]: Heide, F., Heidrich, W., Hullin, M., Wetzstein, G.: Doppler time-of-flight imaging. ACM Trans. Graph. (SIGGRAPH) 34, 36 (2015)

[^17]: Freedman, D., Krupka, E., Smolin, Y., Leichter, I., Schmidt, M.: SRA: fast removal of general multipath for tof sensors. arXiv preprint arXiv:1403.5919 (2014)

[^18]: Gupta, M., Nayar, S.K., Hullin, M.B., Martin, J.: Phasor imaging: A generalization of correlation-based time-of-flight imaging. ACM Trans. Graph. 34, 156 (2015)

19. Nair, R.等人：用于评估飞行时间成像的基准真值。载于：Grzegorzek, M., Theobalt, C., Koch, R., Kolb, A.（编）《飞行时间与深度成像：传感器、算法及应用》。LNCS第8200卷，第52–74页。斯普林格出版社，海德堡（2013年）。<https://doi.org/10.1007/978-3-642-44964-2_4>

[^20]: Jarabo, A., Marco, J., Muñoz, A., Buisan, R., Jarosz, W., Gutierrez, D.: A framework for transient rendering. ACM Trans. Graph. (SIGGRAPH ASIA) 33, 177 (2014)

[^21]: Gushov, V., Solodkin, Y.N.: Automatic processing of fringe patterns in integer interferometers. Opt. Lasers Eng. 14, 311–324 (1991)

[^22]: Curless, B., Levoy, M.: A volumetric method for building complex models from range images. In: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, pp. 303–312. ACM (1996)

23. Burkardt, J.：OBJ文件：一种3D对象格式（2016年）。<https://people.sc.fsu.edu/jburkardt/data/obj/obj.html>

[^24]: Dana, K.J., Van Ginneken, B., Nayar, S.K., Koenderink, J.J.: Reflectance and texture of real-world surfaces. ACM Trans. Graph. (TOG) 18, 1–34 (1999)

[^25]: Mildenhall, B., Barron, J.T., Chen, J., Sharlet, D., Ng, R., Carroll, R.: Burst denoising with kernel prediction networks. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2018)

[^26]: Su, S., Heide, F., Wetzstein, G., Heidrich, W.: Deep end-to-end time-of-flight imaging. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018
