开放图像数据集是由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
一旦数据集创建完成,将能够导出想要的任何格式。例如,可以:
然后可以用喜欢的任何模型训练自定义检测器!在撰写本文时,主要在训练YOLOv5检测器。
还可以将自己的新自定义数据集与另一个数据集合并,以增加覆盖范围。
已经创建了两个公共自定义开放图像数据集,并在公共数据集中共享:
这些数据集已经在上共享,供公众使用。