制作自己的VOC2007数据集用于Faster-RCNN-TensorFlow

本文详细介绍了如何制作自定义的VOC2007数据集,适用于Faster-RCNN在TensorFlow中的训练。内容包括数据集的结构、Annotations和JPEGImages文件夹的创建、使用labelme进行标注的步骤,以及生成训练、测试和验证集所需的txt文件。
部署运行你感兴趣的模型镜像

制作自己的VOC2007数据集用于Faster-RCNN-TensorFlow


一、数据集结构?

VOC2007文件夹下有以下5个文件夹:
在这里插入图片描述

Annotations文件夹

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

JPEGImages文件夹

改文件夹下存放的是数据集图片,包括训练和测试图片。

ImageSets文件夹

该文件夹下存放了三个文件,分别是Layout、Main、Segmentation。在这里我们只用存放图像数据的Main文件,其他两个暂且不管。
main里有4个文件
在这里插入图片描述
决定了测试集test,训练集train、验证集val、训练集和验证集trainval。
在原始VOC2007数据集中,trainval大约占整个数据集的50%,test大约为整个数据集的50%;train大约是trainval的50%,val大约为trainval的50%。
所以我们可参考以下代码来生成这4个txt文件:

import os  
import random  
 
trainval_percent = 0.5  
train_percent = 0.5  
xmlfilepath = 'Annotations'  
txtsavepath = '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(txtsavepath+'/trainval.txt', 'w')  
ftest = open(txtsavepath+'/test.txt', 'w')  
ftrain = open(txtsavepath+'/train.txt', 'w')  
fval = open(txtsavepath+'/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()

将这个放到VOC2007文件夹下,运行即可自动生成4个文件。

其他

SegmentationClass文件和SegmentationObject文件。
这两个文件都是与图像分割相关。

因此我们只需要制作Annotations、JPEGImages、ImageSets\main

二、使用步骤

1. 制作文件夹

文件夹制作好后,将图片全部放入JPEGImages文件夹中,然后修改格式,将下面代码复制到JPEGImages的文件夹下,运行即可。

# -*- coding: utf-8 -*-

import os
path = './'
#图片后缀
last=['jpg','png']
files = os.listdir(path)
for i, file in enumerate(files):
    if file.split('.')[-1] in last:
          NewName = '%09d' % i + '.jpg'
          oldname=file
          os.rename(oldname, NewName)
          i = i + 1

2.使用labelme进行标注

2.1安装使用labelme

https://github.com/tzutalin/labelImg#windows–anaconda
由于我使用的是anaconda,按照文档安装即可。
将压缩包下载,找个地方解压。比如我放在D盘的labelImg文件夹下
我的流程:

  1.管理员身份打开 anaconda prompt
  
  2、输入命令:conda create --name=labelme python=3.6

  3、输入命令:activate labelme

我把albelme放到了一个环境下面,然后用cmd打开解压路径:

1. 管理员身份打开cmd
  
  2、输入命令:d:
			  cd labelImg
  			  cd labelImg-master

  3、conda install pyqt=5
	conda install -c anaconda lxml
	pyrcc5 -o libs/resources.py resources.qrc
	python labelImg.py

最后一行是运行labelme,打开如下界面
在这里插入图片描述
在这里插入图片描述
open dir是打开JPEGImages文件夹,save dir选择Annotations文件夹。然后就可以进行标注了。
左边画框,设置标签,设好保存。就可以了。
然后在Annotations文件夹下就可以看到xml的标准文件。


放入Faster_CNN

剩下的参照这个就行了
https://www.shuzhiduo.com/A/kPzOyvO35x/#6-%E8%87%AA%E5%B7%B1%E6%95%B0%E6%8D%AE%E9%9B%86%E7%9A%84%E5%88%B6%E4%BD%9C

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值