swift - CoreML Vision 人脸检测的输入图像尺寸要求是什么
问题描述
我正在使用 Vision 框架来检测图像中的人脸。我在 Apple 的文档中找不到输入图像的要求。通常在使用机器学习模型时,特别是在 CoreML 中使用 .mlmodel 时,它描述了所需的输入。例如Image (Color 112 x 112)
.
let image: UIImage = someUIImage()
let handler = VNImageRequestHandler(ciImage: CIImage(cgImage: (image?.cgImage)!))
let faceRequest = VNDetectFaceLandmarksRequest(completionHandler: { (request: VNRequest, error: Error?) in
guard let observations = request.results as? [VNFaceObservation]
else {
print("unexpected result type from VNFaceObservation")
return
}
self.doSomething(with observations: observations)
})
do {
try handler.perform([faceRequest])
} catch {
print("Face detection failed: \(error)")
}
解决方案
没关系,Vision 会自动处理这个问题。(它可能会或可能不会在后台使用机器学习模型。)
您确实需要确保整个面部/头部在图像中可见,否则面部检测器将无法正常工作。
它也可能不适用于非常小的图像,但我从未尝试过。
推荐阅读
- linux - “apt-cache search”找不到“linux-header-5.8.0-2-amd64”
- laravel - 如何解决 laravel 中同步方法的这个问题?
- mongodb - 当一个数组元素出现在另一个元素之前时匹配(MongoDb)
- javascript - 带范围的简单分页算法
- css - CSS 背景图片精灵调整大小
- java - Java properties.store() 应该只对字符集中的字符进行编码
- sql - Excel VBA Sql:ADODB.Recordset - GetRows(index) 列模拟
- javascript - 如何在导出前从数据表中删除隐藏的单元格数据
- vue.js - 我听不到从发射孩子到父母的交流
- html - 如何使用下面的文本制作环的水平列表