环境:win10+tensorflow1.10+python3.6.9
下载https://github.com/balancap/SSD-Tensorflow到本地
1. 解压并测试demo、
打开Anaconda prompt ,切换到SSD-Tensorflow路径下,输入jupyter notebook
找到ssd_notebook.ipynb并打开,修改路径并运行测试例子,相应的环境可以直接在Anaconda里安装
2. 准备纸张缺陷数据集
拍几张纸张缺陷的图片,然后用数据增强的方式增加图片数量
用labelImg进行特征标注,Annotions:存放图片信息的xml;JPEGImages:存放着图片
3. 修改datasets文件夹中pascalvoc_common.py文件,将训练类修改别成自己的。
4. 运行tf_convert_data.py文件
python tf_convert_data.py -data_name=pascalvoc -dataset_dir=D:\tensorflow-ssd\data -output_ name=voc_2007_test -output_dir=D:\tensorflow-ssd\tfrecords
5. 训练模型train_ssd_network.py文件中修改
6. 运行train_ssd_network.py
python train_ssd_network.py -train_dir=D:\tensorflow-ssd\SSD-Tensorflow-master\logs -dataset_dir=D:\tensorflow-ssd\tfrecords -dataset_name=pascalvoc_2007 -dataset_split_name=test -model_name=ssd_300_vgg -checkpoint_path=D:\tensorflow-ssd\SSD-Tensorflow-master\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=60 -save_interval_secs=600 --weight_decay=0.0005 -optimizer=adam -learning_rate=0.001 -learning_rate_decay_factor=0.94 -batch_size=4
python train_ssd_network.py -train_dir=D:\tensorflow-ssd\SSD-Tensorflow-master\logs -dataset_dir=D:\tensorflow-ssd\tfrecords -dataset_name=pascalvoc_2007 -dataset_split_name=test -model_name=ssd_300_vgg -checkpoint_path=D:\tensorflow-ssd\SSD-Tensorflow-master\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=60 -save_interval_secs=600 --weight_decay=0.0005 -optimizer=adam -learning_rate=0.001 -learning_rate_decay_factor=0.94 -batch_size=4
7. 训练完成后,在logs文件夹中会有 model.ckpt-10000.data-00000-of-00001 and model.ckpt-10000.index。把这两个文件复制到checkpoints文件夹,修改名字为model.ckpt.data-00000-of-00001 and model.ckpt.index
8. 测试,打开之前的demo,修改ckpt_filename='D:\tensorflow-ssd\SSD-Tensorflow-master\checkpoints/model.ckpt',然后在demo文件夹里放入测试图片,运行即可。