ailia SDKで使用できる機械学習モデルである「AgeGenderRecognitionRetail」のご紹介です。エッジ向け推論フレームワークであるailia SDKとailia MODELSに公開されている機械学習モデルを使用することで、簡単にAIの機能をアプリケーションに実装することができます。
AgeGenderRecognitionRetailの概要
AgeGenderRecognitionRetailはIntelが開発した年齢と性別を識別するための機械学習モデルです。顔画像を入力として、年齢と性別を出力することができます。

open_model_zoo/models/intel/age-gender-recognition-retail-0013
AgeGenderRecognitionRetailのアーキテクチャ
AgeGenderRecognitionRetailは62×62ピクセルの顔画像を入力として、性別と年齢を出力します。性別は2次元の確率ベクトル、年齢は1次元の数値として出力されます。

年齢は0〜1.0の値として出力されるため、100倍することで年齢を計算します。

モデルアーキテクチャはシンプルなCNNです。学習にはCaffeが使用されています。

AgeGenderRecognitionRetailはIntelの20000枚のInternalデータセットを使用して学習されています。このモデルは18〜75歳までを認識可能です。子供の画像は含まれていないため、子供の年齢の識別を行うことはできません。
顔の角度は45度まで対応しています。できるだけ正面顔の方が精度が高くなるため、HopeNetなどの顔向き検出モデルの併用が望ましいと考えています。

精度は年齢の誤差が6.99 years、性別の精度で95.80%です。

また、公式のデモアプリでは、動画に適用する場合に、顔をトラッキングして複数フレームの結果を平滑化しています。年齢は5%ずつ更新、性別は確率値の総和で計算しています。

マスクを使用している場合でも、正面顔であればそれなりの精度での検出が可能です。

AgeGenderRecognitionRetailの使用方法
AgeGenderRecognitionRetailを使用するには下記のコマンドを使用します。WEBカメラから認識可能です。
$ python3 age-gender-recognition-retail.py -v 0
ailia-models/face_recognition/age-gender-recognition-retail
指定したフォルダ内の画像に対して顔認識を行った後、年齢を推定するには下記のコマンドを使用します。
$ python3 age-gender-recognition-retail.py -i faces -d
実行例です。
ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。