人脸检测在 FirebaseMLVision 中无法正常工作 iPhone X 肖像?
Posted
技术标签:
【中文标题】人脸检测在 FirebaseMLVision 中无法正常工作 iPhone X 肖像?【英文标题】:Face Detection is Not Working iPhone X Portrait in FirebaseMLVision? 【发布时间】:2019-09-11 05:29:48 【问题描述】:我已经使用 google api 进行人脸检测。所以我已经通过 firebase 集成,也从 firebase 安装了框架。
当设备处于横向时,人脸检测在 iPhonex 中工作正常 模式。
但是当设备处于纵向模式时,它就不起作用了。
我已经调试,发现在FirebaseMLVision.framework
有processImage
传递图像的方法,但是当设备处于纵向时,结果总是空白。
方法 FirebaseMLVision.framework
- (void)processImage:(FIRVisionImage *)image
completion:(FIRVisionFaceDetectionCallback)completion
NS_SWIFT_NAME(process(_:completion:));
我如下调用:
[_faceRecognizer
processImage:image
completion:^(NSArray<FIRVisionFace *> *faces, NSError *error)
if (error != nil || faces == nil)
completed(emptyResult);
else
completed([self processFaces:faces]);
];
请帮我看看有什么问题。
谢谢。
【问题讨论】:
如果您认为 SDK 运行不正常,请向 Firebase 支持提交错误报告。 support.google.com/firebase/contact/support @DougStevenson 好的,发送报告。 【参考方案1】:您是否试用过快速入门 mlvision 示例应用程序?它的人脸检测在 iPhone X 纵向模式下应该可以正常工作。
【讨论】:
这里是快速入门 mlvision 示例应用程序的链接:github.com/firebase/quickstart-ios/tree/master/mlvision【参考方案2】:我也遇到了同样的问题,但是已经解决了。 如果垂直长度超过 1280,则似乎无法检测到传递给 MLKit 的图像。
如果您使用的是AVCaptureSession
,请尝试更改sessionPreset
的值。
let captureSession = AVCaptureSession()
captureSession.sessionPreset = .hd1280x720
通过将输出图像的分辨率固定为720x1280,可以正常检测到人脸。
如果您没有使用 AVCaptureSession,请尝试更改图像分辨率。
【讨论】:
以上是关于人脸检测在 FirebaseMLVision 中无法正常工作 iPhone X 肖像?的主要内容,如果未能解决你的问题,请参考以下文章