Ledge.aiではこれまで、
- 画像認識
- 自然言語処理
- 音声認識
といった、企業が提供するさまざまなAIを紹介してきました。
ですが、実際のところ「どのようなケースで、どの企業のAIを使えばよいのかわからない」という声をよく耳にします。
そこで今回の記事では、画像認識AIの“顔認識”に絞って性能比較、検証をしてみました。
当然ですが、各社の提供する顔認識APIにはそれぞれ特徴があり、得意不得意も分かれています。そこを踏まえつつ、
- どんな結果が返ってくるのか?
- 顔の検出率は?
- 顔からどんな情報を推測してくれるのか?
といった点にフォーカスして紹介していきます。
顔認識APIでなにができる?
顔認識APIの主な機能としてあげられるのが、
- 顔を見つけ出す:「顔検出」
- 顔から欲しい情報を読み取る:「顔認識」
の2つ。
検証に入る前に、今回の精度比較のなかで、「顔検出」と「顔認識」それぞれで使う検証用画像と検証項目を紹介します。
顔検出 – Face Detection とは?
まず、顔検出における検証項目は以下の2点です。
- 画像内に複数人いる場合の顔検出数
- 画像内に複数人いる場合の検出精度
検証用画像はこちら。
顔認識 – Face Recognition とは?
顔認識における検証項目は以下の1点です。
- 顔からその人の情報を抽出
検証用画像はこちら。
年齢 | 性別 | 感情 | メガネ |
---|---|---|---|
25 | 男 | 笑顔 | あり |
それでは、企業ごとの顔認識APIを実際に試しながら紹介していきます。
Clarifai
画像認識で用意されている機能は多岐に渡り、物体のクラス分類からポートレート写真としての評価もしてくれます。また、静止画だけでなく動画の解析もしてくれます。
顔検出の精度
顔認識の精度
{
"age": None,
"man": 0.93,
"emotion": None,
"glasees": None
}
※解析した結果は企業によって出力形式が異なるので、必要となる情報だけを取り出してみました。
※APIに判定する項目がなかった場合は None を記入しています。
顔検出 | 顔認識 |
---|---|
1人 | 男性(年齢・感情・メガネ判定なし) |
検出数・認識精度がともに低いのは、Clarifaiはアメリカのスタートアップ企業ということもあり、APIの学習データセットにアジア人の顔が少ない、という可能性もありえます。
IBM – Watson Visual Recognition API
Watson Visual Recognition APIは、GUI上で実際に自前データを使い、オリジナル画像認識AIを作ることができます。
参考記事: 無料の「IBM Cloudライト・アカウント」で、さっそくWatson APIを試してみた
顔検出の精度
顔認識の精度
{
"age": {
"min": 21,
"max": 24,
"score": 0.91
},
"male": 0.99,
"emotion": None,
"glasees": None
}
※解析した結果は企業によって出力形式が異なるので、必要となる情報だけを取り出してみました。
※APIに判定する項目がなかった場合は None を記入しています。
顔検出 | 顔認識 |
---|---|
5人 | 21-24歳、男性(感情・メガネ判定なし) |
実際の年齢と比較しても誤差が1歳となっています。画像の左端の顔を検出できているのは驚きでした。ほかの企業の結果を見てもIBMだけが端の人物の顔を検出できています。
Microsoft – Face API
別機能として、「顔検証」という項目もあります。2つの画像を比較してどのくらいの類似しているのかも教えてくれます。この類似度を利用して似た顔の検索やグループ分けまでも出来ます。
参考記事: AIに感情は読み取れるか?MicrosoftのFace APIで感情分析をしてみた
参考記事: AIに人間はどう見えるか?顔認識で年齢から感情まで読み取るMicrosoftのFace APIを試してみた
顔検出の精度
顔認識の精度
{
"age": 27.6,
"gender": "male",
"emotion": "happiness",
"glasees": 0.97
}
※解析した結果は企業によって出力形式が異なるので、必要となる情報だけを取り出してみました。
※APIに判定する項目がなかった場合は None を記入しています。
顔検出 | 顔認識 |
---|---|
10人 | 28歳、男性、幸せ、メガネあり |
顔認識では誤差も少なく正確に必要な情報を得られています。
顔検出の方ではただ検出するだけでなく検出した顔の性別判定まで行なってくれます。青の四角で囲まれた人が男性、赤で囲まれた人が女性という結果になっています。
しかし、右側3人の男性を女性と認識してしまっています。
Google – Cloud Vision API
検索エンジンを持つ利点を活かして、分析する画像と似た画像をウェブのページから探してくることができます。
参考記事: Google、Cloud AutoML発表!誰でもオリジナルAIを生成可能に!?
顔検出の精度
顔認識の精度
{
"age": None,
"gentleman": 0.57,
"emotion": "joy",
"glasees": 0.81
}
※解析した結果は企業によって出力形式が異なるので、必要となる情報だけを取り出してみました。
※APIに判定する項目がなかった場合は None を記入しています。
顔検出 | 顔認識 |
---|---|
2人 | 男性、喜び、メガネあり(年齢判定なし) |
大人数の検出は出来なくても、拡大された男性の顔を見てわかるように、検出した顔に対しては顔のパーツを推定してくれます。これはポーズ推定と言われる画像認識研究における分野の1つです。
参考記事: 深層学習で人のポーズを解析する「OpenPose」試してみたら凄かった。店舗分析やヘルスケアなど、活用シーンは無限大
Amazon – Amazon Rekognition
静止画だけでなく動画でも顔認識を提供しており、動画内における顔の追跡も可能です。
顔検出の精度
顔認識の精度
{
"AgeRange": {
"Low": 23,
"High": 38,
},
"male": 0.99,
"Happy": 0.99,
"not wearing glasses": 0.75
}
※解析した結果は企業によって出力形式が異なるので、必要となる情報だけを取り出してみました。
※APIに判定する項目がなかった場合は None を記入しています。
顔検出 | 顔認識 |
---|---|
20人 | 23-38歳、男性、幸せ、メガネなし |
年齢の範囲は大きいですが、年齢をピンポイントで当てるというよりは、年齢層のみ把握できればよい場合では精度として十分でしょう。
Googleと同様検出した顔のパーツを推定してくれています。検出人数が今回比較するAPIの中で1番多く、横向き・下向きの顔まで検出しています。
Megvii – Face Detect API
中国は、画像認識・コンピュータービジョン分野でアメリカに並んで最先端をいくAI先進国です。
さらに監視社会と呼ばれている中国、カメラ映像からの顔認識には力を入れているのでしょう。
顔検出の精度
顔認識の精度
{
"age": 30,
"sex": "male",
"emotion": "happiness",
"glasses": "With"
}
※解析した結果は企業によって出力形式が異なるので、必要となる情報だけを取り出してみました。
※APIに判定する項目がなかった場合は None を記入しています。
顔検出 | 顔認識 |
---|---|
13人 | 30歳、男性、幸せ、メガネあり |
「検出人数」はAmazon Rekognitionの次に多く、下向きにも対応しています。
デモでは機能ごとに詳細に分かれており、用途に応じて試すことができます。
比較するAPIのなかでも人物を検出してくれる機能はありましたが、Face++は人物の外形をマスクとして検出してくれる機能もありました。これをうまく使えば人物以外の場所を切り取ってボカしたり、背景だけを変えたりできそうです。
各社APIの性能と価格をまとめて比較
ここまで比較してきた性能を表にしてまとめてみました。
API | 年齢 | 性別 | 感情 | メガネ | 検出人数 | 価格(画像1枚あたり) |
---|---|---|---|---|---|---|
clarifai | – | male | – | – | 1 | $0.0008~ |
IBM | 21-24 | male | – | – | 5 | $0.002~ |
Microsoft | 28 | male | happiness | あり97% | 10 | $0.0010~ |
– | – | joy | あり81% | 2 | $0.0015~ | |
Amazon | 23-38 | male | happy | なし75% | 20 | $0.0013~ |
Megvii | 30 | male | happiness | あり | 13 | $0.0001~ |
※APIに判定する項目がなかった場合は、ハイフンで表記
※2018年6月現在時点の価格
こちらの表からわかるように、APIを公開している各社1つとして、完璧にすべての情報を高い精度で返すのは難しいということです。
このような比較をしていると、AI自体は汎用的なのではなくて課題に合わせたモデルやネットワークを構築する必要があるとわかります。
各社の顔認識APIを比較して見える、導入への取り組みと姿勢
画像認識APIは各社得意不得意があり、単純な比較は難しいです。
これは各社APIの精度が低く実用に足らないというわけではなく、”AI”は1つの学習モデルで複数のタスクをこなそうと思うと、精度が落ちてしまう傾向にあることに起因します。
現在研究の段階ではこれに対応しようと、ドメインアダプテーションという研究テーマも出て来ています。
ドメインアダプテーション(DA)とは、あるタスクに対して学習したAIを異なる領域のタスクに適応させる手法です。DAによって、領域の異なるタスクごとにデータセットを用意する必要がなくなるというメリットがあります。
このような取り組みによって今後汎用的な “AI”が出てくる可能性もありますが、現状AIを導入するときは、目的と課題を明確にしてからでないと想定する結果が出てこないことがあります。
そこで重要な認識として押さえておきたいのは、“AI”とは大量のデータから特徴を学習して近似解を導き出すものであること。“AI”が出した近似解が求めている精度に届かない場合には、精度が出ないから諦めるのではなく、“AI”と共に学習していく姿勢で取り組む必要がある、ということです。
AIのプロジェクトや開発においては以上のような意識がないと失敗するケースは多いです。このような課題に対して株式会社レッジはAI特化のメディアを運営し知見を蓄えながら、あらゆるフェーズにおけるAIプロジェクトのコンサルティング業務にも日々取り組んでいます。
AIの企画や開発、導入でお困りの方、これからAIプロジェクトに取り組もうとお考えの方はお気軽に問い合わせを。