Ich versuche, CoreImage CIFeature zur Erkennung von Gesichtsgefühlen zu verwenden, da dies die nativen APIs sind. Ich habe ein Beispielansicht-Controller-Projekt erstellt und zugehörigen Code aktualisiert. Wenn ich diese iOS-Anwendung starte, öffne ich die Kamera. Wenn ich die Kamera nach oben schaue und Lächeln Emotion zeige, erkennt dieser unter Beispielcode gut. Ich muss auch andere Emotionen wie, Überraschung, Traurige und böse Emotionen finden. Ich verstehe, dass CoreImage CIFeature keine direkten APIs für diese anderen Emotionen hat. Aber, ist es möglich zu versuchen, die verfügbaren APIs (wie hasSmile, leftEyeClosed, rightEyeClosed usw.) zu manipulieren, um andere Emotionen wie Surprise, Sad und Angry durch iOS-Programm zu erkennen?CoreImage CIFeature zum Erkennen von Gesichtsgefühlen
Könnte jemand mit diesen APIs arbeiten, Szenario und dieses Problem lösen, bitte schlagen Sie vor und teilen Sie Ihre Ideen.
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 = " "
}
Danke für die Vorschläge. Ich schaue mir an ob überhaupt eine komplett Open Source verfügbar ist, kann mehr lesen und modifizieren. – Stella