Я пытаюсь использовать CoreImage CIFeature для обнаружения эмоций лица, поскольку они являются родными API. Я создал проект контроллера образца и обновил соответствующий код. Когда я запускаю это приложение iOS, он открывает камеру. Когда я смотрю на камеру и проявляю эмоцию улыбки, этот примерный код обнаруживает штраф. Мне также нужно найти другие эмоции, такие как: «Сюрприз», «Сад» и «Злые эмоции». Я понимаю, что CoreImage CIFeature не имеет прямых API для этих других эмоций. Но возможно ли пытаться манипулировать доступными API (такими как hasSmile, leftEyeClosed, rightEyeClosed и т. Д.) Для обнаружения других эмоций, таких как Surprise, Sad and Angry через программу iOS?CoreImage CIFeature для обнаружения эмоций лица
Может ли кто-нибудь столкнуться с работой с этими API-интерфейсами, сценариями и решить эту проблему, пожалуйста, предложите и поделитесь своими идеями.
func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!) {
let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)
let opaqueBuffer = Unmanaged<CVImageBuffer>.passUnretained(imageBuffer!).toOpaque()
let pixelBuffer = Unmanaged<CVPixelBuffer>.fromOpaque(opaqueBuffer).takeUnretainedValue()
let sourceImage = CIImage(cvPixelBuffer: pixelBuffer, options: nil)
options = [CIDetectorSmile : true as AnyObject, CIDetectorEyeBlink: true as AnyObject, CIDetectorImageOrientation : 6 as AnyObject]
let features = self.faceDetector!.features(in: sourceImage, options: options)
for feature in features as! [CIFaceFeature] {
if (feature.hasSmile) {
DispatchQueue.main.async {
self.updateSmileEmotion()
}
}
else {
DispatchQueue.main.async {
self.resetEmotionLabel()
}
}
}
func updateSmileEmotion() {
self.emtionLabel.text = " "
self.emtionLabel.text = "HAPPY"
}
func resetEmotionLabel() {
self.emtionLabel.text = " "
}
Спасибо за предложения. Я смотрю, доступен ли какой-либо полностью открытый источник, может читать и изменять больше. – Stella