Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
models
提交
90a40e8c
M
models
项目概览
PaddlePaddle
/
models
大约 1 年 前同步成功
通知
222
Star
6828
Fork
2962
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
602
列表
看板
标记
里程碑
合并请求
255
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
models
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
602
Issue
602
列表
看板
标记
里程碑
合并请求
255
合并请求
255
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
90a40e8c
编写于
7月 03, 2018
作者:
Q
qingqing01
提交者:
GitHub
7月 03, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Small fix for doc. (#1028)
* Small fix for doc.
上级
e9d5a403
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
32 addition
and
34 deletion
+32
-34
fluid/face_detection/README.md
fluid/face_detection/README.md
+1
-0
fluid/face_detection/README_cn.md
fluid/face_detection/README_cn.md
+31
-34
未找到文件。
fluid/face_detection/README.md
0 → 120000
浏览文件 @
90a40e8c
README_cn.md
\ No newline at end of file
fluid/face_detection/README_cn.md
浏览文件 @
90a40e8c
...
...
@@ -15,8 +15,9 @@
### 简介
在不受控制的环境中,检测小的、模糊的和部分遮挡的人脸是一个挑战。
[
PyramidBox
](
https://arxiv.org/pdf/1803.07737.pdf
)
是一种基于SSD的单阶段人脸检测器,它利用上下文信息解决困难人脸的检测问题。如下图所示,PyramidBox在六个尺度的特征图上进行不同层级的预测。该工作主要包括以下模块:LFPN、Pyramid Anchors、CPM、Data-anchor-sampling。具体可以参考该方法对应的论文 https://arxiv.org/pdf/1803.07737.pdf ,下面进行简要的介绍。
<p
align=
"center"
>
<img
src=
"images/architecture_of_pyramidbox.jpg"
height=
3
00
width=
900
hspace=
'10'
/>
<br
/>
<img
src=
"images/architecture_of_pyramidbox.jpg"
height=
3
16
width=
415
hspace=
'10'
/>
<br
/>
Pyramidbox 人脸检测模型
</p>
...
...
@@ -30,7 +31,7 @@ Pyramidbox 人脸检测模型
Pyramidbox模型可以在以下示例图片上展示鲁棒的检测性能,该图有一千张人脸,该模型检测出其中的880张人脸。
<p
align=
"center"
>
<img
src=
"images/demo_img.jpg"
height=
300
width=
900
hspace=
'10'
/>
<br
/>
<img
src=
"images/demo_img.jpg"
height=
255
width=
455
hspace=
'10'
/>
<br
/>
Pyramidbox 人脸检测性能展示
</p>
...
...
@@ -102,9 +103,9 @@ python -u train.py --batch_size=16 --pretrained_model=vgg_ilsvrc_16_fc_reduced
模型训练所采用的数据增强:
**数据增强**
:数据的读取行为定义在
`reader.py`
中,所有的图片都会被缩放到640x640。在训练时还会对图片进行数据增强,包括随机扰动、
扩张、翻转、裁剪,和
[
物体检测
](
https://github.com/PaddlePaddle/models/blob/develop/fluid/object_detection/README_cn.md#%E8%AE%AD%E7%BB%83-pascal-voc-%E6%95%B0%E6%8D%AE%E9%9B%86
)
中数据增强类似,除此之外,增加了上面提到的Data-anchor-sampling:
**数据增强**
:数据的读取行为定义在
`reader.py`
中,所有的图片都会被缩放到640x640。在训练时还会对图片进行数据增强,包括随机扰动、
翻转、裁剪等,和
[
物体检测SSD算法
](
https://github.com/PaddlePaddle/models/blob/develop/fluid/object_detection/README_cn.md#%E8%AE%AD%E7%BB%83-pascal-voc-%E6%95%B0%E6%8D%AE%E9%9B%86
)
中数据增强类似,除此之外,增加了上面提到的Data-anchor-sampling:
**尺度变换(Data-anchor-sampling)**
:根据SSD模型中anchor的配置来随机将图片尺度变换到一定范围的尺度,大大增强人脸的尺度变化。具体操作为根据随机选择的人脸长heigh
和宽width,得到$val=
\s
qrt{width
*heigh}$,判断$val$的值在表示scale相关的向量的哪个区间[16,32,64,128,256,512]。假设val=45,则选定32<val<64,以均匀分布的概率选取[16,32,64]中的任意一个值。若选中64,则该人脸的resize区间在[64/2,min(val*
2, 64
*
2)]
中选定。
**尺度变换(Data-anchor-sampling)**
:根据SSD模型中anchor的配置来随机将图片尺度变换到一定范围的尺度,大大增强人脸的尺度变化。具体操作为根据随机选择的人脸长heigh
t和宽width,得到$v=
\\
sqrt{width
* height}$,判断$vl$的值在表示scale相关的向量的哪个区间$[16,32,64,128,256,512]$。假设$v=45$,则选定$32<v<64$,以均匀分布的概率选取$[16,32,64]$中的任意一个值。若选中$64$,则该人脸的缩放区间在 $[64 / 2,min(v *
2, 64
*
2)]$
中选定。
...
...
@@ -117,45 +118,41 @@ python -u train.py --batch_size=16 --pretrained_model=vgg_ilsvrc_16_fc_reduced
验证集的评估需要两个步骤:先预测出验证集的检测框和置信度,再利用WIDER FACE官方提供的评估脚本得到评估结果。
1.
预测检测结果
```
bash
python
-u
widerface_eval.py
--model_dir
=
output/159
--save_dir
=
pred
```
-
预测检测结果
更多的可选参数:
```
bash
python
-u
widerface_eval.py
--model_dir
=
output/159
--save_dir
=
pred
```
更多的可选参数:
```
bash
python
-u
widerface_eval.py
--help
```
```
bash
python
-u
widerface_eval.py
--help
```
**注意**
:
`widerface_eval.py`
中
`multi_scale_test_pyramid`
可用可不用,由于Data-anchor-sampling的作用,更加密集的anchors对性能有更大的提升。
-
评估AP指标
-
评估优化:
`widerface_eval.py`
中multi_scale_test_pyramid可用可不用,由于Data-anchor-sampling的作用,更加密集的anchors对性能有更大的提升。
下载官方评估脚本,评估average precision(AP)指标:
2.
评估指标
```
bash
wget http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/support/eval_script/eval_tools.zip
unzip eval_tools.zip
&&
rm
-f
eval_tools.zip
```
下载官方评估脚本:
修改
`eval_tools/wider_eval.m`
中检测结果保存的路径和将要画出的曲线名称:
```
wget http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/support/eval_script/eval_tools.zip
unzip eval_tools.zip && rm -f eval_tools.zip
```
```
txt
# 此处修改存放结果的文件夹名字
pred_dir = './pred';
# 此处修改将要画出的曲线名称
legend_name = 'Fluid-PyramidBox';
```
修改
`eval_tools/wider_eval.m`
中检测结果保存的路径和将要画出的曲线名称:
```
# 此处修改存放结果的文件夹名字
pred_dir = './pred';
# 此处修改将要画出的曲线名称
legend_name = 'Fluid-PyramidBox';
```
`wider_eval.m`
是评估模块的主要执行程序,命令行式的运行命令如下:
```
bash
matlab
-nodesktop
-nosplash
-nojvm
-r
"run wider_eval.m;quit;"
```
`wider_eval.m`
是评估模块的主要执行程序,命令行式的运行命令如下:
```
bash
matlab
-nodesktop
-nosplash
-nojvm
-r
"run wider_eval.m;quit;"
```
### 模型发布
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录