pzhren / Caffe2

人脸检测

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Caffe2

数据获取: 1、Benchmark是一个行业的基准(数据库、论文、代码) 2、正负样本的裁剪操作

训练与验证阶段

制作lmdb数据集:

去face-detection benchmark下载数据集-->使用creatlist.sh制作val.txt\train.txt文件-->使用face-lmdb.sh制作lmdb数据集

构建net网络结构:

生产配置文件网络的文件:train.prototxt

设置超参数:

设置超参数文件:solver.prototxt

训练网络模型:

使用train.sh训练网络模型

进行多尺度scale变换:

模型训练完成之后,模型只能识别大小为227227的人脸,因此如果想要对实际情况中大小不一的人脸进行识别则需要将初始输入的图像进行多尺度变换,以期能够得到一个227227的可供识别的人脸。

检测阶段

多尺度人脸检测

使用全卷积层替换全连接层:

步骤5以及实际图片大小不一致造成了训练模型网络中的全连接层无法工作,因为全连接层神经单元的个数是被写死的。因此,为了使我们的模型也能够处理多尺度数据的输入,将使用全卷积层来代替全连接层。

多个scale

前向传播,得到特征图,即得到概率矩阵

反变换,映射到原图上的坐标值

NMS非极大值抑制

问题:速度慢,对每一个scale都进行了一遍前向传播 解决:采用级联操作,加上矫正网络

About

人脸检测


Languages

Language:Jupyter Notebook 100.0%