轻量级高精度人脸检测方法DBFace

757 阅读1分钟

软硬件环境

  • windows 10 64bit
  • DBFace
  • pytorch 1.6
  • opencv 4.4.0

简介

DBFace是一个开源的轻量级(模型只有7兆)的实时人脸检测方法,检测的速度与精度都非常不错。下图展示了多种人脸检测方法在WiderFace数据集上的测试效果,可以看到不仅DBFace模型的大小最小,而且在EasymediumHard三个测试任务中均取得了最高的检测精度。

DBFace

下图展示了不同人脸检测方法在WiderFace数据集上的P-R曲线,可以看出,DBFace包围的面积在三个任务中均相对较大。

DBFace

安装测试

首先创建python虚拟环境

conda create -n dbface python=3.7
conda activate dbface

接下来克隆DBFace的源码并安装必要的依赖库

git clone https://github.com/dlunion/DBFace.git
cd DBFace

# 安装opencv
pip install opencv-python

# 安装pytorch1.6和cuda10.1
pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

修改main.py文件第54行,由

ys = list((indices / hm_width).int().data.numpy())

改为

ys = list((torch.true_divide(indices, hm_width)).int().data.numpy())

然后执行测试脚本

python main.py

程序读取datas下的图片文件进行人脸检测,然后将检测结果保存在detect_result文件夹下

DBFace

DBFace

可以看到在这张全世界最大的自拍图片中,DBFace表现的非常棒,很多人脸,就算是人的肉眼,也很难分辨出。

除了检测图片中的人脸,测试代码中还提供了对usb camera的支持

DBFace

参考资料