文 / Christiaan Prins 产品经理
如果您正在或想要构建一个可视化应用,那么 ML Kit 新添加的面部轮廓检测功能肯定会让您倾心。借助 ML Kit,您可以利用许多常见的机器学习 (ML) 用例,例如使用计算机视觉检测面部。需要知道在照片中把帽子戴在头上的哪个部位?想要在眼睛上放置一副眼镜?或者只想在左眼上放置一个单片眼镜。ML Kit 的人脸检测功能都可以做到。在本篇文章中,我们将讨论新添加的面部轮廓功能,该功能允许您在 Android 或 iOS 平台上构建更出色的可视化应用。
检测面部轮廓
现在,您只需几个配置选项,即可检测详细的面部轮廓。轮廓是 100 多个点的集合,能够勾勒出面部和常见特征,例如眼睛、鼻子和嘴巴。具体如下图所示。请注意,当图中人物挑眉时,轮廓点也会相应移动以进行匹配。高级相机应用正是通过这些点在用户面部设置创意滤镜和艺术镜头。
设置检测这些点的人脸检测器只需短短几行代码。
lazy var vision = Vision.vision()
let options = VisionFaceDetectorOptions()
options.contourMode = .all
let faceDetector = vision.faceDetector(options: options)
轮廓点还可以实时更新。为达到理想的帧速率,人脸探测器默认配置为 fast 模式。
当您准备好检测面部的点时,请向 ML Kit 发送一张图像或一个缓冲区供其处理。
faceDetector.process(visionImage) { faces, error in
guard error == nil,