README.md 3.28 KB
Newer Older
chenych's avatar
chenych committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# CenterFace
## 论文
[CenterFace: Joint Face Detection and Alignment Using Face as Point](https://arxiv.org/abs/1911.03599)

## 模型结构
CenterFace是一种人脸检测算法,采用了轻量级网络mobileNetV2作为主干网络,结合特征金字塔网络(FPN)实现anchor free的人脸检测。
![Architecture of the CenterFace](Architecture of the CenterFace.png)

## 算法原理
CenterFace模型是一种基于单阶段人脸检测算法,作者借鉴了CenterNet的思想,将人脸检测转换为标准点问题,根据人脸中心点来回归人脸框的大小和五个标志点。

## 环境配置
### Docker(方法一)

```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.13.1-centos7.6-dtk-23.04.1-py38-latest

docker run docker run -it -v /path/your_code_data/:/path/your_code_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash

cd /path/workspace/
pip3 install -r requirements.txt
```

### Dockerfile(方法二)

```
cd ./docker

docker build --no-cache -t centerface:latest .

docker run -it -v /path/your_code_data/:/path/your_code_data/ --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
```

### Anaconda(方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/

```
DTK软件栈:dtk23.04.1
python:python3.8
torch:1.13.1
torchvision:0.14.1
```
`Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应`

2、其他非特殊库直接按照requirements.txt安装

```
pip3 install -r requirements.txt
```

## 数据集

[WIDER_FACE](http://shuoyang1213.me/WIDERFACE/index.html)

![datasets](datasets.png)

下载图片红框中三个数据并解压,也可直接点击下面链接直接下载:

[WIDER Face Training Images(Tencent Drive)](https://share.weiyun.com/5WjCBWV)

[WIDER Face Validation Images(Tencent Drive)](https://share.weiyun.com/5ot9Qv1)

[WIDER Face Testing Images(Tencent Drive)](https://share.weiyun.com/5vSUomP)

annotation文件使用的是coco的格式,可以通过百度网盘下载

[Baidu](https://pan.baidu.com/s/1j_2wggZ3bvCuOAfZvjWqTg) 提取码:f9hh

数据集全部解压后的目录结构如下:

```
├── WIDER_train
│   ├── images
├── WIDER_test
│   ├── images
├── WIDER_val
│   ├── images
├── annotations
│   ├── train_wider_face.json
│   ├── val_wider_face.json

```

## 训练
### 单机单卡

```
cd ./src
bash train.sh
```

### 单机多卡

```
cd ./src
bash train_multi.sh
```

## 推理
#### 单卡推理
```
cd ./src
python test_wider_face.py
```

## result
![Result](draw_img.jpg)

### 精度
WIDER_FACE验证集上的测试结果如下

| Method | Easy | Medium | Hard|
|:--------:| :--------:| :---------:| :------:|
| ours(one scale) | 0.9264 | 0.9133 | 0.7479 |
| original | 0.922 | 0.911  | 0.782|


## 应用场景
### 算法类别
人脸识别

### 热点应用行业
教育,交通,公安,医疗

## 预训练权重
./models/model_best.pth

## 源码仓库及问题反馈
chenych's avatar
Add .sh  
chenych committed
130
https://developer.hpccube.com/codes/modelzoo/centerface_pytorch
chenych's avatar
chenych committed
131
132
133

## 参考资料
https://github.com/chenjun2hao/CenterFace.pytorch