
こんにちは、AI研究所の見習い研究員のマサミです。
今回は、人工知能に表情を学習させて、無表情の写真から笑顔の写真作成に挑戦してみたいと思います!
今回学習に利用するデータはこちらを利用させていただきました。
学習データとして、のべ8人分の無表情の写真データと笑顔の写真データを23個利用しています。
学習データとしては非常に少ないですが、時間短縮のために今回は少ないデータで試してみます。
テストに使用するデータはこんな画像です。
使用するデータはすべて100×100ピクセルにリサイズしてあります。
今回は、NN(ニューラルネットワーク)とCNN(畳み込みニューラルネットワーク)を試してみました。
NNのプログラミング方法が気になるという方は、過去の記事の「機械学習用ライブラリ「Chainer」を使ったディープラーニング」を参照してください。
機械学習を実行し、画像を出力した結果は以下のようになりました。
① NN 隠れ層:1層、ノード数:500個、エポック:500回
② NN 隠れ層:2層、ノード数:500個、エポック:500回
③ NN 隠れ層:2層、ノード数:500個、エポック:1,000回
④ NN 隠れ層:3層、ノード数:500個、エポック:500回
⑤ CNN 畳み込み層:2層、 プーリング層:2層、全結合層:3層、エポック:500回
⑥ CNN 畳み込み層:2層、 プーリング層:2層、全結合層:3層、エポック:1,000回
結果、一番綺麗に出力されたのが3番目のNNモデルでした。
実際の笑顔の写真と並べて比べてみると輪郭が若干違いますが、笑顔の特徴はとらえています。
今回は表情だけでよかったので、表情だけを切りとって合成するとより近いものになりました。
今回は少ない学習データでやりましたが、学習データを増やすことでより本人と近い笑顔の写真が作れそうなのでまた試してみたいと思います!!