在这个框架中完成面部识别到底是怎么回事?文档声明它是框架的一部分
人脸检测与识别
但是,目前尚不清楚哪些类/方法允许我们这样做。我发现的最接近的是VNFaceObservation
,其缺乏重要的细节。
这更像是一个手动过程,我们必须包含我们自己的学习模型吗? - 如果是的话,怎么样?
答案 0 :(得分:7)
即使从WWDC视频中他们似乎正在使用深度学习,视觉框架如何未知的技术细节。
以下是一些示例代码,用于在图像中找到眼睛:
let request = VNDetectFaceLandmarksRequest()
let handler = VNImageRequestHandler(cvPixelBuffer: buffer, orientation: orientation)
try! handler.perform([request])
guard let face = request.results?.first as? VNFaceObservation,
let leftEye = face.landmarks?.leftEye else { return }
let box = face.boundingBox
let points = (0..<landmark.pointCount).map({ i in
let point = landmark.point(at: i)
let x = box.minX + box.width * CGFloat(point.x)
let y = 1 - (box.minY + box.height * CGFloat(point.y))
return CGPoint(x: x, y: y)
})
这将返回一些您可以在WWDC视频中链接在一起的点:
您可能希望在改进文档之前观看WWDC video。其他Xcode自动完成功能是您最好的朋友。
Core ML是另一回事。它没有专门针对面孔。您可以使用自己的模型并预测您想要的任何内容。所以如果你有一个人脸识别模型,那就去吧!愿景框架通过VNCoreMLModel
对CoreML模型提供了一些支持