动态场景的无监督单目深度图学习 (附FB和华盛顿大学SIGGRAPH论文)

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨黄浴@知乎

来源丨https://zhuanlan.zhihu.com/p/273038523

编辑丨3D视觉工坊

arXiv2020年10月30日上传的谷歌论文:“Unsupervised Monocular Depth Learning in Dynamic Scenes”。

作为唯一的监督源,单目视频photometric consistency,本文提出估计深度图、自运动(camera)和一个致密目标相对场景的3-D平移域(scene flow?)的联合训练方法。

其中利用的先验知识即这个平移域因背景带来的稀疏和从刚体运动目标带有的恒常,如下图显示深度图预测和运动图预测示意图:3-D运动图是目标运动图叠加摄像头运动得到,没有采用任何语义信息。

注:本文提供开源代码验证,链接如下:https://github.com/google-research/google-research/tree/master/depth_and_motion_learning

目标运动分解为平移和旋转,而平移部分是自身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:(https://roxanneluo.github.io/Consistent-Video-Depth-Estimation/)

包括代码,即facebookresearch/consistent_depth:(https://github.com/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)误差更新网络权重(所有帧均实行共享)。随着对许多帧对进行迭代的采样,降低了整个损耗,并且让网络学会了估算视频几何一致的深度,同时保留在受较少约束的部分中提供合理的正则化能力。

最后,附上部分实验结果:

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~