1.在以下文件夹里建立三个文件夹:
名字都如图所示,其中Annotations文件夹为空文件夹,之后存储xml文件。
把图片放进JPEGImages。然后开始制作Annotations和ImageSets文件夹的数据。
2.下载labelimg图片标注工具。
下载地址:https://github.com/tzutalin/labelImg
我这里是python2.7,我的安装命令修改了一下后:
sudo apt-get install pyqt4-dev-tools sudo pip install lxml conda install pyqt=4 python labelImg.py
打开了labelImg软件:
3.修改软件保存路径:
左边change save dir:此路径点击打开。
4.打开图片,并制作标签。
左边open dir:此路径点打开。
点击左边Create RectBox,
然后点左边save保存,然后左边next image选择下一张图片。然后继续制作。
到此为止,Annotations文件夹里的制作好了,如图所示(示意图,我只做了三张):
5.我们开始制作ImagesSets里的文件
首先在文件夹里新建一个空的取名为Main的文件夹。
然后在此目录下新建py文件:
程序如下:
import os
import random
trainval_percent = 0.5
train_percent = 0.5
xmlfilepath = 'Annotations'
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('ImageSets/Main/trainval.txt', 'w')
ftest = open('ImageSets/Main/test.txt', 'w')
ftrain = open('ImageSets/Main/train.txt', 'w')
fval = open('ImageSets/Main/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()
然后执行即可。
执行完后效果图:
6.所有数据生成完毕,可以按上一篇博客讲的内容修改代码完成faster-rcnn的训练。