twice论文--深度估计--Consistent Video Depth Estimation

0 摘要:

本文提出了一种用于密集重构,估计所有像素上的一个几何一致性的深度的算法,用的图片是单目视频。我们利用传统的sfm重构去再每个像素上构建几何约束。不像经典的重构方法,我们使用了一个基于学习的方法,使用卷积神经网络来估计单张图片的深度。在测试阶段,我们微调该网络去满足对于特定的输入视频的几何约束,并且保持他预测深度的能力。我们展示了我们的方法比其他的更加精度高一级很高程度上几何性的稳定。

1 介绍:

就是说从图片序列中进行3D场景重建已经研究了很长的时间。就是最近几年sfm(structure from motion)方法才逐渐强壮起来,成功的主要是基于学习的方法。然后说对于我们大部分人来说最希望可以通过手机就可以进行3D重建,因为手机比较方便,而且会容易获得大的场景,但是实现起来并不容易。很多的问题,比如弱纹理,重复文案,遮挡,而且对于视频额外的挑战有高噪声,晃动和模糊,变形,一级在连续两帧之间有很小的基线,而且有动态的物体。

传统的重建的方法是结合稀疏的sfm和密集的多视图几何来得到,实质就是在极线之间匹配块。那么匹配的正确,得到的结果在几何上就越准确。但是就如上面提到的问题,匹配块通常有很大的噪声,这就需要使用正则化进行平滑噪声,这样有会引起在相应的匹配上产生不正确的几何关系,所以很多的方法就很在这些丢失的像素上有很低的信心值,然后就会导致在重建的时候产生一个洞。

最近有基于学习的方法,不需要进行正则化,而是从数据中学的场景的先验知识,这样就会有在有缺陷的地方也会有很好的重建的能力。这种方法也有缺点,就是产生的深度图会有不稳定的闪烁,因为每个帧是独立处理的,不是度量的。这就会导致视频重建产生几何上的不稳定。

也有很多的研究解决这种几何的不稳定,有使用循环神经网络的,有直接使用多视重建的,但是他们都是在精致的场景下重建。

在本文中,提出基于视频的重建系统,结合了传统的方法和基于学习的方法,各取其长处,使用传统的几何约束来获得精准稳定的深度,使用基于学习的方法来解决弱约束部分,这样比正则化更有说服力。

2 相关工作:

监督的单目深度估计:早期的基于学习的方法是监督的,但是这需要很多的精力标注,也没有那么多的真实数据,活着使用虚假的拟合样本来训练

自我监督的单目深度估计:很多研究,但是也有缺点,不适合远距离的框架因为大的外观上的变化会产生影响。

多视图重建:针对的大多是静态的场景。

视频中估计深度:
 

3 整体:

我们的方法是选择的单目视频作为输入,估计相机的参数和密集的,几何上稳定的深度图为每一帧视频。这里的几何稳定并不仅仅值得是深度图没有闪烁,还有就是每个深度图都是相互关联的。我们的思想是结合各个方法的优势。使用已经存在的单图片深度估计网络去估计可能的深度(不一定是稳定的),然后使用传统的重建方法提取几何约束来微调该网络,所以这个网络会产生几何上一致性的深度图。因此分为两个阶段:

预处理阶段:提取出几何约束从视频帧中,使用传统的方法sfm,计算出内外参,使用初始网络产生初始深度图。

测试训练阶段:微调网络。

4 处理:

相机标定:使用sfm和多视图立体重建软件COLMAP来估计视频每一帧之间的相机的内参和外参。但是因为在重建的过程中有动态的物体,所以我们使用R-CNN分割出人,并且抑制这些区域特征的提取。因为智能手机的照片通常不会失真,所以使用智能手机的模型

尺度标定:sfm和基于学习的重建的尺度可能是不匹配的,为了使尺度在几何损失上兼容,我们调整sfm的尺度,因为它简单,仅仅需要相机的外参平移乘上一个因子即可。

twice论文--深度估计--Consistent Video Depth Estimation_第1张图片

(MVS即多视图几何)

帧采样

第一个阶段是采连续相邻的帧

第二个阶段包含一个逐渐稀疏的帧采样

最后一个阶段是上面两个的一个并集

光流估计:

就是说通过观察发现的是对于重叠少的帧对对光流估计的效果是不好的,所以我们排除了重叠率少于20%的帧对。

5 测试输入的视频

主要的目的是获得更加稳定的几何性质上的重建,方法就是微调网络,主要有几何损失和整体优化

几何损失

该方法的思想是将深度连续性问题转换成几何损失并且反向传播任何稳定性的损失,这样就可以使产生的深度更加的稳定

损失包括了空间损害和视差损失

空间损失:

首先(7)表示通过预处理阶段求得的,x是帧为i的2D上的坐标,那么相对应的第j 帧的坐标即f

 

下面应该是这样的,将当前的2D坐标x转换为对应的相机下的3D坐标c(x),利用当前初始计算得到的深度

~X是x的齐次坐标,K是相机的内参

然后将映射到第j帧下的三维坐标

R,t是相机外参旋转和平移

然后再把这个三维坐标转换为对应的二维坐标

那么对应的空间损失就是

所以整体我感觉是在像左右check一样的原理,同样视差损失是一样的原理。然后将两个损失加起来就是整体的几何损失。

优化:

使用上述求得的误差进行对网络进行微调

下面就是一些实验比较了。

第一次写论文的博客,好像很多不对,会不断更新修改。

你可能感兴趣的:(立体视觉)