深度学习人脸检测和识别系统 DFace | 软件推介

2017 年 12 月 9 日 开源中国 kuaikuai


基于多任务卷积网络(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 {your dataset path} --anno_file {your dataset original annotation path}


  • 乱序合并标注文件


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 {your dataset path} --anno_file {your dataset original annotation path} --pmodel_file {yout PNet model file trained before}


  • 乱序合并标注文件

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 {your dataset path} --anno_file {your dataset original annotation path} --pmodel_file {yout PNet model file trained before} --rmodel_file {yout RNet model file trained before}


  • 生成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



推荐阅读

C++17 标准正式发布:开发者可更简单地编写和维护代码

终极对决!Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣?

开发者不可错过的开源工具 —— Android 篇

Linux 运维人员最常用 150 个命令汇总

从 Zero 到 Hero ,一文掌握 Python

点击“阅读原文”查看更多精彩内容

登录查看更多
7

相关内容

人脸检测(Face Detection)是一种在任意数字图像中找到人脸的位置和大小的计算机技术。它可以检测出面部特征,并忽略诸如建筑物、树木和身体等其他任何东西。有时候,人脸检测也负责找到面部的细微特征,如眼睛、鼻子、嘴巴等的精细位置。
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
最新《Deepfakes:创造与检测》2020综述论文,36页pdf
专知会员服务
62+阅读 · 2020年5月15日
零样本图像识别综述论文
专知会员服务
57+阅读 · 2020年4月4日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
114+阅读 · 2020年1月1日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
188+阅读 · 2019年12月28日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
人脸专集3 | 人脸关键点检测(下)—文末源码
计算机视觉战队
19+阅读 · 2019年4月8日
用PyTorch做物体检测和追踪
AI研习社
12+阅读 · 2019年1月6日
深度学习人脸识别系统DFace
深度学习
17+阅读 · 2018年2月14日
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
人脸表情分类与识别:人脸检测+情绪分类
北京思腾合力科技有限公司
27+阅读 · 2017年12月18日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
5+阅读 · 2019年2月28日
Arxiv
10+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年12月20日
Arxiv
4+阅读 · 2018年1月19日
Arxiv
4+阅读 · 2016年9月20日
VIP会员
相关资讯
人脸专集3 | 人脸关键点检测(下)—文末源码
计算机视觉战队
19+阅读 · 2019年4月8日
用PyTorch做物体检测和追踪
AI研习社
12+阅读 · 2019年1月6日
深度学习人脸识别系统DFace
深度学习
17+阅读 · 2018年2月14日
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
人脸表情分类与识别:人脸检测+情绪分类
北京思腾合力科技有限公司
27+阅读 · 2017年12月18日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
相关论文
Deep Learning for Deepfakes Creation and Detection
Arxiv
6+阅读 · 2019年9月25日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
5+阅读 · 2019年2月28日
Arxiv
10+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年12月20日
Arxiv
4+阅读 · 2018年1月19日
Arxiv
4+阅读 · 2016年9月20日
Top
微信扫码咨询专知VIP会员