TensorFlow

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

Contents

準備

 

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

 

Beyond the IoT and cloud computing