face.com の顔検出 API 終わってた。代替の API はこれだ!

その昔に作りおいてった「個人情報保護−高精度な顔認識&加工サービス」があるのですが、まぁ正直自分でも全然使っていない。twitter でつぶやかれていたので久々に使ってみたら、いつの間にか face.com の顔検出 API は終了していて使い物にならなくなってました。しかも API が終わってたのは、face.com が facebook に買収されてまもなくで、すでに一年以上前の話でした。どんだけ。

で、代替になりそうな face detect 系の API をひと通り探して試してみました。

まず結論から。skybiometry.com の顔検出 API が結構認識率が高いです!
skybiometry.com を検索しても殆ど情報が出てこないですが、こいつくると思います。

img001.png

- スポンサーリンク -

API を試すにはアカウント登録が必要、登録はもちろん無料です。
FREE プランでは、1時間100request、1日5000request、1ヶ月5000requestと、かなり制限は厳しいですが、ちょろっとお試しする分には十分。有料プランは2つ。安い方でも€50(=6,800円くらい)/月なので、それなりに高い。

img002.png

で、早速 FREE プランで API key を払いだして、以前の顔認識&加工サービスに組み込んでみました。一ヶ月で 5000 リクエストなので、あっという間にアクセスしても弾かれる可能性大ですけど、公開しておきます。よろしければ使って下さい。

http://www.drk7.jp/pub/ap/facedetect/index.cgi

使い方は簡単です。perl のサンプルスクリプトならこんなかんじです。

use LWP::UserAgent;
use URI;
use JSON;
use Data::Dumper;

my $api_key    = 'hoge';
my $api_secret = 'fuga';
my $imgurl = 'http://images6.fanpop.com/image/photos/35200000/AKB48-3-unohana-the-fanpop-user-35259661-2240-2040.jpg';
 
my $ua = LWP::UserAgent->new;
my $uri = URI->new('http://api.skybiometry.com/fc/faces/detect.json');
$uri->query_form( api_key => $api_key, api_secret => $api_secret, urls => $imgurl );

my $res = $ua->get( $uri->as_string );
unless ($res->is_success) {
  die $res->status_line;
}
my $parser = JSON->new();
my $content = $res->content;
$content =~ s/[a-zA-Z_\$][a-zA-Z0-9_\$]*\s*\((.+)\)\s*;?\s*$/$1/;
my $json = $parser->decode($content);
print Dumper $res->content;

試してみた画像検出系の API サービスの比較

比較に使う画像は Google 検索で見つけた AKB48 のメンバー一覧。正面を向いているので比較的高精度に認識されるべき画像です。

http://images6.fanpop.com/image/photos/35200000/AKB48-3-unohana-the-fanpop-user-35259661-2240-2040.jpg

1位: https://www.skybiometry.com/Demo による検出結果
判定ミス:0
比較的高速でかつ正確。API はたまに落ちてレスポンスが上手く帰ってこない場合あり。

result001.png

2位: http://rekognition.com/demo/face による検出結果
判定ミス:4
こちらも比較的高速で正確。FREE でアクセス可能なリクエスト数は skybiometry.com より断然多く 40,000/月だが、超過分が課金されるためお試しで使うにはちょっと抵抗あり。

result005.png

3位: http://detectface.com/sample/simple/index.html による検出結果
判定ミス:5
国内産で古くから存在する API で制度が多少なりとも上がってるかな?と思いきや、昔使った時からさほど制度の改善なし。正面画像はそこそこの精度だが、多少傾いた顔では途端に認識率が落ちる。また誤判定も結構多い。

result002.png

県外: http://api.animetrics.com/ による検出結果
正解率:??
もはや判定しているのかも不明。JSONの結果を見る限り顔検出は3つの模様。

result003.png

県外: http://apicloud.me/apis/facerect/demo/ による検出結果
正解率:0
何も判定されない。学習した画像しか検出できないのではないか?レベル。これはひどい。

result004.png

県外: http://www.lambdal.com/#tab-Detect による検出結果
正答率:?
先日まで正常に動いていた API がここ数日エラーしか返さなくなっている。face.com の代替サービスとして有望視されていたが、API の反応が悪くよくエラーになる印象。完全 FREE なだけに残念。

result006.png

→後日復旧後に再判定
判定ミス:1
動作は少々重いが検出精度はなかなか。FREE でリクエスト数に制限もないので、要件によってはこちらのほうがオススメ。

result007.png

県外: http://www.infatics.com/ による検出結果
リニューアル中にてアクセス不可。未検証


というわけで、ひと通り見てきましたが、個人的に有望視していた Lambda Face Detect の FREE API が完全に落ちてる今、skybiometry.com がくるんじゃなかろうか?と思う次第。もう少し安いお値段でリクエスト数も増やしていただけると、利用者数も伸びると思う。できれば FREE の制限も緩和してほしかったり。

なんにしろ、画像認識系は精度が良ければお金になるので、ここも有名になれば、いつか FREE が終わっていくと思います。

ちなみに世の中の便利な API を探すには、mashape.com ってサービスが便利です。アカウント登録すれば使えます。例えば顔認識APIを調べたければ、こんなかんじに検索すればめぼしいものが見つかります。
https://www.mashape.com/search?page=1&query=face+detect

- スポンサーリンク -

関連する記事&スポンサーリンク