[关闭]
@wujiaju 2020-12-22T08:46:03.000000Z 字数 2118 阅读 1240

实验4:基于神经网络的人脸检测

2020


实验目的

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

实验数据集介绍

一、MTCNN的所需数据集
1. 训练PNet和RNet两个子网络,将 WiderFace 数据集用于人脸检测和人脸边界框回归。
2. 训练ONet,将 FacePoint 的training set数据集用于人脸特征点回归。

实验环境

anaconda3
pytorch 1.0.0
torchvision
opencv-python
tensorflow

实验步骤

一、获取代码

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

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

二、实验环境安装
1. 确保本机或是服务器已安装好anaconda3环境;
2. pip或conda安装pytorch 1.0.0 和 torchvision环境;(若已安装高版本pytorch,可先尝试使用已安装的pytorch进行实验,遇到版本兼容问题再尝试安装所要求pytorch版本)
3. pip或conda安装opencv-python环境。

conda install pytorch=1.0 #(若已安装pytorch,忽略该命令)
conda install torchvision
pip install opencv-python

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

cd mtcnn_pytorch/
python test_image.py

四、训练
**注意:
在模型训练和测试过程中,检查训练数据集和测试模型路径是否与你本机或服务器存放路径一致,若不一致,则请自行修改相关文件代码。

  1. 训练PNet网络 (选做)

    1. cd mtcnn_experiment
    2. python preprocessing/gen_pnet_data.py
    3. python preprocessing/assemble_pnet_imglist.py
    4. python training/pnet/train.py
  2. 训练RNet网络 (选做)

    1. cd mtcnn_experiment
    2. python preprocessing/gen_rnet_data.py
    3. python preprocessing/assemble_rnet_imglist.py
    4. python training/rnet/train.py
  3. 训练ONet网络 (选做)

    1. cd mtcnn_experiment
    2. python preprocessing/gen_landmark_48.py
    3. python preprocessing/gen_onet_data.py
    4. python preprocessing/assemble_onet_imglist.py
    5. python training/onet/train.py

    提示: PNet,RNet,ONet三个网络训练完成,即可在mtcnn_experiment/results/目录下得到三个训练好的网络模型。

  4. 测试自己训练的模型 (选做)

    在给定的测试数据集(位于mtcnn_experiment/data/test_images/目录下,共64张测试图片)简单测试自己训练好的网络模型,运行以下命令,即可在mtcnn_experiment/data/your_result/目录下查看检测结果。

    1. cd mtcnn_experiment/
    2. python test_youModel_images.py

    注意: 检查test_youModel_images.py中的模型路径是否与你训练好的模型路径一致,若不一致,则修改路径。整理实验结果并完成实验报告(实验报告模板将包含在示例仓库中)。


实验代码及报告提交方式

提交内容

提交时间

评分标准

评分项 占比 说明
出勤 40% 特殊情况可向学院请假,请假条交给助教
代码有效 30% 代码是否正确
实验报告 30% 是否认真按照实验模板填写

注意事项

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注