yolo 学习笔记分享之--VOC数据集

news/2024/7/11 1:19:44 标签: yolo, 数据集

参考:

<Pascal VOC & COCO数据集介绍 & 转换> http://www.cnblogs.com/pprp/p/9629752.html

《Pascal Voc数据集详细分析》https://blog.csdn.net/u013832707/article/details/80060327

《检测数据集分析VOC+COCO_RGBD》https://blog.csdn.net/yuanluolvge/article/details/77989606

首先概念解释:

VOC解释:

相关网址
Pascal VOC网址:http://host.robots.ox.ac.uk/pascal/VOC/ 
查看各位大牛算法的排名的Leaderboards:http://host.robots.ox.ac.uk:8080/leaderboard/main_bootstrap.php 
训练/验证数据集下载(2G):host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
 

VOCdevkit文件夹

数据集下载后解压得到一个名为VOCdevkit的文件夹,该文件夹结构如下:

└── VOCdevkit     #根目录
    └── VOC2012   #不同年份的数据集,这里只下载了2012的,还有2007等其它年份的
        ├── Annotations        #存放xml文件,与JPEGImages中的图片一一对应,解释图片的内容等等
        ├── ImageSets          #该目录下存放的都是txt文件,txt文件中每一行包含一个图片的名称,末尾会加上±1表示正负样本
        │   ├── Action
        │   ├── Layout
        │   ├── Main
        │   └── Segmentation
        ├── JPEGImages         #存放源图片
        ├── SegmentationClass  #存放的是图片,分割后的效果,见下文的例子
        └── SegmentationObject #存放的是图片,分割后的效果,见下文的例子

这里大概介绍一下各个文件夹的内容,更细节的介绍将在后文给出: 
- Annotation文件夹存放的是xml格式的标签文件,该文件是对图片的解释,每张图片(位于同目录下的 JPEGImages)都对于一个同名的xml文件,每一个xml对应一张图像,并且每个xml中存放的是标记的各个目标的位置和类别信息,命名通常与对应的原始图像一样。
- ImageSets文件夹存放的是txt文件,这些txt将数据集的图片分成了各种集合。

        Action下存放的是人的动作(例如running、jumping等等,这也是VOC challenge的一部分);

        Main下的train.txt中记录的是用于训练的图片集合,该文本文件里面的内容是需要用来训练或测试的图像的名字(无后缀无路径)

        Layout下存放的是具有人体部位的数据(人的head、hand、feet等等,这也是VOC challenge的一部分)Main下存放的是图像物体识别的数据,总共分为20类。
        Segmentation下存放的是可用于分割的数据。其中Main文件夹包含20个分类的train.txt,val.txt和trainval.txt,在txt文件中前边的数字表示名字,后边的1和-1表示正负样本的标签

- JPEGImages文件夹存放的是数据集的原图片,横向图尺寸大约在500*375左右,纵向图尺寸大约在375*500左右,基本偏差不会超过100,因为训练的第一步就是将图片resize到300*300或者500*500.
- SegmentationClass以及SegmentationObject文件夹存放的都是图片,且都是图像分割结果图(楼主没用过,所以不清楚:随后完善)

Annotation文件夹

其中xml主要介绍了对应图片的基本信息,如来自那个文件夹、文件名、来源、图像尺寸以及图像中包含哪些目标以及目标的信息等等,内容如下:

<annotation>
    <folder>VOC2012</folder>  #表明图片来源
    <filename>2007_000027.jpg</filename> #图片名称
    <source>                  #图片来源相关信息
        <database>The VOC2007 Database</database>
        <annotation>PASCAL VOC2007</annotation>
        <image>flickr</image>
    </source>
    <size>     #图像尺寸
        <width>486</width>
        <height>500</height>
        <depth>3</depth>
    </size>
    <segmented>0</segmented> #是否用于分割
    <object>  #包含的物体
        <name>person</name> #物体类别
        <pose>Unspecified</pose>
        <truncated>0</truncated>
        <difficult>0</difficult>
        <bndbox>  #物体的bbox
            <xmin>174</xmin>
            <ymin>101</ymin>
            <xmax>349</xmax>
            <ymax>351</ymax>
        </bndbox>
        <part> #物体的头
            <name>head</name>
            <bndbox>
                <xmin>169</xmin>
                <ymin>104</ymin>
                <xmax>209</xmax>
                <ymax>146</ymax>
            </bndbox>
        </part>
        <part>   #物体的手
            <name>hand</name>
            <bndbox>
                <xmin>278</xmin>
                <ymin>210</ymin>
                <xmax>297</xmax>
                <ymax>233</ymax>
            </bndbox>
        </part>
        <part>
            <name>foot</name>
            <bndbox>
                <xmin>273</xmin>
                <ymin>333</ymin>
                <xmax>297</xmax>
                <ymax>354</ymax>
            </bndbox>
        </part>
        <part>
            <name>foot</name>
            <bndbox>
                <xmin>319</xmin>
                <ymin>307</ymin>
                <xmax>340</xmax>
                <ymax>326</ymax>
            </bndbox>
        </part>
    </object>
</annotation>

ImageSets文件夹

ImageSets包含如下四个子文件夹(也可能是三个,随后完善): 

