Wood-Roots:blogHOMEAPI/マッシュアップWebサービス201212/23顔認識API「detectFace();」が簡単に使えて面白い、という話API/マッシュアップWebサービス画像から顔かどうかを判別するというのはデジカメでは当たり前の機能ですが、個人が独自で開発するとなるとなかなか難しい機能だと思います。それをWebAPIを使うことで簡単に実装できてしまいます。有名なのはface.comというAPIなのですが、facebookに買収されて残念ながらAPIの提供がなくなってしまいました。face.comを使ったサービスでは以下のようなものがあります。今はどうしてるんだろう・・・・。(完全に一致をつくった人)目からビームジェネレータしかしながらdetectFace();という顔認識APIが精度も高く動作も軽いため、face.comがなくなった今でも手軽に顔認識機能を使うことが可能です。公式のドキュメントが日本語でとても充実しているのであらためて解説するようなこともないですが・・・。画像のURLと検出モード、ムリヤリ度というオプションを指定して以下のURLへアクセスすると、目の位置や顔の大きさなどがXMLで返ってきます(以下はGETの例ですが、POSTも可能です)。[&f=ムリヤリ度]返されるXMLは以下のフォーマットとなっており、faceが顔と判定されたものの数だけ返ります。顔の各部位の詳細な位置まで返ってきますが、boundsに含まれる属性(顔の位置・大きさ)と目の位置ぐらいがあればWebサービスで使用するには充分ではないかと思います。id="1">..省略..</face></faces>上記のXMLをsimplexml_load_fileで配列とすると、写真から顔の位置や大きさを取得したりすることができます。具体的には以下のようなコードで顔の位置、大きさを取得できます。//顔のY座標}実際に使ってみると分かるのですが、相当に高い精度で顔が判定され、さらに動作も非常に高速です。世界に通用するサービスではないかと思います(買収されてAPI提供が終わってしまうのはやめてほしいですが)。detectFace();を使ったWebサービスの例その精度と速さを多くの人に体感してほしいと思い、簡単ですがWebサービスをつくってみました。顔にモザイク画像をアップロードすると、顔と判定された部分にモザイクをかけて返してくれるサービスです。集合写真などをブログに掲載したいけど顔出しNGの人も多くて加工がめんどうさい・・・というときの利用を想定しています。集合写真が一番分かりやすいのですが、自由に使えるものがなかったので手持ちの素材集より・・・。!正面を向いた写真は相当高い精度で判定してくれます。顔と判定されずモザイクがかからない場合もありますが、ためしに写真をアップロードしてみてください。精度の高さに驚くと思います。このサービスを使ってほしいというよりも(実際難しい処理はしてないし・・・)、detectFace();APIのすごさを分かっていただければと思います。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイトCommentsコメントはまだありません。2Archive2020年92019年182018年102017年172016年202015年212014年312013年552012年50SearchSocialAboutWeb制作会社ではたらく社畜のアウトプットです。Web制作技術のほか、雑記など。当ブログと運営者についてもっと詳しく見るプライバシーポリシーContactお問い合わせは下記フォームをご利用ください。お時間がございましたらお問い合わせの前にこちらをご一読いただけますと幸いです。Wood-Roots:blog。