使用SSD训练自己的模型(从图片标注开始)

此文章参考了https://blog.csdn.net/zzZ_CMing/article/details/81131101  在此表示感谢,如果有侵权的地方可联系本人删除

训练手表模型步骤

未经允许禁止转载

  • 制作数据集
  1. 在项目下面新建文件夹VOC2007,在此文件夹下新建3个文件夹,如下图使用SSD训练自己的模型(从图片标注开始)_第1张图片

 

JPEGImages:用于存放训练、测试的图片(图片格式最好为.jpg)

Annotations:用于存放.xml格式的文件,也就是图片对应的标签,每个.xml文件都对应于JPEGImages文件夹的一张图片

ImageSets:内含Main文件夹,在…/ImageSets/Main文件夹下包含test.txt、train.txt、val.txt、trainval.txt四个文件,生成的方式对此有详细说明

使用SSD训练自己的模型(从图片标注开始)_第2张图片

2、制作自己的数据集

第一步:下载图片,存入JPEGImages文件夹中,命名为“00xxxx.jpg”

使用SSD训练自己的模型(从图片标注开始)_第3张图片

第二步:使用LabelImg工具给图片打标签

使用SSD训练自己的模型(从图片标注开始)_第4张图片

 

第4个小步骤保存,生成.xml文件,存入Annotations文件夹里

使用SSD训练自己的模型(从图片标注开始)_第5张图片

 

第三步:生成Main文件夹里的几个.txt文件,在Main文件夹里新建python文件如下

使用SSD训练自己的模型(从图片标注开始)_第6张图片

3、用.xml文件,生成.tfrecord文件在后面介绍

 

 

二、SSD训练模型并测试

1、下载SSD框架并解压

2、在解压出来的主目录下依次创建tfrecords_(存储.tfrecords文件)、train_model(存储训练模型)文件夹,继续使用一中的VOC2007文件夹

 

 

3、下面介绍如何生成.tfrecords文件

第一步:打开datasets文件夹中的pascalvoc_common.py文件,修改成自己的标签,对应前面打标签的.xml文件,前面标签时用的watch,此处一致

使用SSD训练自己的模型(从图片标注开始)_第7张图片

 

第二步:修改读取个数和读取方式,打开datasets文件夹中的pascalvoc_to_tfrecords.py

  • 修改67行SAMPLES_PER_FILES的个数;
  • 修改83行读取方式为'rb'
  • 如果你的文件不是.jpg格式,也可以修改图片的类型;

 

第三步:生成.tfrecords文件,在SSD模型中打开tf_convert_data.py文件,

依次点击:run、Edit Configuration,在Parameters中填入以下内容(配置运行需要的参数),再运行tf_convert_data.py文件

使用SSD训练自己的模型(从图片标注开始)_第8张图片

 

运行后在tfrecords_文件夹中可以看到生成的tfrecords文件

使用SSD训练自己的模型(从图片标注开始)_第9张图片

 

4、利用生成的tfrecords文件训练模型

(1)根据要训练的模型修改训练数据,在训练模型时会用到

第一步:修改训练数据
打开datasets文件夹中的pascalvoc_2007.py将num_classes=类别数修改为NUM_CLASSES = 1
TRAIN_STATISTICS数值修改,数据集由20张图片、每张图片包含一个手表,所以修改为

使用SSD训练自己的模型(从图片标注开始)_第10张图片

第二步:修改类别个数,打开nets文件夹中的ssd_vgg_300.py文件,根据自己训练类别修改96和97行
第三步:同第二步修改类别个数,打开eval_ssd_network.py文件,修改66行类别个数

第四步:修改训练步数epoch,打开train_ssd_network.py文件
  • 修改27行的数据格式,改为'NHWC'
  • 修改135行的类别个数:等于类别数+1
  • 修改154行训练总步数,None会无限训练下去;
  • 说明:60行、63行是关于模型保存的参数;
(2)下载模型,启动训练过程
第一步:下载vgg_16模型,解压后保存在checkpoints文件夹中

使用SSD训练自己的模型(从图片标注开始)_第11张图片

第二步:启动训练
打开train_ssd_network.py文件,修改运行参数

使用SSD训练自己的模型(从图片标注开始)_第12张图片

运行代码train_ssd_network.py,进入训练,训练后的模型保存在train_model文件夹中
第三步:测试模型

使用SSD训练自己的模型(从图片标注开始)_第13张图片

你可能感兴趣的:(深度学习,python)