私はスーパーマーケットにワインを買っていて、セルフチェックアウトを使用しましたが、驚くべきことに、アシスタントに私の年齢を確認するように頼みませんでした!それから私はそれがベズルにカメラがあることに気づきました。それで、私は疑問に思いました...私たちは自分の顔の写真から人の年齢を、どの程度の自信に見積もることができますか。
このプロジェクトでは、顔の写真から人の年齢を推定しようとします。これは、全年齢のfaces-datasetでトレーニングし、MSEの損失で年齢を退行させます。このデータセットには重い人種的バイアスがあり、モデルのパフォーマンスに影響を与えます。
このプロジェクトでは、コンドラを使用して環境を管理しています。 Condaがインストールされたら、環境を作成してアクティブにします。
conda env create -f Enviroment.yml CondaはAge_Regressionをアクティブにします
。 Windowsで; PowerShellを初期化する必要があり、実行ポリシーを変更する必要があります。
Conda init Powershell Set -ExecutionPolicy -ExecutionPolicy Remotesigned -Scope Currentuser
。このレポはgit-lfsを使用してモデルを保存し、git-lfsファイルが使用されていることを確認してください。
git lfs pull
画像のディレクトリで年齢予測を実行するには、実行される、
python evaluate_images.py - model pretrained/model_age_regression_resnext101_20.pth - images〜/code/datasets/faces/val
予測された年齢とグラウンドトゥルース年齢の間で共同プロットを行うと、このモデルには2つの間に強い相関があることがわかりますが、時折外れ値があります。
データセットには大きな年齢の反対性があり、主に人のサンプルが25〜35であることがわかります。このデータセットでパフォーマンスを最大化しようとしているため、無視されています。将来、このデータセットは、均一な年齢分布を与えるためにトレーニングする前に再サンプリングする必要があります。
各年齢層でMAEをプロットするとき。最小のMAEの年齢層は30〜35で、データセットの主要な年齢層に対応しています。データがほとんどない場合、より大きな予測エラーを見ることができます。 15歳未満のグループも、おそらくより簡単なケースであるため、MAEが低いことも興味深いでしょう。