クマ画像の自動生成

クマの画像をディープラーニングで生成してみました。 ディープラーニングで画像の自動生成をする話は、人の顔や、手書きの数字といった、ある程度その生成する対象のスタイルを揃えて学習することが多いです。 クマにおいても、ある程度スタイルを絞るべきですが、ここでは生成画像のクオリティを求めるのではなく、あえて様々なスタイルの画像で学習させてみようと思います。 実際、世の中には一口にクマの画像と言っても世の中には様々なスタイルのクマの画像があります。 例えば、本物の写真だったり、イラストの可愛いスタイルだったり、鉛筆デッサンだったりといろいろな表現があります。

これらをまとめてひっくるめて、様々なスタイルのクマ画像をディープラーニングさせると、クマの平均を表す造形が生まれるのではないかと考え実験してみました。

色々なスタイルのクマ画像の例
DCGANによる画像生成

ディープラーニングで画像を自動生成するアプローチは色々ありますが、ひとまず有名なDCGAN (Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks)を使ってみました。

訓練データはGoogle画像検索やPinterest等で様々なクマの画像を収集して96x96にリサイズしたものを使用しました。クマの画像は本物、イラスト、ぬいぐるみ、彫刻物など様々なスタイルのものを集めました。 枚数は全部で1500枚程度です。ディープラーニングをするにはかなり少ない枚数ですが、様々なスタイルの画像が偏りなくあるかどうかのチェックや、クマ以外の不要な背景等をすべて消したりしたので、作業上このくらいの枚数が限界でした。

ディープラーニングのフレームワークはPython+Chainerを使用しました。

ChainerでのDCGAN実装コードやその解説は以下を参考にさせていただきました。
下に訓練の様子の画像や動画を載せました。1epochは訓練データを全て1回学習した状態です。500epochで全データを500回学習した状態です。500epoch分の訓練時間はGeForce RTX2070で数時間程度だったと思います。
1 epoch
100 epoch
200 epoch
300 epoch
400 epoch
500 epoch
学習の様子
少しだけ訓練データに使用したクマの面影を感じることはありますが、全体としては謎のクリーチャーが生まれたという印象です。 なので、別のアプローチも試してみました。
シルエットから生成する
先程使用したDCGANではクマのシルエットのみを生成するようにして、それとは別にシルエットと元データの組み合わせを学習させることで生成しようと試みました。 シルエットと元データの組み合わせの学習はpix2pix(Image-to-Image Translation with Conditional Adversarial Networks)というアルゴリズムを使用しました。
pix2pixは正解データと入力データの組み合わせを学習させることで、通常の画像処理ではできない画像変換をする機械学習です。
正解データ
入力データ
生成データ
Chainerでのpix2pix実装は以下を参考にさせていただきました。
こちらがDCGANで生成したクマのシルエットです。
20 epoch
100 epoch
300 epoch
500 epoch
1000 epoch
1500 epoch
そして先程の生成したシルエットに対し、pix2pixで最終的に生成したクマの画像です。 色々な形状がマーブリングされたような、形容しがたい印象を持たれるのではないでしょうか。
まとめ
当然ですが、機械学習で生成された画像は、学習に使用した画像に共通する特徴が強く出ます。 生成されたクマの画像がクマには見えない謎のキメラになったのは以下の理由があります。
  • 学習に使用した画像数が1500 枚程度と、今回使用した機械学習のアルゴリズムを使用するには数が少なすぎたこと
  • 学習に使用したクマの画像は様々な構図かつ、本物の写真、デフォルメのイラスト、デッサン、人形などスタイルの幅が非常に広かったこと
一方で、スタイルの幅が広い学習データから生成された画像の中で共通する部分があれば、それは様々なスタイルに共通するポイントと言えます。 その観点からもう一度先程の機械学習で作られたクマ画像を見ると、いくつかの共通点が見えてきます。
共通点1. 鼻口部の表現
生成された画像を見ると、この白い鼻口部と黒い鼻先の表現が多くの場所に見られます。
共通点2. 耳と鼻のライン
生成された画像の中でシルエットとしてクマらしさを感じるものをよく見ると、鼻や耳のラインがクマらしさが出ているものが多いです。
生成された画像のクオリティはあまり良くありませんでしたが、1、2 の共通点を見ると、様々なスタイルの画像の学習しても、顔に関わる特徴は強く出てきていることが分かりました。 言い換えるとクマの特徴は顔に集まっていることを示唆していると考えられます。
本内容は武蔵野美術大学 通信教育課程 デザイン情報学科 卒業制作の試作で作成したものです

Prev Next