swift:CIDetectorを使ってみました

概要

CoreImage Libraryを使うと顔認識ができます。以下を参考にして、CIDetectorを使った顔認識をしてみました。

結果

顔のおおざっぱな位置を調べる目的には十分使えそうです。

笑っているかどうかをチェックできるのは興味深いと思いますが、本写真の結果はfalseになっていました。どのような写真だと笑顔を認識できるのか調べる必要がありそうです。

顔の輪郭を矩形として取得できる

CIFaceFeature.boundsで取得できます。

目の位置が取得できる

左右の目の位置を個別に取得できます。ただし、矩形ではなく、開始位置のみです。

  • CIFaceFeature.leftEyePosition.x
  • CIFaceFeature.leftEyePosition.y
  • CIFaceFeature.rightEyePosition.x
  • CIFaceFeature.rightEyePosition.y

口の位置が取得できる

口の位置を取得できます。ただし、矩形ではなく、開始位置のみです。

  • CIFaceFeature.mouthPosition.x
  • CIFaceFeature.mouthPosition.y

その他

顔の部分チェックができます。

左目があるかhasLeftEyePosition
右目があるかhasRightEyePosition
口があるかhasMouthPosition
笑っているかhasSmile
左目が閉じているかleftEyeClosed
右目が閉じているかrightEyeClosed
顔が傾いているかhasFaceAngle

f:id:unokun3:20160105065844p:plain

関連資料