Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StoryGAN: A Sequential Conditional GAN for Story Visualization (CVPR 2019) #17

Open
shionhonda opened this issue May 29, 2019 · 0 comments
Labels
GAN movie dealing with sequential images text2image

Comments

@shionhonda
Copy link

shionhonda commented May 29, 2019

0. 論文

タイトル: StoryGAN: A Sequential Conditional GAN for Story Visualization
リンク: https://arxiv.org/abs/1812.02784
著者: Yitong Li, Zhe Gan, Yelong Shen, Jingjing Liu, Yu Cheng, Yuexin Wu, Lawrence Carin, David Carlson, Jianfeng Gao
所属: Duke University, Microsoft Dynamics 365 AI Research, Microsoft Research, Tencent AI Research, Carnegie Mellon University
発表年: 2019
掲載: CVPR

1. どんなもの?

複数文からなるstoryから動画を生成する、text-to-imageの発展形。
RNN-CNNで文ごとに画像を生成するが、RNNの初期状態としてstoryの埋め込みを入力して最初の生成画像の品質を高めている。識別器は画像自体の品質とstoryとの一致度を評価する。
スクリーンショット 2019-05-30 10 32 49

2. 先行研究と比べてどこがすごい?

貢献は主に3点。

  • Story Visualizationという新たなタスクを提案した。このタスクでは、textとimageの一致性と時間方向の一貫性が評価される。
  • タスクを解くための系列条件付きモデル「StoryGAN」を提案した。
  • Story VisualizationのデータセットとしてCLEVER-SVとPororo-SVを作成した。

3. 技術や手法のキモはどこ?

スクリーンショット 2019-05-30 10 34 18

Story Encoder

Story EncoderはMLPでstoryを1つのベクトルh_0に埋め込み、Context Encoderの初期状態とする。
実際にはMLPで平均ベクトルと標準偏差ベクトルにencodeし、正規分布からh_0をサンプリングする。これによりSの分布の連続性を高めている。

Context Encoder

一般の動画生成(ダンスや車載カメラ)と違い、story生成はシーンの切り替えにより登場人物、動き、背景が大きく変わる。
この問題に対処するために、GRUとText2Gist(GRUの亜種)からなる2層のContext Encoderを利用する。
全体として、各タイムステップtにおける文sとガウシアンノイズeから、gist(要旨; 画像を変化させるための情報)ベクトルoを作る。
スクリーンショット 2019-06-08 13 09 08
Text2Gistでは次のような処理をしている。Filterは1x1畳込みのような演算。
スクリーンショット 2019-06-08 13 11 33

Discriminators

画像識別器とstory識別器の2つを用意する。
画像識別器は、{文s, 文脈h_0, 画像x}を入力として画像1枚のの真贋を判定する。
story識別器は、文章すべてと画像すべての埋め込みの要素積からstory全体の真贋を判定する。
スクリーンショット 2019-05-30 10 35 11
スクリーンショット 2019-06-08 13 18 17

Algorithm Outlines

学習の手順としては、画像識別器と生成器、story識別器と生成器の組を交互に更新する。
スクリーンショット 2019-06-08 14 01 41

4. どうやって有効だと検証した?

ベースライン

ベースラインとして次の3モデルを用意した。

  • ImageGAN
    story識別器、Story Encoder、Context Encoderを使わなず、独立に画像を生成していくモデル。
  • SVC
    Story Visualization by Concatenation
    Context EncoderのText2Gistをconcatenationに置き換えたモデル。

スクリーンショット 2019-06-08 14 09 48

  • SVFN
    Story Visualization by Filter Network
    Context EncoderのText2Gistをfilter networkに置き換えたモデル。

CLEVR-SV Dataset

VQAで用いられるCLEVRをStory Visualization用に作り直したデータセットを利用してSSIMで評価した。
スクリーンショット 2019-06-08 14 13 25

Cartoon Dataset

同様にPororo-SVを作成。生成画像の比較はFigure 6。
スクリーンショット 2019-05-30 10 35 38
人による評価実験も行った。以上から提案手法の有効性がわかる。
スクリーンショット 2019-06-08 14 21 35

5. 議論はある?

「コメント」を参照。新しいタスクだからか、あまり有用な議論は見られなかった。

6. 次に読むべき論文は?

J. Johnson, B. Hariharan, L. van der Maaten, L. Fei-Fei, C. L. Zitnick, and R. Girshick. Clevr. "A diagnostic dataset for compositional language and elementary visual reasoning". In
CVPR, 2017

K.-M. Kim, M.-O. Heo, S.-H. Choi, and B.-T. Zhang. "Deepstory: Video story qa by deep embedded memory networks". In IJCAI, 2017.

コメント

Story EncoderがMLPで複数文を1つのベクトルに埋め込んでいるが、具体的にどうやっているのかわからなかった。RNNではないし、単語方向のpoolingなどには触れられていない。

登場人物を入れ替えて生成した結果について(Figure 7)。他のモデルより品質は高そうだが、文章との一貫性があるようには見えない。
スクリーンショット 2019-06-08 14 18 45

「文章との一貫性」と「前後画像との一貫性」の両方が大事なはずだが、評価手法の弱さ、曖昧さが気になる(そもそもill-definedな感が強い)。新しいタスクなので、タスク・データセットそのものの改善も含め今後の発展に期待したい。

(Conditioning Augmentation的な正則化が効きそう)

@shionhonda shionhonda changed the title StoryGAN: A Sequential Conditional GAN for Story Visualization StoryGAN: A Sequential Conditional GAN for Story Visualization (CVPR 2019) May 30, 2019
@shionhonda shionhonda added GAN reading reading now, leave this issue as it is text2image movie dealing with sequential images labels May 30, 2019
@shionhonda shionhonda removed the reading reading now, leave this issue as it is label Jun 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GAN movie dealing with sequential images text2image
Projects
None yet
Development

No branches or pull requests

1 participant