Pascal VOC & COCO数据集介绍 & 转换

目录

  • Pascal VOC & COCO数据集介绍

    • Pascal VOC数据集介绍

      • 1. JPEGImages
      • 2. Annotations
      • 3. ImageSets
      • 4. SegmentationObject & SegmentationClass
    • COCO数据集介绍
      • 数据集分类
      • Coco
    • VOC数据集转化为COCO数据集格式
    • 训练detectron
      • 训练
      • 测试
      • 评估
    • Reference

Pascal VOC & COCO数据集介绍

Pascal VOC数据集介绍

  • Annotations
  • ImageSets
  • JPEGImages
  • SegmentationClass
  • SegmentationObject

1. JPEGImages

主要提供的是PASCAL VOC所提供的所有的图片信息,包括训练图片,测试图片

这些图像就是用来进行训练和测试验证的图像数据。

2. Annotations

主要存放xml格式的标签文件,每个xml对应JPEGImage中的一张图片

<annotation>
    <folder>VOC2012</folder>
    <filename>2007_000392.jpg</filename>                             //文件名
    <source>                                                         //图像来源(不重要)
        <database>The VOC2007 Database</database>
        <annotation>PASCAL VOC2007</annotation>
        <image>flickr</image>
    </source>
    <size>                                            //图像尺寸(长宽以及通道数)
        <width>500</width>
        <height>332</height>
        <depth>3</depth>
    </size>
    <segmented>1</segmented>            //是否用于分割(在图像物体识别中01无所谓)
    <object>                              //检测到的物体
        <name>horse</name>                                         //物体类别
        <pose>Right</pose>                                         //拍摄角度
        <truncated>0</truncated>                                   //是否被截断(0表示完整)
        <difficult>0</difficult>                                   //目标是否难以识别(0表示容易识别)
        <bndbox>                                                   //bounding-box(包含左下角和右上角xy坐标)
            <xmin>100</xmin>
            <ymin>96</ymin>
            <xmax>355</xmax>
            <ymax>324</ymax>
        </bndbox>
    </object>
    <object>              //检测到多个物体
        <name>person</name>
        <pose>Unspecified</pose>
        <truncated>0</truncated>
        <difficult>0</difficult>
        <bndbox>
            <xmin>198</xmin>
            <ymin>58</ymin>
            <xmax>286</xmax>
            <ymax>197</ymax>
        </bndbox>
    </object>
</annotation>  

3. ImageSets

  • Action // 人的动作
  • Layout // 人体的具体部位
  • Main // 图像物体识别的数据,总共20类, 需要保证train val没有交集
    • train.txt
    • val.txt
    • trainval.txt
  • Segmentation // 用于分割的数据

4. SegmentationObject & SegmentationClass

保存的是物体分割后的数据,在物体识别中没有用到

COCO数据集介绍

COCO数据集是微软团队获取的一个可以用来图像recognition+segmentation+captioning 数据集

这个数据集以scene understanding为目标,主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation进行位置的标定。图像包括91类目标,328,000影像和2,500,000个label。

该数据集主要解决3个问题:目标检测,目标之间的上下文关系,目标的2维上的精确定位。数据集的对比示意图:

数据集分类

  • Image Classification

    分类需要二进制的标签来确定目标是否在图像中。早期数据集主要是位于空白背景下的单一目标,如MNIST手写数据库,COIL household objects。在机器学习领域的著名数据集有CIFAR-10 and CIFAR-100,在32*32影像上分别提供10和100类。最近最著名的分类数据集即ImageNet,22,000类,每类500-1000影像。

  • Object Detection

    经典的情况下通过bounding box确定目标位置,期初主要用于人脸检测与行人检测,数据集如Caltech Pedestrian Dataset包含350,000个bounding box标签。PASCAL VOC数据包括20个目标超过11,000图像,超过27,000目标bounding box。最近还有ImageNet数据下获取的detection数据集,200类,400,000张图像,350,000个bounding box。由于一些目标之间有着强烈的关系而非独立存在,在特定场景下检测某种目标是是否有意义的,因此精确的位置信息比bounding box更加重要。

  • Semantic scene labeling

    这类问题需要pixel级别的标签,其中个别目标很难定义,如街道和草地。数据集主要包括室内场景和室外场景的,一些数据集包括深度信息。其中,SUN dataset包括908个场景类,3,819个常规目标类(person, chair, car)和语义场景类(wall, sky, floor),每类的数目具有较大的差别(这点COCO数据进行改进,保证每一类数据足够)。

  • other vision datasets

    一些数据集如Middlebury datasets,包含立体相对,多视角立体像对和光流;同时还有Berkeley Segmentation Data Set (BSDS500),可以评价segmentation和edge detection算法。

Coco

COCO数据集有91类,虽然比ImageNet和SUN类别少,但是每一类的图像多,这有利于获得更多的每类中位于某种特定场景的能力,对比PASCAL VOC,其有更多类和图像。

COCO难度更大,因为coco数据集每张图片中的物体数目很多,所以导致相对别的数据集,该数据集检测的准确率很低

VOC数据集转化为COCO数据集格式

Facebook的Detectron平台只支持coco格式的数据集,所以需要将VOC格式的数据集转化为coco格式的数据集

