繁体   English   中英

如何将面部识别内置到Core ML视觉框架中

[英]How is facial recognition built into Core ML vision framework

在这个框架中完成的面部识别究竟是如何完成的? 文档声明它是框架的一部分

人脸检测与识别

但是,目前尚不清楚哪些类/方法允许我们这样做。 我发现最接近的是VNFaceObservation ,它缺乏重要的细节。

它更像是一个手动过程,我们必须包含我们自己的学习模型吗? - 如果是的话,怎么样?

即使从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视频,直到他们改进文档。 其他Xcode自动完成功能是您最好的朋友。

核心ML是另一回事。 它不是专门针对面孔的。 您可以使用自己的模型并预测您想要的任何内容。 所以如果你有一个人脸识别模型,那就去吧! 视觉框架通过VNCoreMLModel对CoreML模型提供了一些支持

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM