环境:win7+pycharm+python3.6.4,tensorflow-gpu1.4.0(这个要和机器的显卡相匹配,显卡驱动->cuda,cudnn版本->tensroflow-gup版本)
源码:SSD-Tensorflow-master( https://github.com/balancap/SSD-Tensorflow)
标注工具:labelImg(https://github.com/tzutalin/labelImg)
一.样本标记
1.样本标记,用labelImg等标记工具,进行图片标记,生成xml标记文件,
2.用SSD-Tensorflow-master中的tf_convert_data.py将图片和标记转成.tfrecords文件
二.模型训练
1.修改标签分类:datasets/pascalvoc_common.py,
VOC_LABELS = {
'none': (0, 'Background'),
'RE':(2,"re"),
"E":(1,"e"),#名称:(编号,类别),类别也可以随便改,没有规定
"WL":(3,'wl')
}
2.修改标签统计:datasets/pascalvoc_2007.py
TRAIN_STATISTICS = {
'none': (0, 0),
'RE': ( 5,25),#括号中内容代表(图片数,样本数)
'E': ( 5,23),
'WL': ( 5,3) #注意这边不能有,号
}
TEST_STATISTICS = {
'none': (0, 0),
'RE': (2, 9),
'E': (2, 9),
'WL': (2, 1)
}
SPLITS_TO_SIZES = {
'train': 5,
'test': 2,
}
NUM_CLASSES = 3 //标签种数,不包括背景
3.修改模型参数 :nets/ssd_vgg_300.py
num_classes=4,#分类数,包括背景
no_annotation_label=4,#分类数,包括背景
#anchor_size_bounds=#搜索窗口尺寸范围,根据需要修改
#anchor_sizes=#跟size_bounds对应,有相应的计算公式,不能随便写
4.配置pycharm中train_ssd_network.py的启动文件
--max_number_of_steps=3000#最大训练次数
--num_classes=4#分类数-包括背景
--train_dir=./model_data/#模型存放路径
--dataset_dir=./tfrecords/#训练数据
--dataset_name=pascalvoc_2007
--dataset_split_name=train
--model_name=ssd_300_vgg#模型名称
--checkpoint_path=./checkpoints/vgg_16.ckpt#与训练模型
--checkpoint_model_scope=vgg_16#模型空间
--checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box
--trainable_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box
--save_summaries_secs=600#保存中间结果的时间间隔
--save_interval_secs=600
--weight_decay=0.0005
--optimizer=adam
--learning_rate=0.001
--learning_rate_decay_factor=0.94
--batch_size=16
--gpu_memory_fraction=0.9
5.启动训练
三.模型测试
1.修改模型路径和图片路径,notebooks/demo_test.py中
ckpt_filename ='../checkpoints/ssd_300_vgg.ckpt'#改成自己的模型路径
path = '../demo/img/'图片目录,
2.启动测试,查看训练效果