目标检测SSD+Tensorflow 训练自己的数据集

原文地址:https://blog.csdn.net/weixin_39881922/article/details/80569803

代码解析:https://blog.csdn.net/qq1483661204/article/details/79776065

对原文的几点解释这说明:

1.代码地址:https://github.com/balancap/SSD-Tensorflow,下载该代码到本地

注:该代码是github上tensorflow版的SSD star 最多的代码.

2.解压ssd_300_vgg.ckpt.zip 到checkpoint文件夹下

注:ssd_300_vgg.ckpt.zip在checkpoints文件夹下,直接解压到checkpoints即可.

3.测试一下看看,在notebooks中创建demo_test.py,其实就是复制ssd_notebook.ipynb中的代码,该py文件是完成对于单张图片的测试,对Jupyter不熟,就自己改了,感觉这样要方便一些。

注:创建demo_test.py,将下面的73行代码粘贴到里面即可使用.其中,第69行代码可以设置具体使用哪张图像进行测试.

4.将自己的数据集做成VOC2007格式放在该工程下面

注:直接将VOC2007文件夹粘贴到SSD-Tensorflow文件夹下即可.

5. 修改datasets文件夹中pascalvoc_common.py文件,将训练类修改别成自己的

6.  将图像数据转换为tfrecods格式.

7.运行tf_convert_data.py文件

注:(1)在SSD-Tensorflow-master文件夹下创建tfrecords_文件夹

(2)在SSD-Tensorflow中运行终端terminal,在其上运行tf_convert_data.py文件,命令如下:
SSD-Tensorflow$ python3 ./tf_convert_data.py  --dataset_name=pascalvoc  --dataset_dir=./VOC2007/   

--output_name=voc_2007_train --output_dir=./tfrecords_  

(3)其中:./VOC2007/ 为VOC数据保存的文件夹(VOC的目录格式未改变);./tfrecords_  为自己建立的保存tfrecords数据的文件夹       

8.训练模型train_ssd_network.py文件中修改

9.通过加载预训练好的vgg16模型,训练网络

注:使用百度网盘,先转存到自己的网盘下,再下载.

10.训练

注:(1)在SSD-Tensorflow-master文件夹下创建train_model文件夹

在SSD-Tensorflow中运行终端terminal,在其上运行train_ssd_network.py文件,命令如下:

SSD-Tensorflow$ python3 ./train_ssd_network.py --train_dir=./train_model/ --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=60  --save_interval_secs=600  --weight_decay=0.0005 --optimizer=adam  --learning_rate=0.001   --learning_rate_decay_factor=0.94 --batch_size=24 --gpu_memory_fraction=0.9  

11.其它问题可以参考原文和源代码网页上的网友留言.

你可能感兴趣的:(opencv,python语言实现,深度学习)