TensorFlowは、分散学習をサポートしているGoogle製の実績あるディープラーニングライブラリ。
Contents
準備
TensorFlowのインストール
TensorFlowのインストールは公式サイトが丁寧に解説しているのでそちらを参照してください。
データセットを用意
OpenCVで取れた写真が良いでしょう。
畳み込みニューラルネットワークの構築
畳み込みニューラルネットワーク(CNN)を用いて顔認識を行います。全体像としては以下のようになっています。
各層の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