初心者エンジニアが何か書く

〜技術ブログメイン〜

Objective-CでReKognition使って顔認識する(ios7)

楽天カフェのハッカソンでReKognition(顔認識のWebAPI)を使っているチームがいくつかあったので、自分もiPhoneで顔認識させてみた。


orbe.us | ReKognition - Welcome to Rekognition.com

 

ReKognitionは単に画像から顔認識して顔情報(顔の部品の位置/年齢/表情/性別など)を取得できるだけじゃなくて,顔画像の学習とクラスタリングが可能.

 

なので,今回は「顔と名前」をReKognitionのサーバーに保存・学習させて,クラスタリングさせてみた.

 

おおざっぱな流れ:

  1. ReKognitionのSDKを導入する
  2. ReKognitionで「顔と名前」を追加・学習
  3. 実装(AVFoundationでカメラ起動・顔認識)

 

1.ReKognitionのSDKXcodeに導入する

上記のサイトでSDKをダウンロード.

f:id:inobo52:20141115190158p:plain

ダウンロードしたZIPを開くと,サンプルのXcodeプロジェクトがある.開く.

f:id:inobo52:20141115190445p:plain

重要そうなコードはViewController.mのここ緑のコードで画像をリクエストする.

レスポンスで受け取ったJSON文字列をパースすれば使えるようになる.

README.mdの中を見れば,他に使えるコード書いてある.

f:id:inobo52:20141115191552p:plain

サンプルプロジェクトにある以下のファイル集を
Xcodeに移せば,上記の緑コードが使える.

f:id:inobo52:20141115195316p:plain

 

2.ReKognitionで「顔と名前」を追加・学習させる

まずアカウントを登録.

f:id:inobo52:20141115192840p:plain

次に,Go to Face Control Panel に移動して「顔と名前」を追加登録.

f:id:inobo52:20141115193340p:plain

Trainを押すと学習開始.顔認識の準備完了.

NameSpaceとUserIDは後の実装で使うので覚えておく.

f:id:inobo52:20141115193807p:plain

3.実装

フレームワーク.いろいろ試行錯誤してたら,たくさん導入してた.

多分いくつか不必要なのがある.

f:id:inobo52:20141115194536p:plain

ストーリーボード.

顔認識ボタンを押すと,表示中のImageViewで顔認識する.

認識して名前が取得できたら,名前を表示する.

f:id:inobo52:20141115194922p:plain

コード.RekognitionSDK.m に API_Key と API_Secret を入力.

f:id:inobo52:20141115200155p:plain

コード.ヘッダーファイルとメソッドファイル

 

 

 

顔のクラスタリングが出来たら,色々できそうですね.