来源:公众号 量子位 授权转载
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
作者系网易新闻·网易号“各有态度”签约作者