在过去的几天里,当play-services-vision
库中的人脸检测算法工作时,我一直在考虑"预测我的脸会在哪里"。现在我得出的结论是,我需要算法处理最后一个预览帧所需的时间。
我怎么知道算法处理预览帧需要多长时间?
检测时间会因设备、图像分辨率和创建人脸检测器时使用的设置而异。例如,当启用地标检测时,检测将花费更长的时间,但如果只寻找单个突出的人脸,检测将更快。
我建议您使用设备/设置对具有代表性的图像进行基准测试,以了解目标环境中的平均检测时间。
你可以这样计时人脸检测:
Frame frame = Frame.Builder().setBitmap(myBitmap).build();
long startTimeMs = System.currentTimeMillis();
myFaceDetector.detect(frame);
long elapsedMs = System.currentTimeMillis() - startTimeMs;
System.out.println("Elapsed time: " + elapsedMs);