• FlowNet


    FlowNet

    Title: FlowNet: Learning Optical Flow with Convolutional Networks

    Optical flow , 是根据两个观测瞬间之间的物体表面、形状等的变化从而,计算出物体运动变化的一种方法。

    CNN, 因为CNN的capability 足够强大,所以可能通过 train 大量的data-label 的数据,train出一个CNN来学习data与label 之间的关系。

    在一个video中给出相邻的两帧的frame, 如何判断其中的 object motion。

    首先给出一个最简单的方案是:

     

    将两张image重叠起来,通过深度的网络,自主地去学习。这种简单的方法是 FlowNet-Simple

    还有一个直接显然的方案是:

     

    将两张image分别进行 convolution 操作,并且提取出高层次的feature, 针对 higher level feature 进行 correlation 的操作,

    Correlation layer 详细解释:

    对于两个feature maps  f1 和 f2, 可以针对feature maps 上的每一个pixels (actually is vector) , 计算它们之间的correlation:

     

    其中, O 代表是 位移量displacement。 D = 2*k + 1 , 一次的c(x1, x2) 就有 C*D*D 次乘操作。

    该操作类似 convolution, 它做的是将两个 vector进行convoluted, 而不是像convolution 那样利用一个filter对所有的pixels 进行convolution操作。

    所以, correlation layer 的input是两个C x W x H 的 feature maps , output 是 一个 D2x W x H 的 new feature map。

     

    因为CNN擅长通过conv layer和pooling 提取image中higher level的feature,但是pooling同时也会减去有用的信息,为了实现 pixel 级别的object motion 预测,需要一种新的方法, refinement.

     

    Refinement 中引入了一个layer, upconvolutional layer, 操作包含unpooling (和pooling相反)和 convolution。

    Refinement 结合来自network的不断缩减的feature map和经过upsampled 之后的Flow prediction, 在这种方式下,保存了higher level的prediction信息且吸收network中feature map的信息。 在这种方法下,多次修正Flow prediction 出来的结果。

    Training Tips:

    1, 为了让FlowNet适用于不同size的image, 没有加入 FC layer

    2,  网络包含9个 stride为2的convolution layer 和 ReLU nonlinearity,  

    3,  在 correlation layer中,将d 设置为20 pixels, s1=1, s2=2

    4,  training loss 采用 endpoint error (EPE), 是optical flow 评价的标准误差公式。

     

    其中(u, v) 是estimated flow , (uGT, vGT) 是 ground truth optical flow。  

    5,因为本CNN使用Adam表现的比SGD更快速度收敛,使用Adam 作为optimization method,

    6,fine tuning 阶段, tips是先用 小learning rate (1e-6)训练几千轮, 然后在改用普通的learning rate (1e-4) 接着训练。

    Reference:

    1, FlowNet: Learning Optical Flow with Convolutional Networks

    2, Optimal Filter Estimation for Lucas-Kanade Optical Flow

    3, https://en.wikipedia.org/wiki/Optical_flow

  • 相关阅读:
    Oracle 查看表空间的使用情况SQL语句
    汇总查询
    conky配置2
    数据库更新
    weka简介和回归转自chinakdd
    子查询
    ubuntu常用命令
    查询
    数据库中的连接
    测试用的数据库表及其数据
  • 原文地址:https://www.cnblogs.com/zhang-yd/p/6511475.html
Copyright © 2020-2023  润新知