ロボットと共に

Life with Robot

顔認識・認証API『Face++ Ver3.0』をC#で動かしてみる

顔認識・認証APIをリサーチ

顔認識するライブラリはOpenCVをはじめいくつかあるが、顔認証や顔の評価(笑顔など)を提供するものは少ないです。

顔認証をAPIとして提供しているのは

  1. Face++
  2. PUX PDS(PUX Developers Site)
  3. Microsoft Azure Face API

などがある。

その中でもFace++は無料でいろいろな顔認識の機能を提供している。
中国製ということで、少し気にはなりますが、良いものは良いです。
Face++は下記でも紹介されています。

matome.naver.jp

 

Face++をC#で動かしてみる

タイトルにあるFace++をC#で動かく簡単なソースを作成する。
登録や基礎情報などは、下記の日本の方が書かれたサイトを参考にしました。

famirror.hateblo.jp

 

syncer.jp

C#でコーディングするにあたり、すでにFace++をC#SDKしてC#(WPF)で書いている人がいました。

 こちらの方が提供されているソースは、そのまま実行するすぐにでも使えるようになっています。ここで使っているキーはパブリックなのだろうか心配ですが...

github.com

このソースをもとにapi_keyとapi_secretを自分で発行したものに変えればすぐ終わりだと思ったが動かいない...
HTTPのリクエストが悪いようだ...
いろいろ調べました。上記の日本の方のサイトでは、下記のURLをブラウザーなどでやると書いてあったので、試してみるが駄目だった。ちなみに下記のURLのキーにfacepp-csharp-sdk-betaを使用すると正常に返ってきました。

https://apicn.faceplusplus.com/detection/detect?api_key=<API KEY>&api_secret=<API Secret>&url=http://cdn-ak.f.st-hatena.com/images/fotolife/f/famirror/20151213/20151213235438.jpg
そこで原点に戻り、提供元のリファレンスを確認するとRequest URLが「https://api-us.faceplusplus.com/facepp/v3/detect」とVer3.0仕様になていることに気が付きました。では、facepp-csharp-sdk-betaのRequest URLを変えてやれば良いということもなく、Request Parameterも変わっているので変更が必要です。実際に変更したものをfacepp-csharp-sdk-betaを参考に簡単なソースにまとめました。

f:id:Mikan6:20170413191246p:plain

 
FaceppTest.cs

 

Face++が提供しているサンプルコードもあります。javaPythonなどのソースコードがありますが、古いバージョンのようですねw
Face++のサインインした先のリファレンスのサンプルソースだとVer3.0のJavaPythonのシンプルなソースコードがありました。JavaPythonで考えている方はこちらを参考にしつつ、旧バージョンのFace++SDKに適用すれば下記は利用できそうです!!

github.com

最後に

久方ぶりの技術ブログの再開で何を書こうか悩みましたが、面白そうなツールを探して、今回Face++をC#で動かしてみました。今後も何か面白そうなものがあれば頑張って書いてみようかと思っています。


サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい