無償の顔認証でマスク有りでも検出できるものがないか探していたらBaiduの顔認識技術PaddleHubというのを見つけた。Baiduさんにあまり良いイメージがないけれどとりあえず試してみることにした。
python用のライブラリが出ているのでインストールする。
コマンドプロンプトで
py -m pip install paddlepaddle py -m pip install paddlehub
を入力しインストール。
pythonにまだ全然なれていないのでインストールコマンドを毎回忘れる。今回は-mが足りなくてインストールできなかった。
次にGitHubからソースのダウンロード。
github.com
最新版はv2.1だけれどv1.6以降ではサンプルが削除されているのでv1.5をダウンロードする。
サンプルソースは
PaddleHub > demo > mask_detection > mask_detection.py
にあるので実行する。
特になにも変更する必要はないけれど、そのままだとログ?的に検出した顔画像がファイル出力されるのでその部分をコメントアウトする
69行目 cv2.imwrite(path, image, [int(cv2.IMWRITE_PNG_COMPRESSION), 9]) ↓ #cv2.imwrite(path, image, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
このまま実行すればUSBカメラから画像を取得し、その画像に対して顔検出、マスク有無のチェックが行われる。
取得できるデータは顔エリアのtop,right bottom, left, confidence、このconfidenceは何に対してなのかな?他のデータはどんなのが取得できるのかな?サンプルだけだと全然わからないからドキュメントを読まなければ。
問題があるとすれば英語、または中国語(詳細不明)なので読めないこと。もっと簡単に英語が読めるようになりたいもんだ。
とりあえず動かせたので今日はここまで。よくがんばりました。