将数据集做成VOC2007格式用于Faster-RCNN训练


0.文件夹名

首先,确定你的数据集所放的文件夹名字,例如我的叫logos。(因为后面做xml会用到这个文件夹名字)

1.图片命名

虽然说图片名对训练没什么影响,但建议还是按VOC2007那样,如“000005.jpg”这种形式。至于图片格式,代码里是写的jpg,其他格式行不行我没有试过,我的训练集也是jpg格式的。

2.打框

就是所谓的包围框,将图片的中所框的目标信息保存起来,我的是保存到txt里,如下:
000002.jpg 光头 44 28 132 121
000003.jpg 头盔 54 19 243 178
000004.jpg 墨镜 168 6 298 164

3.做xml

将第2步得到的txt转成xml。格式如下:(注意folder字段)
<annotation>
	<folder>logos</folder>       
	<filename>000001.jpg</filename>
	<source>
		<database>The logs Database</database>
		<annotation>The logs Database</annotation>
		<image>flickr</image>
		<flickrid>0</flickrid>
	</source>
	<owner>
		<flickrid>I do not know</flickrid>
		<name>I do not know</name>
	</owner>
	<size>
		<width>293</width>
		<height>220</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>光头</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>157</xmin>
			<ymin>24</ymin>
			<xmax>241</xmax>
			<ymax>99</ymax>
		</bndbox>
	</object>
</annotation>

4.保存xml到Annotations

新建一个文件夹,名字为Annotations,将xml文件全部放到该文件夹里。

5.将训练图片放到JPEGImages

新建一个文件夹,名字为JPEGImages,将所有的训练图片放到该文件夹里。

6.ImageSets\Main里的四个txt文件

新建文件夹,命名为ImageSets,在ImageSets里再新建文件夹,命名为Main。
我们可以通过xml名字,生成四个txt文件,即:
将数据集做成VOC2007格式用于Faster-RCNN训练_第1张图片
txt文件中的内容为:
000005
000027
000028
000033
000042
000045
000048
000058

即图片名字(无后缀),test.txt是测试集,train.txt是训练集,val.txt是验证集,trainval.txt是训练和验证集.
这四个txt放在ImageSets\Main中。
这样,数据集就基本做好了。然后新建文件夹,名字为logos(第0步确定的名字),将上面三个文件夹放到这里,即logos文件夹里有三个文件夹:


将logos文件夹拷贝到datasets\VOCdevkit2007里就可以了。训练过程看 这里。

你可能感兴趣的:(将数据集做成VOC2007格式用于Faster-RCNN训练)