1、生成VOC2012数据集点击链接移步上篇微博
2、目录结构
VOC2012
---Annotations
---ImageSets
---Main
---JPEGImages
---train
------data
------model
---------eval
---------test
---------train
3、制作label_map.pbtxt,内容如下,路径:VOC2012/train/data
item {
id: 1
name: 'ok'
}
item {
id: 2
name: 'spot'
}
3、生成record数据集
(1)按下图修改models-master/research/object_detection/dataset_tools/create_pascal_tf_record.py文件。
examples_path: train.txt文件路径或是val.txt文件路径;
annotations_dir: xml文件路径。
这里再多啰嗦一句,create_pascal_tf_record.py的运行逻辑就是先读取train.txt或val.txt中图像名称,再到xml路径下找到对应的xml文件,最后根据xml文件信息生成record
(2)运行models-master/research/object_detection/dataset_tools/create_pascal_tf_record.py脚本生成record。
--label_map_path: label_map.pbtxt文件路径;
--data_dir: VOC2012数据集上一层路径,即data_dir/VOC2012;
--year: VOC2012即可
--set: 根据是train.txt还是val.txt进行修改
--output_path: record文件保存路径
python object_detection/dataset_tools/create_pascal_tf_record.py \
--label_map_path=C:/Users/mengkun/Desktop/SSD/datasets/VOC2012/train/data/label_map.pbtxt \
--data_dir=C:/Users/mengkun/Desktop/SSD/datasets/ \
--year=VOC2012 \
--set=train \
--output_path=C:/Users/mengkun/Desktop/SSD/datasets/VOC2012/train/data/train.record
python object_detection/dataset_tools/create_pascal_tf_record.py \
--label_map_path=C:/Users/mengkun/Desktop/SSD/datasets/VOC2012/train/data/label_map.pbtxt \
--data_dir=C:/Users/mengkun/Desktop/SSD/datasets/ \
--year=VOC2012 \
--set=val \
--output_path=C:/Users/mengkun/Desktop/SSD/datasets/VOC2012/train/data/val.record
4、制作ssd_mobilenet_v2_coco.config
(1)复制models-master/research/object_detection/samples/configs/ssd_mobilenet_v2_coco.config到VOC2012/train/model/
(2)下载finetune模型,并解压缩
(3)按如图修改
fine_tune_checkpoint: finetune模型路径
input_path: 分别对应train.record和val.record路径
label_map_path: label_map.txt路径
5、训练SSD
--pipeline_config_path: ssd_mobilenet_v2_coco.config文件路径
--train_dir: 训练文件输出路径
python object_detection/legacy/train.py --pipeline_config_path=G:/datasets/WIDERFace/VOC2012/train/model/ssd_mobilenet_v2_coco.config --train_dir=G:/datasets/WIDERFace/VOC2012/train/model/train/ --logtostderr
python object_detection/model_main.py --pipeline_config_path=G:/datasets/WIDERFace/VOC2012/train/model/ssd_mobilenet_v2_coco.config --model_dir=G:/datasets/WIDERFace/VOC2012/train/model/train/ --alsologtostder
6、转pb文件
python object_detection/export_inference_graph.py --input_type=image_tensor --pipeline_config_path=G:/datasets/WIDERFace/VOC2012/train/model/ssd_mobilenet_v2_coco.config --trained_checkpoint_prefix=G:/datasets/WIDERFace/VOC2012/train/model/train/model.ckpt-64183 --output_directory=G:/datasets/WIDERFace/VOC2012/train/model/export