(配置项目环境前,电脑环境需要安装好Anaconda3)
1.
下载项目地址:
git clone https://github.com/wangbm/MTCNN-Tensorflow.git

先使用命令创建MTCNN虚拟环境:
conda create --name MTCNN python=3.6

进入 MTCNN虚拟环境,conda deactivate退出 MTCNN虚拟环境:
source activate MTCNN

退出环境:
source deactivate MTCNN
(这是在ubuntu环境下操作,windows去掉source即可)

安装Tensorflow:
pip install tensorflow-gpu==1.3.0
安装opencv:
conda install opencv

5.运行tensorflow如果有numpy警告出现, 卸载装好的numpy: pip uninstall numpy
从新安装合适版本: pip install numpy==1.13.0

(安装中如果出错,可以卸载,推荐重装所有安装使用conda 安装,因为Anaconda 会自动更新重装关联库)
将文件中的tools.py文件拷贝到prepare_data文件夹下
不然会出现无法找到文件的错误)

下载Wider Face 数据集
可以从官方网站下载Wider Face Training部分并解压缩替换WIDER_train这个文件夹

进入prepare_data文件夹中:
生成P-Net的训练数据
命令行运行 python gen_shuffle_data.py 12
(gen_shuffle_data.py,参数设置为12,生成P-Net的训练数据(注意数据集地址)
运行 gen_tfdata_12net.py,生成对应的 tfrecords 数据格式文件(如果电脑配置不好,源码中size改小一些)

进入src文件夹中:
Step 3 训练P-Net
运行 mtcnn_pnet_test.py,训练P-Net

生成R-Net的训练数据
运行 tf_gen_12net_hard_example.py(更改 default=’…/save_model/seperate_net/pnet/pnet-3000000’,其中eperate_net需要注意地址,不然报错)

命令行运行 python gen_shuffle_data.py 24
(参数设置为24)
运行 gen_tfdata_24net.py,合并数据并生成对应的 tfrecords 数据格式文件(如果电脑配置不好,源码中size改小一些)

训练R-Net
运行mtcnn_rnet_test.py,训练R-Net

生成O-Net的训练数据
运行 gen_24net_hard_example.py
命令行运行 python gen_shuffle_data.py 48
(参数设置为48)
运行 gen_tfdata_48net.py,合并数据并生成对应的 tfrecords 数据格式文件(如果电脑配置不好,源码中size改小一些)

训练O-Net
运行mtcnn_onet_test.py,训练O-Net

测试
运行 test_img.py,参数接你的图片路径和模型路径

说明
1.其中PNet在训练阶段的输入尺寸为12乘12,RNet的输入尺寸为24乘24, ONet的输入尺寸为48乘48.
2.P-Net、R-Net、O-Net分别训练,先训练P-Net,R-Net根据训练的P-Net生成hard样本再训练,O-Net同理。
3.以上的训练过程中生成的hard样本依然是根据原作者的模型,如果使用自己训练的模型,记得修改参数路径

备注:

喜欢的同学请收藏点赞哦~,谢谢

感谢作者开源

(1)简单易学—— 人脸检测 Tensorflow_MTCNN模型训练详细步骤(纯干货,适用于windows和ubuntu系统)相关推荐

  1. 瑞芯微转化人脸检测retinaface模型

    瑞芯微转化人脸检测retinaface模型 一.运行docker 二.转换步骤 1.使用https://netron.app/查看模型的输入及输出 2.设置转换模型参数 3.运行文件生成rknn模型文 ...

  2. YOLOv5s的模型训练与使用(纯小白入门)

    YOLOv5s的模型训练与使用(纯小白入门) 文章目录 YOLOv5s的模型训练与使用(纯小白入门) 概要 下载yolov5与安装依赖 训练 检测 检测图片 实时检测视频 概要 本文主要面向第一次使用 ...

  3. python opencv生成tf模型_基于TensorFlow+ Opencv 的人脸识别 和模型训练

    一.准备工作 本次实例的anaconda 环境 (有需要的自己导入anaconda) 链接:https://pan.baidu.com/s/1IVt2ap-NYdg64uHSh-viaA 提取码:g7 ...

  4. 睁闭眼状态检测——SVM模型训练

    前言 svm训练模型相当简单,难的是提取特征这一步,这里介绍了一个睁闭眼检测功能从提取特征到预测的全过程. 首先,需要准备数据,我这里有睁眼和闭眼的照片各3000张,传统的机器学习方法都需要提取特征, ...

  5. 轻松学Pytorch – 行人检测Mask-RCNN模型训练与使用

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 大家好,这个是轻松学Pytorch的第20篇的文章分享,主要是给大 ...

  6. Qt5.7+Opencv2.4.9人脸识别(四)模型训练

    [注意]本博文的档次适合OpenCV初学者,和要做本科生毕业设计这类档次. 源码的下载地址和原理理论部分请走下面连接 http://blog.csdn.net/qq78442761/article/d ...

  7. PaddlePaddle飞桨OCR文本检测——识别模型训练(三)

    上一篇检测模型训练https://blog.csdn.net/weixin_42845306/article/details/112689152 飞桨的OCR模型分为检测.识别和分类,今天讨论识别. ...

  8. MTCNN人脸检测---PNet网络训练

    前言 本文主要介绍MTCNN中PNet的网络结构,训练方式和BoundingBox的处理方式.PNet的网络结构是一个全卷积的神经网络结构,如下图所: 输入是一个12*12大小的图片,所以训练前需要把 ...

  9. 基于yolov5的目标检测和模型训练(Miniconda3+PyTorch+Pycharm+实战项目——装甲板识别)

    目录 一.环境配置和源码获取 1.Miniconda 2.MIniconda虚拟环境配置PyTorch 3.yolov5项目源码 4.pycharm 二.目标检测 三.模型训练 1.数据集 1.ima ...

最新文章

  1. 设计模式-职责链模式
  2. adb通信协议分析以及实现(二):adb服务进程发现设备
  3. 程序员的520--8ms给你无法复制的花式告白
  4. 开启redis远程客户端连接
  5. SAP官方社区上提供的一些下载资源
  6. HTTP/3 都来了,你却还在用 HTTP/1.1?
  7. Android-JNI开发系列《六》jni与java的交互
  8. php 字符串过滤指定字符,php字符串过滤与替换小结
  9. CAD插件学习系列教程(七) 去除CAD教育版戳记 (两种方法)
  10. 移远ec20型号区别_移远无线4G通讯原装模块-EC20
  11. 高斯消元法求解线性方程组
  12. access 命令不符 等级考试_全国计算机等级考试二级笔试样卷Access数据库程序设计...
  13. linux shell 统计词频,shell之词频统计
  14. pip清华源(清华大学国内镜像)安装地址
  15. Python 入门学习路线
  16. Lamp 架构 搭建 论坛网站
  17. BS4爬取电影天堂的下载地址并保存至csv文件(一)
  18. Java面试题基础系列
  19. 西西吹雪:从程序员到项目经理(一)
  20. c语言浮点数内存存储解析和浮点数(double、float)如何定义NaN、正无穷(inf)、负无穷(-inf),以及如何判断是否是NaN

热门文章

  1. 海外众筹:产品出海kickstarter海外众筹流程
  2. mmsegmentation导出onnx模型的问题
  3. 复数加减java_用java实现复数的加减乘除运算
  4. Openwrt Kernel panic - not syncing: Fatal exception 解决方案
  5. linux阿里云ecs发邮件
  6. 基于linux下QT象棋,课内资源 - 基于QT实现的网络象棋游戏
  7. Spring Boot事务
  8. 数据架构师、数据分析师、数据工程师哪个工资更高?
  9. Microsoft.Office.Interop.Word 创建word
  10. k武装匪徒强化学习入门课