前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习人脸检测和识别系统 DFace

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

作者头像
企鹅号小编
发布2018-01-03 09:57:12
2K0
发布2018-01-03 09:57:12
举报
文章被收录于专栏:企鹅号快讯

基于多任务卷积网络(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

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

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档