ラズパイ3のスペックでは、ブラウザのJavaScriptを使って顔認識をすることは難しいです。方法を探ったところ、超軽量の「pico.js」を使えば実現可能でした。
超軽量の顔認識「pico.js」
雑誌の柳井さんでテストしています。0.5秒間隔で顔認識しており、若干追従は遅れますが、ほぼリアルタイムで認識できています。
使っているのは200行のJavaScriptの顔検出ライブラリ「pico.js」です。
200行のコードの中には丁寧なコメントがあり、見やすい改行まであります。実際のコードはもっと短いです。
コードが分かりやすいので、自分の使っているプロダクトに合わせて、組み込んだり、カスタマイズできます。
そして軽量なため、スペックの低いラズパイ3で利用するには最適でした。
サーマルカメラ+顔認識で出来そうなこと
サーマルカメラ開発で顔認識を実装できると、カメラと顔の距離がだいたい分かります。
非接触温度センサーは物体との距離によって計測温度が変わるため、顔との距離が分かればキャリブレーションできます。
他にも、顔の部分だけ温度を取得したり、顔を認識していない間は処理をセーブして節電したりするなど、サーマルカメラをバージョンアップさせられそうです。
引き続き、サーマルカメラのキャリブレーションを行い、ひと段落したところでコードを掲載します。