具体过程参照:https://blog.csdn.net/meccaendless/article/details/79457330

训练detectron

训练

python2 tools/train_net.py --cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml  OUTPUT_DIR experiments/output

测试

python2 tools/infer_simple.py \
--cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml --output-dir experiments/test_out/ --wts ./pretrained_model/model_final.pkl test_demo_cow

other:(注意在训练结束后inferece时,需要将cls_score_voc以及bbox_pred_voc改回。不然会报错)

python2 tools/infer_simple.py --cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml --output-dir experiments/test_out/ --wts ./experiments/output_bak/train/voc_2007_train/generalized_rcnn/model_final.pkl test_demo_cow

评估

python2 tools/test_net.py --cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml TEST.WEIGHTS ./experiments/output_bak/train/voc_2007_train/generalized_rcnn/model_final.pkl  NUM_GPUS 1

Reference

https://blog.csdn.net/weixin_35653315/article/details/71028523

https://blog.csdn.net/u012905422/article/details/52372755

原文地址:https://www.cnblogs.com/pprp/p/9629752.html

时间: 2024-08-30 10:33:56

Pascal VOC & COCO数据集介绍 & 转换的相关文章

PASCAL VOC数据集分析(转)

PASCAL VOC数据集分析 PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge. 本文主要分析PASCAL VOC数据集中和图像中物体识别相关的内容. 在这里采用PASCAL VOC2012作为例子.下载地址为:点击打开链接.(本文中的系统环境为ubuntu14.04) 下载完之后解压,可以在VOCdevkit目录下的VOC2012中看到如下的文件: 其中在图像物体识别上着重需要了解的是Annotation

【Detection】物体识别-制作PASCAL VOC数据集

代码下载:github PASCAL VOC数据集 PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge 默认为20类物体 1 数据集结构 ①JPEGImages JPEGImages文件夹中包含了PASCAL VOC所提供的所有的图片信息,包括了训练图片和测试图片. ref:PASCAL VOC数据集分析 ②Annotations Annotations文件夹中存放的是xml格式的标签文件,每一个xml文件都对

PASCAL VOC 2012

在看目前检测.识别方面的论文时,经常遇到VOC 2007 或者 VOC 2012数据集.为了对这个数据集有一个详细的了解,专门读了相关文档并将一些要点概括如下: The PASCAL Visual Object Classes Challenge (2012) The goal of this challenge is to recognize objects from a number of visual object classes in realistic scenes. There ar

PASCAL VOC DATASET

PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge.该挑战的主要目的是识别真实场景中一些类别的物体.在该挑战中,这是一个监督学习的问题,训练集以带标签的图片的形式给出.这些物体包括20类: Person: personAnimal: bird, cat, cow, dog, horse, sheepVehicle: aeroplane, bicycle, boat, bus, car, motorbike, t

Pascal ASCII和文本的转换

用于帮助新手理解ASCII码和字符型与整型的一段小程序,转载请注明出处 例如:输入 I love you 打印 73 32 108 111 118 101 32 121 111 117 13 10 Program TransPro (input,output);Var  judge,number:integer;  letter:char;begin  writeln('This software was produced by Chaobs!');  writeln('You can use

COCO数据集标注格式与bc平台搭建介绍

因为我是做目标检测,bc平台搭建[企鹅21717-93408]只用到instance json,如果查看另外两类json文件,方法相同. 首先把json文件读进来,它本身是一个字典,包含如下key >> import json>> val=json.load(open('instances_val2017.json', 'r'))>> val.keys()dict_keys(['info', 'licenses', 'images', 'annotations', 'c

JSON和数据集互相转换单元

如题......只是一个单元, 为了测试JSON单元性能的... 具体测试结果参考: http://www.cnblogs.com/hs-kill/p/3668052.html unit DSCJSON; (* 作者: 刘志林 最后修改日期: 2015-11-12 版本: 1.2 修改历史: 1.2 支持QJSON 增加SYSTEM.JSON单元支持(D10中新单元, 就是原有的DBXJSON) 1.1 支持FireDAC 增加DBXJSON单元支持 增加对NULL值字段支持 1.0: 支持AD

制作coco数据集以在Detectron框架上进行数据的训练

图片预处理 首先,根据Detectron官方介绍,数据集一般为jpg格式,分辨率一般为800*600左右. 在这里我们可以photoshop批量对图片进行处理 使用labelImg对数据集进行标注. 安装labelImg之后,打开文件目录,找到data文件夹下的predefined_classes.txt并打开,修改里面的内容,将自己定义的标签名添加到下面,这样在标注图片的时候,就会显示标签供选择. 打开labelImg Change Save Dir 为你选择保存XML文件的目录,Open D

淘宝APP用户行为数据分析之一 —— 数据集介绍

UserBehavior是阿里巴巴提供的一个淘宝用户行为数据集,用于隐式反馈推荐问题的研究. 数据来源? 传送门 数据情况介绍: UserBehavior.csv 本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击.购买.加购.喜欢). 数据集的每一行表示一条用户行为,由用户ID.商品ID.商品类目ID.行为类型和时间戳组成,并以逗号分隔. 关于数据集中每一列的详细描述如下: 列名称 说明 用户ID 整数类型,序列化后的用户ID 商品