引用:(9条消息) 树莓派上几种人脸检测模型对比_熊叫大雄的博客-CSDN博客https://blog.csdn.net/yz2zcx/article/details/105467106
首先在可以参考上述博客。
可知主流几款人脸检测模型MTCNN,CenterFace,RetinaFace,UltraFace-1MB,LFFD在树莓派上的运行时间。以下为结论:
测试图片:Selfie.jpg
分辨率:2048*1150,大小,417Kb
测试模型和地址:
模型 地址
MTCNN https://github.com/ElegantGod/ncnn
CenterFace https://github.com/Star-Clouds/CenterFace
https://github.com/MirrorYuChen/ncnn_example
RetinaFace https://github.com/deepinsight/insightface
https://github.com/deepinsight/insightface/issues/669
UltraFace-1MB https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB
LFFD https://github.com/SyGoing/LFFD-with-ncnn
MTCNN
设置了阈值参数:PNet、RNet、ONet三个模型的输出阈值设置了0.4、0.2、0.2,factor阈值设置了0.9,最后检测出了33张人脸,用了1081.62ms。
CenterFace
尺寸:(512,256),阈值0.4,时间:511.463ms,人脸检测数量:46:
尺寸:(1024,512),阈值0.4,时间:2903.19ms,人脸检测数量:193:
尺寸:(2048,1150),阈值0.4,时间:11726.5ms,人脸检测数量:499:
RetinaFace
RetinaFace的操作与CenterFace类似,它可以指定输入的尺寸,也可以修改阈值,所以我也设置了相同的尺寸:。
尺寸:(512,256),阈值0.4,时间:170.906ms,人脸检测数量:27:
尺寸:(1024,512),阈值0.4,时间:649.532ms,人脸检测数量:149:
尺寸:(2048,1150),阈值0.4,时间:3926.29ms,人脸检测数量:457:
UltraFace-1MB
UltraFace-1MB的操作也与CenterFace类似,它可以指定输入的尺寸,也可以修改阈值,所以我也同样设置了相同的尺寸:。
尺寸:(512,256),阈值0.4,时间:257.864ms,人脸检测数量:299:
尺寸:(1024,512),阈值0.4,时间:1106.54ms,人脸检测数量:565:
尺寸:(2048,1150),阈值0.4,时间:4515.47ms,人脸检测数量:695:
LFFD
追加一个LFFD,效果也是挺好的,速度稍微慢一丢丢哈:。
尺寸:(512,256),阈值0.4,时间:1094.84ms,人脸检测数量:81:
尺寸:(1024,512),阈值0.4,时间:4683.66ms,人脸检测数量:283:
尺寸:(2048,1150),阈值0.4,时间:25551.5ms,人脸检测数量:578:
---------------------------------------------------------------
补充:在瑞芯微RK3399上的性能比较,安卓操作系统,tflite和ncnn。以下仅为模型中的推理时间,不含数据前处理。一般而言图像前处理resize和convert大概需要20ms-50ms不等。可以先对图片resize,然后convert时间开销可降低至20ms。
yolox-s 在RK3399上使用tflite约为1000ms。
mobile-ssd 在RK3399上使用tflite约为200ms。输入尺寸:320*320
retinaface 在RK3399上使用ncnn约为200ms。输入尺寸:640*640
ultraface 在RK3399上使用ncnn约为50ms-60ms,int8量化后约为40ms-50ms。输入尺寸:320*240。在x86,i5 10400cpu上约为20ms。优点:模型小(1.2mb,量化后仅有280kb),速度快。缺点:精度低,没有关键点检测。
ultraface 使用Global进行结构化剪枝,amount = 0.2,测试多张图像。速度提高(1.76s-1.70s)/1.76s=3.4%。
裁减前:
Found 142 faces. The output image is ./detect_imgs_results
Inference time: 0.001718
Found 2 faces. The output image is ./detect_imgs_results
736
total: time: 1.7611794471740723
裁减后:
Found 114 faces. The output image is ./detect_imgs_results
Inference time: 0.00176
Found 2 faces. The output image is ./detect_imgs_results
655
total: time: 1.7013559341430664
DB-face 在x86,i5 10400cpu上约为1000ms。优点:模型小(1.3mb),精度高。缺点:时间慢。
在树莓派的时间开销和RK3399的对比可参考,参考文章和本文章的ultraface模型性能比较。
在x86上的时间开销可参考,两篇文章在DBFace模型性能比较。 参考文章DBFace在树莓派上开销为5s-6s。