windows 下faster rcnn入门3:训练自己的数据

目录

 

训练自己的数据(这里用小浣熊数据集)

一、数据处理

二、修改代码及模型位置

train阶段

测试阶段


自制目标检测数据集链接数据集1数据集2数据集3

使用小浣熊数据集

前提基于https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5代码,网上有两版不同的tensorflow下的faster rcnn代码

一、数据处理


voc数据集下修改这三个文件夹:

  •   Annotations---用于存放使用labelimage生成的xml 文件 
  •  ImageSets\Main---用于存放trian.txt 、test.txt 、trainval.txt、 val.txt
  •  JPEGImages—你所有的jpg格式的图片

这里为了测试,使用了小浣熊数据集https://github.com/datitran/raccoon_dataset,数据集里有200张浣熊的照片;数据集已经标记好了,Annotations文件夹里是制作好的标签,JPEGImages文件夹里是源图像。
使用的话只需要在ImageSets\Main 下生成的txt,参照博客https://blog.csdn.net/qq_36301716/article/details/79018170

import os
import random

trainval_percent = 0.9 # trainval数据集占所有数据的比例
train_percent = 8/9.0 # train数据集占trainval数据的比例
xmlfilepath = 'F:/TensorFlow/Faster-RCNN/data/VOCDevkit2007/VOC2007/Annotations'
txtsavepath = 'F:/TensorFlow/Faster-RCNN/data/VOCDevkit2007/VOC2007/ImageSets/Main'
total_xml = os.listdir(xmlfilepath)

num=len(total_xml)
list=range(num)
tv=int(num*trainval_percent)
tr=int(tv*train_percent)
trainval= random.sample(list,tv)
train=random.sample(trainval,tr)

ftrainval = open('F:/TensorFlow/Faster-RCNN/data/VOCDevkit2007/VOC2007/ImageSets/Main/trainval.txt', 'w')
ftest = open('F:/TensorFlow/Faster-RCNN/data/VOCDevkit2007/VOC2007/ImageSets/Main/test.txt', 'w')
ftrain = open('F:/TensorFlow/Faster-RCNN/data/VOCDevkit2007/VOC2007/ImageSets/Main/train.txt', 'w')
fval = open('F:/TensorFlow/Faster-RCNN/data/VOCDevkit2007/VOC2007/ImageSets/Main/val.txt', 'w')

for i in list:
    name=total_xml[i][:-4]+'\n'
    if i in trainval:
      ftrainval.write(name)
      if i in train:
        ftrain.write(name)
      else:
        fval.write(name)
    else:
      ftest.write(name)

ftrainval.close()
ftrain.close()
fval.close()
ftest .close()

这些也是制作自己数据集必备步骤,这里我没有用到,用到后来追加

  1.  批量化命名图片名
  2.   resize图片大小(一般500-600)
  3.   labelIImg标注了自己的图片

二、修改代码及模型位置

train阶段

1、标签修改:代码位于lib\datasets\pascal_voc.py,pascal_voc.py脚本第34行,不要更改_background_,将34行中的标签替换成自己的标签,这里只用到了一个标签:raccoon(之前写错了,晕,一直报错keyerror)。

 2、训练参数修改:代码位于lib\config\config.py文件中,可以更改训练的总步数(max_iters)、权值衰减(weight_decay)、学习率(learning_rate)、批次大小(batch_size)等参数。

3、模型位置参数修改 :运行train.py,模型训练完后,模型保存在..\default\voc_2007_trainval\default中,把四个文件拷贝出来放到output\vgg16\voc_2007_trainval\default文件夹中,如下图所示。

测试阶段

修改demo.py中的标签及测试图片修改

批量化处理(见上一篇博客)

测试的结果如下图所示:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章