各个文件夹中存放的是各种用途的TXT文件。例如在Main文件夹下有名为aeroplane_train.txt的文件,顾名思义是用于飞机类别的训练数据。该txt的具体内容如下,其中±1应该表示的是正负样本的含义(没有具体研究:待完善):

2008_000008 -1
2008_000015 -1
2008_000019 -1
2008_000023 -1
2008_000028 -1
2008_000033  1
2008_000036 -1
2008_000037  1
2008_000041 -1
2008_000045 -1

其中包含的train.txt以及trainval.txt等文件内容与上面类似。不过博主发现train.txt和trainval.txt内容中光有图片的名字,末尾没有标注正负1.(待完善)

JEPGImages文件夹

该文件夹存放的是数据集的所有源图片,内容如下: 

è¿éåå¾çæè¿°

SegmentationClass文件夹

还没有涉及图像分割领域,不太清楚该文件夹下图片的用处,截图贴上来吧: 

è¿éåå¾çæè¿°

SegmentationObject文件夹

同上,把内容截图上传: 

è¿éåå¾çæè¿°

 

和VOC相比,coco数据集上小目标多,单幅图片目标多,物体大多非中心分布,更符合日常环境,所以coco检测难度更大.

 

Microsoft COCO数据集:

微软官方对coco的解释:https://link.springer.com/chapter/10.1007/978-3-319-10602-1_48

1)Object segmentation(2)Recognition in Context(3)Multiple objects per image(4)More than 300,000 images(5)More than 2 Million instances(6)80 object categories(7)5 captions per image(8)Keypoints on 100,000 people

coco数据集以场景理解为目标,从复杂的日常场景中截取,图像中的目标通过精确的Segmentation进行位置的标定,包含91类目标.

详细了解的话,参照 姊妹篇: yolo 学习笔记分享之--COCO数据集

 

 

 

 

 


http://www.niftyadmin.cn/n/1034145.html

相关文章

辨析BI、数据仓库、数据湖和数据中台内涵及差异点(建议收藏)

前言随着大数据技术的不断更新和迭代&#xff0c;数据管理工具得到了飞速的发展&#xff0c;相关概念如雨后春笋一般应运而生&#xff0c;如从最初决策支持系统(DSS)到商业智能(BI)、数据仓库、数据湖、数据中台等&#xff0c;这些概念特别容易混淆&#xff0c;本文对这些名词术…

YOLO新手教程:安装、配置、文件结构解释、运行机理、简单跑起来

目录&#xff1a; 1. 安装 2. 配置 3. 文件结构解释 4. 运行机理 5. 简单跑起来 1、安装&#xff1a; 首先交代一下我的环境&#xff1a; ubuntu16.04 i7-8700 GTX1060 YOLO官网&#xff1a;https://pjreddie.com/darknet/yolo/ 官网介绍超级详细并且安装超级简单&am…

linux查看cuda版本和cudnn版本

第一部分. 查看cuda 版本 cat /usr/local/cuda/version.txt 第二部分. 查看cudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 3. 进行 cudn的测试&#xff1a; 3.1 编译samples例子 进入到Samples安装目录&#xff0c;然后在该目录下终端输入mak…

艰难的旅程:我们如何用“十步法”完成了一次企业级数据治理的落地?

这是傅一平的第304篇原创作者&#xff1a;傅一平个人微信&#xff1a;fuyipingmnb“与数据同行”开通了微信群&#xff0c;现已汇聚了1800位小伙伴了&#xff0c;加我为微信好友&#xff08;微信号&#xff1a;fuyipingmnb&#xff09;申请加入&#xff0c;让我们共建一个知识社…

JavaSE-基本程序设计结构(上)

JavaSE-基本程序设计结构&#xff08;上&#xff09;1. 注释1.1. 单行注释1.1.1. 规则1.2. 多行注释1.2.1. 规则1.3. 文档注释1.3.1 规则1.3.2. 命令行执行&#xff08;doc窗口&#xff09;1.3.3. 可视化执行&#xff08;IDEA&#xff09;1.3.3.1. 类模板1.3.3.2. 方法模板2. 数…

卸载cuda

根据tensorflow官网的教程安装GPU的版本&#xff0c;点击链接进入到英伟达官网&#xff0c;于是根据最新版本下载了最新的cuda10.0.0的版本&#xff0c;安装完成&#xff0c;运行tensorflow提示找不到9.0版本&#xff0c;于是只得把装好的cuda卸载&#xff0c;怎么卸载呢&#…

JavaSE-基本程序设计结构(下)

JavaSE-基本程序设计结构&#xff08;下&#xff09;1. 输入与输出1.1. 读取和输出1.2. 格式化输出1.3. 文件的输入输出2.控制流程2.1. 条件语句2.2. 循环语句2.2.1. while语句2.2.2. do-while语句2.2.3. for语句2.2.4. switch语句2.3. 中断控制流程语句3.大数4.数组4.1. 声明数…

机器学习是门手艺,正如编程一样,马上会成为IT人员的必备技能!

李笑来&#xff0c;天使投资人&#xff0c;币圈的名人&#xff0c;终身成长者&#xff0c;著有《把时间当作朋友》《财富自由之路》《韭菜的自我修养》等书&#xff0c;活脱脱的文科调子。他今年出了本新书&#xff0c;在书中提到&#xff1a;强大、持续的自学能力是快速迭代的…