Swift 5 - CIFaceFeature всегда обнаруживает моргание глаз, когда пользователь носит очки

Я работаю над приложением для iPad, где пользователь подходит к устройству, и устройство обнаруживает, что пользователь моргает. Я использую CoreImage для обнаружения моргания глаз, он работает нормально, пока пользователь не наденет очки / очки.

let faceDetectorOptions = [CIDetectorAccuracy : CIDetectorAccuracyHigh]
self.faceDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: faceDetectorOptions)

let options = [CIDetectorSmile : true, CIDetectorEyeBlink: true, CIDetectorImageOrientation : 1] as [String : Any]
let features = self.faceDetector!.features(in: ciImage, options: options)
if (features.count != 0) {
   for feature in features as! [CIFaceFeature] {
      if (feature.leftEyeClosed && feature.rightEyeClosed && feature.faceAngle <= 5 && feature.faceAngle >= -5) {
          // eye blinked
      }
   }
}

Это отлично работает, когда пользователь не носит очков, моргание определяется, как только пользователь моргает. Но когда пользователь носит очки, глаза всегда моргают, даже если пользователь просто стоит рядом с устройством.

Кто-нибудь может мне в этом помочь?

0 ответов

Другие вопросы по тегам