【论文简述】Multi-View Depth Estimation by Fusing Single-View Depth Probability with Multi-View(CVPR 2022)

一、论文简述

1. 第一作者:Gwangbin Bae

2. 发表年份:2022

3. 发表期刊:CVPR

4. 关键词:MVS、单目深度估计、深度学习、迭代改进

5. 探索动机:

  • 单视图方法使用单目线索,如纹理梯度和已知大小的物体。深度特征提取器将这些线索编码到密集特征图中,解码器从稠密特征图中回归每个像素的深度。在适当的监督下,单视图方法可以学习弱纹理或反射表面的深度。然而,由于问题本身的模糊性,它们的准确性是有限的。
  • 多视图方法使用几何线索,关键假设是,如果一个特定像素的估计深度是正确的,它将被投影到其他图像中视觉上相似的像素上。虽然这种硬编码的多视图几何减少了模糊性,并实现了更好的精度,但也存在一些限制:为了找到正确的深度,应该对大量的深度候选层进行评估;当存在遮挡和物体运动时,多视图一致性假设被打破;对于无纹理或反射表面,多视图匹配变得不可靠。

6. 工作目标:单目线索和几何线索如果都加以利用,可以弥补各自的不足。通过多视图匹配可以减少单视图深度的模糊性。通过在单视图深度附近选取深度候选点,可以提高多视图匹配的效率。通过加强与单视图深度的一致性,可以防止多视图匹配失败的情况(例如在无纹理/反射表面上)。

7. 核心思想:提出了MaGNet(Monocular and Geometric Network),是一种将单视图深度概率与多视图几何结构融合的新框架,以提高多视角深度估计的精度、效率和鲁棒性。MaGNet使用具有已知内参和相机姿态的单目图像序列作为输入。该方法引入了概率深度采样,从单视图深度概率分布中对每像素深度候选对象进行采样,并对多视图匹配得分进行深度一致性加权,以确保多视图深度与单视图预测一致。该方法使用了迭代改进多视图匹配,从当前深度概率分布中选取少量候选点,更新其均值和方差。

  • 概率深度采样。大多数多视角深度估计方法对所有像素使用相同的深度候选范围(在一些人工选择的限制dmin和dmax之间采样)。即使采用由粗到细的深度搜索策略的方法,也使用均匀采样的候选点来获得初始的粗深度图。为了实现更高的精度和更低的计算成本,本文提出了概率深度采样,其中像素候选点从单视图深度概率分布中采样得到。很多方法评估了64个统一采样的候选点,而本文只采样了5个候选点。
  • 多视图匹配的深度一致性加权。我们使用每个视图中估计的单视图深度概率来编码候选深度的一致性。通过将多视图匹配得分与二进制深度一致性权重相乘,提高了鲁棒性和准确性。
  • 迭代改进。概率深度采样和加权一致性的多视图匹配的结果是一个较小的代价体,用于更新初始深度概率分布。然而,如果初始的单视图深度概率分布不准确,则没有一个采样深度候选深度会接近真实深度。因此引入迭代改进,其中更新的分布反馈到概率深度采样模块。

8. 实验结果:该方法在ScanNet、7-Scenes和KITTI上实现了最先进的性能。定性评估表明,该方法对具有挑战性的物件(如无纹理/反射表面和移动物体)更鲁棒。消融研究表明,提出的单视点深度概率融合方法提高了多视点深度估计的精度、效率和鲁棒性。

9.论文&代码下载:

https://openaccess.thecvf.com/content/CVPR2022/papers/Bae_Multi-View_Depth_Estimation_by_Fusing_Single-View_Depth_Probability_With_Multi-View_CVPR_2022_paper.pdf

https://github.com/baegwangbin/MaGNet

二、实现过程

1. MaGNet概述

MaGNet预测单视图的深度概率分布;然后,将参考帧估计的分布用于采样素深度假设值。这种概率采样策略使得网络可以建立较少的深度假设值的同时获得更高的精度;文中还对多视图匹配得分提出深度一致性加权,以确保多视图深度与单视图预测一致。

