WIN10+Tensorflow+Faster RCNN训练自己的数据集

Faster RCNN(Tensorflow)的配置可以参考我的博客,https://blog.csdn.net/kebi199312/article/details/88368904

本文分为三部分:

  • 数据集制作
  • 代码修改
  • 训练和测试

一、环境配置:

1、环境

  • win10系统,显卡GeForce GTX 960M;
  • TensorFlow-gpu 1.13.0-rc2,CUDA 10.0,Cudnn 7.4.2;
  • python 3.5.2
  • Faster RCNN的下载地址:

    https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5

二、制作数据集

数据集的图片来源于https://github.com/datitran/raccoon_dataset,数据集里有200张浣熊的照片;数据集的格式类似于VOC2007的格式,Annotations文件夹里是制作好的标签,JPEGImages文件夹里是源图像,ImageSets\Main 文件夹里是生成的txt文件

WIN10+Tensorflow+Faster RCNN训练自己的数据集_第1张图片

                                                                                 VOC2007下的文件夹

批量命名文件(格式:00000x.jpg),并且图片的尺寸不能太大,将重命名的源图像放在JPEGImages文件夹里,使用labelImg工具将图像标注,生成xml文件,保存在Annotation文件夹里,操作步骤:

打开labelImg,在OpenDir中,选择JPEGimage文件夹

(1)W键快捷creatbox,进行框选待测图片中的检测目标;

(2)输入目标的标签,后面和config.pypascal_voc.py等调整时匹配;

(2)左侧save到Annotations文件夹下,存为xml文件(放到Annotations里);

(3)下一张图片继续,直至结束。

批量命名图片的代码:

import os
path = "JPEGImages"
filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)
count=0
for file in filelist:
    print(file)
for file in filelist:   #遍历所有文件
    Olddir=os.path.join(path,file)   #原来的文件路径
    if os.path.isdir(Olddir):   #如果是文件夹则跳过
        continue
    filename=os.path.splitext(file)[0]   #文件名
    filetype=os.path.splitext(file)[1]   #文件扩展名
    Newdir=os.path.join(path,str(count).zfill(6)+filetype)  #用字符串函数zfill 以0补全所需位数
    os.rename(Olddir,Newdir)#重命名
    count+=1

三、代码修改

标签修改:代码位于lib\datasets\pascal_voc.py,pascal_voc.py脚本第34行,不要更改_background_,将34行中的标签替换成自己的标签,这里只用到了一个标签:raccoon。

WIN10+Tensorflow+Faster RCNN训练自己的数据集_第2张图片

                                                                                  标签修改

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

WIN10+Tensorflow+Faster RCNN训练自己的数据集_第3张图片

                                                                                    训练参数修改 

四、训练和测试

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

WIN10+Tensorflow+Faster RCNN训练自己的数据集_第4张图片

                                                                                               生成的模型

测试代码修改:修改主目录里的demo.py脚本,修改标签的个数(1个背景,1个标签),同时把需要测试的图片放在data\demo文件夹里,图片的名称为6位数字。

WIN10+Tensorflow+Faster RCNN训练自己的数据集_第5张图片

                                                                                    修改的参数 

最后测试的结果如下图所示:

WIN10+Tensorflow+Faster RCNN训练自己的数据集_第6张图片

 

你可能感兴趣的:(图像算法,目标检测,深度学习)