Skip to content

zengjinghui/mtcnn_pytorch

Repository files navigation

人脸检测


实验目的

  1. 理解和掌握基于神经网络的人脸检测方法的理论基础知识。
  2. 理解MTCNN人脸检测的基本流程,并加以实践。

训练数据集

为了训练PNet和RNet,将WiderFace用于人脸分类和人脸边界框回归;为了训练ONet,将WiderFace用于人脸分类和人脸边界框回归,使用Training Dataset用于人脸特征点回归。

实验环境

anaconda3 pytorch 0.4.1 torchvision opencv-python等。

实验时间及地点

2018年7月28日 晚上7:00-9:00 B7-138

实验步骤

一、获取代码

实验完整代码mtcnn_pytorch,可直接下载或是通过git clone命令下载。

git clone https://github.com/xiezheng-cs/mtcnn_pytorch.git

二、实验环境安装

  1. 确保本机或是服务器已安装好anaconda3环境;
  2. pip或conda安装pytorch 0.4.1 和 torchvision环境;
  3. pip或conda安装opencv-python环境。
pip install http://download.pytorch.org/whl/cpu/torch-0.4.1-cp36-cp36m-win_amd64.whl     # Windows
pip install http://download.pytorch.org/whl/cpu/torch-0.4.1-cp36-cp36m-linux_x86_64.whl  # Linux
pip install torchvision
pip install opencv-python

三、简单测试模型

直接使用训练好的网络模型在给定的测试数据集(位于mtcnn_pytorch/data/test_images/目录下,共64张测试图片),运行以下命令,即可在mtcnn_pytorch/data/you_result/目录下查看检测结果。

cd mtcnn_pytorch/
python test_image.py

若同学们想测试自己训练好的模型,则修改测试文件相关代码,然后运行即可。

四、训练

在训练过程中,需要注意训练数据集的路径是否与你本机或服务器存放路径一致,若不一致,则需要修改相关文件代码。

1.训练PNet网络

cd mtcnn_pytorch
python preprocessing/gen_pnet_data.py
python preprocessing/assemble_pnet_imglist.py
python training/pnet/train.py

2.训练RNet网络

cd mtcnn_pytorch
python preprocessing/gen_rnet_data.py
python preprocessing/assemble_rnet_imglist.py
python training/rnet/train.py

3.训练ONet网络

cd mtcnn_pytorch
python preprocessing/gen_landmark_48.py
python preprocessing/gen_onet_data.py
python preprocessing/assemble_onet_imglist.py
python training/onet/train.py

训练完成,即可在mtcnn_pytorch/results/目录下得到三个训练好的网络模型。