頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


カメラで得た画像にVision frameworkを使う

Vision.frameworkをObjective-Cでやってみた
↑この続き。

どうなんだろうな?と思って確認すると、顔画像が90度回転してたり上下逆さまだと認識しないっぽい。

横向きだと検出しない

これで何が困るかというとiPhoneのカメラから得られる画像を回転を意識せずにUIImageViewで表示すると横向きになる(デバイスの姿勢はportrait)のでカメラから得たデータを回転させる必要がある。Vision frameworkの顔認識処理に渡すのはCGImageなのでここから回転させないと具合悪い。
いろいろと調べて試してみた結果、
Ios rotate, filter video stream in ios - Stack Overflow
↑ここにあるコードを使うと意図通り回転させることができた。


↑これでカメラで得た画像に対して顔検出処理ができるとこまでOK。


↑iPhone 7 Plusのフロントカメラでリアルタイムでやってみたが、、、
顔検出処理に200msecほど必要だと測定してたから追従性はこんなもんだろうとは思っていたが、、、問題は期待ほど精度が高くないこと。顔の向きや光の具合でとんでもない判定が出ることが多い。それから動画にはないけどいわゆる変顔みたいな表情も苦手の様子。
リアルタイムではなくてもいいので正確に表情を検出したかったんだけど、これじゃ使えない感じ。ただ、こういう機械学習モノはどんどん精度が上がっていくだろうし、瞳が取得できない不具合も修正はされていくだろうから時々チェックするようにせねば。

<< 機械学習におけるデータの範囲(2)  TopPage  機械学習におけるデータの範囲 >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1095-0d0e2e4e




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad