DFace是个开源的深度学习人脸检测和人脸识别系统。所有功能都采用pytorch框架开发。pytorch是一个由facebook开发的深度学习框架,它包含了一些比较有趣的高级特性,例如自动求导,动态构图等。DFace天然的继承了这些优点,使得它的训练过程可以更加简单方便,并且实现的代码可以更加清晰易懂。 DFace可以利用CUDA来支持GPU加速模式。我们建议尝试linux GPU这种模式,它几乎可以实现实时的效果。
如果你对DFace感兴趣并且想参与到这个项目中,以下TODO是一些需要实现的功能
1、基于center loss 或者triplet loss原理开发人脸对比功能,模型采用ResNet inception v2。 该功能能够比较两张人脸图片的相似性。具体可以参考 Paper和FaceNet
2、反欺诈功能,根据光线,质地等人脸特性来防止照片攻击,视频攻击,回放攻击等。具体可参考LBP算法和SVM训练模型。
3、3D人脸反欺诈。
4、mobile移植,根据ONNX标准把pytorch训练好的模型迁移到caffe2,一些numpy算法改用c++实现。
5、Tensor RT移植,高并发。
6、Docker支持,gpu版
安装
DFace主要有两大模块,人脸检测和人脸识别。我会提供所有模型训练和运行的详细步骤。你首先需要构建一个pytorch和cv2的python环境,我推荐使用Anaconda来设置一个独立的虚拟环境。如果使用GPU训练模式,需要安装Nvidia的cuda和cudnn。 目前作者倾向于Linux Ubuntu安装环境。感谢热心网友提供windows DFace安装体验,windos安装教程具体 可参考他的博客。
依赖
cuda 8.0
anaconda
pytorch
torchvision
cv2
matplotlib