Self-supervised Learning of Depth Inference for Multi-view Stereo (CVPR2021)
代码地址:Github: https://github.com/JiayuYANG/Self-supervised-CVP-MVSNet
Self-sup CVP-MVSNet简介
尽管近年来基于深度学习的多视图立体匹配(Multi-view Stereo, MVS)取得了显著的进展,但是这些方法通常依赖于大量标注的数据,然而多视图深度估计的真值标签数据获取是比较具有挑战性的。因此文本提出一种适用于多视图立体匹配的自监督学习框架,此框架采用了两阶段的训练策略。具体地,第一阶段基于图像重建损失进行网络模型的无监督学习,第二阶段是基于伪标签的自监督学习,生成的伪标签是通过多视图深度估计进行融合得到的。实验结果表明,Self-sup. CVP-MVSNet在无监督学习方法中的重建性能最好,并取得了与有监督方法性能相当的重建效果。
预备知识1: CVP-MVSNet网络回顾
Cost Volume Pyramid Based Depth Inference for Multi-view Stereo (CVPR2020)
图1 CVP-MVSNet网络架构图
CVP-MVSNet为基于coarse-to-fine的多视图深度估计网络架构,首先对参考图像和源图像进行下采样得到图像金字塔,然后利用共享权重的特征提取网络为所有尺度的图像进行特征提取,提取的特征通过单应变换构建代价体。通过最低分辨率的代价体回归出低分辨率的深度图,然后在后续的阶段通过代价体预测深度图的残差。CVP-MVSNet中用于代价体正则化的3D ConvNet在不同尺度间是特征的,并且支持使用低分辨率图像训练,高分辨率图像测试。
预备知识2: 无监督/自监督学习的MVS方法回顾
Learning Unsupervised Multi-view Stereopsis via Robust Photometric Consistency (CVPRW2019)
以UnsupMVS方法为例,无监督的多视图立体匹配是指在没有ground-truth深度图的情况下,利用多视图的光度一致性进行监督的方法。具体地,在网络训练过程中借助了图像重建损失:基于网络预测的深度图,将源图像投影至参考视图下,计算参考图像与投影变换后的源图像之间的光度差异,多视图图像之间的光度差异即为网络训练的监督信号。考虑到多视图之间可能存在遮挡,因此在计算光度损失的时候采用了TopK的策略。即计算M=6幅源图像之间的光度损失,但是只选取K=3幅最小的误差计算损失项。
图2 鲁棒的光度一致性损失计算
预备知识3: DTU数据集的预处理流程
DTU数据集提供了带有法向信息的点云,MVSNet论文在数据预处理阶段对点云进行表面重建,得到表面网格模型,又因为DTU数据集提供了每幅视角下相机位姿,因此可以将表面网格渲染至每幅视图下得到对应的深度图,渲染得到的深度图即为网络训练的ground-truth。
图3 自监督学习的CVP-MVSNet算法框架
Self-sup CVP-MVSNet方法部分
第一阶段:利用无监督学习对网络进行初始化
在自监督学习的第一阶段,利用多视图的光度一致性进行初始深度图的估计。以CVP-MVSNet为骨干网络,采用了基于概率的图像合成方式进行图像重建损失的计算。通过概率体P和图像intensity volume进行视图合成。计算合成图像与参考图像之间的光度差异。无监督学习采用了视图合成损失用于保证参考图像和合成图像之间的光度一致性以及预测深度图的平滑性。无监督学习的光度一致性损失为:
式中为图像梯度损失,为图像结构相似性损失,为图像感知损失,为深度图的光滑性损失,用于调整不同损失项的权重。
图4 基于概率的图像合成
第二阶段:基于伪标签的自监督迭代训练
图5 伪标签生成流程示意图
利用高分辨率的图像进行深度图预测,利用多视图几何一致性对初始深度图进行过滤,将过滤后的深度图进行点云融合,得到三维空间中的点云,再通过泊松表面重建,得到重建点云的表面网格模型,然后通过渲染得到每幅视角下的深度图。渲染得到的深度图即为网络模型自监督训练的伪标签。
实验结果
通过本文两阶段的自监督训练策略得到的网络模型Self-sup. CVP-MVSNet取得了和有监督学习方法性能相当的性能,在DTU和Tanks and Temples数据集的重建效果如下表所示。
1、Self-supervised Learning of Depth Inference for Multi-view Stereo, CVPR2021
2、Cost volume pyramid based depth inference for multi-view stereo, CVPR2020
3、Learning unsupervised multi-view stereopsis via robust photometric consistency, CVPRW2019
4、Mvsnet: Depth inference for unstructured multi-view stereo, ECCV2018
基于深度学习的多视图立体匹配(Multi-view Stereo, MVS)算法汇总 👇 https://github.com/XYZ-qiyh/Awesome-Learning-MVS
备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区
本文仅做学术分享,如有侵权,请联系删文。