シンチャオ! お久しぶりです!最近Pythonを勉強し始めたCodyです!
今回はグミベトナムの製作したAIについて書いていこうと思います!google の提供する機械学習ライブラリ:TensorFlowを利用して、画像着色系のAIをつくりました。
手前味噌ながらこのAIにはかなりポテンシャルを感じています・・・!
サーバのスペックの問題で、まだ誰でも触れるデモというものにはなっていないのですが、後日アップロードしていこうと思っています!
目次
1.概要
2. 技術的背景
3. トレーニングと結果
4. 今後の課題
5. まとめ
1. 概要
まず、makakoの概要について話していこうと思います!
製作したAIの名は”makako” = Manga Character Colorist. それぞれの頭文字を取りmakakoと命名しました。一言でいえば白黒の線画をアニメ調に塗色してくれるAIです!
例を一つ出すとこういった具合です。
まだベータ版といったところですがそれでもなお、いい具合に着色してくれています!特徴としては淡い水彩画風のタッチになることです!
この技術を応用していけば、読みたい白黒漫画がフルカラーになるといったことも可能です!マンガ業界やアニメ業界に激震が走りそうですね。。。
makakoはイラストのカラーリングをするという点で創造者であり、既存の業界構造をディスラプトするポテンシャルを持っているので破壊者でもある、と考えています。それが今回のタイトルを付けた理由でもあります(笑)
2. 技術的背景
次にmakakoの技術的な情報について話していこうと思います!
・言語:Python
・機械学習ライブラリ:google のTensorFlow
・アルゴリズム:U-Net
・学習に使ったマシン:hp製のZ840
となっております。
ライブラリには機械学習界隈では有名なTensorFlowをメインに使用しており、アルゴリズムに関してはU-Netを使用しています。U-Netは16層の畳込みレイヤーを持つニューラルネットワークの一種です。
開発者によると、順伝播してくる情報に加えて、エンコーダの中間層の出力も混ぜることで、より精度の高い特徴量の抽出、画像作成が行えるそうです。ええ、文系の自分にはよくわかりません(泣)
重要な点としては、今回のような画像生成系のAIにはこのモデルはぴったりだということです!
3. トレーニングと結果
さて、次はAIのトレーニングとその結果について話していこうと思います!
今回はデータセットしてカラーと白黒の画像を対にして、カラーの画像を教師データとして学習させました。
このようなイメージです。
画像を集め、フォトショップで背景画像をカットし、キャラクターだけが存在する画像を教師データとしています。こうした画像を400枚ほど用意し、学習させました。
400エポック(どれだけ学習したかの単位)の学習の後得られた結果が以下です。
かなりいい具合に着色してくれているのではないでしょうか!?教師データの質や数が十分とは言えない状態でしたがここまでの完成度を誇ることができました。
[番外編]
番外編(遊び)としてちょっとAIにいじわるをしてみました。何をしたかというと、教師データにはない動物の画像や図形の画像を着色させるということです。
なかなか興味深い結果ではないでしょうか?
データセットの中に動物の画像は入れていなかったのですが、かなり自然に着色しています。
また図形の方も目と口を認識して色を塗り分け、髪と首を着色しようとしているのがわかります。
クマの画像に関してはどうしてこのように着色できたのは謎ですが、makakoのポテンシャルが垣間見えた気がします。
4. 今後の課題
次に今後の課題について話していこうと思います!
makakoの現時点での欠点は以下の点です。
・アップの絵に弱い
・線の描き込みが少ない絵だと色が滲む
・背景がかけない
・固定解像度(256 x 256) の画像しか変換できない
以上の4点が課題となっています。これからの改善策としては
・教師データを増やしてアップの絵や、描き込みの少ない絵にも対応できるようにする
・背景は別レイヤーして、背景専用のAIをつくる
・マルチ解像度に対応できるようにコードの書き換え
となっています!
まだまだ改善の余地はありますが、makakoの製作期間はたったの2週間だったのでこれからもハイスピードに改善していけると思われます!
5. まとめ
さて今回はグミベトナム製作の自動カラーリングAI:makakoについて書きました。漫画、アニメ業界を揺るがしかねないmakakoはいかがでしたでしょうか?
個人的な所感としては、短い製作期間と不十分なデータセットでここまでのクオリティなのは悪くないと思いました。
このAIに興味を持っていただき、データセットあるよ!という方や、こういった方向に使えないか?という方がいらっしゃいましたらぜひお問い合わせください!
それではまた!