【问题标题】:New Android Face API limitations新的 Android 人脸 API 限制
【发布时间】:2015-11-09 13:13:33
【问题描述】:

我一直在测试为 android 开发的新人脸 API,注意到即使启用了“ACCURATE_MODE”,它也不会检测到旧 FaceDetector API 用来检测的人脸,我也想知道位图编码的效果“ RGB_565" vs "ARGB_888" 产生的结果。

【问题讨论】:

  • 你能举一些例子吗?与对您不起作用的示例有什么共同点吗? (例如,非常小的脸?)。
  • 在我看来,与图像尺寸相比,面部尺寸必须处于“适当的比例”才能被检测到。因此,人脸不一定很小不会被检测到,但与图像大小相比它们很小。如果我在运行时裁剪图像并将其传递给检测器,它将检测这些人脸,并且随着我放大更多(通过裁剪原始图像的较小尺寸)它会在我有多个人脸的情况下检测到更多人脸图像中的面孔。
  • 有道理。请参阅下面对我的答案的修改,它解释了这个问题。

标签: android face-detection vision google-vision


【解决方案1】:

更新:

问题在于人脸检测器默认设置为仅检测至少 10% 的人脸(作为性能优化)。

新的 Google Play 服务 8.4 版本支持将此最小人脸尺寸设置得更低,从而能够检测到更小的人脸。在此处查看 setMinFaceSize 方法:

https://developers.google.com/android/reference/com/google/android/gms/vision/face/FaceDetector.Builder.html#setMinFaceSize(float)

【讨论】:

  • 我认为没有办法操纵这些数字,考虑到我不一定知道它们在图像中的位置和比例是多少,关于如何检测图像中较小的面孔的任何建议人脸可能与图像大小相比
  • 根据我的经验,图像的宽度并不是唯一的因素,我还必须对高度进行切片以检测大多数人脸,例如 400x400 的重叠切片。
  • 参见上面的更新,它允许在不需要切片的情况下检测到较小的人脸。
  • 新版本本身是否也包含了 safeDetector 补丁?
  • 是的,新版本包含此补丁,因此不再需要 SafeDetector。
【解决方案2】:

我在我们的 ObscuraCam[0] 项目中看到了同样的问题,因此我同时使用旧 API 和新 API 来尝试最大化检测。

新的 API 似乎只是在提供有关人脸标志和表情分类的详细信息方面更好,而不是在实际检测人脸或部分人脸的能力方面。

[0]https://github.com/guardianproject/obscuracam

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    相关资源
    最近更新 更多