- 理解和掌握基于神经网络的人脸检测方法的理论基础知识。
- 理解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
二、实验环境安装
- 确保本机或是服务器已安装好anaconda3环境;
- pip或conda安装pytorch 0.4.1 和 torchvision环境;
- 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/目录下得到三个训练好的网络模型。