源码地址
git clone https://github.com/AITTSMD/MTCNN-Tensorflow.git
数据集采用的的是widerface和lfpw
在自己的数据集目录下创建一个MTCNN_DATA文件夹用来存放图片、标签、tfrecord文件等
训练步骤是Pnet-> R-net-> O->net
训练P-net
接下来修改生成P-Net训练数据的脚本文件
修改prepare_data/gen_12net_data.py
所有…/data的路径都改成自己的
anno_file = "wider_face_train.txt"
im_dir = "/home/wei/data/MTCNN_DATA/WIDER_train/images"
pos_save_dir = "/home/wei/data/MTCNN_DATA/12/positive"
part_save_dir = "/home/wei/data/MTCNN_DATA/12/part"
neg_save_dir = '/home/wei/data/MTCNN_DATA/12/negative'
save_dir = "/home/wei/data/MTCNN_DATA/12"
数据都存放在12这个文件夹里
然后运行该脚本文件,等待该脚本文件的运行结束
修改prepare_data/gen_landmark_aug_12.py 生成landmark训练用到的数据
同样修改数据路径
dstdir = "/home/wei/data/MTCNN_DATA/12/train_PNet_landmark_aug"
OUTPUT = '/home/wei/data/MTCNN_DATA/12'
data_path = '/home/wei/data/MTCNN_DATA/lfpw'
train_txt = "trainImageList.txt"
运行该脚本后在12这个文件夹中会生成如下内容
之后利用prepare_data/gen_imglist_pnet.py将两个数据集合合并
修改路径
data_dir = '/home/wei/data/MTCNN_DATA'
执行脚本合并数据集
随后用prepare_data/gen_PNet_tfrecords.py打包成训练需要的数据格式
dir = '/home/wei/data/MTCNN_DATA/'
net = 'PNet'
output_directory = '/home/wei/data/MTCNN_DATA/imglists/PNet'
在该路径下会有这两个文件生成
修改train_models/train_PNet.py训练脚本路径
base_dir = '/home/wei/data/MTCNN_DATA/imglists/PNet'
model_name = 'MTCNN'
#model_path = '../data/%s_model/PNet/PNet' % model_name
#with landmark
model_path = '/home/wei/MTCNN-Tensorflow/data/%s_model/PNet_landmark/PNet' % model_name
开始训练
等待训练结束,至此Pnet部分结束