模型的目标为预测参考帧 It 在 t 时刻的深度图,输入为一段时间序列内的图片与相机参数,下图说明了整个流程。主要包含以下3个步骤:

  1. 对每一帧图像,D-Net估计单视图深度概率,并将其参数化为像素级别的高斯分布,预测深度概率分布,F-Net提取特征图;
  2. 参考帧的D-Net输出用于逐像素深度候选点,通过一致性加权,多视图匹配对候选深度进行评估,将估计的单视图深度概率与多视图几何融合;
  3. G-Net根据得到的薄代价体,更新初始深度概率分布的均值和方差,并将其反馈给深度采样模块,得到更准确的预测结果。
  4. (a)说明了如何更新像素预测。曲线和直方图分别表示估计的深度概率分布和候选样本的匹配得分。(b)显示了密度预测的更新(深度µ和不确定性σ)。

2. 单视图深度概率和特征

2.1. 单目视图深度概率

对于Wt(H×W),使用D-Net来预测其深度概率分布图(H/4 × W/4),对于输入图像It每一个像素点(u,v),将其概率参数化为高斯分布:

其中,µ为均值,σ2为方差。文中使用了一个轻量级的卷积编码器-解码器与effecentnet B5作为主干网络。使用线性激活层来计算均值μ,使用修正的ELU函数来计算方差 σ,f(x) = ELU(x) + 1,由此来保证方差为正,且具有平滑梯度。D-Net是预先训练的,在训练管道机制的其他组件时,权重固定。训练损失为真实深度的负对数似然(NLL):
公式2是可学习的衰减的L2损失。在物体边界附近和距离真实值较远的点,模型很难减小误差(dgt−µ)2,网络学会估计更高σ2,来使得第二项变小,第一项会限制方差过大。在非边界区域,当估算的σ2较低时,估算的µ可能很接近正确的深度,第二项近似为0,为了使整个损失函数较小,模型会趋向于将第一项变小,也就是σ2变小。利用这些信息可以提高多视图匹配的效率和准确性。

2.2. D-Net架结构

在每个卷积层中,ks为核大小,Cout为输出通道数。FEATN表示分辨率H/N × W/N的特征图。X + Y表示两个张量连接,上采样(·)为双线性上采样。注意,不同的激活函数应用于最终输出的每个通道。

2.3. 单目视图的特征

F-Net对每幅图像提取分辨率为H/4 × W/4的特征图。F-Net也通过使用统一采样的深度候选函数{dk}和最小化d和dgt之间的L1损失来进行预训练。

根据对应点的特征向量之间的点积计算两个像素之间的匹配得分(代价)。对于深度候选点{dk}的像素(u, v),匹配得分可以写成:

其中,〈·,·〉表示点乘,(ui,vi)是3D坐标(u, v, d)在第i个图像上的投影。通过在深度维度进行softmax,可以将代价体转化为深度概率体,由此可以推断出每像素深度为d。

3. 单视图深度概率分布与多视角几何信息融合

本节中描述的组件没有可学习的参数。

3.1. 概率深度采样

对参考帧估计的单视图深度概率分布用来采样像素深度候选样本。首先,定义了每个像素的假设值搜索范围为[μ-βσ,μ+βσ],其中β为超参数。然后,然后将搜索范围等分为N个区间,每个区间都有相同的概率质量。这确保了更多的候选点在µ(即最可能的深度值)附近被采样。每个区间的中点为深度假设值,因此第k个深度假设值d定义为

其中,Φ(·)是概率函数,P*= erf(β/√2)是区间[µ,v±βσ]所覆盖的概率质量。注{bk}的值只与Ns和β有关(即它们不是按像素计算的)。图(左)比较了均匀采样与本文提出的采样方式。由于本文只在β-sigma置信区间内采样,可以在评估较少的候选点的同时获得较高的精度。对于不确定性高的像素点,增加候选像素点之间的间距,这样可以评估更大范围的候选像素点。

 (左)均匀采样与本文提出的采样方式的比较。蓝色曲线表示单视图深度概率分布,红色点表示采样的候选点。(右)深度一致性加权的图示。对于参考帧It中的像素(ut, vt),深度候选值定义一个3D点(标记为“☆”)。这个点被投影到相邻的视图中,并在每个视图中评估深度概率。对于It−1,由于遮挡,☆不在µ±κσ范围内。在这种情况下,一致性权重为0。

