TensorFlow

TensorFlowは、分散学習をサポートしているGoogle製の実績あるディープラーニングライブラリ。

準備

 

TensorFlowのインストール

TensorFlowのインストールは公式サイトが丁寧に解説しているのでそちらを参照してください。

データセットを用意

OpenCVで取れた写真が良いでしょう。

畳み込みニューラルネットワークの構築

畳み込みニューラルネットワーク(CNN)を用いて顔認識を行います。全体像としては以下のようになっています。

スクリーンショット 2016-07-27 13.19.06.png

各層のconv, pool, fcはそれぞれ畳み込み層、プーリング層、全結合層を表しています。関数欄のReLは正規化線形関数を表しています。パラメータを表にすると以下のようになります。

層種・名称 パッチ ストライド 出力マップサイズ 関数
data 32 x 32 x 1
conv1 5 x 5 1 32 x 32 x 32 ReL
pool1 2 x 2 2 16 x 16 x 32
conv2 5 x 5 1 16 x 16 x 64 ReL
pool2 2 x 2 2 8 x 8 x 64
fc3 1 x 1 x 1024 ReL
fc4 1 x 1 x 40 softmax

コードで書いてあげると以下のようになります。ほぼそのままですね。
PyFaceRecognizer/example/run.py

モデルの訓練と評価

TBC

 

参考

  • https://qiita.com/Hironsan/items/4c7808db4a0f172f98a9