End-to-End Time-Lapse Video Synthesis from a Single Outdoor Image[Nam+ CVPR19]

End-to-End Time-Lapse Video Synthesis from a Single Outdoor Image
Seonghyeon Nam, Chongyang Ma, Menglei Chai, William Brendel, Ning Xu, Seon Joo Kim
To appear in CVPR 2019
https://arxiv.org/abs/1904.00680

を読んだ. 非常に面白かった.

簡易箇条書きなまとめで申し訳のなさがあります.

1. Abstract

  • conditional image-to-image translationの枠組みで,End-to-Endで,単一画像屋外から時刻が変わっていくようなタイムラプス動画を生成する.
  • 屋外シーンの照明変化と時刻の間の相関を学習する.
  • 時刻ラベルが付いていると,時刻ラベルがないデータセットを用いて半教師あり学習を行う.
  • 既存手法では,スタイルの参照が必要であったが,提案手法では時刻ラベルのみで変換できる

2. 設定

2.1 問題定義

  • 入力画像Iと,時刻ラベルt \left( [0,1)\right)
  • \hat{I_{t}} = G(I, t)
  • 物の動きを考慮せず,連続した非線形な照明変化を学習する.

2.2 データセット

AMOSデータセット[Jacobs+ CVPR07]

  • 時刻ラベルが付いている.
  • 24時間撮影した監視カメラの動画
  • 世界中の35000個のweb cameraの映像
  • 実験では1,633 web cameraからの40,537動画を1,310,375枚画像へ
  • trainとvalを1533, 100 web cameraに分割

TLVDBデータセット[Shih+ ACM Trans03]

  • 時刻ラベルなし
  • プロの人達が撮影したアウトドア動画
  • 463動画から1,065,427枚の画像へ
  • その内の30動画をテストとして使用

3. Method

3.1 Multi-Frame Joint Conditional Generation

f:id:udooom:20190620154623p:plain:w300

  • AMOSデータセットA)のみで学習
  • データは[tex:(I{i}, t{i})]を含む
  • Dは,画像と時刻がペアかを見極める
  • 最初は単純なVanilla Encoder-Resblock-Decoderでやっていたが,出力がありえんヤバかったのでN(0,1)の一様分布からサンプリングされたshared latent variable zを用いて学習をすることにした.
  • zS_{A}間の時間的構造を表している
  • よって,\hat{I_{t}} = G(I, t, z)
  • 学習がうまくいかない原因としては,(1) 時刻の違いはあっても見た目が同じようなイルミネーションが多かったこと. (2) 場所や季節の変動をうまく学習できなかった
  • 入力動画が連続していると,動きを学習してしまうので,Augmentationで回転や左右反転などをした上で,入力動画のフレームは全て別の動画からサンプリングされたもので,時刻順にソートされたもの. なるほど.

Generator

  • conditionはdownsamplingされた特徴に加えられる
  • Conv-Resblock-Deconv

Discriminator

  •  Du Dcの2つから成り立つ
  • Du: 生成画像がReal or Fakeを判断
  • Dc: 生成結果 [tex: \hat{S{A}}] がビデオの連続した繋がりとして適切かを判断. つまり,[tex:\hat{I{t}}] がその時刻[tex:t{i}]に当てはまるか?,[tex:\hat{I}{t}]がその時刻で現れそうな色(夕焼けとか)をしているか?を判断

Adversarial Loss

f:id:udooom:20190620155542p:plain:w300 f:id:udooom:20190620155924p:plain:w300 f:id:udooom:20190620160209p:plain:w150

  • l_{u}: 通常のAdv loss.
  • l_{c}: condition付きAdv loss
  • l_{c}の赤線引いたところが,画像と時刻の情報が不一致なものをDに入力している
  • (これがないと,Discriminatorが有利すぎて,うまく学習できないんだろうなって感じがした. アドバイスください.)

3.2 Multi-Domain training

f:id:udooom:20190620161642p:plain:w300 f:id:udooom:20190620161656p:plain:w300 f:id:udooom:20190620161659p:plain:w300 f:id:udooom:20190620161703p:plain:w300

