0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

論文まとめ:Recycle-GAN: Unsupervised Video Retargeting

Last updated at Posted at 2020-08-29

はじめに

ECCV 2018 から以下の論文
[1] A. Bansal, et. al. "Recycle-GAN: Unsupervised Video Retargeting"
のまとめ

こちらの方が既にまとめている:
https://medium.com/@crosssceneofwindff/recycle-ganを用いた行動模倣-b1116e318649
ので、ここでは従来手法(Cycle-GAN)を用いた場合の課題と、その対処法に焦点を当てて解説する。

概要

  • GANを用いたビデオの変換タスク
  • cycle-GANを改良し、時空間な制約を導入する
  • これにより、contentを変換しながら、taget domain の styleを維持することができる

video変換でcycle-GANを用いた場合の問題点

以下の図では

recycle_GAN_img01.png
[1]Figure2より

1行目がInput画像、2行目がCycle-GANを用いた変換、3行目がその再変換。

2行目Outputではトランプがオバマになってる(contentは変換されている)。しかし表情は同じに見える(styleは維持されてない)。しかし3行目Reconstructionを見ると、再変換されたトランプは、表情も含めてinputを再現できている。

よく見るとOutputのpixelレベルでは各列微妙に違っているそう。よって、この情報を元にトランプの各表情を復元できてると考えられる。

最下段は本手法によるoutput。

次にドメイン変換でよく見られる図を用いる。以下は Cycle-GANの場合。

recycle_GAN_img27.png

理想的にはこの図のように、トランプの半開きの口はオバマの半開きの口に変換され、トランプの閉じた口はオバマの閉じた口に変換される。

しかし、実際はこうなっている。

recycle_GAN_img26.png

1)まずトランプの半開きの口、および閉じた口、いずれもオバマの半開きの口に変換される。(赤い矢印)

2)しかし半開きの口の中でもpixelレベルで微妙な違いがある。

3)その違いをもとに再変換した時にトランプの半開きの口、及び閉じた口にちゃんと復元される。(青い矢印)

そこで Recycle-GANでは以下のようにする。

recycle_GAN_img28.png

まず、前のフレームから次のフレームを予測する $P_X, P_Y$ を考える。

1)トランプの「半開きの口」($X_t$)をオバマに変換する。

2)これに対して $P_Y$ で次のframeを予測する

3)予測した画像をさらに再変換する。

4)これと、実際の $X_{t+1}$ とでlossを計算する

こうすると、オバマの「半開きの口」の付近の領域はおおよそトランプの「半開きの口」に付近に変換されるよう学習するため、「半開きの口」が少しずれただけで「閉じた口」に変換されることは無くなるだろう。

Loss

なので、Cycle-GANの reconstruction error を Recycle な error に変える。

また 次フレーム予測器のLossも考えると、Lossは以下の3種類。

  • adversarial loss
  • recycle loss
  • 予測器のrecurrent loss

1.adversarial な loss

  • $G_Y$:X→Y の変換器
  • $G_X$:Y→X の変換器
  • $P_X$:Xの前frameから次frameを予測する予測器
  • $P_Y$:Yの前frameから次frameを予測する予測器
  • $D_X$:Xを識別するdiscriminator
  • $D_Y$:Yを識別するdiscriminator

として、まずadversarial lossのうちYに関するものは

L_g(G_Y, D_Y) = \sum_s \log D_Y (y_s) + \sum_t log(1-D_Y (G_Y(x_t)))

2.recycle loss

recycle lossのうちX→Y→予測→X 経路のものは

L_r (G_X, G_Y, P_Y) = \sum_t \| x_{t+1} - G_X(P_Y(G_Y(x_{1:t}))) \|^2

3. recurrent loss

予測器に関するlossのうち、Xに関するものは

L_\tau (P_X) = \sum_t \|x_{t+} - P_X (x_{1:t}) \|^2

4. トータルのloss

以上からトータルのminmaxな式は

\underset{G,P}{\min} \underset{D}{\max} L_{rg} (G, P, D) = L_g(G_X, D_X) + L_g(G_Y, D_Y) + \lambda_{rx}L_r(G_X, G_Y,P_Y) + \lambda_{ry}L_r(G_Y, G_X,P_X) + \lambda_{\tau x}L_{\tau}(P_X) + \lambda_{\tau y}L_{\tau}(P_Y)

各 $\lambda$ は掛け率。

推論時の工夫

推論時は学習した変換器だけでなく、予測器も使う。つまり、t 時の Y を予測するのに、t 時の X を変換したものだけでなく、t-1 時までの X を変換して t-1時までのYとし、これを予測器 $P_Y$ で予測したものも用いる。

y_t = \frac{G_Y(x_t) + P_Y(G_Y(x_{1:t-1}))}{2}

実験と結果

定量的評価

Viper dataset を用いた評価は以下。

recycle_GAN_img30.png

cycle-GANより精度がよい。

定性的評価

花が開いたり、散ったりするところのビデオで学習させた結果は以下。
recycle_GAN_img31.png

うまく再現できている。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?