3.2. 深度一致性加权

如果深度候选值是正确的,说明对应的3D点位于某些场景元素(如物体)的表面上。如果这个3D点在相邻视图中可见,那么相应的单视图预测到的深度概率(从该视图估计)应该要高。假设这是真的(即假设我们的D-Net是准确的),逻辑上等效的反命题是“如果从相邻视图估计的深度候选点的单视图深度概率很低,这意味着深度候选是错误的,或者它在该视图中不可见(例如,由于遮挡)”。在这种情况下,不应该计算多视图匹配得分(参见图3 -(右))。为此,我们引入了多视图匹配分数的二元加权:

在式5中,当从第i张图像中求得的单视图深度概率pu,v高于某个阈值pthres时,w为1,否则为0。我们称w为深度一致性加权。pthres的设定很重要。如果太高,它将剔除太多的深度候选点,其中可能包含正确的深度值。文中设pthres = exp(−κ2/2)/σ√2π,使dik在κ-sigma置信区间内时,权值为1。这意味着pthres在像素和视图上都是自适应的。如果D-Net不确定预测深度(即σ很大), pthres变低,允许考虑更多的深度假设值。

深度一致性加权可以剔除具有低单视图深度概率的候选深度值。 尤其是当多视图匹配不明确或不可靠时,这种加权方式很有用,可以提高模型的鲁棒性。 例如,如果像素位于无纹理表面内,则深度候选范围扩广将产生相似的匹配分数。 如果场景包含反射表面,则会在反射之间计算匹配分数,从而导致深度估计过高。 在这两种情况下,MaGNet 都可以通过偏向具有高单视图深度概率的深度候选来鲁棒预测。

4. 估计多视图深度概率分布

4.1. 更新单视图深度概率分布

概率深度采样和一致性加权多视图匹配的结果是H/4 × W/4 × Ns的较小的代价体,其中Ns为深度假设值的数量;将其作为输入,G-Net通过更新初始单视图分布的均值和方差来估计多视图深度概率分布;代价体的每个元素s是第k个深度候选值在像素(u, v)处计算的匹配分数(见公式4)。由于输入中没有对µ和σ进行编码,因此很难直接对更新后的均值和方差进行回归。

为此,G-Net采用残差学习的思想,估计归一化残差∆µ/σ。例如,当两个像素点的在视差为k时匹配得分较高,则网络学习预测bk',使更新后的均值变为µnew =µ+bk'σ。同样,G-Net也估计了σnew/σ来更新方差。通过这种方式更新的多视图深度概率分布N(µnew,σnew)。注,G-Net的输出可以反馈到采样模块,可以重复这个过程不断改进输出。

4.2. 可学习的上采样

G-Net的输出是多视图深度概率分布图2 × H/4 × W/4。为了恢复全分辨率,本文使用RAFT中引入的可学习的上采样层。该层的输入是D-Net的特征图。使用一个轻量化的CNN估计H/4 × W/4 × (4 × 4 × 9)掩码,每个像素处的全分辨率深度计算为其粗分辨率领域的3×3网格的加权和,最后恢复为2×H×W。

4.3. 迭代改进和网络训练

通过多次重复迭代Niter次多视图匹配过程(即基于概率分布的深度采样→多视图一致性加权匹配→G-Net更新概率分布参数),产生Niter个预测结果。在每次迭代中计算式2的NLL损失,每次迭代计算得到的NLL损失乘以γNiter−i(后面的权重大于前面的),其中0 < γ < 1,这些损失的总和用来训练G-Net与可学习的上采样层。

这种迭代的策略有两个好处: (1)如果在某一次迭代过程中,某个候选像素点的匹配分数较高,那么深度假设空间的均值会向该像素的预测深度值偏移且方差会减小,这样在下一次迭代中,会在该候选点附近进行更精细的深度搜索,这样可以找到具有更高的匹配分数的候选点;(2)迭代更新还可以防止D-Net预测不准确时导致模型失败。例如,如果真实的深度不在初始搜索空间内[μ−βσ,μ +βσ],没有一个候选的深度值会获得高的匹配分数。在这种情况下,减小式2的NLL损失,得到更大的方差,在下一轮的迭代中可以在更宽的范围内寻找深度值。