f:id:udooom:20190620161847p:plain:w300

  • AMOSデータセットだけだと,結果が微妙だったので,風景動画でリッチなアウトドアスタイルを含むTLVDBデータセットB)を利用
  • AMOSは監視カメラ映像なので,アウトドアみがない
  • 単純に合併させて教師無しで学習させても,お互いのドメインが違いすぎてうまく学習ができない
  • よって,TLVDBの時刻アノテーションがない部分を補える,半教師あり学習を提案

Model architectureとLoss

  • G_{B}: Aの時刻ラベルtと,Bの連続したフレームを用いて,時刻に合わせたスタイルが付与されるように生成する.(モデル図の実線)
  • D_{B}: Gへ入力したBの連続フレームと生成されたフレームのReal or Fakeを評価(モデル図の実線)
  • G_{A}: Gbの出力を受け取り,時刻の連続した変化で色はどう変化するか?のスタイルを学習するG
  • D_{Au}: Aのフレーム毎に違う動画からサンプリングされた画像を重ねて作った時刻が連続した動画(Sa)をReal, Gaの出力をFakeとして,Real or Fakeの計算
  • D_{Ac}: Sa, ~Sa, Ga(G(b(I,t,z)))を入力
  • l_{r}: Gaの出力で構造が変化しないためのL1距離

3.3 Guided Upsampling

f:id:udooom:20190620163137p:plain:w300

  • 128x128の動画を生成するのはきついので,64x64で生成して提案Upsamplingで512x512にする
  • (なんかここよくわからなかったので,いつか修正しておきます)
  • (動画生成,変換において解像度が高いと難しいのはものすごく同意した)

4. Experiment

f:id:udooom:20190620163943p:plain:w300 f:id:udooom:20190620164007p:plain:w300

4.1 定量評価

  • (実験はなかなかの闇)
  • 比較対象は,本物,[Li+ ECCV18]https://arxiv.org/abs/1802.06474, TLVDBの手法[Shih+ ACM Trans03]
  • 24枚の画像から,16フレームへの風景変化予測をする(合計: 384)
  • 各生成動画から,2 or 3フレームをランダムサンプリングして,合計71枚
  • AMTで高評価98%以上の人10人に本物か偽物かを聞いた(GAN専用の人なんているのか?)
  • 提案手法, 本物,[Li+ ECCV18], TLVDB[Shih+ ACM Trans03]は,60.6, 67.5, 34,1 44.9%の本物率

4.2 計算時間

  • 提案手法は,64x64の16フレームをGbがGPU-0.02s,CPU-0.8s
  • Guided upsamplingは64x64を512x512へと0.1s
  • [Li+ ECCV18]は,6.3s(768x384)
  • TLVDB[Shih+ ACM Trans03]は,58s (700ピクセル)

4.2 Ablation study

f:id:udooom:20190620164532p:plain:w300 + (Top: vanilla cGAN): 夕焼けみたいな情報は一切できずに,明るさだけを変化させてる + (Dを騙すのに一番そうするのがよかったっぽい?) + (Middle: supervised) : 監視カメラ情報だけなので,微妙 + (Bottom: semi-supervised): 風景データセットが加わったのでエモい結果にうぇい

f:id:udooom:20190620164535p:plain:w300 + Gaの役割 + (手前が暗くなってる) +( 全体的に見て,よくなってるのかの評価できないし,何も言えない) + (データセット依存の特徴から,Discriminatorをうまく騙せるように学習するので,データセット依存な気がする)

5. Conclusion

f:id:udooom:20190620165149p:plain:w300

  • 参照スタイルなしで変えれる
  • ありえん暗闇 -> 昼への変換は,あんまりできない
  • (多分,スタイルが違いすぎる?)
  • 人工物のあかり(窓からの漏れた光)みたいなのは生成できないっぽい(データ数が少ないから?)
  • (動きは考慮していないので,動きも考慮しつつ夕焼けみたいにスタイルも変換できたら面白そう,リフティングしながらいつのまにか夕焼けにできる. 超ゆっくりリフティングを何百倍にも早送りてきになる?物理法則は無視してるが)

最後に

MIRU19で,動画のフレーム予測のポスター発表をするので,今回のようなタスクや,動画のフレーム予測やGANなどの研究について議論できたらいいなと思います. 私は初心者ですが.

夢の香 特別純米酒 國権

