自定义开放图像数据集的创建指南

开放图像数据集是由Google发布的开源计算机视觉对象检测数据集,涵盖了图像分类、对象检测和视觉关系检测等多个子领域。本文将指导如何创建自己的自定义开放图像数据集,无论是车辆还是贝类,都是这个庞大数据集的一小部分,旨在为提供构建数据集的示例。

为什么创建自定义开放图像数据集?

创建自定义开放图像数据集有许多用途,包括但不限于:

  • 实验创建自定义对象检测器
  • 在收集和标记自己的数据之前评估检测类似对象的可行性
  • 扩充现有的训练集
  • 训练一个自定义检测器模型的检查点,以应用于数据较少的更专业的定制任务
  • 当然,还有娱乐😁

请记住,这些都是在创意共享下的免费、标记好的计算机视觉数据。

开放图像查询工具

整个开放图像数据集的大小接近半个太字节,如果要下载原始数据,可能需要运行一些命令,例如:

aws s3 --no-sign-request sync s3://open-images-dataset/train [target_dir/train] (513GB) aws s3 --no-sign-request sync s3://open-images-dataset/validation [target_dir/validation] (12GB) aws s3 --no-sign-request sync s3://open-images-dataset/test [target_dir/test] (36GB)

幸运的是,开源社区已经创建了使查询开放图像数据库变得容易使用的工具。为了构建自定义开放图像数据集,使用了OIDv4_ToolKit。OIDv4_ToolKit可以轻松查询OID的子领域,并限制到特定类别。只需一行Python代码,就可以指定类别和想要的图片数量,并且它还会下载边界框等信息!

python3 main.py downloader -y --classes Lobster --Dataset Lobster --type_csv train --image_IsGroupOf 0 --n_threads 4 --limit 200

从开放图像下载200个标记好的龙虾

Downloading annotated crabs from Open Images

从开放图像下载标记好的螃蟹

转换开放图像注释格式

很高兴地宣布,现在支持开放图像数据格式。当下载开放图像数据时,将收到一个包含整个数据集所有注释的大型、难以处理的CSV文件,以及一个类别映射。还将收到每个图像的.txt注释文件,这些文件更容易处理。支持这两种格式,但建议使用.txt文件。

要将注释转换为任何格式,只需在Roboflow上免费注册一个账户,并将图片拖入数据上传流程。

Upload Open Images data for conversion to Roboflow

一旦数据集创建完成,将能够导出想要的任何格式。例如,可以:

  • 将开放图像转换为Coco Json
  • 将开放图像转换为Pascal Voc XML
  • 将开放图像转换为Create ML Json
  • 将开放图像转换为YOLO Darknet
  • 将开放图像转换为Amazon Sage Maker
  • 将开放图像转换为Amazon Rekognition
  • 将开放图像转换为TFRecord
  • 将开放图像转换为YOLOv5 Pytorch

然后可以用喜欢的任何模型训练自定义检测器!在撰写本文时,主要在训练YOLOv5检测器。

还可以将自己的新自定义数据集与另一个数据集合并,以增加覆盖范围。

介绍Roboflow的公共自定义开放图像数据集

已经创建了两个公共自定义开放图像数据集,并在公共数据集中共享:

  • 车辆对象检测
  • 贝类对象检测

这些数据集已经在上共享,供公众使用。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485