Swift - Как обнаружить моргание одним глазом - PullRequest
0 голосов
/ 05 апреля 2020

Я использую CoreImage для обнаружения моргания глаз, он работает нормально, за исключением случаев, когда я пытаюсь обнаружить только один глаз. Любые идеи о том, как обнаружить флирт зрительного контакта с помощью CoreImage ?

if let faceImage = CIImage(image: target) {  
    let accuracy = [CIDetectorAccuracy: CIDetectorAccuracyHigh]
    let faceDetector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: accuracy)
    let faces = faceDetector?.features(in: faceImage, options: [CIDetectorSmile:true, CIDetectorEyeBlink: true])

     if !faces!.isEmpty {
         for face in faces as! [CIFaceFeature] {
             let leftEyeClosed = face.leftEyeClosed
             let rightEyeClosed = face.rightEyeClosed
             let blinking = face.rightEyeClosed && face.leftEyeClosed
             let isSmiling = face.hasSmile

             print("isSmiling \(isSmiling)")
             print("blinking \(blinking)")
             print("rightEyeClosed \(rightEyeClosed)")
             print("leftEyeClosed \(leftEyeClosed)\n\n")
         }
     } else {
         print("No faces found")
     }
}

UPDATE Свойства hasLeftEyePosition и hasRightEyePosition всегда имеют значение true.

Оба глаза закрыты

isSmiling false
blinking true
rightEyeClosed true
leftEyeClosed true

Оба глаза Открыт

isSmiling false
blinking false
rightEyeClosed false
leftEyeClosed false

Левый глаз закрыт

isSmiling false
blinking false
rightEyeClosed false
leftEyeClosed false

Правый глаз закрыт

isSmiling false
blinking false
rightEyeClosed false
leftEyeClosed false

1 Ответ

0 голосов
/ 09 апреля 2020

Чтобы включить или отключить отслеживание лица для детектора, мне пришлось установить переменную CIDetectorTracking . Он работал хорошо, чтобы привлечь внимание, но из-за низкой производительности в живом видео я решил использовать его с ARKit.

let accuracy = [CIDetectorAccuracy: CIDetectorAccuracyHigh, CIDetectorTracking: true] as [String : Any]

https://developer.apple.com/documentation/coreimage/cidetectortracking

...