コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

部屋とワイシャツとAIとネイルと

部屋とワイシャツとワタシ AIするネイルのため 毎日磨いていたいから

さて、そうしたわけで今回もリクルートAIをつかってなにか遊んでいきます。今回利用していくAIは画像生成するやつです。僕これみてスゲーのがあるぞって胸がときめいたのですが現在はネイルしか使えないようです。マジかー。まあスゴイ量の画像を用意しないといけないですし、コストはかかりますもんね。

今回利用するやつ
Image Generate API|PRODUCT|A3RT

mage Generate APIは、Deep Convolutional Generative Adversarial Networks(DCGAN)の技術を用いてオリジナルの画像を生成するAPIです。
このモデルでは、既に自動生成された画像を合成し、新しい画像を作ることができます。
作成した画像を評価することで画像の生成に反映させることができます。
今回はネイルのデザイン生成のモデルを用意しました。




説明しよう

別に専門家でもない僕が雑な技術解説をする必要はないのですが、僕の理解とやってみただけだと書くことがなくなってしまうのでちょっと解説を入れます。

■ ネイルのこと
こういったのって画像生成に関するAIの知識だけで十分なのではとなるんですけど、そうはいかないんですよね。AIの学習データとして食わせるためには良質なデータが必要になります。良質なデータってどうやって判断するのってなったとき、とにもかくにも最初は人間の目で判断する必要があるのです。そうしたわけでネイルについて詳しくないとこの画像生成の面白いところはわからないのですよ。まあ、分かっても面白いとは限らないんですけどね。まあ、いいや。今回はネイルのベースデザインについてざっくり書いていきます。

ベースデザイン 説明
単色(ワンカラー) シンプルに単色を爪全体に塗ったデザイン
フレンチ 爪先端にホワイトをのせたデザイン
グラデーション 指先に向けて濃く塗っていくデザイン
マーブル 二色以上のカラーをまだら状に混ぜ合わせて塗ったデザイン
ピーコック クジャクの羽をモチーフにしたデザイン
ドット 水玉柄のデザイン
チェック チェック模様をのせたデザイン
プッチ 流線形の幾何学模様をのせたデザイン
ハート ハート柄をのせたデザイン
リボン リボンをのせたデザイン
フラワー 花柄をのせたデザイン
ボーダー 横線のボーダーをのせたデザイン
レース レース(刺繍)模様をのせたデザイン
タイダイ 隣り合った色との境目をにじませながら混ぜ合わせて塗ったデザイン

分類は他にもあるだろうけど、ざっくりとこんな感じです。ネイルも奥が深いですね。名称はこれらを組み合わせたりなんかすることで、さらにパターンが増えたりとかします。まあ、今回はこれらのデザインを組み合わせて最強のネイルをつくろうみたいなやつなのでこの辺で……。今回利用しているDEMOではそこまでパターンがあるように見えないですが……。

■ AIのこと
Deep Convolutional Generative Adversarial Networks(DCGAN)という技術を使って画像生成しているらしいです。ざっくり言うとGANの改善テクニックの一つにみたいな感じです。まあ、僕は専門家でないので興味あったら論文を……読もうね(丸投げ)。

参考資料。
[1511.06434] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

技術的な読み物としてはこの辺りが参考になるかと思われ。

www.slideshare.net


話がそれましたが実際にやってみよう

今回はこのままだと使いづらかったので、DEMO版のまま使っていきます。DEMO版でもAPIキーを要求されるので必要な方は取得してね。

f:id:andron:20180414125708p:plain
DEMO版を使ってみるとこんな感じです。ネイルと分かっていてもぱっと見はグロ画像が並んでいるようにも見えます。



f:id:andron:20180414130207p:plain
用意された画像を合成するとこうなります。どうなんですかね?爪と言えば爪と感じるし、画像が合成されたと思えばされているような感じもするしで僕にはいまいちよくわかんないです。


なんとかして遊べるネタないかなとか考えていたんですけど、コレ単体だといまいち使えるアイデアが思い浮かばない。戦闘力とかつけて合成したネイル画像でバトルできるようにしたりとかできるようにすればいいんですかね……。


まあ、そんな感じです。