论文研读:2017 SfM Net Learning of Structure and Motion from Video

简介:这篇文章的创新之处在于打破传统的无监督深度估计时需要用双目图片进行自监督,sfm-net只需要单目的视频流就能够恢复深度图、点云图、相机姿态估计、场景运动刚体姿态估计、场景运动刚体mask。总之是一个非常强大的网络。
本文主要对sfm-ne论文的摘要以及网络结构进行解读,实现细节与实验分析有兴趣的可以下全文去读一下。

一.摘要

1.本文提出了SFM-NET:感知几何神经网络;按照场景与物体深度、相机移动与3D物体旋转平移将视频中帧与帧之间的像素移动拆解。
2.stm-net能够预测深度、分割、相机与刚体运动,并将其转换为帧与帧之间的移动场
1)预测深度;
2)预测相机运动:计算出两帧图像之间,相机的旋转与移动;
3)分割:将场景中的运动物体分割出来(以mask的形式)
3.SFM-Net有三种训练模式:1)无监督;2)相机运动监督;3)深度图像监督。

二.基于学习的SFM

在这里插入图片描述

2.1sfm-net 结构

单帧图像用于估计深度
成对图像用于估计相机运动与刚体运动
1.光流场的估计:
step1:利用输入单帧图片+估计深度值+相机内参 获得点云图Pt。
step2:基于相机和物体的刚体变换(相机移动+刚体移动)转换点云图Pt,得到点云图Pt+1
step3:将转换后的点云图Pt+1的坐标进行反向二维投影,获得图片imgt+1
step4:点云图Pt的坐标反向二维投影得到的图片为imgt,根据img+imgt或者光流场
2.利用可微warp,将It+1映射为It3.前向-后向约束:
通过估计场景的运动:1)重复It+1→It的映射过程;2)约束dt与dt+1的一致性。

2.1.1 深度图像dt与前帧(It)点云
输入为It时刻的单帧图像
1.利用标准的conv/deconv网络计算对单帧图像进行深度估计
2.利用小孔相机成像模型+估计深度图dt+原图片It恢复点云;点云坐标公式如下:
在这里插入图片描述
其中(cx,cy,f)为相机内参
2.1.2 场景运动
输入为成对图像It与It+1,输入两张图片时,将图片通道concatenate在一起作为一个整体输入
1.利用conv/deconv网络估计相机运动与场景中刚体运动
2.网络的bottleneck部分连接2个FC layer去预测相机运动与场景物体运动。
3.建模相机运动的公式:
在这里插入图片描述
4.建模场景刚体运动公式:
针对场景中K个不同的刚体,其旋转与平移公式的建模与相机相同,并且都是通过FC进行估计。
5.估计的相机运动与物体运动公式的应用范围:1)相机运动适用于所有像素点;2)物体运动的公式需要进行加权处理后应用于像素点。权值的大小正比于该像素点属于此刚体的概率mtk。
6.运动物体mask估计:
1)网络conv/deconv后的输出,就是mask。其中shape(mask) = [h,w,K]。mask的k通道的像素值代表此像素属于运动刚体k的概率值。
2)我们允许一个像素属于多个刚体。
3)K的大小可以随意设置,经验值为K = 3.本文的方法可以忽略不明显的物体运动
2.1.3 光流估计
光流场获取步骤:
step1:利用输入单帧图片+估计深度值+相机内参 获得点云图Pt。
step2:基于相机和物体的刚体变换(相机移动+刚体移动)转换点云图Pt,得到点云图Pt+1
step3:将转换后的点云图Pt+1的坐标进行反向二维投影,获得图片imgt+1
step4:点云图Pt的坐标反向二维投影得到的图片为imgt,根据img+imgt或者光流场
1.先利用运动物体公式进行点云坐标转换
在这里插入图片描述

2.在利用运动相机进行点云坐标转换,得到Pt+1
在这里插入图片描述
3.对Pt+1进行反向投影,获得imgt+1
在这里插入图片描述
4.利用imgt与imgt+1获得光流场
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值