阿里云投数亿资源扶持中小网站迁移服务器,可信赖的网站建设公司,从旁鼓动人做某事 网站,大学生为什么不去中建首先介绍一下MTCNN的网络结构#xff0c;MTCNN有三种网络#xff0c;训练网络的时候需要通过三部分分别进行#xff0c;每一层网络都依赖前一层网络产生训练数据供当前训练网络#xff0c;这样也推动了两个网络之间的最小损耗。PnetRnetOnetMTCNN的人脸模型按照以上结构按照…首先介绍一下MTCNN的网络结构MTCNN有三种网络训练网络的时候需要通过三部分分别进行每一层网络都依赖前一层网络产生训练数据供当前训练网络这样也推动了两个网络之间的最小损耗。PnetRnetOnetMTCNN的人脸模型按照以上结构按照三部分进行训练。DFace有两个主要模块即检测和识别。在这两个模块中我们提供了有关如何训练模型和运行的所有教程。首先设置一个pytorch和cv2版本要求* pytorch0.4.0* torchvision0.2.0* opencv-python3.4.0.12pip install torch0.4.0 torchvision0.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simplepip install opencv-python3.4.0.12 -i https://pypi.tuna.tsinghua.edu.cn/simple安装依赖库matplotlibpip install matplotlib(1)首先将DFace包git到本地用户目录不要放在根目录git clone https://github.com/tuvia0213/DFace.git(2)添加DFace路径添加到本地python路径export PYTHONPATH$PYTHONPATH:{your local DFace root path}/DFace(3)打开../DFace路径将WIDER FACE数据集下载到../DFace/WIDER_train/下(WIDER_train下载地址http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/)将CelebA下载到../DFace/Celeba/路径下(CelebA下载地址http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html)并将../CelebA/Img/目录下的img_align_celeba压缩包解压到该目录其中WIDER FACE用于训练人脸分类器与人脸约束框(Bounding Box代码里常见形式为BBox)CelebA用于训练人脸坐标点(landmark点人脸检测中的标点为双眼、鼻子、两个嘴角)(4)进入到../DFace路径下生成PNet训练数据和注释文件(annotation file)python dface/prepare_data/gen_Pnet_train_data.py --prefix_path WIDER_train/images/ --dface_traindata_store data/ --anno_file anno_store/wider_origin_anno.txt(5)组合注释文件并将其随机分布python dface/prepare_data/assemble_pnet_imglist.py(6)训练Pnet模型python dface/train_net/train_p_net.py(7)生成RNet训练数据和注释文件:python dface/prepare_data/gen_Rnet_train_data.py --prefix_path WIDER_train/images/ --dface_traindata_store data/ --anno_file anno_store/wider_origin_anno.txt --pmodel_file model_store/pnet_epoch_10.pt(8)组合注释文件并将其随机分布python dface/prepare_data/assemble_rnet_imglist.py(9)训练Rnet模型python dface/train_net/train_r_net.py(10)生成ONet训练数据和注释文件:python dface/prepare_data/gen_Onet_train_data.py --prefix_path WIDER_train/images/ --dface_traindata_store data/ --anno_file anno_store/wider_origin_anno.txt --pmodel_file model_store/pnet_epoch_10.pt --rmodel_file model_store/rnet_epoch_10.pt(11)生成Onet训练landmark点数据在此之前生成testImageList.txt需先将merge_file.py复制到celeba/CelebA/Anno路径下python dface/prepare_data/gen_landmark_48.py --dface_traindata_store data/ --anno_file celeba/CelebA/Anno/testImageList.txt --prefix_path celeba/CelebA/Img/img_align_celeba(12)组合注释文件并将其随机分布python dface/prepare_data/assemble_onet_imglist.py(13)训练Onet模型python dface/train_net/train_o_net.pyDFace路径下提供了测试图片与测试脚本可以用于测试训练网络的识别效果回到../DFace路径下python test_image.py显示出识别图片效果至此模型训练完成可以使用../DFace/model_store下的pnet_epoch_10.pt rnet_epoch_10.pt onet_epoch_10.pt进行模型转换从pytorch转caffe转ncnn。