CVPR2020----商汤和北大, 视觉里程计, 如何让深度模型自监督情况下, 做在线学习, 在线域适应

背景: 视觉里程计

给两张图或者多张图, 去估计它们的相对位姿.

给一张图估计这张图的单目深度.

 

如果有一张图的深度, 两张图的相对位姿, 可以用一张图插值另一张图.

本质:通过深度学习的方法提取两图之间对应点(深度特征), 然后做两帧之间的位姿变换.

然后得到两帧之间的光流, 通过光流和位姿变换的关系得到深度图.

得到深度图, 光流, 位姿变换三者之间的耦合关系, 就可以构建自监督的约束关系.

 

 

自监督原理: 

D(p_t): 第t张图的单目深度.

T: 和下一张图的位姿变换

 

然后去想象出来, 另外一张图, 想象出来的图, 和真实的图可以做光度误差(像素级别的相减), 进而可以做位姿和深度估计的问题.

问题是: 1. 单目的深度估计是通过网络得到的    2.相对位姿估计(位姿变换)也是通过网络得到

              但是, 把预训练好的模型放到白天或者晚上不同,  或者有三维运动的场景, 往往是不work的.

              即把预训练的模型, 放到未知的场景下, 往往是不work的.

 

所以, 文章的主题就是, 如何让任何一个深度模型, 在自监督的情况下, 做在线学习, 在线的适应.

         即把模型放到不同的数据集下, 也有很好的效果.

 

 

 

 

 

 

 

 

三个挑战:

1.泛化: 如何用已知的模型去适应场景

2.在线学习思想, 在线学习很难得到有标注的数据(真值数据): 把每一张图片都作为一个数据集.

3.在线学习有收敛很慢的问题(灾难性遗忘:  在这个场景好不容易学习到的(或通过学习好不容易适应到这个场景) , 换到另一个场景还是需要很长时间).  我们希望模型在不断变换的过程中, 能够越来越块地收敛. 

 

 

提出方法:

基于元学习的在线自监督学习.

(1)自监督: 一张图片的单目深度估计, 两张图片的位姿变换, 做自监督训练, 是一个已有方法 (网络: \Theta)

(2)在线学习: 第一个时刻进行训练之后, 如何把之前的经验迁移到下一个时刻(迁移:\Theta _i\rightarrow \Theta _{(i+1)})

(3)元学习: 维护学习更加本质的任务

                 (和场景无关, 或者能够解耦场景特性的任务的分布)

                 (虽然场景不同, 但是做的任务都一样)

单纯的深度学习是对一个数据集进行梯度下降, 元学习是对两个数据集进行梯度下降. 目标函数的自变量是前一个时刻的网络参数

   

 

符号定义:

: 在滑行窗口中, 采集到的一张图片

: 元学习的损失函数

        解释: 在即前一个时刻做梯度下降, 得到更新之后的模型, 再把这个模型用到新一个时刻上.

                 即优化 \Theta _i, 希望在第i个时刻, 和i+1时刻都能达到最小值.  这样就能让元学习的目标有一个预测的性质.

                 能够天然地泛化, 能够在前一个时刻, 更好地猜测到下一个时刻.  以这种方式更好地在线自监督学习.

                 其实是对两个数据集, D_iD_{i+1}做梯度下降.     并且目标函数的自变量是前一个时刻的网络参数. 

                 ??原来的时间感受野是一, 现在是二. 即 在不同的时间有相同的表现.

 

           

卖点:

卖点一(在梯度上对齐): 梯度内积:  梯度方向做一致性约束, 让内积最大化

让内积最大化就有可能避免遗忘问题.

传统在线的遗忘问题就是, 它的梯度方向是随机的, 即面临不同时刻数据, 其调整方向是毫无规律的. 内积就可以把前一个时刻的梯度信息迁移到下一个时刻. 

 

如果把前一个时刻的梯度和后一个时刻的梯度对齐, 或者做最大化相似度. 就相当于把前一个时刻的信息迁移到下一个时刻. 

 

将目标函数进行泰勒展开, 发现一共有四项. 

第一项:

第二项: 两个时刻梯度的内积, 在一阶优化的空间中提供最优方向. 

第三项: 海森矩阵: 一般是0, 以Relu为主的CNN当中, Relu的二阶导一般是零. 所以,                                 高阶项是零.

第四项: 高阶项

 

 

 

 

卖点二(在时空上对齐): 将长短时序网络嵌入在CNN中:

对一个模型来说, 如果只用当前的东西做当前的预测可能比较难,  比如给一张图: 告诉其深度. 但是, 如果给一个视频, 或者做得比较好的估计, 去做多张图片的识别就容易许多. 

所以, 将长短时序的网络嵌入在CNN的几层中, 做时空时序整合能够更好地预测当前的情况. 

 

 

卖点三: 在线特征对齐(Online Feature Alignment)

在一个时刻抽取一个图片的多个feature(每一层都有几百维甚至更多维的feature), 

 

一个batch中, 几张图, 某个维度的特征有统计特性(均值方差), 这些统计特性其实代表较为本质的东西. (比如: styleGAN, 本质就是通过均值方差, 把握最本质的东西, 进行人脸的变换), 

 

 

实验: 

(红线是本文的, 虚线是原本的, 可以看到效果较其他算法都好)

(这个实验由上千帧的位姿估计, 即每一个时刻的误差都可以累计到下一个时刻)

 

(本文误差, online很小)

 

 

(在室外的场景预训练, 直接迁移到室内的, 运动方式不一样的场景中.  虽然domain的gap非常大, 但是轨迹还是相对准确的)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值