第11回全日本コンピュータビジョン勉強会前編 Imagenの紹介

14.2K Views

August 07, 22

スライド概要

第11回全日本コンピュータビジョン勉強会前編で、最新のText-to-Image手法、Imagenの紹介を紹介しましたので、その内容を共有します。あわせて『エターナルフォースブリザード』を作るために Imagenをご家庭で育てる方法も共有します。

profile-image

サラリーマン研究員。

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

⽬次 • ⾃⼰紹介 • 最新のText-to-Image⼿法、Imagenの紹介 • 『エターナルフォースブリザード』を作るために Imagenをご家庭で育てる⽅法

2.

⾃⼰紹介 • 博⼠課程に通っている学⽣です。 • 研究分野 • コンピュータビジョンを⽤いた⼈とロボットとのインタラクション • 趣味 • 拡散モデルを改造して、いろんなイラストを⽣成すること https://alfredplpl.github.io/ddpm_preprint_v2.pdf

3.

Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding Chitwan Saharia∗, William Chan∗, Saurabh Saxena†, Lala Li†, Jay Whang†, Emily Denton, Seyed Kamyar Seyed Ghasemipour, Burcu Karagol Ayan, S. Sara Mahdavi, Rapha Gontijo Lopes, Tim Salimans, Jonathan Ho†, David J Fleet†, Mohammad Norouzi* ∗Equal contribution. †Core contribution. Google Research, Brain Team Toronto, Ontario, Canada 紹介者:尾崎安範

4.

なんでこの論⽂選んだの? • コーギーの写真が個⼈的にインパクトがあり、 それも趣味につながったため、この論⽂を選んだ • CVPR 2022とも⼀応関係がある • 実はこの論⽂はCVPR 2022に採択された論⽂ではない • しかし、CVPR 2022のチュートリアルで紹介された プレプリントの論⽂であるから、 CVPR 2022と関係はある https://cvpr2022-tutorial-diffusion-models.github.io/

5.

1ページでわかる論⽂の本⽂ • Introduction • Text-to-Imageを従来よりも⾼品質にやりたい • Method • T5によるText embeddingを Cross AttentionするU-Netを拡散モデルに⽤いて 超解像⽤の拡散モデルとカスケード接続した • Results • DALL-E 2などよりもFIDなどの⾯で⾼品質 • Discussion • 学習データを集めるのが⼤変なので どうにかしたい

6.

実はこの論⽂はAppendixが本番である (本⽂: 15ページ、Appendix: 31ページ)

7.

Appendixに書いてある話 • Appendixに書いてある話はたくさんある • • • • • 拡散モデルのノイズ除去に⽤いたU-Netの効率化 (Efficient U-Net) Text-to-Image⽤の提案データセット DrawBench を作った話 DALL-E 2で画像中に⽂字がかけないときがあること ソースコードレベルでのEfficient U-Netの実装 などなど • この中でU-Netの実装について説明する

8.

Imagenに使われるU-Netの実装 • 参考実装 [1] とともに図解すると、以下の通り • 基本的にTransformerベース • AttentionやCross AttentionでノイズからTextに⼀致する符号を取得 Skip connection ノイズ 画像 Text Embedding Cross Attention [1] https://github.com/lucidrains/imagen-pytorch ノイズ 除去 画像 PythonのPandasでいうと Value[Key == Text Embedding] みたいな処理を連続値でしている

9.

以上で論⽂紹介終わりです

10.

『エターナルフォースブリザード』 を作るために Imagenをご家庭で育てる⽅法 尾崎安範

11.

モチベーション • みんな⼩学⽣の時にカードゲームをやっていて、⼀発で勝てる カードがあったらいいのになと思うことがあっただろう • ⼀発で勝てるカード『エターナルフォースブリザード』を 作りたい • しかし、そのイラストが全く想像できない • AIってやつでどうにかイラストを書かせてみる

12.

準備 • ハードウェア • 学習⽤: RTX 3090を搭載したPC (VRAM 24GB以上必須) • 推論⽤: RTX 3080を搭載したPC (VRAM 10GB以上必須) • ソフトウェア • Imagenの再現実装 [1] を使⽤ • データ • カードゲーム『Shadowverse』のイラスト: 約3500枚 • ImagenのText embeddingの都合上、カード名は英語を使う [1] https://github.com/lucidrains/imagen-pytorch

13.

学習 • マシンパワーが⾜りないので、Imagenの途中までを真似た • テキストから1回超解像した画像まで真似た • しかし、それでも学習時間が⻑い。とても⻑い。1週間ぐらい。 • 実際、論⽂のAppendixを⾒てもTPU 256枚積んで数⽇単位学習させている

14.

学習結果 • 確かに学習に使った⽂章を⼊れると、 学習画像のようなものを出⼒してくれるようになった • ただし、超解像は何⼗時間GPUを動かしても終わりが⾒えず、 学習が実は収束していない • 品質は低いのは許してほしい Aiela, Dragon Sword Text-to-Image Super Resolution ⻯剣の少⼥・アイラの⽣成過程

15.

が、しかし • 学習した⽂章以外を⼊れると、おかしな出⼒になる • 単語はあるはずの⽂章を⼊れた結果が以下の通り Dragon Elf Knight Dragon Elf Queen Dragon Elf King

16.

そこで改造 • ImagenのU-Netを改造してどうにかしてみた • U-Netの中間部にCross Attentionをたくさん⼊れてみた Dragon Elf Knight Dragon Elf Queen Dragon Elf King

17.

それでは、 『エターナルフォースブリザード』の結果は!?

18.

無理でした • エターナルもフォースも学習データにあるけれども、 ブリザードが実はないので、⽣成できなかった • 超解像も対応できなかったのでアニメ⽤のSRGAN [2] をつかった 超解像が対応 できる場合 Eternal Force Blizzard (等倍) Eternal Force Blizzard [2] https://github.com/xinntao/Real-ESRGAN

19.

だがしかし、あきらめないのが俺

20.

無理やり作成した • 素材サイトPixabayからブリザードの写真を取得して 学習画像に加えることで⽣成できるようにした • 超解像が対応できなかったのでアニメ⽤のSRGAN [2] をつかった Eternal Force Blizzard (等倍) Eternal Force Blizzard

21.

まとめ • ご家庭でもImagenは⼀応動かせた • 学習データにない単語がある⽂章は無理っぽかった • イラストと実写を混ぜることで エターナルフォースブリザードを無理やり作り出せた • 正直Text-to-Imageのサービスを使えばいいんじゃないかな

22.

おことわり • あくまで個⼈でやったことであり、会社とは関係ありません • したがって、個⼈のガイドラインが適⽤されると考えています • Shadowverseのイラストは⼆次創作して良いとガイドラインにあります [3] • 当社やその関係者による投稿と誤解を与えるもの。は ガイドライン違反なので個⼈としてやっています • 学習時間やVRAMが⾜りず、解像度がごちゃごちゃになってい ます。誤解を与えるかもしれませんが、 ご理解よろしくお願い します。 • もともとのImagen: Text → 128[px]x128[px] → 256[px]x256[px] • 改造後のImagen: Text → 64[px]x128[px] → 128[px]x128[px] • これらのモデルで超解像をかけたりかけなかったりしています。 [3] https://www.cygames.co.jp/streaming_guidelines/