OpenCVSharpでFace++を動かしてみる
前回に引き続きC#でFace++を試してみました。
今回は、OpenCVで読み込んだ画像データをエンコードしてFace++へリクエストを投げれるコードを書いてみた。ついでにOpenCVの顔認識も入れてみました。
出力結果は、以下の画像です。
- 青枠がOpenCVの顔検出結果
- 赤枠がFace++の顔検出結果
なおサンプル画像とした彼女は、フリー素材アイドル「Mika+Rika」を利用させて頂きましたw 謝謝:D
以下は、動かしてみたサンプルコードです。
最後に
OpenCVとFace++が連携できて、カメラ映像からFace++へリクエストを投げられるしくみが整いました。あとは顔を登録して、顔認証作業ですねw
サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい。
ご利用した方は、コメント頂けると個人的に励みになります。
顔認識・認証API『Face++ Ver3.0』をC#で動かしてみる
顔認識・認証APIをリサーチ
顔認識するライブラリはOpenCVをはじめいくつかあるが、顔認証や顔の評価(笑顔など)を提供するものは少ないです。
顔認証をAPIとして提供しているのは
などがある。
その中でもFace++は無料でいろいろな顔認識の機能を提供している。
中国製ということで、少し気にはなりますが、良いものは良いです。
Face++は下記でも紹介されています。
Face++をC#で動かしてみる
タイトルにあるFace++をC#で動かく簡単なソースを作成する。
登録や基礎情報などは、下記の日本の方が書かれたサイトを参考にしました。
C#でコーディングするにあたり、すでにFace++をC#でSDKしてC#(WPF)で書いている人がいました。
こちらの方が提供されているソースは、そのまま実行するすぐにでも使えるようになっています。ここで使っているキーはパブリックなのだろうか心配ですが...
このソースをもとに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を参考に簡単なソースにまとめました。
FaceppTest.cs
Face++が提供しているサンプルコードもあります。javaやPythonなどのソースコードがありますが、古いバージョンのようですねw
Face++のサインインした先のリファレンスのサンプルソースだとVer3.0のJavaとPythonのシンプルなソースコードがありました。JavaとPythonで考えている方はこちらを参考にしつつ、旧バージョンのFace++SDKに適用すれば下記は利用できそうです!!
最後に
久方ぶりの技術ブログの再開で何を書こうか悩みましたが、面白そうなツールを探して、今回Face++をC#で動かしてみました。今後も何か面白そうなものがあれば頑張って書いてみようかと思っています。
サンプルソースコードは、あくまでも参考としてご利用下さい。また、各種ライブラリのライセンスにも目を通して、ご利用下さい