Objective-CでReKognition使って顔認識する(ios7)
楽天カフェのハッカソンでReKognition(顔認識のWebAPI)を使っているチームがいくつかあったので、自分もiPhoneで顔認識させてみた。
orbe.us | ReKognition - Welcome to Rekognition.com
ReKognitionは単に画像から顔認識して顔情報(顔の部品の位置/年齢/表情/性別など)を取得できるだけじゃなくて,顔画像の学習とクラスタリングが可能.
なので,今回は「顔と名前」をReKognitionのサーバーに保存・学習させて,クラスタリングさせてみた.
おおざっぱな流れ:
- ReKognitionのSDKを導入する
- ReKognitionで「顔と名前」を追加・学習
- 実装(AVFoundationでカメラ起動・顔認識)
上記のサイトでSDKをダウンロード.
ダウンロードしたZIPを開くと,サンプルのXcodeプロジェクトがある.開く.
重要そうなコードはViewController.mのここ.緑のコードで画像をリクエストする.
レスポンスで受け取ったJSON文字列をパースすれば使えるようになる.
README.mdの中を見れば,他に使えるコードも書いてある.
サンプルプロジェクトにある以下のファイル集を
Xcodeに移せば,上記の緑コードが使える.
2.ReKognitionで「顔と名前」を追加・学習させる
まずアカウントを登録.
次に,Go to Face Control Panel に移動して「顔と名前」を追加登録.
Trainを押すと学習開始.顔認識の準備完了.
NameSpaceとUserIDは後の実装で使うので覚えておく.
3.実装
フレームワーク.いろいろ試行錯誤してたら,たくさん導入してた.
多分いくつか不必要なのがある.
ストーリーボード.
顔認識ボタンを押すと,表示中のImageViewで顔認識する.
認識して名前が取得できたら,名前を表示する.
コード.RekognitionSDK.m に API_Key と API_Secret を入力.
コード.ヘッダーファイルとメソッドファイル
顔のクラスタリングが出来たら,色々できそうですね.