近日,用户Linzaer在Github上开源了一款适用于边缘计算设备、移动端设备以及 PC 的超轻量级通用人脸检测模型,该模型文件大小仅1MB,一经开源就霸榜Github Trending榜单。
短短几天时间,已经在Github上标星2.1K,398个Fork(Github地址:https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB)
据Linzaer介绍,该模型设计是针对边缘计算设备或低算力设备(如用ARM推理)设计的,可以在低算力设备中如用ARM进行实时的通用场景的人脸检测推理,同样适用于移动端、PC。
主要具有如下特性:
- 在模型大小上,默认FP32精度下(.pth)文件大小为 1.04~1.1MB,推理框架int8量化后大小为 300KB 左右。
- 在模型计算量上,320x240的输入分辨率下 90~109 MFlops左右。
- 模型有两个版本,version-slim(主干精简速度略快),version-RFB(加入了修改后的RFB模块,精度更高)。
- 提供了320x240、640x480不同输入分辨率下使用widerface训练的预训练模型,更好的工作于不同的应用场景。
- 支持onnx导出,便于移植推理。
目前测试过正常的运行环境如下:
- Ubuntu16.04、Ubuntu18.04、Windows 10(inference)
- Python3.6
- Pytorch1.2
- CUDA10.0 + CUDNN7.6
精度、速度、模型大小比较
训练集是使用Retinaface提供的清理过的widerface标签配合widerface数据集生成VOC训练集
Widerface测试
在WIDER FACE test集测试精度(单尺度输入分辨率:320*240 或按最大边长320等比缩放)
在WIDER FACE test集测试精度(单尺度输入分辨率:VGA 640*480 或按最大边长640等比缩放 )
终端设备推理速度
树莓派4B MNN推理测试耗时 (单位:ms)(ARM/A72x4/1.5GHz/输入分辨率 : 320x240 /int8量化)
模型大小比较
图片效果如下: