voc2007数据集制作----LabelImg的安装和使用方法

LabelImg的安装

踩了无数的坑,结果发现解决办法那么简单
首先说一下环境:Ubuntu16.04+anaconda2+anaconda3
同时安装了Python2.7和Python3.5
但我使用的是Python2.7+pyqt4
安装步骤:

安装 SIP
https://riverbankcomputing.com/software/sip/download

下载 SIP 并解压 ;

$ sudo python configure.py
$ make
$ sudo make install
安装 依赖库
$  sudo apt-get install libxext6 libxext-dev libqt4-dev libqt4-gui libqt4-sql 
$  sudo apt-get install qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig
安装 PyQt4
https://riverbankcomputing.com/software/pyqt/download

下载 PyQt4 并解压 ;

$ sudo python configure.py
$ sudo make
$ sudo make install
安装 labelImg
    $  sudo apt-get install python-pip

    $  sudo pip install lxml

下载 labelImg-master 并解压 https://github.com/tzutalin/labelImg

如果还是不行:conda install -c anaconda pyqt=4.11.4
因为我发现Anaconda2/lib/python2.7/site-packages中是PyQt5
补充:
安装之后如果有importerror,可以试一下:

sudo apt-get install python-qt4

voc2007数据集的格式

voc2007主要包括五个文件

  • Annotations ——xml标注文件
  • ImageSets——类别标签
  • JPEGImage——jpg图像文件
  • SegmentationClass
  • SegmentationObjec
    训练自己的数据时只需要修改Annotations、ImageSets、JPEGImages 三个文件夹。
    Annotations
    用于存放XML文件,这里我们用之前安装的Labelimg标注文件,直接打开你下载的labelimg文件夹,在/path/to/labelimg/data中有一个predefined_classes.txt修改为自己数据集的类别,然后运行
python labelimg.py

点击open Dir选择图片所在的文件夹,change save Dir选择xml要保存的文件夹。
ImageSets
生成ImageSets\Main文件夹下4个txt文件test.txt , train.txt , trainval.txt , val.txt。
这四个文件夹中存储的时上一步中xml文件的文件名。trainval和 test内容相加为所有xml文件,train和val内容相加为trainval。
python代码:

import os
import random

trainval_percent = 0.7
train_percent = 0.6
xmlfilepath = '/home/ubuntu/tf-faster-rcnn-master/data/VOCdevkit2007/VOC2007/Annotations'
txtsavepath = '/home/ubuntu/tf-faster-rcnn-master/data/VOCdevkit2007/VOC2007/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('/home/ubuntu/tf-faster-rcnn-master/data/VOCdevkit2007/VOC2007/ImageSets/Main/trainval.txt', 'w')
ftest = open('/home/ubuntu/tf-faster-rcnn-master/data/VOCdevkit2007/VOC2007/ImageSets/Main/test.txt', 'w')
ftrain = open('/home/ubuntu/tf-faster-rcnn-master/data/VOCdevkit2007/VOC2007/ImageSets/Main/train.txt', 'w')
fval = open('/home/ubuntu/tf-faster-rcnn-master/data/VOCdevkit2007/VOC2007/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()

JPEGImage
将自己的图片放进该文件夹。

你可能感兴趣的:(深度学习)