SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

かまぷとゆうこのデベロッパーズ☆ラジオ

リアルでハックするのが楽しい! 3万円のサーバで着色AIやってみた、母ちゃんIoTでプラレール、そしてギャルが電子工作!【デブサミ2017】

かまぷとゆうこのデベロッパーズ☆ラジオ #7 Developers Summit 2017 公開収録


好みの2次元女子を学習させた自動着色AI、米国で養った技術力で超未来を描く

ゆうこ 続いて、3番目のゲスト、今話題のAIによる自動採色を、なんと個人で取り組んでいらっしゃいます。超未来工房の十字静(とおあざせい)さんのご登場です。

十字静さん
十字静さん

十字 今回のタイトル「打倒PaintsChainer、おうちで始めるDCGAN」。こんな方々に聞いてもらいたいと思います。PaintsChainerを見てすごいと思った方、AIの使い道を知りたいなと考えていらっしゃる方、そしてDeepLearning触ってみたいと思っているけどきっかけがないと思われている方、貴方のためにお話します。

 本題に入る前にさらっと自己紹介します。私、十字静と申しまして、昼間は株式会社フューチャーアーキテクトで働いており、プライベートでは技術系同人誌、超未来工房で活動しています。最近は3冊発行しました。

 本題に入ります。最近話題になっているPaintsChainerですが、これはAIを使って自動彩色をするものとなります。こんな風に線画と色をヒントを入力として与えるとAIが自動に色をふってくれるんですね。夢の技術なんですね。これを自分でもやってみたいなと思ってやったのが今回のネタになります。自分でやろうとすると難しい点が2つあります。まず学習データが60万枚、500万円するGPUサーバ使って学習してPaintsChainerは動いています。これ個人でやるとすると、まず画像を集めるのに時間がかかる。ポケットマネーからは500万円はなかなか出ない。そこを工夫してみました。やってみた結果がこのようになります。

十字 にじんでいるところはあるのですが、この目の透明感などはうまくいったんじゃないかな。それでどのくらいの絵の枚数とお金がかかったかという話なんですが…、みなさん驚く準備をしてくださいね…。学習データ1024枚、3万円のAzureインスタンスで行なっています。

会場 ぉー。

 いいですか? もう一回驚いてくださいね。学習データ1024枚、3万円のAzureインスタンスで行なっています。

会場 おー。

 大事なことなんで、3回言います。学習データ1024枚、3万円のAzureインスタンスで行なっています。

会場 おぉー(笑)。

十字 ありがとうございます。これどういうことなのかというと、DCGAN:Deep Convolutional Generative Adversarial Networkというアルゴリズムなんです。

 こちらが概念図なんですが、わかんないと思いますのでご説明します。

 こちらですねDCGANというGeneratorとDiscriminatorで動いています。このDiscriminatorなんですが、一言で言うと探偵コナンくんです。Gneratorを一言で言うと、犯人です。Generatorという犯人はデータセットを学習していきます。データセットの中には入力画像と出力画像の2つの画像がペアになって1024枚入っています。犯人は偽のデータをこっそり仕込みます。忍び込ませることによって探偵コナンくんを騙そうとするのです。探偵コナンくんは何をするかというと、ひとつひとつチェックしていって、それを見破るわけですね。騙す、見破る、騙す、見破るを繰り返していきます。犯人は偽造能力が上がっていきますし、コナンくんは推理能力が上がっていく。

 連鎖が8万回ぐらい続いていくと、Generatorがコナンくん絶対騙すマンに進化します。人間の目では判断できないくらい精巧な画像になっていくんです。今回でいえば線画と色ヒント、人間が着色したものと同じぐらいの画像を作ることができます。今取り組んでいるのは、風景の写真を撮ると、それを新海誠風の風景に仕立ててくれる。

会場 (笑)

十字 これ、成功したらTwitterで公表するので皆さんフォローお願いします。他にも棒人形を描くと、それにあわせて線画を描いてくれるAIを作ろうと思うので、着色と組み合わせると、人間が絵を描かなくて済む時代になる。

 ここまでが画像の話なんですが、入力と出力を応用することができます。例えば文章。テーマを与えて作る詩。AIが詩を書くことができるんです。あるいは、音楽。コード進行を入力するんです。

 入力と出力のペア、これさえ用意することができれば、人間のクリエイティビティさえも学習できるというのがDCGANのすごさなんです。

 入力と出力のペアと申しましたが、結局データセットなんですね。今回挫折を味わいました。OpenCVを使うんですが、線の境界、物体をAIが判断できずぐちゃぐちゃな画像になりました。最終的には2段階、線画を作るところ、線画を着色するところを分けることで作ることができました。教師データをうまく作らないと失敗します。

 着色のヒントなしの場合はこうなります。

 はい。やっぱりPaintsChainerには勝てなかったよ、というのが今回のオチです。

 Special Thanks、ChainerとAzureと@taizanさんと翔泳社。そしてご静聴のみなさん。ありがとうございました。

次のページ
十字静さんへの質問コーナー

この記事は参考になりましたか?

かまぷとゆうこのデベロッパーズ☆ラジオ連載記事一覧

もっと読む

この記事の著者

かまた ひろこ(カマタ ヒロコ)

イベントとお酒と人が好き。TechLION/TechGIRL/Linux女子部界隈で活動。社会人ディベートサークル、JBDF役員。2014年よりSoftwareDesignにて軽酔対談『かまぷの部屋』を連載、2016年2月で終了。(特技:傾聴)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

近藤 佑子(編集部)(コンドウ ユウコ)

株式会社翔泳社 CodeZine編集部 編集長、Developers Summit オーガナイザー。1986年岡山県生まれ。京都大学工学部建築学科、東京大学工学系研究科建築学専攻修士課程修了。フリーランスを経て2014年株式会社翔泳社に入社。ソフトウェア開発者向けWebメディア「CodeZine」の編集・企画・運営に携わる。2018年、副編集長に就任。2017年より、ソフトウェア開発者向けカンファレンス「Developers...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10100 2017/07/08 00:06

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー