mtcnn-caffe训练数据进行人头检测

整体结构参考链接:https://blog.csdn.net/wwww1244/article/details/81034045

本人项目链接(运行步骤没有问题):
链接: https://pan.baidu.com/s/1lvkEQU7JxtcyYGgwhHdhFQ 提取码: 9ra2

默认系统已经搭建好了caffe(BLVC)环境

一.准备cpp数据 (目录:prepare_mtcnn_cpp_data/)

  1. 在caffe(BLVC) 环境新建文件: tools/convert_imageset_multi.cpp 
  2. 进入mtcnn工程中prepare_mtcnn_cpp_data目录,运行copy.sh 复制文件到指定位置 (打开copy.sh文件,修改文件中的caffe 路径)
  3. 重新编译caffe: make caffe

二.准备数据 (目录: train/)

  1. 进入train目录,准备图片数据集(JPEGImages/ Annotations/)

所有的运行过程我已经写成.bat脚本文件

  1. 生成12,24,48网络训练的图片数据,运行: bash prepar_data_file.bat
  2. 生成12,24,48网络训练的lmdb数据,运行: bash prepar_lmdb_data.bat

三.训练阶段 (目录: train/)

  1. 训练12(P)网络,运行: bash train-12.bat
  2. 训练24(R)网络,运行: bash train-24.bat
  3. 训练48(O)网络,运行: bash train-48.bat

四.测试阶段 (目录: test/)

  1. model/ :模型文件路径(复制训练新产生的文件到其中);
       mtcnn2.py调用模型文件(注意修改模型路径,已经调整threshold阀值,nms数值);
       test.py调用mtcnn.py进行测试(注意修改其视频文件路径)

五.脚本文件解析 (目录: train/)

  1. prepar_data_file.bat 下面以12P-net 举例 (另外两个网络相似)
    11.1 xml2txt_extract.py :用于生成label.txt文件
     11.2 label.txt:记录xml文件中所有<bndbox>的位置,格式为: 图片路径+目标框位置(x1,y1,x2,y2) 以空格隔开
    11.3 gen_12net_data2.py: 用于生成Pnet 所需要的图片:neg(IOU<0.3) part(0.4=<IOU<0.65) pos(IOu>=0.65)),和相应的txt文件,以及所有图片的txt文件(label-train.txt)
    11.4 12net_train_val_split.py: 用于生成训练所需要的train val txt 文件
     11.5 models-12/ 用于保存训练产生的模型和snapshot文件
  2. prepar_lmdb_data.bat 
    产生的数据分别防止在每个网络文件的img_train_lmdb和img_val_lmdb文件夹中
  3. train-12.bat
      调用caffe接口进行训练,注意调整solver-x12.prototxt和det1-train.prototxt文件中的参数以获得更好的模型
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容