68
クリエイティブ系AI研究のザッピ ング 山本遼 チームラボ勉強会 2016/12/22

クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Embed Size (px)

Citation preview

Page 1: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

クリエイティブ系AI研究のザッピング山本遼

チームラボ勉強会 2016/12/22

Page 2: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

AI系サーベイ

● クリエイティブ系AIのキュレーションサイト CreativeAIから、最近のものをランダムにピックアップ

‐ かなり荒いサンプリングです

‐ いわゆる「クリエイティブ系」に寄っています

2

Page 3: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

目次

● CNNによる手続き型CGモデリングの高速化

● 画像からの高精度顔モデル推定

● 小ネタ:若干バズってる実験・サイトなど

● 表情を保った顔交換

● GANの最新事情

3

Page 4: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

ニューラルネットによる手続き型CGモデリングの高速化

(よく知らない分野なので紹介)

4

Page 5: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

手続き型モデリング(Procedural Modeling)● 植物・建物・山水などのCGの自動生成技術

● 生成ルールセットと確率的制約のもとで

マルコフ連鎖モンテカルロ(MCMC)法で良い解を探す

5

Page 6: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Wong, et.al. "Computer-Generated Floral Ornament", SIGGRAPH 1998

6

Page 7: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Muller, et.al. "Procedural Modeling of Buildings", SIGGRAPH 2006

7

Page 8: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Muller, et.al. "Procedural Modeling of Buildings", SIGGRAPH 2006

8

Page 9: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Muller, et.al. "Procedural Modeling of Buildings", SIGGRAPH 2006

9

Page 10: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Talton, et.al. "Metropolis Procedural Modeling" ACM Trans. Graph. 2011

10

Page 11: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Talton, et.al. "Metropolis Procedural Modeling" ACM Trans. Graph. 2011

11

Page 12: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Talton, et.al. "Metropolis Procedural Modeling" ACM Trans. Graph. 2011

12

Page 13: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

ニューラルネットによる高速化

Ritchie, et.al. "Neurally-Guided Procedural Models: Amortized Inference for Procedural Graphics Programs using Neural Networks, NIPS 2016

● MCMC法はランダムウォークを繰り返して解を探す● あらかじめ良い解を学習データとして大量に生成し

好ましい乱数の傾向をニューラルネットで学習● 基礎的な検証実験では、生成時の速度は10倍以上

● 扱う問題:ツタの生成

13

Page 14: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

ツタの生成問題

14

Page 15: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

ニューラルネット構造

入力:・現在のツタ先端の 位置・角度・太さ・現在のツタ先端の周辺の対象画像・現在のツタ先端の周辺のツタ画像

出力:・その地点で枝が曲がる角度の平均・分散・その地点で枝が分岐する確率(Gaussian Mixture Modelの重みとして出力) 15

Page 16: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

結果例

NNなし 提案手法NNなしで同じ試行数

NNなしで同じ計算時間

16

Page 17: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

画像からの高精度顔モデル推定(これもよく知らない分野なので紹介)

17

Page 18: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Blanz, et.al. "A Morphable Model for the Synthesis of 3D Faces", SIGGRAPH 1999

● ベースとなる研究

● 3次元顔形状をPCAでモデル化

‐ 各次元は、性別・顔の特徴・表情などに対応

● 顔画像からモデルと(低解像の)テクスチャを推定

18

Page 20: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Saito, et.al. "Photorealistic Facial Texture Inference Using Deep Neural Networks", ArXiv 2016

● PCAで顔形状と低解像テクスチャを得た後で、

顔画像の高周波成分からテクスチャの高周波成分を抽出

‐ その部分に高解像顔画像DBとCNNを使うようだけど

よくわかりませんでした

20

Page 22: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

小ネタ

22

Page 23: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

スペクトル画像からの楽曲ジャンル推定小ネタ①

Page 24: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

DeepAudioClassificationhttps://github.com/despoisj/DeepAudioClassification

● 人は曲を3秒聴けばジャンルが分かるので

コンピュータにそれができないか実験

● 実験はとてもシンプルでわかりやすい

24

Page 25: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

● 入力

‐ 曲をモノラル化し、スペクトログラムを計算し

‐ 2.56秒ぶんのスライスをいくつか抽出

‐ 各スライスは 128x128 グレースケール画像

● モデル

‐ シンプルなCNN、出力は楽曲ジャンル

モデル

25

Page 26: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

モデル・データ詳細

● データセット

‐ 作者のiTunesライブラリの2000曲から、12000スライス

‐ Training:70%, Validation:20%, Testing:10%

● モデル

‐ CNN‐ 畳み込み層:カーネル:2x2、ストライド:2‐ オプティマイザ:RMSProp‐ 活性化関数:ELU(ReLUより良いらしい!)

‐ 重み初期化:Xavier(これも定番らしい)

‐ 正規化:確率0.5のDropout

26

Page 27: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

結果

● 正解率は "スライスのレベルで" 90%

● 曲から複数のスライスを取り出して投票すれば

もっと性能が上がるという考察

27

Page 28: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

ロゴの自動生成サイト小ネタ②

Page 29: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

