Android 面部检测 - 视觉 API 或相机 API

Android face detection - Vision API or Camera API

我需要一种在我的相机应用程序中检测人脸的简单方法。我只关心一个回调,说在某个地方检测到一张脸,或者在预览中检测到它的坐标。我注意到似乎有几个人脸检测 API - 在 Google Play 服务以及旧版和 camera2 API 中。我应该使用哪一个来满足上述简单要求?

旧版本较旧,准确度远低于新 Google Play 服务 API。

camera2 API 取决于相机硬件内置的人脸检测功能,因此它不一定适用于所有设备。我没有做过详尽的比较,但我认为准确性也低于新 Google Play 服务 API.

请参阅本教程,了解如何使用 Google Play 服务 API 在相机预览中跟踪人脸:

https://developers.google.com/vision/face-tracker-tutorial

您定义的回调将是 Tracker 的子类,类似于教程中的 GraphicFaceTracker。

如果你不需要人脸追踪或者你有其他管理相机的代码,你可以像这样直接调用人脸检测器:

Frame frame = Frame.Builder().setBitmap(myBitmap).build();
SparseArray<Face> faces = faceDetector.detect(frame);

在此处查看信息:

https://developers.google.com/android/reference/com/google/android/gms/vision/package-summary