深度学习人脸检测和识别系统 DFace

基于多任务卷积网络(MTCNN)和Center-Loss的多人实时人脸检测和人脸识别系统。

DFace 是个开源的深度学习人脸检测和人脸识别系统。所有功能都采用 pytorch 框架开发。pytorch是一个由facebook开发的深度学习框架,它包含了一些比较有趣的高级特性,例如自动求导,动态构图等。

DFace天然的继承了这些优点,使得它的训练过程可以更加简单方便,并且实现的代码可以更加清晰易懂。 DFace可以利用CUDA来支持GPU加速模式。我们建议尝试linux GPU这种模式,它几乎可以实现实时的效果。

MTCNN 结构

依赖

cuda 8.0

anaconda

pytorch

torchvision

cv2

matplotlib

在这里我提供了一个anaconda的环境依赖文件environment.yml,它能方便你构建自己的虚拟环境。

conda env create -f path/to/environment.yml

训练mtcnn模型

MTCNN主要有三个网络,叫做PNet, RNet 和 ONet。因此我们的训练过程也需要分三步先后进行。为了更好的实现效果,当前被训练的网络都将依赖于上一个训练好的网络来生成数据。所有的人脸数据集都来自 WIDER FACE和CelebA。WIDER FACE仅提供了大量的人脸边框定位数据,而CelebA包含了人脸关键点定位数据。

生成PNet训练数据和标注文件

python src/prepare_data/gen_Pnet_train_data.py --dataset_path --anno_file

乱序合并标注文件

python src/prepare_data/assemble_pnet_imglist.py

训练PNet模型

python src/train_net/train_p_net.py

生成RNet训练数据和标注文件

python src/prepare_data/gen_Rnet_train_data.py --dataset_path --anno_file --pmodel_file

乱序合并标注文件

python src/prepare_data/assemble_rnet_imglist.py

训练RNet模型

python src/train_net/train_r_net.py

生成ONet训练数据和标注文件

python src/prepare_data/gen_Onet_train_data.py --dataset_path --anno_file --pmodel_file --rmodel_file

生成ONet的人脸关键点训练数据和标注文件

python src/prepare_data/gen_landmark_48.py

乱序合并标注文件(包括人脸关键点)

python src/prepare_data/assemble_onet_imglist.py

训练ONet模型

python src/train_net/train_o_net.py

本文来自企鹅号 - 开源中国媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习那些事儿

浅谈深度学习中超参数调整策略

深度学习中,设计模型以及保证模型的正确性是首要需要考虑的。当模型设置完成时,理论上模型不存在问题,实现效果也通过计算可以复现出来。一切准备就绪后,那么接下来需要...

26811
来自专栏数据小魔方

sparklines迷你图系列18——ScatterChart

今天跟大家分享sparklines迷你图系列17——ScatterChart。 ScatterChart是日常使用频率非常频繁的图表——条形图。 在迷你图插件的...

2504
来自专栏深度学习那些事儿

浅谈深度学习中超参数调整策略

深度学习中,设计模型以及保证模型的正确性是首要需要考虑的。当模型设置完成时,理论上模型不存在问题,实现效果也通过计算可以复现出来。一切准备就绪后,那么接下来需要...

1695
来自专栏宏伦工作室

一次不成功的深度学习实践 - 微信跳一跳

1894
来自专栏CVer

资源 | GitHub超过2600星的TensorFlow教程,简洁清晰还不太难

最近,弗吉尼亚理工博士Amirsina Torfi在GitHub上贡献了一个新的教程,教程清晰简单,喜提2600颗星~

772
来自专栏数据派THU

教你用Keras和CNN建立模型识别神奇宝贝!(附代码)

在今天博客的最后,你将会了解如何在你自己的数据库中建立、训练并评估一个卷积神经网络。

2711
来自专栏量子位

如何用sklearn创建机器学习分类器?这里有一份上手指南

原作:Kasper Fredenslund 林鳞 编译自 Data Science Central 量子位 出品 | 公众号 QbitAI 分类器是数据挖掘中对...

34116
来自专栏机器之心

教程 | 如何快速训练免费的文本生成神经网络

2265
来自专栏机器之心

业界 | Facebook开源Mask R-CNN的PyTorch 1.0基准,比mmdetection更快、更省内存

项目地址:https://github.com/facebookresearch/maskrcnn-benchmark

1133
来自专栏CVer

经典卷积神经网络(CNN)结构可视化工具

本文将介绍一种在线网络工具,可用于可视化各种经典的卷积神经网络结构。学习Caffe的同学,一定很熟悉Netscope。它就是用来可视化Caffe的prototx...

930

扫码关注云+社区