《Depth from Videos in the Wild:Unsupervised Monocular Depth Learning from Unknown Cameras》论文笔记

本文深入探讨了《Depth from Videos in the Wild》论文,介绍了一种自监督深度学习方法,该方法利用视频帧间相关性预测相机位姿和内参,解决遮挡和运动目标问题。通过在编码器中引入噪声处理均值方差漂移,以及使用几何特性规避遮挡影响,算法表现出高鲁棒性和深度估计准确性。实验结果在KITTI数据集上与monodepth2进行了比较。
摘要由CSDN通过智能技术生成

参考代码:depth_from_video_in_the_wild

1. 概述

导读:在这篇文章中提出了一种自监督深度估计算法,总体上看文章的算法是与monodepth2方法存在一定程度关联性,它们都是采用视频帧之间的相关性来建立自监督关系的。文章的方法经过凝练主要的工作主要体现为如下几点:
1)将相机位姿(旋转和平移矩阵)与相机内参(如果想的话可预测畸变参数)均通过网络预测的形式进行表达,增加对输入数据的适应性;
2)采用几何特性(也就是两帧像素计算光度重构损失的时候选择深度最小的为有效像素点)避免遮挡带来的影响;
3)为了应对目标运动带来的影响,文章经过实验表明通过粗糙的bbox-rect的形式也能获得不错的效果,减少了对先验知识为mask的依赖,简化工作;
4)针对归一化操作过程中存在均值方差漂移问题,文章在深度估计网络的编码器中对均值和方差两个变量认为引入噪声;

综上,经过文章在上面4点工作,文章的算法表现出了较为强大的鲁棒性以及较好的深度估计能力,下图是文章方法得到的示例:
在这里插入图片描述

2. 方法设计

对于文章算法的输入是如下格式的:
在这里插入图片描述
从上图中可以看出其是由3个连续帧拼接起来的,对于每一帧需要标注出其中运动的物体也就是下图:
在这里插入图片描述
除此之外,相机的内参为选择输入项,毕竟网络具有相机内参预测功能。

2.1 深度估计与相机参数估计

2.1.1 深度估计网络

文章采用的深度估计网络是典型的U型网络(带shortcut连接),只不过在U型网络的编码器阶段会对归一化之后的结果添加扰动,从而保证网络在train和infer的时候性能不会存在大的偏差,其使用的归一化函数为:

# /model.py#L202
def _normalizer_fn(x, is_train, name='bn'):  # 融合了噪声的归一化操作
    return randomized_layer_normalization.normalize(
        x, is_train=is_train, name=name, stddev=noise_stddev)

对于其中添加噪声的部分可以参考:

# randomized_layer_normalization.py#L32
def normalize(x, is_train, name='bn', stddev=0.5):
    ...

进而对于整体深度估计网络部分的实现可以参考:

# depth_prediction_net.py#L100
def depth_prediction_resnet18unet(images, is_training, decoder_weight_reg=0.0,
                                  normalizer_fn=None, reflect_padding=True):
    ...

2.1.2 相机参数估计

这里相机参数的估计包含了相机内参和外参,其中对于相机外参的估计是与monodepth2
中相机参数估计是一致的,可以参考:

# motion_prediction_net.py#L
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值