概要
「人工知能による顔画像合成」
http://52.197.51.223:8080/morph.html(サービス終了しました)
自分の顔を投稿するとそれをベースに
金髪・笑顔、などのパラメータ指定して顔を合成してくれるシステム
(DCGAN, inceptionを知っていることを前提に書かれています)
やったこと、やった理由
Deep convolutional generative adversarial nets(DCGAN)では
本物らしいベッドルームや人間の顔などを生成することが可能。
しかし、任意の画像を選んでその画像を好きに変化させることはできなかった。
つまり、zベクトルはあくまでDCGAN上で完結したものだった。
そこで、好きに選ばれた画像とzベクトルを結びつけるにはどうするか?
画像認識ニューラルネットワークであるinception(googlenet)を使って
DCGANのzベクトルを正解データ、生成画像を教師データとすれば
任意の画像をzベクトルに変換して、かつそのzベクトルを
操作できるのではないか?と考えた
精度
やってみた人はわかると思うが
元画像が全然反映されない。
また、学習させた顔データセットが外国人に偏っているため
とりあえず出てくる画像はほぼ外国人になる。
DCGANの生成画像とgooglenetの学習過程
両方がもっとしっかりしないと
任意に選ばれた画像を基にして合成するのは厳しい様子であるとわかった。
試行錯誤
はじめはdeconvolutional networkを使って
顔画像合成を試みたけどやっぱり仕上がりがボヤーっとしてしまうし
かつ、顔のパーツを無理やり見つけようとするのでホラーな画像が出力されてしまうことが多かった。
また、DCGANは思ったより不安定で、大量、かつ、輪郭の似ているデータが必要であると判明した。