Objects365数据简介及数据转换为XML格式

Objects365数据简介及数据转换为XML格式

注:Obj365和COCO数据集转换为xml格式以及转为yolo的txt格式,xml数据统计处理更改见GitHub:

1. Objects365数据集介绍

    Objects365是旷视和北京智源人工智能研究院联合推出了目标检测任务的新基准。它的所有图像数据都是在自然场景设计和收集的。该Objects365目标检测数据集主要用于解决具有365个对象类别的大规模检测,并为目标检测研究提供多样化、实用性的基准。官方网站: Objects365在63万余张图像上标注了365个对象类,训练集中有超过1000万个边界框,超越了Pascal VOC、ImageNet和COCO数据集。下表给出了Objects365与之前所有的目标检测数据集在图像数量、边界框数量、对象类数量等参数上的对比。经过研究后发现,Objects365的图像数量是COCO的5倍,边界框是COCO的11倍,对象种类数和平均边界框数也是最大的。Objects365包括了人、衣物、居室、浴室、厨房、办公、电器、交通、食物、水果、蔬菜、动物、运动、乐器14个大类,每一类都有数十个小类。

2. 数据集获取

Objects365数据集共两个版本:2019 Objects365目标检测数据集,2020 Objects365物体检测数据集。

    2019版本官方不在提供下载,这里提供百度云盘下载地址:链接: 提取码: qiva 复制这段内容后打开百度网盘手机App,操作更方便哦 2020版本官方下载地址:

3. 数据集处理

Objects365数据集较大,实际使用时可能不需要那么多类别,故需要筛选自己需要的类别并将指定类型的数据标注转换成XML格式,并生成对应的图片及标注列表。其中365种类别在object365_dict.txt中详细显示,博客中也有具体内容。

其中XML格式定义如下:

3.1 数据准备
    Objects365数据集目录结构如下:
/path/to/objects365
    Annotations
        train
            train.json
        val
            val.json
    Images
        train
            *.jpg
        val
            *.jpg
3.2 数据处理

主要包含两个代码,obj365_main.py和object365_to_voc.py,整体数据处理过程以及其他目标检测数据集转换为xml格式以及yolo的txt格式,详情见个人GitHub,链接:,有帮助请点个star。

处理过程如下:

python obj365_main.py -i "data/obj365" -o "output/sport" -c 80 92 97 112 113 132 141 143 144 165 170 177 182 183 187 195 199 202 214 228 272 279 291 297

其中 -i 为数据集输入路径, -o为转换输出路径, -c为类别序号,可根据实际情况进行选择。

3.3 数据输出

输出目录结构如下

/path/to/output
    annotations_xml_train                   // 标注目录
        xxx.xml                             // 标注文件
        yyy.xml                             // 标注文件
    annotations_xml_val                     // 标注目录
        xxx.xml                             // 标注文件
        yyy.xml                             // 标注文件            
    annotations_xml_object365_train.txt          
    annotations_xml_object365_val.txt

其中列表文件格式

XML文件路径 图片路径 [类别1 类别2 ...]

XML文件路径为相对于输出目录的相对路径,图片路径为相对于输入目录的相对路径

经验分享 程序员 微信小程序 职场和发展