Android API人脸检测与OpenCV/JavaCV人脸检测

3
我曾在Android设备上使用本地Android人脸检测,但它似乎非常慢,而且我对其可靠性也不确定。我也使用过OpenCV的人脸检测,但只是在PC上,而不是在Android设备上。对于Android,我猜我将不得不使用JavaCV(或OpenCV4Android?)。
您知道Android API面部检测和OpenCV面部检测之间的速度差异吗?我相信OpenCV / JavaCV既更高效/更快,又更准确,但无法确认。
谢谢!

2
尝试使用lbp-cascade替代haarcascade。(速度要快得多) - berak
1个回答

2
建议:如果您正在寻找面部检测,建议使用特定于平台的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包装器。不特定于Android。该库可能会与OpenCV的新版本不同步。

3
请注意,Android平台的FaceDetector API仅是一个接口。它可能会被实际实现(例如在廉价平板电脑上),也可能不会被实现。 - berak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接