MonoRec: Semi-Supervised Dense Reconstruction in Dynamic Environments from a Single Moving Camera
这篇paper实现了使用单一相机序列输入实现三维重建.
Network Architecture
SSIM based cost volume
以key frame为基准,设像素深度为, 将图片投影到, 基于SSIM计算photometric error
对一系列的图片的, Cost volume的每一个位置存储值为:
其中权重
指的是特定图片上某一点在不同深度。若深度分布越平整(matching不确定性越高),则权重越小。
Mask Module
这个部分负责输出一个概率,预测keyframe的每一个像素是不是属于moving object.作者认为,两帧图片之间inconsistent的matching结果是moving object的主要预测手段. 本文最终用一个Res18提取的特征,然后与进行融合,
Depth Module
这个部分负责输出dense pixel-wise inverse depth prediction.
首先用 mask掉中的移动像素,然后用一个U-Net结构输出多尺度深度.
Multi-stage Training
- 起始阶段: MaskModule和DepthModule分开训练。深度模块用无mask的作为输入预测, 深度由稠密的自监督损失以及稀疏的来自VO的深度作为稀疏监督
MaskModule采用Mask-RCNN与深度预测产生一个假ground truth. 首先使用Mask-RCNN分辨出movable 物体。然后如果一个movable 物体有很多像素是temporal inconsistent的,那么就会被标记为moving 物体.
- MaskModule Refinement, 利用双目的深度辅助mask的训练:
- DepthModule Refinement, 初始阶段没有考虑mask的存在。所以refine这个部分关注于阻止静态物体的传播