Raspberry Pi3 Model B+でやった表情認識の学習済みモデルface_classficationをRaspberry Pi Zero Wに入れてみました。
で、結果から言いますと認識可能ですが実用にはなりません。
Zeroのスペックでは重すぎます。
1.0GHz シングルコアCPU (1.0GHz Broadcom BCM2837 64bit CPU)
512MB RAMメモリー
発熱でクロック数が落ちてる….ってわけでもなかったです(CPU温度は60度くらい)。
でもやってみようというチャレンジャーな方むけに。
基本的な段取りはラズパイ3の場合と一緒です。
ZeroへのOpenCV(3.4.1)のインストールはこのページをご参照ください。
ライブラリーのインストール
TensorFlowはPi3と異なります。ZeroのCPUアーキテクチャーはarm6なので以下を実行してインストール。
Kerasのインストールでは何も指定しないと 2019/07/09現在2.2.4が入ります。
このバージョンだとsoftmax関数で以下のようなエラーが起きます。
2.2.4だとaxisは決め打ちになってるのかな?
TypeError: softmax() got an unexpected keyword argument ‘axis’
で、2.1.3だと大丈夫なので…..
face_classificationをGitHubからとってきてインストール
/home/pi/face_classification/src/utils/preprocessor.pyを修正
コメントアウト(or 削除)
#from scipy.misc import imread, imresize
変更
ラズパイ3でやったのと同じことを実行
こんな感じ
忘れた頃に起動して、途中でほぼフリーズ状態になります(tt;
でも停止しているわけじゃーない。
X この非実用性を解消するには、Movidius NCSのお力を借りねばならないかも。
ラズパイ Zero Wではncsdkのインストールがそもそもできませんでした(^^)。
arm6アーキテクチャー用のインストーラーはありません。
cp: ‘/opt/movidius/NCSDK/ncsdk-armv6l/tk’ を stat できません: そのようなファイルやディレクトリはありません
Installation failed. Error on line 554
ラズパイ3でncsdkの環境を作っておいて、NCS用graphバイナリーをここで作成して、推論実行のみZeroでやるように方針変更。
Leave a Reply