以前、Amazon Recognitionを使った静止画の顔検出と年齢・性別判定を行いました。
Amazon Rekognitionを使ってS3に保存した画像の性別と年齢を判定する
今回はエッジデバイス側でリアルタイムに処理させるべくラズパイ3B + webカメラの組み合わせで顔検出して年齢・性別判定を試してみました。
OpenCVのインストールが前提となります。
スポンサーリンク
目次
環境
<ハードウェア>
<ソフトウェア>
- OS:Raspbian GNU/Linux 10 (buster)
- Python:Python 3.7.2
- OpenCV:opencv-python 4.5.3.56
ソースコード
GitHub公開の以下のソースコードを使用しました。
https://github.com/smahesh29/Gender-and-Age-Detection
引数無しで実行すると、webカメラからストリーミング動画に対して顔検出し、年齢・性別判定を行います。
顔を検出しないと画像が表示されない点に注意。
python detect.py
結果
ラズパイでリアルタイム処理させた時の動画を撮りました。
顔検出はサイズが小さめであったり少し横向き程度であっても実現できていましたが、年齢・性別判定はあまり当てにならなかったです。モデルが白人ベースとなっておりアジア系にフィットしてないからでしょうか。
今後
アジア系の年齢・性別判定には追加のモデル学習が必要だと思われます。
受講中のAidemyのコース 「男女識別(深層学習発展)」を参考にモデルの強化に取り組んでみようと思います。
Aidemyは価格が高いですが、企業の現役エンジニア向け研修にも採用されているだけあってAI実践のためのソースコードや理論的な説明が豊富に用意されています。成果物のチェックもあるため正直ハードなコースですがその分確実なAIのスキルアップに繋がっています。
興味のある方はまずはオンラインの無料相談会で話を聞いてみることをオススメします。