Raspberry Pi 5 で顔認証を組んで速度の壁に当たった
※本記事にはアフィリエイトリンクを含む場合があります。内容は広告の有無に影響されません。
結論
Raspberry Pi 5 と face_recognition による顔認証は最小構成で動作するが、1人あたり約15秒かかるため、人数が増える用途では速度が実用の分かれ目になる。
構成
最小構成で組みました。
- 顔認証 — Python の
face_recognitionライブラリ。導入が楽で、登録した顔と照合できる - カメラ — Pi に接続したもの
- 記録 — ローカルの CSV に書き出す
Pi 5 を選んだのは、顔認識はそれなりに処理が重いからです。小型ながらパワーがあり、常時稼働の端末として置いておけます。
記録を CSV にしたのは、まず手元で完結させるためです。後から DB に移せるので、最初から作り込む必要はありません。
動いた。ただし1人15秒
動きました。そのうえで、正直に一番の課題を書きます。
1人の認証に約15秒かかりました。
数人なら問題ありませんが、人数が増えると行列になります。速度が実用の分かれ目でした。
認識処理の軽量化(解像度、モデルの選択、特徴量を事前にエンコードして持つ方法など)で詰められる余地はあるはずで、そこが次の課題です。
これから作る場合
face_recognitionは導入が楽で、まず動かすまでが速い。最初の一歩に向く- 記録は CSV で十分始められる
- 速度は要チューニング。デモが動くことと、実運用の速さは別問題
動くことと使えることの距離
作ってみて見えたのは、難所が「できるか」ではなく「速いか」にあったことでした。
顔認証そのものは、ライブラリを入れれば動きます。技術的な達成感はそこで得られます。ただ実際に使う場面では、1人15秒という数字だけで採否が決まる。
自作の学びとして大きかったのは、認証の仕組みよりこの距離のほうでした。動かすところまでは既存のライブラリが運んでくれるぶん、その先の要件を最初に決めておかないと、動いた時点で完成したつもりになります。
よくある質問
Q1最小構成で何が必要ですか?
Raspberry Pi 5、接続したカメラ、Python の face_recognition ライブラリ、記録先の CSV です。導入が楽で、まず動かすまでが速い構成です。記録は後から DB に移せるので、最初は CSV で十分始められます。
Q2なぜ Pi 5 を選んだのですか?
顔認識はそれなりに処理が重いためです。小型ながらパワーがあり、常時稼働の端末として置いておけます。
Q315秒を縮める余地はありますか?
解像度やモデルの選択、顔の特徴量を事前にエンコードして持っておく方法などで詰められる余地があります。ただし、デモが動くことと実運用の速さは別問題として最初から意識しておくほうが安全です。