coneypo / Dlib_face_recognition_from_camera

Detect and recognize the faces from camera / 调用摄像头进行人脸识别,支持多张人脸同时识别
http://www.cnblogs.com/AdaminXie/p/9010298.html
MIT License
2.07k stars 572 forks source link

作者你好,这个Dlib这个框架的运行的时候FPS太小了,只能到2怎么解决呢? #24

Closed jwwc closed 3 years ago

coneypo commented 4 years ago

Hi,

  1. Build Dlib with CUDA, 编译 Dlib 时候选择用 CUDA 加速;
  2. 这里是实时的做识别,所以对于每一帧,都要做 检测 ROI -> 特征点提取 -> 计算欧氏距离比对,所以很慢;所以就算一直一张人脸,它还是要去算,所以其实很费资源,优化的话可以,比如对于第 N 帧,检测出来是 person_n,那对于下一帧,其实要做的就是做 OT 跟踪就好了,不需要再去比对了;
coneypo commented 4 years ago

Hi,

image

可以看到耗时占资源导致 FPS 低的原因是由于计算特征描述子的时候,所以利用 OT 跟踪,只对初始帧做检测+识别,后续帧只做检测+质心跟踪: https://github.com/coneypo/Dlib_face_recognition_from_camera/blob/master/face_reco_from_camera_ot_single_person.py

FPS 可以提高到 28FPS;

coneypo commented 3 years ago

改用 OT 算法之后可以提高 FPS,如果只有人脸数目增加/减少才会做识别,要不然只做检测; 可以参考最新的代码,多谢