Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
6
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@masataka46

論文まとめ Semi-Supervised Learning for Optical Flow with Generative Adversarial Networks

はじめに

NIPS2017から W. Lai らの Semi-Supervised Learning for Optical Flow with Generative Adversarial Networks をまとめてみた。

論文はこちら
[1] http://papers.nips.cc/paper/6639-semi-supervised-learning-for-optical-flow-with-generative-adversarial-networks.pdf

Supplementary Materialはこちら
[2] http://vllab.ucmerced.edu/wlai24/semiFlowGAN/nips17_semiFlowGAN_supp.pdf

要点

  1. CNNやGANs的な仕組みを使って Optical Flow を推定する仕組みである
  2. 従来の手法と違い、ラベルが付いていないVideoを加えて半教師あり学習を行う
  3. 従来の手法で用いる明るさの恒常性や空間的な滑らかさがこの手法では必要なくなる
  4. これにより従来の教師あり学習、あるいはベースラインとなる半教師あり学習の性能を上回った

図1はこのモデルで生成された Optical Flow の一例。

スクリーンショット 2018-01-04 7.02.21.png
【図1 本モデルを用いた Optical Flow の例 [2]のFigure 3より】

左上(Input images)は移動前と移動後の2枚を重ねている。特に中央の人物が移動している。この画像ペアに対し Ground truth は右上、本論文の手法は右下。

モデルのアーキテクチャ

本モデルのざっくりしたアーキテクチャは以下の図2。

スクリーンショット 2018-01-04 6.40.36.png
【図2 モデルのアーキテクチャ [1]のFigure 1より】

左が Baseline とする semi-supervised な手法。明るさの恒常性や空間的滑らかさを想定している。右が本論文の手法。上記2つの想定を用いず、代わりにGANsの仕組みで学習させている。

上側のラベルがある場合に注目する。左から移動前と移動後の2枚の画像を CNN へ入力する。そうすると Optical Flow の推定量が算出される。まずこの推定量と Ground truthで比較し EPE loss を求める。一方で2枚の画像から Flow warp error image を作成し、これを識別器へ入力する。

次に下側のラベルがない場合に注目する。移動前と移動後の2枚の画像を CNN へ入力し、Optical Flow を算出する。またこの Optical Flow 及び2枚の画像から Flow warp error image を作成し、これを識別器へ入力する。

adversarial な loss と EPE loss とで学習を行う。そうすると、 ラベルありの場合、EPE loss により CNN(generator)は精度を増す。一方ラベルがない場合、adversarial な loss により CNN(generator)は精度を増す。

loss の計算

まず定義から。

入力画像を $(I_1, I_2)$ とする。

モデルにより生成する Optical Flow を $f= \left[ u, v \right]$ とする。

Ground truth の Optical Flow を ${\hat{f}}= \left[ {\hat{u}}, {\hat{v}} \ \right]$ とする。

EPE loss は以下で求める。

L_{EPE} (f, \hat{f} \ )=\sqrt{(u-{\hat{u}} \ )^2+(v-{\hat{v}} \ )^2}

次に flow warp error image は $y$ を生成器経由、 $\hat{y}$ を Ground truth 経由として以下で求める。

y=I_1 - {\mathbb{W}}(I_2, f) \\
\hat{y} =I_1 - {\mathbb{W}}(I_2, \hat{f} \ )

この flow warp error image を識別器に放り込むので、adversarial な loss は以下。

L_{adv}(y, \hat{y} \ )={\mathbb{E}}_{\hat{y} \ } \left[ \log D(\hat{y} \ ) \right] + {\mathbb{E}}_{y} \left[ \log(1- D(y)) \right]

よって loss 全体では以下。

\min_G \max_D L_{EPE}(G)+\lambda_{adv}L_{adv}(G,D)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
6
Help us understand the problem. What are the problem?