LOGOJOY: https://www.logojoy.com/

29

Page 30: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

TAILOR BRANDS https://studio.tailorbrands.com/

30

Page 31: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

他にもいろいろ

https://www.abetterlemonadestand.com/logo-generator/

31

Page 32: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

表情を保った顔変換

Page 33: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Korshunova, et.al. "Fast Face-swap Using Convolutional Neural Networks", CoRR 2016

● スタイル変換(Style Transfer)によって顔交換をする

‐ 入力画像=元になる写真、スタイル画像=交換対象の顔の写真

‐ どちらもdlibなどで顔の正規化をする

‐ その他に照明条件の一貫性などもロス関数に含めている

33

Page 34: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Korshunova, et.al. "Fast Face-swap Using Convolutional Neural Networks", CoRR 2016

34

入力画像 変換結果 人力による変換

Page 35: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Korshunova, et.al. "Fast Face-swap Using Convolutional Neural Networks", CoRR 2016

35

Page 36: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Korshunova, et.al. "Fast Face-swap Using Convolutional Neural Networks", CoRR 2016

36

Page 37: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

GANの最新事情

Page 38: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

GANとは(復習)

Page 39: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Generative Adverserial Networks (GAN)

39

Page 40: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Generative Adversarial Networks (GAN)

● 本物の絵のデータセットを用意

● 贋作家G:n次元ベクトル z をもとに偽物の絵 x を生成 (generator)● 鑑定士D:絵 x を見て本物である確率を出力 (discriminator)

● 鑑定士Dは、本物の絵を見た時に1、偽物を見た時に0を出力するよう学習

● 贋作家Gは、鑑定士Dが本物だと誤判定する絵を描くように学習

● GとDのイタチごっこにより、Gはデータセットには含まれないが、データセッ

トに含まれそうなものを出力できるようになる

40

Page 41: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

基本的なGAN(データセットに似た絵を生成)

● 贋作家Gは下記のようなDeconvolution層を重ねたモデル

● 鑑定士Dは通常のCNNで出力が1ニューロン

41

Page 42: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Conditional GANによるキャプションからの画像生成

(半年ほど前に勉強会で紹介)

Page 43: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Reed, et.al. "Generative Adversarial Text to Image Synthesis", ICML 2016

43

Page 44: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Reed, et.al. "Generative Adversarial Text to Image Synthesis", ICML 2016

● Conditional GAN (CGAN)‐ 贋作家Gは、一定条件のもとで贋作を生成

‐ 鑑定士Dも、その条件における真作か贋作かを識別

44

Page 45: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Conditional GANによるレイアウト&属性からの画像生成

Page 46: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016

46

Page 47: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016

47

● 条件として下記を与える Conditional GAN‐ 属性変数:"晴れ", "雨", "朝", "夜" などを表すベクトル

‐ レイアウト:領域分割を定義する塗り絵

‐ Attribute Layout CGAN (AL-CGAN)

Page 48: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016(属性は"晴れ")

48

Page 49: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016

49

Page 50: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016

50

Page 51: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016

51

Page 52: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Karacan, et.al. "Learning to Generate Images of Outdoor Scenes from Attributes and Semantic Layouts", ArXiv 2016

52

Page 53: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Conditional GANで絵を描く(ジョーク)

Page 55: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Conditional GANによるImage-to-Image 変換

Page 56: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

56

● 前述のCGANは レイアウト画像→写真 という変換と見なせる

‐ この2つを入れ替えてもいいんじゃないか

‐ もっと別の入出力を入れてもいいんじゃないか

→ 一般の Image-to-Image の変換問題に適用

Page 57: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

57

贋作家G のモデル左は通常のConvolution-Deconvolutionモデル右はU-Net という手法で、これを採用

Page 58: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

58

Page 59: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

59

Page 60: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

60

Page 61: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

61

Page 62: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

62

Page 63: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Isola, et.al. "Image-to-Image Translation with Conditional Adversarial Nets", ArXiv 2016

63

Page 64: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Conditional GANによるImage-to-Image 変換 その2

Page 65: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Taigman, et.al. "Unsupervised Cross-Domain Image Generation", ICLR 2017

● かなり似た研究(Facebook AI Research)

65

Page 66: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Taigman, et.al. "Unsupervised Cross-Domain Image Generation", ICLR 2017

● 通常のImage-to-Image‐ 学習データとして、顔-イラスト のペアが必要(イラスト変換の場合)

● この手法はペアデータが不要!

‐ 顔画像セットと、イラスト顔セットが別々にあればいい

‐ ただし、同じ人の顔画像またはイラストを入力した時に

近い値になる特徴抽出関数 f を与える

‐ ここではDeepFaceの特徴抽出関数を使用

66

Page 67: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Taigman, et.al. "Unsupervised Cross-Domain Image Generation", ICLR 2017

67

Page 68: クリエイティブ系Ai研究のザッピング(チームラボ勉強会 2016/12/22)

Taigman, et.al. "Unsupervised Cross-Domain Image Generation", ICLR 2017

68

写真イラスト

学習には使わない 出力 写真イラスト

学習には使わない 出力 写真イラスト

学習には使わない 出力