自动化工具制作PASCAL VOC 数据集
自动化工具制作PASCAL VOC 数据集
1. VOC的格式
VOC主要有三个重要的文件夹:Annotations、ImageSets和JPEGImages
JPEGImages 文件夹
该文件夹下存放着所有的训练集图片,格式都是.jpg

需要注意的是命名格式,虽然对命名没有特别要求,但是最好按照官方的命名方法,如000001.jpg,000123.jpg,然后在这个文件夹里就没有其他东西了。
Annotations 文件夹
该文件夹下存放的是每一个图片的标注信息,文件都是.xml格式,文件名和图片名是一致的对于该xml的格式,可以参考一下示例:

以上是使用标注工具标注的人脸,(在下面会提到,自己写的一个比较简陋的标注工具 ^^),该图片的名字是000001.jpg
然后会在Annotations文件夹下面生成一个000001.xml文件与之对应:
<annotation>
<folder>VOCType</folder>
<filename>000001.jpg</filename>
<source>
<database>VOC</database>
</source>
<size>
<width>485</width>
<height>324</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>face</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>287</xmin>
<ymin>57</ymin>
<xmax>351</xmax>
<ymax>150</ymax>
</bndbox>
</object>
</annotation>
这是一个基本的格式,其中的object标签保存的就是人脸的位置信息,对于一个图片里面有多个对象的话,在该xml中就有多个object。然后Annotations文件夹里面就是这样的一堆xml文件,其他没什么。
ImageSets 文件夹
在这个文件夹中还有一个Main文件夹,其他的文件夹不太重要(对于我目前的需求来说),这个文件夹中主要有四个.txt文件,分别是train.txt、test.txt、trainval.txt、val.txt

test.txt中保存的是测试所用的所有样本的名字,不过没有后缀(下同),一般测试的样本数量占总数据集的50%
train.txt中保存的是训练所用的样本名,样本数量通常占trainval的50%左右
val.txt中保存的是验证所用的样本名,数量占trainval的50%左右
trainval.txt中保存的是训练验证样本,是上面两个的总和,一般数量占总数据集的50%
2.自动化标注工具

根据VOC的格式可以写一个标注工具。例如我使用Python和C++制作的一个工具:github
首先是rename.py,该脚本用来生成三个基本文件夹并将图片重新命名为VOC格式保存在JPEGImages中
然后打开VS2013工程,运行后可以开始进行图片的标注
标注完成后可以执行txt.py脚本,用来生成test.txt,train.txt,val.txt,trainval.txt四个文件并保存在Main文件夹中。
相关内容请见github。
自动化工具制作PASCAL VOC 数据集的更多相关文章
- 【Detection】物体识别-制作PASCAL VOC数据集
PASCAL VOC数据集 PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge 默认为20类物体 1 数据集结构 ...
- PASCAL VOC数据集分析(转)
PASCAL VOC数据集分析 PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge. 本文主要分析PASCAL V ...
- 【计算机视觉】PASCAL VOC数据集分析
PASCAL VOC数据集分析 PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge. 本文主要分析PASCAL V ...
- PASCAL VOC数据集The PASCAL Object Recognition Database Collection
The PASCAL Object Recognition Database Collection News 04-Apr-07: The VOC2007 challenge development ...
- 【Tensorflow】 Object_detection之训练PASCAL VOC数据集
参考:Running Locally 1.检查数据.config文件是否配置好 可参考之前博客: Tensorflow Object_detection之配置Training Pipeline Ten ...
- PASCAL VOC数据集分析
http://blog.csdn.net/zhangjunbob/article/details/52769381
- YOLO v3 & Pascal VOC数据集
代码地址:https://github.com/YunYang1994/tensorflow-yolov3 https://hackernoon.com/understanding-yolo-f5a7 ...
- Pascal VOC & COCO数据集介绍 & 转换
目录 Pascal VOC & COCO数据集介绍 Pascal VOC数据集介绍 1. JPEGImages 2. Annotations 3. ImageSets 4. Segmentat ...
- Python生成PASCAL VOC格式的xml标注文件
Python生成PASCAL VOC格式的xml标注文件 PASCAL VOC数据集的标注文件是xml格式的.对于py-faster-rcnn,通常以下示例的字段是合适的: <annotatio ...
随机推荐
- java布局学习(新)
坚持学习java一段时间,最近自己需要做一个小型的系统,所以需要自己将自己的AWT知识巩固一下. 一.4大布局管理器. 1.边界布局BorderLayout 是JFrame和JDialog的默认布局方 ...
- VS2010中配置OpenGL
下面将对VS2010中配置OpenGL进行简单介绍. 学习OpenGL前的准备工作第一步,选择一个编译环境现在Windows系统的主流编译环境有Visual Studio,Broland C++ Bu ...
- SQL之联合查询学习笔记
定义: 联合查询可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL. 语法格式 UNION 可以将两个或两个以上 ...
- Java中的常见异常
非检查异常:Error 和 RuntimeException 以及他们的子类.0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界Ar ...
- Head First Java & 继承
- mysubmail 短信报警
https://www.mysubmail.com/chs/documents/developer/YPWD84 文本文档 官网:www.mysubmail.com 操作流程:快速接入短信 AP ...
- jQ返回定位插件
一.jQuery 提供开发者开发插件的几种模式 1.$.extend(); //这个方法是绑定在$上面的.可以通过$直接调用 2.$.fn.方法名 //这个方法是绑定在Dom对象上面的 ...
- js中常见算法
一.面试80%都要问的数组去重 数组去重的方式有多种,其实面试中主要是想靠对对象的理解.还记得我第一次去面试的时候,去重的时候用了2个for循环. //1循环一次 var arr1 = [1,2,3, ...
- [转帖]HR职能划分三支柱模型
HR职能划分三支柱模型 http://blog.sina.com.cn/s/blog_afbd12640101o5hf.html COE(Centre of Excellence or Center ...
- 微信 小程序布局 scroll-view
//滚动触底事件 <scroll-view scroll-y lower-threshold="0" bindscrolltolower="scrollBott ...