乾明 编辑整理
量子位 报道 公众号 QbitAI
AI 模型越来越小,需要的算力也也来越弱,但精度依旧有保障。
最新代表,是一个刚在 GitHub 上开源的中文项目:一款超轻量级通用人脸检测模型。
项目贡献者介绍,这一模型大小文件仅 1MB,320x240 输入下计算量仅 90MFlops。
当然,效果也不弱于当前业界主流的开源人脸检测算法,甚至有所超越。
超轻量、通用
这一模型的贡献者为linzai,他介绍称,这是针对边缘计算设备或低算力设备(如用 ARM 推理)设计的一款实时超轻量级通用人脸检测模型:
默认 FP32 精度下(.pth)文件大小为 1.1MB,推理框架 int8 量化后大小为 300KB 左右。
目标就是在低算力设备中用 ARM 进行实时的通用场景的人脸检测推理。同时,这也适用于移动端环境(Android & IOS)、PC 环境(CPU & GPU )等等。
GitHub 项目页面介绍称,模型已经在 Ubuntu16.04、Ubuntu18.04、Windows 10;Python3.6;Pytorch1.2;CUDA10.0 + CUDNN7.6 等环境进行过测试,都能够保证正常运行。
模型设计,一共有两个版本,分别是:1)version-slim,主干精简速度略快,2)version-RFB,加入了修改后的 RFB 模块,精度更高。
而且还提供了 320x240、640x480 不同输入分辨率下使用 widerface 训练的预训练模型,能够更好的工作于不同的场景。
linzai 介绍称,整个项目中没有特殊算子,支持 onnx 导出,从而便于移植推理。
效果不弱于当前主流开源算法
如此模型,效果/精度到底如何?
linzai 也在 GitHub 项目页面放出了这一模型在精度、速度、场景测试、大小方面的测试。
参赛选手有两个,一个是 Libfacedetection,OpenCV 中文站站长于仕琪开源的人脸检测算法。
另一个是 Retinaface-Mobilenet-0.25 (Mxnet)——当前业界最先进的开源人脸检测算法之一。
在 Widerface 数据集上的测试结果如下:
version-slim/version-RFB 基本上都能够实现最优结果。
在树莓派 4B MNN 推理测试耗时上的测试结果为:
对比之下,version-slim 版本的速度也不在下风。
在地铁站、万达广场、办公室等场景进行测试,结果上 version-RFB 也比较有优势。
更重要的是,新开源模型的轻量性:
传送门
在这个项目的 GitHub 页面,linzai 也分享了如何生成 VOC 格式训练数据集以及训练流程,以及如何更好的使用这一模型的方法。
如果你有兴趣,请收好传送门:
https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB