SlideShare a Scribd company logo
1 of 14
打倒PaintsChainer★
おうちで始めるDCGAN…
2017/02/16
Developers Summit 2017
十字静@超未来工房
今回のネタ
今話題のAI自動彩色を
おうちでやってみた
こんなあなたに聞いてほしい♥
‖ PaintsChainerを見てすごいと思った
‖ AIの使いみちを知りたい
‖ DeepLearningさわってみたいけどきっかけがない
1
自己紹介
‖ 十字 静/Sei, TOAZA
‖ 角川でラノベとか書いてる
‖ 技術系同人サークル「超未来工房」
あしたDevBooksで頒布します!
2
AI自動彩色ソフト「PaintsChainer」
PCへの入力
‖ 線画
‖ 色ヒント
3
‖ 入力画像
‖ AIが自動で彩色してくれる!
‖ 出力画像
PaintsChainerと、うちのAIさん
PCで作った画像
‖ 学習データ600,000枚
‖ 500まんえんのGPUサーバ
‖ 学習データ1024枚
‖ 3まんえんのAzure Instance
4
‖ PaintsChainer ‖ うちのAIさん
PaintsChainerと、うちのAIさん
PCで作った画像
‖ 学習データ600,000枚
‖ 500まんえんのGPUサーバ
‖ 学習データ1024枚
‖ .3まんえんのAzure Instance
5
‖ PaintsChainer
うちのAIで作った画像
‖ うちのAIさん
PaintsChainerと、うちのAIさん
PCで作った画像
‖ 学習データ600,000枚
‖ 500まんえんのGPUサーバ
6
‖ PaintsChainer
うちのAIで作った画像
‖ うちのAIさん
‖ 学習データ1024枚
‖ .3まんえんのAzure Instance
で、どうやってやったのさ?
Deep Convolusional Generative
Adversarial Network
DCGAN
DCGAN :Deep Convolutional Generative Adversarial Network
Data Set
入力画像 偽のペア
• True Pair
• Fake Pair
入力画像
Generator Discriminator
7
探偵犯人
騙す!
見破る!
Generatorの使いみち
出力画像入力画像
Generator
コナンくん絶対騙すマン
‖ 線画+色ヒント ‖ 着色画像
‖ テーマ ‖ 詩
‖ コード進行 ‖ 楽曲
8
‖ 風景写真 ‖ 新海誠風の背景 取組中!
‖ 棒人間 ‖ 線画 C92予定
入力と出力のペアさえあれば、人間の創造性を学習できる
苦労話
結局、データセットが
問題なのよね
‖ OpenCVで完成画像から線画と色ヒントを作る→挫折
• ある線が「色の境界」なのか「影の境界」なのかを判定できず、学習に失敗
‖ ならば完成画像から鉛筆画と色ヒントを作る→挫折
• 学習はうまくいったものの、そもそも鉛筆画を描けるだけの技量がない
‖ 最終的に線画to鉛筆画&鉛筆画to着色の2段階で学習→成功
‖ 結論: 教師データセットをうまく作ることが成功のコツ
9
ちなみに
ヒントなしの着色精度は
お察しください……
PaintsChainerで作った画像 うちのAIで作った画像
‖ PaintsChainer ‖ うちのAIさん
×
Special THX!
たいやま
@tai2an
やっぱりPaintsChainerには
勝てなかったよ……
打倒 PaintsChainer  おうちで始めるDCGAN

More Related Content

Similar to 打倒 PaintsChainer おうちで始めるDCGAN

次世代ツールを使った『マークアップのための』Webデザイン術
次世代ツールを使った『マークアップのための』Webデザイン術次世代ツールを使った『マークアップのための』Webデザイン術
次世代ツールを使った『マークアップのための』Webデザイン術Risako Imai
 
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017Tomo Masuda
 
デザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editorデザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme EditorAsami Yamamoto
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツMori Keita
 
組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう
組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう
組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼうAkiko Kurono
 
ゲーム制作における素材作成.pdf
ゲーム制作における素材作成.pdfゲーム制作における素材作成.pdf
ゲーム制作における素材作成.pdfssuser5583eb
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史ide_an
 
Sketchで変わるワークフロー
Sketchで変わるワークフローSketchで変わるワークフロー
Sketchで変わるワークフローAsami Yamamoto
 

Similar to 打倒 PaintsChainer おうちで始めるDCGAN (10)

次世代ツールを使った『マークアップのための』Webデザイン術
次世代ツールを使った『マークアップのための』Webデザイン術次世代ツールを使った『マークアップのための』Webデザイン術
次世代ツールを使った『マークアップのための』Webデザイン術
 
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
ゼロから深層学習を学ぶ方法 - CMS大阪夏祭り2017
 
デザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editorデザインツール戦争とMaterial Theme Editor
デザインツール戦争とMaterial Theme Editor
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
 
組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう
組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう
組み合わせ利用でいいとこ取り! Adobe XD+Photoshop+Illustratorの長所を活かしたデザイン手法を学ぼう
 
ゲーム制作における素材作成.pdf
ゲーム制作における素材作成.pdfゲーム制作における素材作成.pdf
ゲーム制作における素材作成.pdf
 
Chainer meetup
Chainer meetupChainer meetup
Chainer meetup
 
Pinterest
PinterestPinterest
Pinterest
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史
 
Sketchで変わるワークフロー
Sketchで変わるワークフローSketchで変わるワークフロー
Sketchで変わるワークフロー
 

打倒 PaintsChainer おうちで始めるDCGAN

Editor's Notes

  1. 今話題のPaintsChainerは、人工知能を使ってイラストに色をつけるソフトです。 こんな風に線画と色ヒントを入力として与えると (クリック) 人工知能が自動的に彩色をしてくれます。 このPaintsChainerをおうちでやってみようというのが今回のネタです。
  2. さて、このPaintsChainer、60万枚の画像と500万円のサーバーを使って動いています。 僕のおうちは500万円ポンッと払えるほどお金持ちではないので、工夫をして学習を行いました。 その結果がこちらです。 (クリック) まぁ悪くない結果なんじゃないかなーと思います。 問題はどれだけ時間とお金がかかったかです。うちのAIさん、たった1024枚の画像と3万円のAzureインスタンスで動いてます。
  3. 1024枚の画像と、3万円のインスタンス!
  4. 1024枚の画像と、3万円のインスタンス!!
  5. いいじゃんいいじゃん! で、これどうやってやったの? という話で出てくるのが
  6. Deep Convolusional Generative Adversarial Network DCGANというアルゴリズムです。
  7. DCGANの概略はこんな感じです。 (タメ) ……これだと解りづらいようなので、たとえ話でご説明します。 Discriminatorがコナンくんで、Generatorが犯人です。 DCGANが学習するデータセットには、あらかじめ入力画像と出力画像のペアが入っています。 (クリック) 犯人はペアを持たない1枚の画像を持ってきて、そこから偽のペアを作り、こっそりデータセットに忍び込ませます。 偽のペアがコナンくんを騙せれば犯人の勝ち、偽のペアを見破ることができればコナンくんの勝ち。 (クリック) このゲームを繰り返すことで、コナンくんと犯人は推理力と偽装力を上げていきます。
  8. 80000回ほどコナンくんを連載すると、Generatorは「コナンくん絶対騙すマン」に進化します。 たとえば線画と色ヒントから着色画像を作る、 風景画像から新海誠風の背景を作る、 棒人間を書いたら線画にしてくれる、 なんてこともできるようになります。 あるいはテーマを設定すると、そのテーマに沿った詩を書いてくれたり コード進行を入力すると、そのコードに会うメロディを作ってくれるように学習することも可能です。 入力と出力のペアさえ用意すれば、DCGANはそれを学習することができるのです。
  9. データセットさえあれば。……そう、けっきょくデータセットが一番大変なんです。
  10. 今回作成したAIはChainerを用いて実装し、Azureインスタンス上で学習を行いました。 またPaintsChainer作者のtaizanさんからは、作成した画像の使用をこころよく許可いただきました。 今発表の機会をいただいた翔泳社の方々と会わせ、この場を借りて御礼申し上げます。ありがとうございました。