项目简介
本项目基于PyTorch框架构建,采用MTCNN(Multi-task Convolutional Neural Network)模型,是一个具备人脸检测与关键点定位功能的系统。MTCNN作为多任务卷积神经网络,将人脸区域检测和人脸关键点检测相结合,通过P-Net、R-Net和O-Net三个级联的网络结构实现快速高效的人脸检测。项目涵盖数据预处理、模型训练和预测三个核心部分。
项目的主要特性和功能
- 数据预处理:包含数据集下载、标注数据处理、图像数据转换与归一化等操作。
- 模型训练:分三步依次训练P-Net、R-Net和O-Net模型,各步骤依赖上一步结果。
- 预测:利用训练好的模型对输入图像进行人脸检测和关键点定位,并展示结果。
安装使用步骤
环境准备
确保已安装PyTorch 1.8.1和Python 3.7。
数据集准备
下载并准备WIDER Face和Deep Convolutional Network Cascade for Facial Point Detection(LFW和Net)的训练数据。
模型训练
- 训练P-Net模型:进入
train_PNet
目录,执行python3 train_PNet.py
。 - 训练R-Net模型:进入
train_RNet
目录,执行python3 train_RNet.py
。 - 训练O-Net模型:进入
train_ONet
目录,执行python3 train_ONet.py
。
预测
- 使用图像路径进行预测:执行
python3 infer_path.py
。 - 使用摄像头实时预测:执行
python3 infer_camera.py
。
注意事项
- 确保所有模型文件和数据集路径正确。
- 训练模型可能耗时较长,请耐心等待。
- 预测结果会在终端输出,并可视化显示。
参考资料
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】