顔画像のデータセット
ディープラーニングのモデルを顔画像で学習をしようと考え、顔画像データセットを探してみました。
探してみてわかったのは、顔画像データセットって結構少ないということです。
探せば、あることはあるのですが「学術研究用Only」だったり、制約が多かったりして使いにくい。
著作権的には、「著作物を学習用データとしてAI開発に利用することは、著作物に表現された思想又は感情の享受を目的としない利用行為であるとみなされます」ということで利用は問題ないのですが、利用規約で学術目的以外NGになっているやつは流石に使えません。
というわけで、ネットで顔画像データセットを探しました。
Kaggleの顔認証データセット
いろいろ探した結果、Kaggleに使えそうな顔認証のデータセットがあったので紹介します。
ライセンスもCC0(Creative Commons License)でいい感じです。
データセットへのリンクは以下になります。
Kaggle : Face Recognition Dataset
私はアカウントを持っているので普通にアクセスできましたが、もしかしたら、kaggleにログインしないとアクセスできないかもしれません。 |
---|
データセットの概要は以下になります。
データセット名 | Face Recognition Dataset |
画像枚数 | 2562枚 |
人物数 | 31人 |
画像種類 | 顔の切り出し画像と元画像の2パターン |
容量 | 約760MB |
31人で2562枚なので、人あたり80枚前後の画像が含まれている計算になります。
データの中身を見ると俳優のBrad Pittの画像など含まれています。肖像権的には不味そうな気もしますが、機械学習に使う分には問題ないはず |
---|
ちょっとした実験には使えそう
枚数的に少し少ない気がしますが、個人の学習や実験用には十分だと思います。とりあえず、顔画像データが見つかったので、「顔認証」の実験にトライしたいと思います。
scikit-learnの顔画像セット
scikit-learnにも顔画像のデータセットがあります(LFW)。
This dataset is a collection of JPEG pictures of famous people collected over the internet, all details are available on the official website:http://vis-www.cs.umass.edu/lfw/ |
---|
顔画像は、あらかじめ顔部分が切り出されています。
color=Trueを設定することで3チャネル(カラー)で画像を取り出せます。
顔識別用のデータセット
sklearn.datasets.fetch_lfw_people
顔画像と、IDがペアになったデータセットです。
1:1認証用のデータセット
sklearn.datasets.fetch_lfw_pairs
2枚の顔画像がペアになったデータセットです。
以下のコードで簡単に取り出せるのでちょっとした実験は楽です。
from sklearn.datasets import fetch_lfw_people
lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4)
from sklearn.datasets import fetch_lfw_pairs
lfw_pairs_train = fetch_lfw_pairs(subset='train')
まとめ
もし、顔画像のデータセットで困っている方がいた場合に参考になればと思い書いてみました。
ここで紹介したデータセットを使って実験を行っています。実験内容については以下のブログ記事を参考にしてください