来源:于仕琪@微信公众号

我们的开源人脸检测算法,新增加了五点人脸检测功能。这是一个开源的CNN算法,在GitHub上已经获得8000个星。

项目地址:

https://github.com/ShiqiYu/libfacedetection

开源极速人脸检测库libfacedetection升级,新增五点检测功能

 

新版本特点

 

疫情期间,在家疯狂尝试各种想法,大部分失败了,但最后一个成功了。成功的算法体现在代码里。与之前的版本相比,主要变化有:

 

  1. 增加了五点人脸关键点检测,关键点检测和人脸检测同步进行。

  2. 计算量未增加

 

此开源人脸检测库libfacedetection,有如下特点:

 

  1. 卷积操作无浮点计算,算法基本全是8位整数操作。

  2. 采用AVX512/AVX2/NEON指令提速。

  3. 代码更加简短和简洁,只有一千多行代码。

  4. 代码不依赖任何其他第三方库,只要平台能编译C++则可使用。

  5. 项目License采用3-Clause BSD License,可以商业应用!

 

算法运行速度如下:

开源极速人脸检测库libfacedetection升级,新增五点检测功能

 

PyTorch训练程序开源

训练V3这个新模型时,没有继续使用Caffe进行训练,而改用了PyTorch。因为训练时会涉及频繁的模型修改,PyTorch在自定义模型方面比Caffe更加方便。

新的PyTorch训练程序参考了中科院自动化所张士峰的GitHub项目FaceBoxes.PyTorch以及Max deGroot的GitHub项目ssd.pytorch,并把代码整理的更简洁。

之所以能够人脸检测和关键点检测同时做,是采用了下面策略:

  • 前100个Epoch仅训练人脸检测;

  • 后400个Epoch人脸检测和关键点检测交替训练。

本项目的亮点是将训练好的模型进行8位定点化,并自动生成libfacedetection库所需的CPP文件;还可以自动将卷积层conv和批归一化层bn进行融合,使之成为一个新的卷积层,这样不需要再进行bn操作,以提升速度。定点化和层融合详见Readme文档和代码。

项目网址:

https://github.com/ShiqiYu/libfacedetection.train

相关文章:

  • 2021-09-19
  • 2021-12-29
  • 2021-05-22
  • 2021-12-30
  • 2021-04-09
  • 2021-12-02
  • 2021-04-03
  • 2021-05-20
猜你喜欢
  • 2021-05-08
  • 2022-01-10
  • 2021-08-15
  • 2021-10-13
  • 2022-12-23
  • 2021-10-07
相关资源
相似解决方案