android:我使用dlib实时获取面部地标,想要在面部地标检测时帮助提高速度

时间:2017-03-31 10:45:35

标签: android dlib

检测到面部后,需要100ms才能获得面部标志。 FPS约为6,full_object_detection shape = sp(img, det);此代码的成本为100毫秒,如何提高面部地标检测的速度?

1 个答案:

答案 0 :(得分:0)

即使我最初遇到同样的问题。

我建议你做两件事:

  1. 调整帧的大小以进行检测任务(例如:1280 * 960帧到320 * 240分辨率) 您可以使用opencv方法:

    #define FACE_DOWNSAMPLE_RATIO 4

    cv::resize(image, image_small, cv::Size(), 1.0/FACE_DOWNSAMPLE_RATIO, 1.0/FACE_DOWNSAMPLE_RATIO);

  2. 在检测过程中略过帧:

    #define SKIP_FRAMES 4

    static int counts=0;

    if ( counts % SKIP_FRAMES == 0 ) {

    faces = detector(cimg_small);

    }

    cimg_small是dlib类型的图像:(pixel_traits:bgr_pixel)

    请参阅此链接:Here。如果你以原生方法执行这两个过程,你将获得13-17 fps。如果您仍然希望提高FPS /检测率,则应该更快,您可以在特定的ROI(如MSQRD App)中进行检测。此外,如果有任何其他技术,请建议。它也会对我有所帮助。谢谢。祝你好运。