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生成
至此,(上)中自己的训练数据集制作完成。
领取专属 10元无门槛券
私享最新 技术干货