• 人脸检测几种模型在RK3399上推理速度对比


    引用:(9条消息) 树莓派上几种人脸检测模型对比_熊叫大雄的博客-CSDN博客https://blog.csdn.net/yz2zcx/article/details/105467106

    首先在可以参考上述博客。

    可知主流几款人脸检测模型MTCNN,CenterFace,RetinaFace,UltraFace-1MB,LFFD在树莓派上的运行时间。以下为结论:

    测试图片:Selfie.jpg

    分辨率:2048*1150,大小,417Kb

    测试模型和地址:

    1. 模型 地址
    2. MTCNN https://github.com/ElegantGod/ncnn
    3. CenterFace https://github.com/Star-Clouds/CenterFace
    4. https://github.com/MirrorYuChen/ncnn_example
    5. RetinaFace https://github.com/deepinsight/insightface
    6. https://github.com/deepinsight/insightface/issues/669
    7. UltraFace-1MB https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB
    8. LFFD https://github.com/SyGoing/LFFD-with-ncnn

    运行推理框架: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),速度快。缺点:精度低,没有关键点检测。

    DB-face  在x86,i5 10400cpu上约为1000ms。优点:模型小(1.3mb),精度高。缺点:时间慢。

    树莓派的时间开销和RK3399的对比可参考,参考文章和本文章的ultraface模型性能比较。

    x86上的时间开销可参考,两篇文章在DBFace模型性能比较。 参考文章DBFace在树莓派上开销为5s-6s。

  • 相关阅读:
    Python学习 day02(注意事项)
    求解答pycharm弹窗显示的问题
    做自媒体不知道怎样变现?7大变现方法分享
    【Linux】死锁理解
    Python接口自动化测试 —— Selenium+pytest+数据驱动
    【无标题】
    MobPush 推送查询API
    【C++庖丁解牛】高阶数据结构---红黑树详解
    Linux信号量
    MMML-CMU 学习笔记_No.1 Multimodal Introduction
  • 原文地址:https://blog.csdn.net/qq_38806886/article/details/126141781