5. 实验设置

5.1. 数据集和评估指标

使用ScanNet数据集训练MaGNetScanNet包含1613次扫描的2.7M视图。为了评估泛化能力,在7-Scenes数据集的测试集上进行跨数据集评估,不进行微调。模型也在KITTI上训练和测试。

5.2. 实现细节

MaGNet通过PyTorch实现。首先分别训练D-Net和F-Net,并在训练其余组件时固定它们的权重。使用AdamW优化器,并使用1cycle策略调整学习率,lrmax=3.5×10−4。D-,F-和G-Net(加上上采样层)的批大小分别为16/4/8。对于ScanNe的epoch是5/2/2,对于KITTI的epoch是10/5/5。对于室内数据集,使用五幅图像的局部窗口,∆t设为10帧。对于KITTI,使用三张图像,∆t设置为两帧。超参数{β,κ,γ} ={3.0, 5.0, 0.8}。Ns和Niter是5和3,除非另有说明。

6. 实验

6.1. 与先进技术的比较

ScanNet and 7-Scenes。效果好SOTA,泛化性好。由于覆盖整个深度范围(如0-10m),最先进的方法生成很大的代价体。在这种情况下,网络可能会学习特定于数据集的特征(例如,对于特定数据集,像素的深度一般可以是小的/大的),导致过拟合。相反,MaGNet的代价体很小,在一个薄的代价体上,每个像素涉及一个小的深度范围,µ±βσ。输入的低维数使得网络不容易过拟合。虽然NeuralRGBD评估每个像素64个深度候选值,但我们只评估15个(5个候选值× 3次迭代)。

KITTI。达到SOTA。MaGNet使用单视图深度来限制深度搜索空间,并加强深度一致性,对KITTI场景具有更强的鲁棒性。

KITTI is a challenging dataset for multi-view depth estimation methods for two reasons: (1) The images often contain moving objects, for which multi-view consistency is violated; (2) The camera generally moves in a forward direction, resulting in a small baseline (i.e. less accurate multi-view matching).

6.3. 消融实验

单视图深度概率融合的有效性。US, PS和CW的意思是均匀抽样,概率抽样和一致性加权。完整模型(PS+CW)在较少候选点评估时可以获得更高的准确性。

迭代改进。由于深度候选点集中在估计的平均值附近,因此候选点之间的间距即使在较低的Ns下也很小。因此,增加Ns并不会导致精度有意义的提高。相反,重复多视图匹配过程会有显著的提高。如果最初的多视图匹配成功(即其中一个候选视图获得了较高的匹配分数),网络可以在下一次迭代中执行更精细的搜索。如果不成功,方差增加,网络可以在下一个迭代中执行更广泛的搜索。总之,用小的Ns重复这个过程多次比用大的Ns执行一次迭代效果更好。由于多视图匹配是在低分辨率(H/4×W/4)和少量样本下执行的,因此计算成本的增加很小。对于Ns = 5,每次在单个2080Ti GPU上迭代花费11.23ms。Niter≥3时精度收敛。

与基于级联代价体的MVS的比较。比UCS-Net好。

7. 局限性

MaGNet使用单视图深度概率分布(1)对候选深度进行采样,(2)推断它们的深度一致性。然而,单视图深度,由于其固有的模糊性,可能是不准确的。这就是为什么我们将两个组件设计为可感知不确定性的。我们还提出了迭代多视图匹配,其中G-Net更新方差,以便在下一个迭代中深度抽样可以更窄或更宽。因此,MaGNet可以处理单视图预测中的轻微误差。然而,该模型可能会在跨域评估中受到影响。例如,如果在ScanNet上训练MaGNet(室内),在KITTI(室外)上测试,即使经过G-Net多次更新,采样范围(即µ±βσ)也不包括真实的深度。这主要是因为单视图网络很难推断出场景的度量尺度。一种可能的解决方案是用尺度不变的损失训练D-Net,使其能够估计相对深度。然后,通过将重投影误差最小化,得到每幅图像的比例因子。这将在我们今后的工作中加以解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华科附小第一名

您的支持对我的前行很重要!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值