🙆

RaspberryPiで顔画像から年齢と性別を検出(Gender-and-Age-Detection編)

2022/03/26に公開

背景

GithubでMITライセンスの検出器を見つけたので、RaspberryPiで試してみた。

【Gender-and-Age-Detection】
https://github.com/smahesh29/Gender-and-Age-Detection

環境

下記の環境で試しました。

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 11 (bullseye)
Release:	11
Codename:	bullseye
$ uname -a
Linux raspberrypi 5.10.92-v7+ #1514 SMP Mon Jan 17 17:36:39 GMT 2022 armv7l GNU/Linux
$ cat /proc/device-tree/model
Raspberry Pi 3 Model B Rev 1.2

内容

環境準備

色々とあって、下記で環境が整うと思います。

sudo apt update
sudo apt install libopenjp2-7 ffmpeg libgtk-3-0 git
pip3 install opencv-python argparse
git clone https://github.com/smahesh29/Gender-and-Age-Detection.git

実行

cd Gender-and-Age-Detection/
python detect.py --image  man1.jpg 

結果

出力
Gender: Male
Age: 38-43 years
Unable to init server: Could not connect: Connection refused
Traceback (most recent call last):
  File "/home/pi/Gender-and-Age-Detection/detect.py", line 77, in <module>
    cv2.imshow("Detecting age and gender", resultImg)
cv2.error: OpenCV(4.5.5) /tmp/pip-wheel-efxaz4j7/opencv-python_bedc0fac27944da0921e079da44d32bf/opencv/modules/highgui/src/window_gtk.cpp:635: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'

結果はこんな感じです。
OpenCVで画面出力しようとして、エラーが発生するので気になる人はソースコードの下記の部分を削除してください。
cv2.imshow("Detecting age and gender", resultImg)
これだと解析に10秒から15秒かかるので、かなり重たいですね。

Discussion