必死に走っていました。この象さんは64分の1の確率で現れてくれるらしいです。SkyBiometry使ってみました話は変わりますが、最近「SkyBiometry」という顔認識APIを使う機会があったので、忘れないうちに書いてみたいと思います。これは何ぞって、「写真のURLとパラメータを送ると、その写真の中にある顔の座標や特徴量を返してくれる」APIになります。id)を結び付けて学習させることで顔認識の精度を上げることができ、且つ類似度の算出が可能になるみたいです。nowしてみましょう。マイページはこんな感じです。secret、UIDを束ねるnamespaceの設定が行なえます。ちなみに無料版ですと5000回/1ヶ月、100回/1時間叩くことができます。secretが入手出来たらあとは簡単です。下記の形式でURLを叩くだけで結果を取得することができます。parametersに関してはドキュメントのページに書いてあります。methodを使いたい、「JSON形式」のレスポンスで受け取りたい、WikipediaでFaceと検索して出てきた「顔の画像URL」の「顔座標をすべて取得」したい、という要望には下記の記述で答えることができます。secret}&urls=http://upload.wikimedia.org/wikipedia/commons/thumb/5/55/Mona_Lisa_headcrop.jpg/640px-Mona_Lisa_headcrop.jpg&detect_all_feature_points=true下記がレスポンスのJSONです。2}}顔の座標や特徴量が取れました。parametersの設定(例えば「attributes=all」など)により、他の情報も取得できます。GDで顔座標をプロットPHPでAPIの返り値を使いたいので、curl関数を使います。curl関数の使い方はこのあたりを参考にさせていただきました。curl_getinfo($curl);ここまでで、APIのパラメータの設定をしてその結果を$responseに格納することができました。ここから、簡単なエラーチェックを行ない顔の座標をプロットして行きます。ちなみに顔の座標情報は「$data[“photos”][0][“tags”][0][“points”]」の中にあります。image/png');//出力しますimagepng($original_image);imagedestroy($original_image);imagedestroy($plot_image);exit;21行目のgeneratePlotImage関数では、元の画像の顔の上に顔の座標点をプロットするため、透過可能なpngイメージを生成しています。22行目のimagecopy関数で元のイメージと前述した関数によって生成されたイメージとを重ね合わせています。$plot_image;}重ね合わせ生成された画像がこれです!APIが認識した顔の座標点が緑色にプロットされていますね。●この記事を書いた人しょーへいバックエンドチーム所属。古着と猫と喫茶店がすきです。