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
}
}
}
Это отлично работает, когда пользователь не носит очков, моргание определяется, как только пользователь моргает. Но когда пользователь носит очки, глаза всегда моргают, даже если пользователь просто стоит рядом с устройством.
Кто-нибудь может мне в этом помочь?