查看原文
其他

【源头活水】读SfM-Net: Learning of Structure and Motion from Video

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

来源:知乎—郑哲东
地址:https://zhuanlan.zhihu.com/p/402344543
Title:SfM-Net: Learning of Structure and Motion from Video
Author:Sudheendra Vijayanarasimhan,Susanna Ricco,Cordelia Schmid,Rahul Sukthankar,Katerina Fragkiadaki
arXiv:http://cn.arxiv.org/pdf/1704.07804.pdf
好像没中会议,但是google scholar citation目前是300左右,比较有影响力。

01

What
1. 本文研究的也是传统的逆向问题,通过motion来反过来推算相机的参数。
2. 有了相机参数以后,可以来推算 深度 以及在世界坐标系下的 物体的位置和motion。
3. 所以具体来说,输入视频中的连续两帧,SfM网络可以预测 光流,深度,移动物体的mask。
4. 采用自监督的方式为 重新projection后的 error(和传统的光流方法是一样的)。

02

How
1.大的流程如上图,不过细节比较少。看实际的结构图比较简单一下。
2. 接下来我们按部分来介绍(如下图):
整个场景中,除了camera在移动以外,物体(车和人)也在移动,所以SfMNet中专门对物体的预测。采用了3步走(从下往上)。
第一步从 t时刻的图像 预测 t时刻的深度,生成点云;
第二步 预测t+1 和 t时刻相对的物体变化。
第三部 预测相机的移动,把相机的移动,整个场景的移动 加到点云上,把点云再弄回2D和 输入t时刻的图像 算一下光流。
3. 如何获得第一步的点云?
其实就直接把预测出来的深度 和 2D图像做个结合,按照已知的焦距f 做个等比例的放大。这边实际上 做了从像素空间到世界坐标系的一个映射。
4. 第二步 融入t+1时刻的 相机移动 和 物体移动
相机有 4个参数 。包括 X,Y,Z轴的转动角度。和 位置移动 t。
(相机参数可能有ground-truth,实际中也可以使用ground-truth的值。)
物体也有dense的motion需要预测,这边作者采用motion mask m。个人感觉,实际上已经很类似光流了。默认有K=3个物体,所以输出3个的mask 分别包含旋转和平移的预测。
5. 第三步 也是最后一步 预测光流。其实很简单,就是把 3D点云 再 投影回2D。
也就是t+1 时刻的图像。完了 用 t+1 和 t时刻 对应点位移的来算光流。
6. 训练中监督的loss有以下几个。
光流中匹配点的颜色监督
匹配点的深度监督 (注意括号,一个是括号外,一个是括号内)
光滑正则:对于深度(均匀变化的)来说要用二阶导;对于光流(大多数是常数)来说,要用一阶。
可选的loss 包括,如果有深度的gt label,有相机移动的 gt label,有光流和 物体移动的 gt label 都可以用基本的 L1 regression loss来监督 。

03

实验:(这边放一些定性的图)
物体 motion 来做物体分割:
深度估计:
对于大移动的 估计比较准,小移动的pair,对齐后的结果较好

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存