Tensorflow Object Detection API(2)—训练自己的数据集(上)

Tensorflow Object Detection API环境搭建已经完成,现基于Object Detection API训练自己的数据集。

Tensorflow Object Detection API使用TFRecord文件格式读取数据,并提供了(create_pascal_tf_record.py)可以将PASCAL VOC2012数据集转换为TFRecord格式。因此,对车辆车牌检测的实例拟通过制作VOC数据集进而开展训练与测试。其中,(上)主要制作自己的训练数据集,(下)为使用制作的数据集训练、测试。

一、 首先了解下原始VOC2012数据集

该数据集包括对象类和动作类,下载解压完可以看到包括以下几部分:

1)JPEGImages

文件夹里存放了全部的训练图片和训练图片。

2)Annatations文件夹

文件夹存放的是xml格式标签文件,每个xml文件都对应JPEGImages文件夹的一张图片。

3)ImageSets文件夹

包括Action Layout Main Segmentation四部分,Action存放的是人的动作,Layout存放人体部位数据,Main存放的是图像物体识别数据(里面的test.txt,train.txt,val.txt,trainval.txt后面自己制作数据集时需要生成),Segmentation存放可用于分割的数据。

4)SegmentationClass(标注出每一个像素的类别)和SegmentationObject(标注出每个像素属于哪一个物体)是分割相关的。

二、制作自己的VOC2012数据集

1)准备素材

自己要做的实例为车辆车牌的检测模型,收集了各种环境下含车牌的车辆图片,对车牌进行标注。图片重命名统一为六位数字,从000001开始,并批量统一为jpeg格式。

(原图来源网络图片)

2)目标物体标注

用labelImage(https://github.com/tzutalin/labelImg)进行标注,将xml文件存放于Annatations文件夹。注意Ubuntu下配置Python2+Qt4、Python3+Qt5。

3)数据集分割

在实际训练中,需要四个文件,分别为test.txt测试集,train.txt训练集,val.txt验证集,trainval.txt训练和验证集,每个文件为对应图片的名字。此为ImageSets中Main文件夹中部分。

至此,所用的VOC2012数据集制作完成。

三、将VOC2012数据集转换为TFRecord格式

1)根据自己的实际类别修改文件中的类别,或者新建对应自己数据集的.pbtxt文件。

2)

3)TFRecord生成

至此,(上)中自己的训练数据集制作完成。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180601G06Z9Z00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券