• このエントリーをはてなブックマークに追加

今なら、継続入会で月額会員費が1ヶ月分無料!

【ラクガキから】適当に顔っぽい絵を書くと美女が生成されるAIを作ろうとした(でもテキトウではダメだった)【美女】
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【ラクガキから】適当に顔っぽい絵を書くと美女が生成されるAIを作ろうとした(でもテキトウではダメだった)【美女】

2016-12-30 06:26
  • 2
  • 14

電子書籍の機能を使用するには、記事を購入してください


 一夜漬けAI開発合宿で何が作れるか実験してみた。

 pix2pixは面白い。
 面白いけれども、実用性の点ではどうか。


 たとえばうまくいくと

0b3d18e5cd2fc036c9d24cbae41eb48f639a236a

 こんな感じで左の線画から、右の写真が生成できる。
 しかしあんまりうまくいかない場合は

ee1f02b36d360b8db8bbee9ef7f2409875a342a8

 まあ比較的うまくいってるかもしれないけど、顔のところで精度がガクッと落ちている。
 人間は、顔が大事な生き物である。

 体の精度はともかくとして、顔の精度が低いとちゃんとした絵には見えない。


 また、もとがテキトーに生成した線画だから仕方がないが、このレベルの線画が描ける人間はそうはいない。

 
 もっとテキトーな線画でなんとかラクをしたいのだ。
 たとえば


b0c11ecf37596beecb65a300f6c560c66947f77d


 こんな線画である。
 ほら、これなら僕にも描けそうじゃ無いの


 で、結論から先に言うと

7ef0d3c40699f3907bb445c4472f0d4026421dde

 できてしまった。

 あまりにも出来すぎた結果に、僕でさえ「ウソだろ」と声を漏らしてしまった。

 生成されていることがわかりやすいように、あえてしくじり気味のやつも挙げると

798dfd1f7c60660151914824839b5d5dac11aed4

 こんな感じである。

 解像度が低いものをまぜてしまうと

501c09c63f0c301aa12d80a72bbb5841ae40e8f2

 こんな感じ


 なぜか描いてない手が現れてる。でも、「それっぽい」ところが凄い。
 他の表情も描ける。

8b47a39c58a2f61b2d26e50bc43c35720b32ce6e

 ちょっと眠そうに書くと、ちょっと眠そうな顔が出て来る。

 顔をちょっと間延びさせると

476dfa51ca7434b712847f516345219bc705ec06

 別人っぽい顔になる。

 これ、嘘のようで本当に自動生成された画像だ。
 さて、こんなAIができたのが、たったの一晩なのだ。
 今のAIはそこまで来ているである。ちなみに、こんなに速い速度で学習ができるということは、今年の10月までは想像もできなかった。


 ではどうやってこのAIを作るか


 まず準備するものは

 ・特定人物のテレビ放送をキャプチャしたデータ群(400枚程度)
 ・画像認識ライブラリ dlib
 ・TITAN X搭載マシン

 である。


 我々日本人は、著作権法47条の7項にもとづき、情報分析を目的として著作物を機械学習させるために複製・加工することができる。


 それを利用してテレビ放送から特定の人物数人の登場場面を抜き出した。ここは気合で手作業で行った(学習時間以外で最も時間がかかったのはこの部分である)。


 次に、dlibをインストールする(これもかなり手間が多かった)。
 dlibとは、顔の検出と、顔パーツの検出をしてくれるライブラリである。


9fbac72533712968d2b2707d185c781f48840f23

 dlibを使うと、左のような画像を入力すると、右のような線画を生成させるプログラムを書くことができる(この画像はぱくたそからお借りしています)。


 これはもとからdlibに入っているface_landmark_detection.pyを改造して作った。
 基本は顔検出して、顔のパーツの輪郭を描いた線画とのセットを沢山つくる。

 顔抜き出し用のソースコードはこの記事の末尾の会員向けページに。


 dlibがうまく認識出来ない画像ももちろんあるが、それは今回は学習させないことにした。
 そしてひたすら沢山の画像を生成して・・・といっても、今回は顔に絞り込んだのでそう沢山は必要ないだろうと思って全体で取りこぼしぶんもふくめて300枚程度のデータセットをpix2pixに6時間程度学習させた。


 その結果が冒頭に示した結果である。


 ただし、欠点もある。
 それは、絵が下手だと、やっぱりひどい顔になってしまうことだ。

75835e166d3dd2d2734cdce151793549b5e377b4

 ギャーーーー!!

29757a5d7e1adf6de910e8cc1ec21fcd222a722a

タッチパッドで書いた絵とはいえひどすぎる。


 絵心が多少はないとダメっぽい。しかし絵などおれに描けるわけがなかろう


 そこで、おれの顔から線画を取り出し、それを美女に変換してみることにした。


2858dba9eaa909a647a8a2c6c620665640d98f20

 おおお!!これは!!
 おれの顔(右)→線画(左)→美女(真ん中)の生成に見事成功しとる!!

 しかしなんとなくブサイクになってしまっているのはもはや諦めるしかないのか。

 ちなみにモデルさんの顔でやると

c75cbc7bb48679656f95cd187be3208a24bcc35e

 ちゃんとそれっぽい美人になる。顔のパーツの配置とバランスが大事なのね。
 ちなみに、これは顔のどアップで学習させているので、引きの映像でやると大惨事が

4dd964a1b1fe9bf799aea79cc5becaa8d600b427

 面白すぎる



 個人的には、この結果は率直に言って驚異である。
 いや、もちろん、できるんじゃないかなあ、というある程度の勝算があってやってみたわけだけれども、実際にできてしまうとビックリすぎる。

 
この記事は有料です。記事を購読すると、続きをお読みいただけます。
ニコニコポイントで購入

続きを読みたい方は、ニコニコポイントで記事を購入できます。

入会して購読

この記事は過去記事の為、今入会しても読めません。ニコニコポイントでご購入下さい。

×
これはすごい。
初めて記事を買ってしまった。(1ptだけど)

…これ、2次元の画像を学習させたら、オリジナルのキャラを作り放題になるんじゃ…
2ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。