检测到面部后,需要100ms才能获得面部标志。 FPS约为6,full_object_detection shape = sp(img, det);
此代码的成本为100毫秒,如何提高面部地标检测的速度?
答案 0 :(得分:0)
即使我最初遇到同样的问题。
我建议你做两件事:
调整帧的大小以进行检测任务(例如: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);
在检测过程中略过帧:
#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)中进行检测。此外,如果有任何其他技术,请建议。它也会对我有所帮助。谢谢。祝你好运。