授業中にあまり挙手をしないタイプの陰キャみたいな味わいだが,二口味わうと,面白さが伝わってきた

こいつインキャに見せかけたヨウキャだ.

驚いた.

どうやら,夢の香という福島県が独自に開発した酒造好適米から作られたお酒で,ふくしまブランドの名に恥じないような美味しさである

しかし,この酒の良さを最大限まで理解できるような舌を持ち合わせていないので,また会うことはないだろう.

f:id:udooom:20190618223143j:plain

www.kokken.co.jp

喜楽長 特別純米酒 若苗

滋賀県近江市にある喜多酒造株式会社の酒

その中でも今回は夏にぴったりなお酒

スッキリとした辛口な味わいに加え,甘さはあまり感じることなく透き通るような酸味と仲良しに

夏にぴったりでとてつもなく美味しい

脳裏には風に揺られる稲の様子が浮かび非常に楽しい気分に誘われた

f:id:udooom:20190618223227j:plain

www.jizake.com

Streamlined Dense Video Captioning

Streamlined Dense Video Captioning
Jonghwan Mun, Linjie Yang, Zhou Ren, Ning Xu, Bohyung Han
CVPR 2019
https://arxiv.org/abs/1904.03870

Abstract

Contiributions

  • 従来の1動画1インプットではなく,動画をフレームごとに連続で入力し続けるような手法を提案した.
  • 提案手法(The proposed event sequence generation network )は,イベント間の時間的関係性をモデル化する.
  • 強化学習を組み合わせて,キャプション間が一貫するのと,キャプションの質の向上をもたらすようなエピソードとイベントレベルの報酬を設計した.
  • ActivityNet Captions datasetでSoTA.

    Dense VIdeo Captioning

  • イベントを認識して,キャプションを生成するタスク.

f:id:udooom:20190606194546p:plainf:id:udooom:20190606195049p:plain

Dense-Captioning Events in Videos
Ranjay Krishna, Kenji Hata, Frederic Ren, Li Fei-Fei, Juan Carlos Niebles
16 pages, 16 figures
https://arxiv.org/abs/1705.00754

Method

f:id:udooom:20190606201353p:plain

1. Overview

  • 従来: イベント検出に続いて,キャプション生成.
  • イベントとキャプションの負の最尤推定を合計を最小化することで学習. f:id:udooom:20190606200853p:plain
  • ビデオ中のイベントは時間的な依存関係より単一トピックに関するストーリーに基づく必要があるので,イベントの順序を追うことが必要. これを考慮して,イベントの連続性とそれに続くキャプション生成を高密度でやるように定式化. f:id:udooom:20190606201312p:plain
  • ビデオが入力され,event proposal networkがイベントを提案する.
  • event sequence generation networkがイベント提案の候補の一つを選ぶことで一連のイベントを提案する.
  • proposed sequential captioning networkが選ばれた提案からキャプションを生成する.

2. Event Proposal Network(EPN)

  • イベント候補を選択する.
  • Single-Stream Temporal action proposals(SST)[Buch+ CVPR17]を使用.
  • 入力は固定長.
  • 各セグメントをイベント提案の終点として扱うことで,各tでGRUからk次元出力ベクトルで表されるk個のセグメントから一致する開始点を認識する.

3. Event Sequence Generation Network (ESGN)

  • イベント提案候補集合が与えられ,ESGNは相関の高い一連のイベントを選んでエピソードを作る.
  • Attentionモジュールを使うことで,RNNで入力集合上で分布を生成するようなPointerNetwork[Vinyals+ NIPS15]を使う.
  • PointNetは提案されたイベントの順序つきサブセットを選び,時間依存性を考慮してキャプションを生成するのに適している. f:id:udooom:20190606204212p:plain f:id:udooom:20190606204303p:plain

4. Sequential Captioning Network (SCN)

  • EpisodeRNN,EventRNN($RNN_{e}$)で成り立つ.
  • EpisodeRNNは,検出されたイベントを入力としエピソードの状態をモデル化する.
  • EventRNNは,エピソードの現在のコンテキストに基づいて条件づけられた各提案されたイベントに対して,キャプションを生成していく. f:id:udooom:20190606204806p:plain

力尽きた