arXiv2020年10月30日上传的谷歌论文:“Unsupervised Monocular Depth Learning in Dynamic Scenes”。
作为唯一的监督源,单目视频photometric consistency,本文提出估计深度图、自运动(camera)和一个致密目标相对场景的3-D平移域(scene flow?)的联合训练方法。
其中利用的先验知识即这个平移域因背景带来的稀疏和从刚体运动目标带有的恒常,如下图显示深度图预测和运动图预测示意图:3-D运动图是目标运动图叠加摄像头运动得到,没有采用任何语义信息。
注:本文提供开源代码验证,链接如下
google-research/google-researchgithub.com目标运动分解为平移和旋转,而平移部分是自身3D平移运动和摄像头平移运动之和:
定义M-ego是摄像头运动,深度图记作D(u,v),如图是整个训练环境:两个相邻帧图像Ia和Ib分别应用深度图网络,生成深度图Da和Db。 两个深度图与原始图像一起输入到运动网络,该网络将(平移)运动分解为全局自我(平移)运动M-ego和空间目标(平移)运动图Tobj。 给定运动图和深度图估计,可微分视角转换器支持其二者之间的转换。 这里以红色突出显示损失。
定义运动图/深度图正则化损失项,以及运动周期/光度一致性损失项。
group smoothness loss定义:
L1/2 sparsity loss定义:
最后运动正则化损失项定义:
而深度正则化项定义:
一致性正则化项定义包括两项,一是motion cycle consistency,一是photometric consistency:
注:图像warping按照3-D运动,即
其中z-深度,p-像素坐标。
推理测试中,从单帧获得深度图,从两个连续帧获得3D运动图和自我运动参数。
给出一些实验结果比较:
参考文献
- [10] C. Luo, Z. Yang, P. Wang, Y. Wang, W. Xu, R. Nevatia, and A. Yuille. Every pixel counts++: Joint learning of geometry and motion with 3d holistic understanding. arXiv preprint arXiv:1810.06125, 2018.
- [11] A. Gordon, H. Li, R. Jonschkowski, and A. Angelova. Depth from videos in the wild: Unsupervised monocular depth learning from unknown cameras. In ICCV, October 2019.
- [12] V. Casser, S. Pirk, R. Mahjourian, and A. Angelova. Depth prediction without the sensors: Leveraging structure for unsupervised learning from monocular videos. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, pages 8001–8008, 2019.
- [43] A. Pilzer, D. Xu, M. M. Puscas, E. Ricci, and N. Sebe. Unsupervised adversarial depth estimation using cycled generative networks. 3DV, 2018.
- [45] J.-W. Bian, Z. Li, N. Wang, H. Zhan, C. Shen, M.-M. Cheng, and I. Reid. Unsupervised scale-consistent depth and ego-motion learning from monocular video. arXiv preprint arXiv:1908.10553, 2019.
最近FB和华盛顿大学在SIGGRAPH2020 也推出了一个方法:“Consistent Video Depth Estimation” (包括代码,即facebookresearch/consistent_depth)。
其目的是为单目视频所有像素重建密集的、几何一致的深度。其利用传统的“SfM”重建理论建立视频中像素的几何约束。与经典重建不同,基于学习的先验方法,即为单目深度估计训练的卷积神经网络(CNN)。测试时,对该网络进行微调,以满足特定输入视频的几何约束,同时在受约束较少的部分视频中保留其合成合理深度细节的能力。
如下是其方法概括图:单目视频作为输入,对一对(相对距离远)帧采样,用预训练的单目深度估计模型获得初始深度图。 从这对图像中用光流与前后一致性检查建立对应关系。 然后,用这些对应关系和摄影机姿势提取3D的几何约束。 将3D几何约束分解为两个损失:1)空间损失 和 2)视差损失,并通过标准反向传播(BP)微调深度估计网络的权重。 此测试时间(test-time)训练强制网络最小化视频多帧之间的几何不一致性误差。 模型微调之后,从视频中得出最终深度估计结果。
所以,看出来FB这个方法是离线的SFM改进。其分为两部分:
1 预处理:作为提取视频帧之间几何约束的基础,使用现成的开源软件COLMAP。为改善有动态运动的视频姿态估计,应用Mask R-CNN进行人群分割并删除这些区域,以实现更可靠的关键点提取和匹配,因为在视频中动态运动占了大多数。此步骤提供了准确的摄像头内/外参以及稀疏点云重构。另外,还使用光流估计成对的帧之间的密集对应关系,相机标定和密集对应关系可计算出几何损失项。 SfM重建的第二个作用是提供场景的比例。因为单目输入重构的尺度是不确定的。基于学习的深度估计网络输出也是尺度不变的。因此,为限制网络必须改变的范围,调整SfM重建的尺度使其平均稳健意义上与基于学习的方法相匹配。
2 测试时间的训练:在此阶段,对预训练的深度估计网络进行微调,为特定输入视频产生几何上一致的深度。 在每次迭代中,采样一对图像帧并用当前网络参数估计深度图。 将密集的对应关系与当前深度估计计算的重投影比较,可以验证深度图是否几何一致。 为此,评估两个几何损耗:1)空间损耗 和 2)视差损耗,并基于传统后向传播(BP)误差更新网络权重(所有帧均实行共享)。 随着对许多帧对进行迭代的采样,降低了整个损耗,并且让网络学会了估算视频几何一致的深度,同时保留在受较少约束的部分中提供合理的正则化能力。
最后,附上部分实验结果: