《Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion ...》论文笔记

论文题目:Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation
论文地址:https://arxiv.org/abs/1805.09806
项目地址:https://research.nvidia.com/publication/2018-05_Adversarial-Collaboration-Joint
Github:https://github.com/anuragranj/cc

1. 摘要

在同一个场景中,单目视觉深度信息、相机运动、光流、运动分割这些因素往往是相互联系、相互制约的,基于这一点作者提出了一种无监督方法,同时对这几种因素进行学习,并用他们的相互关系进行约束和增强,以此简化各个单独的问题。

2. 介绍

作者提出了一种网络 Competitive Collaboration (CC)。这个网络有两个 “玩家”,一个应用深度信息 D 和相机运动信息 C 来生成静态区域,称为 R;另一个生成运动区域的图像,称为 F,他们之间是竞争学习的关系。他们学习的效果由 “仲裁者” M 来实现,M是一个运动分割网络,将图片分割为运动部分和静态部分。但是M也是需要训练的,这个时候就需要R和F联合协作来训练M。

3. Competitive Collaboration

下面对这个网络进行一些数学上的表达。

3.1 整体思路

考虑一个训练集D={Di:i∈N}\mathcal{D}=\{\mathcal{D}_i : i \in \mathbb{N} \}D={Di:iN}训练分为两个阶段

  1. 固定仲裁者 M,用 E1E_1E1 作为 loss 训练 R 和 F
    E1=∑im⋅LR(R(Di))+(1−m)⋅LF(F(Di))E_1 = \sum_i m \cdot L_R (R(\mathcal{D}_i)) + (1-m) \cdot L_F(F(\mathcal{D}_i))E1=imLR(R(Di))+(1m)LF(F(Di))
  2. E2E_2E2 作为 loss,R 和 F 共同训练 M
    E2=E1+∑iLM(Di,R,F)E_2 = E_1 + \sum_i L_M(\mathcal{D}_i, R, F)E2=E1+iLM(Di,R,F)

网络 M 分割静态区域和运动区域,然后使得(D, C)只针对静态区域进行学习,而 F 则只针对运动区域进行学习。
在这里插入图片描述

3.2 具体细节
3.2.1 符号定义

考虑图像序列 I−,I,I+I_-, I, I_+I,I,I+,其中 I−,I+I_-, I_+I,I+ 可能代表不只一帧图像,几个网络可以用以下符号表示,下标代表他们的参数:

  1. 深度 d=Dθ(I)d =D_\theta(I)d=Dθ(I)
  2. 相机运动 e−,e+=Cϕ(I−,I,I+)e_-, e_+ = C_\phi(I_-, I, I_+)e,e+=Cϕ(I,I,I+)
  3. 静止置信度 m−,m+=Mχ(I−,I,I+)m_-, m_+ = M_\chi(I_-, I, I_+)m,m+=Mχ(I,I,I+)
  4. 光流 u−=Fψ(I,I−)u_- = F_\psi(I,I_-)u=Fψ(I,I)u+=Fψ(I,I+)u_+ = F_\psi(I,I_+)u+=Fψ(I,I+)

注:m−,m+∈[0,1]Ωm_-, m_+ \in [0,1]^\Omegam,m+[0,1]Ω 代表了该像素属于静止区域的概率.

3.2.2 损失函数

网络的优化目标是最小化能量E
E=λRER+λFEF+λMEM+λCEC+λSESE = \lambda_R E_R + \lambda_F E_F + \lambda_M E_M + \lambda_C E_C + \lambda_S E_SE=λRER+λFEF+λMEM+λCEC+λSES 一个更大的 λM\lambda_MλM 会促使网络 M 将更多的区域划分为静止区域。

  1. ER=∑s∈{+,−}∑Ωρ(I,ωc(Is,es,d))⋅msE_R = \sum_{s\in\{+,-\}} \sum_\Omega \rho(I, \omega_c(I_s, e_s, d)) \cdot m_sER=s{+,}Ωρ(I,ωc(Is,es,d))ms
  2. EF=∑s∈{+,−}∑Ωρ(I,ωf(Is,us))⋅(1−ms)E_F = \sum_{s\in\{+,-\}} \sum_\Omega \rho(I, \omega_f(I_s, u_s)) \cdot (1-m_s)EF=s{+,}Ωρ(I,ωf(Is,us))(1ms)
  3. ρ(x,y)=λρ(x−y)2+ϵ2+(1−λρ)[1−(2μxμy+c1)(2μxy+c2)(μx2+μy2+c1)(σx+σy+c2)]\rho(x, y)=\lambda_{\rho} \sqrt{(x-y)^{2}+\epsilon^{2}}+\left(1-\lambda_{\rho}\right)\left[1-\frac{\left(2 \mu_{x} \mu_{y+c_{1}}\right)\left(2 \mu_{x y+c_{2}}\right)}{\left(\mu_{x}^{2}+\mu_{y}^{2}+c_{1}\right)\left(\sigma_{x}+\sigma_{y}+c_{2}\right)}\right]ρ(x,y)=λρ(xy)2+ϵ2+(1λρ)[1(μx2+μy2+c1)(σx+σy+c2)(2μxμy+c1)(2μxy+c2)]
  4. EM=∑s∈{+,−}∑ΩH(1,ms)E_{M}=\sum_{s \in\{+,-\}} \sum_{\Omega} H\left(\mathbf{1}, m_{s}\right)EM=s{+,}ΩH(1,ms)
  5. EC=∑s∈{+,−}∑ΩH(IρR<ρF∨I∥ν(es,d)−us∣∣<λc,ms)E_{C}=\sum_{s \in\{+,-\}} \sum_{\Omega} H\left(\mathbb{I}_{\rho_{R}<\rho_{F}} \vee \mathbb{I}_{ \| \nu\left(e_{s}, d\right)-u_{s}| |<\lambda_{c}}, m_{s}\right)EC=s{+,}ΩH(IρR<ρFIν(es,d)us<λc,ms)
  6. ES=∑Ω∥λe∇d∥2+∥λe∇u−∥2+∥λe∇u+∥2+∥λe∇m−∥2+∥λe∇m+∥2E_{S}=\sum_{\Omega}\left\|\lambda_{e} \nabla d\right\|^{2}+\left\|\lambda_{e} \nabla u_{-}\right\|^{2}+\left\|\lambda_{e} \nabla u_{+}\right\|^{2} + \left\|\lambda_{e} \nabla m_{-}\right\|^{2}+\left\|\lambda_{e} \nabla m_{+}\right\|^{2}ES=Ωλed2+λeu2+λeu+2+λem2+λem+2

对上面几个式子的解释:

  1. ωc\omega_cωc 利用深度 ddd 和相机运动 eee 由参考帧(I−或I+I_-或I_+II+)生成目标帧(III
  2. ωf\omega_fωf 利用光流信息 uuu 由参考帧生成目标帧
  3. λρ\lambda_{\rho}λρ 是一个固定值,ϵ=0.01\epsilon=0.01ϵ=0.01,第二项其实就是 SSIM,μx,σx\mu_{x}, \sigma_{x}μx,σx 是当前像素邻域的局部均值和方差,c1=0.012c_{1}=0.01^{2}c1=0.012c2=0.032c_{2}=0.03^{2}c2=0.032
  4. EME_MEM 中的 H()H()H() 表示交叉熵,因此 λM\lambda_MλM 就代表了 R 对静止区域的偏好程度
  5. ν(e,d)\nu(e, d)ν(e,d) 表示用深度 ddd 和相机运动 eee 生成的光流信息,方法见附录 A.2,I∈{0,1}\mathbb{I} \in\{0,1\}I{0,1} 是一个指示函数(下标为真时其值为1);ρR=ρ(I,wc(Is,es,d))\rho_{R}=\rho\left(I, w_{c}\left(I_{s}, e_{s}, d\right)\right)ρR=ρ(I,wc(Is,es,d))ρF=ρ(I,wf(Is,us))\rho_{F}=\rho\left(I, w_{f}\left(I_{s}, u_{s}\right)\right)ρF=ρ(I,wf(Is,us)),因此第一个指示函数选择那些更偏向于静止区域的像素点;第二个指示函数同样选择那些最可能是静止区域的点;最后他们取并集 ∨\vee,再与 msm_sms 求一个交叉熵。因此“一致代价” ECE_CEC 的作用就是驱使两个网络 R 和 F 共同训练裁判者 M,以使 M 对于静止区域的预测更加准确
  6. “平滑代价” ESE_SES 用于规范深度、光流、分割网络,其中 λe=e−∇I\lambda_{e}=e^{-\nabla I}λe=eI(elementwise),保证了平滑过程中对图片中的边缘的影响比较小,因为边缘处梯度比较大,λe\lambda_{e}λe 就比较小,对 loss 贡献比较小。
3.2.3 推断

要想训练这个网络,需要通过重建图像的效果来判断网络各部分(深度、光流、分割)的预测效果。在重建图像时,对图像运动部分和静止部分的分割由以下公式获得
m∗=Im+⋅m−>0.5∨I∥ν(e+,d)−u+∥<λc m^{*}=\mathbb{I}_{m_{+} \cdot m_{-}>0.5} \vee \mathbb{I}_{\left\|\nu\left(e_{+}, d\right)-u_{+}\right\|<\lambda_{c}} m=Im+m>0.5Iν(e+,d)u+<λc
除此之外还需要光流,由以下公式获得
u∗=Im∗>0.5⋅ν(e+,d)+Im∗≤0.5⋅u+ u^{*}=\mathbb{I}_{m^{*}>0.5} \cdot \nu\left(e_{+}, d\right)+\mathbb{I}_{m^{*} \leq 0.5} \cdot u_{+} u=Im>0.5ν(e+,d)+Im0.5u+
由此网络 R=(D,C) 就可以利用 dddeee 合成静止区域,网络 F 就可以利用 u∗u^*u 合成运动区域,最后再利用 m∗m^*m 将二者的预测结果结合起来,就是最终的重建图像。

因此最终训练的时候在开头提到的那两个阶段,第一个阶段就可以用 ERE_REREFE_FEF 训练网络 R 和 F,第二个阶段用 EME_MEMECE_CEC 训练 M。

4. 实验

算法的伪代码如下:
在这里插入图片描述一些实验结果如下所示
在这里插入图片描述更详细的网络结构如下图
在这里插入图片描述

附录

附录的东西我就不放了哈,大家想看可以去读作者的论文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值