nb_200814_opticalflow_2018_cvpr_PWC_Net

Models Matter, So Does Training: An Empirical Study of CNNs for Optical Flow Estimation

Updated and extended version of “PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume.” CVPR 2018 or arXiv:1709.02371

应用CNN做光流估计——从模型和训练两个角度的经验性研究

〇. 摘要

  1. 根据三个设计原则——Pyramid,Warping,Cost Volume——设计了一个紧凑有效的CNN模型—— PWC-Net。该模型与FlowNet2相比,尺寸小17倍,速度快2倍,在Sintel final(1024*436)的准确度高11%、帧率为35fps
  2. 分析了该模型性能卓越的因素,提出了新的训练方法。用本文的训练方法去训练FlowNetC可以提升56%的准确度。

一. 简介

A. 光流预测方法

Flownet第一次利用CNN直接从原始图片得到光流估计,但性能较之传统方法较低。因此提出了堆叠多个网络的FlowNet2,然而由于网络过大,因此容易过拟合且资源消耗大。

SpyNet[11,2017,cvpr]结合DNN和传统方法,首先使用一个spatial pyramid network,然后根据初始光流将第二幅图变换到第一幅图。由此SpyNet可以利用一个小网络来估计变换后的图像和第一幅图之间的光流(运动非常小)。其准确度低于FlowNet2,原因在于只是部分利用了传统方法原则。

B. 本文的直接启发

Combining deep learning with domain knowl- edge not only reduces the model size but also improves the performance.

由此启发,可以结合传统方法和CNN来同时提高光流估计的准确度和降低网络规模。可利用的传统方法有:(也叫做 domain knowledge of flow,光流域知识

  1. 对原始图像预处理,提取其对阴影和光照不变的特征;
  2. 在3D图像中,cost volumn比图像或特征更易区分。但构建一个full cost volumn计算复杂度太高无法做到实时估计,因此本文在每一级pyramid上限制搜索范围,从而构建partial cost volumn。然后利用warping操作连接各级pyramid,从而能够估计大位移的flow。

此外,本文提出的训练方法可以大幅度提升网络性能。

C.本文方法与其它端到端方法的比较

  1. SpyNet使用image pyramids而本文使用feature pyramids
  2. FlowNet2在其第一个子模型中采用3层feature pyramids,本文为7层
  3. SpyNet和FlowNet2都warp输入图像,而本文warp features
  4. SpyNet给CNNs输入图像,而本文输入cost volumn
    • cost vol更适合区分光流的搜索区间,因而更容易被CNN学习
  5. FlowNet2/FlowNetC在单一分辨率下采用大搜索范围构造cost vol(无法解决“aperture problem[20,68,69,70]”),本文构造多级分辨率的cost vol并采用小搜索范围进行计算
  6. SpyNet为sequential training,而本文可以直接end-to-end训练
  7. LiteFlowNet [71]采用同样的feature pyramid、warp features、多分辨率小搜索区间构建cost vol。此外,为了解决异常值问题,它还采用了基于特征驱动的局部卷积的光流正则化层(flow regularization layer)。但它需要sequential(stage-wise) training。在采用了与本文相同的训练策略后,其性能与本文相近。
  8. TVNet[73]采用了TV-L1方法[74],且将其优化步骤展开为神经网络层,能够学习到特定任务的模型,且能进行活动分类。

二. 相关工作

A. 基于CNN的OP模型

目前在MPI Sintel final pass上取得高分的算法大都在系统中加入了CNN组件。如DCFlow[17,2017], EpicFlow[28,2015], FlowFieldsCNN[30,2017], MRFlow[35,2017]等。(都是cvpr论文)。但它们都无法做到实时且不能端到端训练。

B. 基于有监督和无监督训练的模型

有监督训练的模型主要以Flownet为基础,以及SpyNet。无监督学习方法,如基于玻尔兹曼机的方法[44,2007,hinton],基于插帧法训练的CNN模型[45,],基于数据一致性和空间平滑性的方法[46]等。 有监督模型性能往往优于无监督模型,因此可以通过无监督模型利用未标记数据来预训练CNN。

C. Cost Volumn

这个层用来存储两幅图像各自像素的匹配程度

D. Datasets

本文采用以下两个数据集

  • KITTI:自动驾驶数据集,数据源为LIDAR
  • Sintel:数据源为电影“Sintel”。分为两个pass:clean和final。

E. CNN模型

denoising autoencoder [53]常用来做CV中的密集预测任务。
本文采用更适合提取上下文信息的dilated conv。此外本文还在DenseNets架构上进行了测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值