2014-12-29 1 views
3

Я использовал локальное обнаружение лиц на Android на устройстве Android, но это кажется довольно медленным, и я не уверен в надежности. Я также использовал обнаружение лица OpenCV, но только на ПК, в отличие от устройства Android. Для Android я предполагаю, что мне придется использовать JavaCV (или OpenCV4Android?).Обнаружение лица Android API против обнаружения лица OpenCV/JavaCV

Знаете ли вы, что разница в скорости между интерфейсом Android API и обнаружением лица OpenCV? Я уверен, что OpenCV/JavaCV эффективнее, быстрее и точнее, но не может подтвердить.

Спасибо!

+2

попытайтесь использовать lbp-каскад вместо haarcascade. (намного быстрее) – berak

ответ

2

Предложение: Если вы ищете для обнаружения лица, я предлагаю вам использовать платформу конкретной APIs как FaceDetector, а не OpenCV Java обертка. Это связано с тем, что эти API будут аппаратно ускорены (GPU) в отличие от обнаружения лица OpenCV, которые до версии 3.0 полагались только на процессор.

Разница в скорости, которую вы воспринимаете между настольным и мобильным устройством, должна отличаться от аппаратного обеспечения устройства (например, ЦП), а не из-за различных оболочек библиотек, таких как 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