お絵かき途中の線をニューラルネットワークが受け継いでイラストを完成させてくれる「Sketch-RNN」
「Quick, Draw!」から集められた手描きのイラスト何百万個を使用してニューラルネットワークにお絵かきを学習させたのが、リカレントニューラルネットワーク(RNN)モデルの「Sketch-RNN」です。これは与えられたお題に基づき、ユーザーが引いた線からお題のイラストを自動で完成させるというもので、まだデモンストレーションの段階ですが実際にどんなことができるのかが公開されています。
Draw Together with a Neural Network
https://magenta.tensorflow.org/sketch-rnn-demo
「Sketch-RNN」のデモは以下から体験できます。
sketch-rnn
画面上部の「Model」をクリックすると、「garden(庭)」「angel(天使)」「cat(猫)」などさまざまな名称が表示されます。ここから「Sketch-RNNに何を描かせるか」を決めるのですが、今回は「cat(猫)」を選択。
あとは画面上にマウスで適当に線を引けばOK。
線を引き終えると、続きをSketch-RNNが引き受けてくれます。以下の場合、紫色の線はSketch-RNNが自動で引いたものです。
放置しておくと、ユーザーが引いた線をベースにさまざまな猫のイラストを作成してくれました。
以下のページはSketch-RNNが作成するイラストの複数パターンを同時にチェックできるページ。画面左に描いた線(緑)がベースとなり、Sketch-RNNが線(紫)を加えてイラストを完成させるわけですが、複数種類の完成系を同時にチェックできます。
sketch-rnn predictor
使い方は簡単で、画面下部からお題を選択。今回は「bird(鳥)」を選択してみます。
あとは画面左に線を引くだけ。赤枠部分に描いた鳥の顔っぽいものが自分で描いた線で、右に表示されたのはSketch-RNNが完成させた鳥のイラスト。
以下のページは与えられたお題を元に描かれた2つの異なるイラストを表示し、片方からもう片方へイラストを似せていく過程が見られるという変わったデモ。
sketch-rnn interpolation.
使い方は簡単で、まずは画面左下からお題を決めます。今回は「bear(熊)」を選択。
続いて画面の左右端にある「randomize」をクリック。
最後に画面中央の「Interpolate!」を押せば……
画面左端にランダムで表示されたイラストが、画面右端に表示された他のイラストに変身していく過程が描かれます。
以下のページは、ユーザーが描いたイラストと同じテーマで、Sketch-RNNが似たイラストをイチから複数描いてくれるというもの。
sketch-rnn bus auto-encoder.
まずは画面下部からお題を設定。今回は「bus(バス)」を選択。
画面左に線を引いて「auto-encode」をクリック。
すると複数のバスの絵を生成してくれます。
このSketch-RNNはGoogle内部の人工知能部門であるGoogle Brainが開発したもの。最初に発表されたのは2017年4月で、そこからどのように進化したのかをデモンストレーションを通して発表したというわけです。
・関連記事
Googleによる自動描画で絵が下手でもきれいにお絵かきできる「AutoDraw」がリリースされたので使ってみた - GIGAZINE
手描きの線画が妙にリアルで恐ろしげなイラストに変換される「The fotogenerator」 - GIGAZINE
適当に描いた図形が「ネコ」へ自動変換される「edges2cats」 - GIGAZINE
簡単な線を引くだけで自動で画像を生成してしまう「iGAN」がスゴイ - GIGAZINE
・関連コンテンツ