【问题标题】:Android API face detection vs. OpenCV/JavaCV face detectionAndroid API 人脸检测与 OpenCV/JavaCV 人脸检测
【发布时间】:2014-12-29 05:43:07
【问题描述】:

我在 Android 设备上使用了本地 Android 人脸检测,但它看起来很慢,而且我不太确定可靠性。我也使用过 OpenCV 的人脸检测,但仅限于 PC,而不是 Android 设备。对于 Android,我猜我必须使用 JavaCV(或 OpenCV4Android?)。

你知道Android API的人脸检测和OpenCV的人脸检测在速度上有什么区别吗?我确信 OpenCV/JavaCV 更高效/更快且更准确,但无法确认。

谢谢!

【问题讨论】:

  • 尝试使用 lbp 级联而不是 haarcascade。 (快得多)

标签: android opencv face-detection


【解决方案1】:

建议:如果您正在寻找人脸检测,我建议您使用特定于平台的APIs,例如FaceDetector,而不是OpenCV Java 包装器。这是因为这些 API 将是硬件加速 (GPU),而 OpenCV 人脸检测在 3.0 版之前仅依赖于 CPU。

您认为台式机和移动设备之间的速度差异应该是由于设备硬件(如 CPU)的差异,而不是因为 JavaCV/OpenCV4Android 等不同的库包装器。 OpenCV 是用 C/C++ 编写的。所有处理密集型代码仍在 C/C++ 中,Java 库只是 JNI 的包装器。

  1. OpenCV4Android - OpenCV.org 维护 Android Java 包装器。推荐。
  2. OpenCV Java - OpenCV.org 维护自动生成的桌面 Java 包装器。
  3. JavaCV - 由独立开发人员维护的流行 Java 包装器。不是安卓特定的。此库可能与 OpenCV 较新版本不同步。

【讨论】:

  • 请注意,android平台的FaceDetector api只是一个接口。它可能会或可能不会实际实施(例如在便宜的平板电脑上)
猜你喜欢
  • 2012-05-18
  • 2013-11-07
  • 2013-09-24
  • 2012-02-04
  • 2013-05-24
  • 1970-01-01
  • 2014-01-31
  • 2012-04-15
  • 2019-11-18
相关资源
最近更新 更多