计算机视觉领域中,数据集是算法训练和评估的基础。本文将介绍一系列用于不同计算机视觉任务的数据集,包括对象检测、实例分割、姿态估计、分类和多目标跟踪等。这些数据集不仅为研究人员提供了丰富的资源,也为算法的比较和优化提供了平台。
对象检测数据集
对象检测是计算机视觉中的一项基础任务,旨在识别图像中的目标并确定其位置。以下是一些主要的对象检测数据集:
Argoverse
数据集包含了丰富的城市环境3D追踪和运动预测数据。
COCO
数据集是一个大规模的对象检测、实例分割和描述数据集,包含80个目标类别。
LVIS
数据集是一个包含1203个对象类别的大规模对象检测、实例分割和描述数据集。
COCO8
和 COCO128
数据集是 COCO
数据集的子集,分别包含前4张和前128张图像,适合快速测试。
Objects365
数据集是一个高质量的大规模对象检测数据集,包含365个目标类别和60万个以上的标注图像。
OpenImagesV7
数据集由Google提供,包含170万个带标签的图像和4.2万个验证图像。
SKU-110K
数据集专为零售环境中的高密度对象检测设计,包含超过11K个图像和170万个边界框。
VisDrone
数据集包含由无人机捕获的图像中的对象检测和多目标跟踪数据,包含10K以上的图像和视频序列。
VOC
数据集是用于对象检测和分割的PASCAL视觉对象类别数据集,包含20个对象类别和超过11,000个图像。
xView
数据集是一个用于从头顶图像中检测对象的数据集,包含60个目标类别和超过100万个标注。
Roboflow 100
数据集是一个包含100个数据集的多样化对象检测基准,涵盖7个图像领域,用于全面模型评估。
Brain Tumor
数据集包含用于检测脑肿瘤的MRI或CT扫描图像,其中包含肿瘤的存在、位置和特征的详细信息。
African Wildlife
数据集包含非洲野生动物的图像,如水牛、大象、犀牛和斑马。
Signatures
数据集由带有注释的签名组成,支持文档验证和欺诈检测研究。
实例分割数据集
实例分割是计算机视觉中的一个高级任务,它要求在像素级别上识别和定位图像中的目标。以下是一些主要的实例分割数据集:
COCO
数据集同样适用于实例分割任务,包含200万个以上标注的图像。
COCO8-seg
和 COCO128-seg
数据集是 COCO
数据集的子集,专门用于实例分割任务,分别包含8张和128张带有分割注释的图像。
Crack Segment
数据集是为检测道路和墙壁上的裂缝而特别制作的,适用于对象检测和分割任务。
Package Segment
数据集是为在仓库或工业环境中识别包裹而定制的,适用于对象检测和分割应用。
Carparts-seg
数据集是为识别汽车零部件而特别制作的,满足设计、制造和研究需求,适用于对象检测和分割任务。
姿态估计数据集
姿态估计是一种计算机视觉技术,用于确定对象相对于相机或世界坐标系的姿态。以下是一些主要的姿态估计数据集:
COCO
数据集包含用于姿态估计任务的人姿态注释。
COCO8-pose
数据集是一个更小的数据集,包含8张带有人姿态注释的 COCO
图像子集,适用于姿态估计任务。
Tiger Pose
数据集是一个紧凑的数据集,包含263张以老虎为焦点的图像,每只老虎都有12个关键点被注释,用于姿态估计任务。
Hand-Keypoints
数据集包含超过26,000张以人手为中心的图像,每只手都标注了21个关键点,专为姿态估计任务设计。
分类数据集
图像分类是计算机视觉中的一个任务,它涉及根据图像的视觉内容将其归类为一个或多个预定义的类别。以下是一些主要的分类数据集:
Caltech 101
数据集包含101个对象类别的图像,适用于图像分类任务。
Caltech 256
数据集是 Caltech 101
的扩展版本,包含256个对象类别和更难的图像。
CIFAR-10
数据集是一个由10个类别组成的60K 32x32彩色图像数据集(每个类别6K图像)。
CIFAR-100
数据集是 CIFAR-10
的扩展版本,包含100个对象类别,每个类别包含600张图像。
Fashion-MNIST
数据集包含70,000张黑白图像,涵盖10种时尚类别,适用于图像分类任务。
ImageNet
数据集是一个大规模的数据集,包含1400万个以上的图像和20,000多个类别,适用于对象检测和图像分类。
ImageNet-10
数据集是 ImageNet
的一个小子集,包含10个类别,用于更快的实验和测试。
ImageWoof
数据集是 ImageNet
的一个更困难的子集,包含10种易于区分的狗的品种类别。
MNIST
数据集包含70,000张手写数字的灰度图像,适用于图像分类任务。
MNIST160
数据集包含MNIST数据集中每个类别的前8张图像,总共包含160张图像。
OBB数据集
OBB(Oriented Bounding Box)是一种使用旋转边界框来检测图像中倾斜物体的计算机视觉方法,主要应用于航空和卫星图像。以下是一些主要的OBB数据集:
DOTA-v2
数据集是一个流行的OBB航空图像数据集,包含170万个实例和11,268张图像。
DOTA8
数据集是 DOTAv1
分割集的前8张图像的子集,其中4张用于训练,4张用于验证,适合快速测试。
多目标跟踪数据集
多目标跟踪是一种计算机视觉技术,用于在视频序列中随时间检测和跟踪多个目标。以下是一些主要的多目标跟踪数据集:
Argoverse
数据集包含了丰富的城市环境3D追踪和运动预测数据,适用于多目标跟踪任务。
VisDrone
数据集包含由无人机捕获的图像中的对象检测和多目标跟踪数据,包含10K以上的图像和视频序列。
贡献新数据集
如果想为计算机视觉领域贡献一个新的数据集,需要遵循一些步骤以确保与现有基础设施的良好集成。以下是必要的步骤:
收集图像:可以从公共数据库或个人收藏中收集属于数据集的图像。
标注图像:根据任务的不同,可以使用边界框、分割或关键点来标注图像。
导出标注:将这些标注导出为支持YOLO *.txt文件格式的Ultralytics。
组织数据集:将数据集整理成正确的文件夹结构。需要有顶级目录和每个目录中的images/和labels/子目录。
创建data.yaml文件:在数据集的根目录中创建一个描述数据集、类别和其他相关信息的data.yaml文件。
(可选)图像优化:为了更高效的处理,可以使用以下代码来优化数据集的大小。虽然不是必需的,但为了减小数据集大小和提高下载速度,建议这样做。
压缩数据集:将整个数据集文件夹压缩成zip文件。
文档和PR:创建一个解释数据集如何适应现有框架的文档页面。然后,按照Ultralytics贡献指南提交一个Pull Request(PR)。
数据集优化和压缩代码示例
以下是使用Ultralytics工具优化和压缩数据集的代码示例:
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# 定义数据集目录
path = Path("path/to/dataset")
# 优化数据集中的图像(可选)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# 将数据集压缩成 'path/to/dataset.zip'
zip_directory(path)
可以按照上述步骤为Ultralytics的现有结构贡献一个新的数据集。
常见问题解答
Ultralytics支持哪些对象检测数据集?
Ultralytics支持多种对象检测数据集,包括:
COCO
:一个大规模的对象检测、分割和描述数据集,包含80个目标类别。
LVIS
:一个广泛的数据集,包含1203个目标类别,专为更细粒度的对象检测和分割设计。
Argoverse
:包含丰富的城市环境3D追踪和运动预测数据。
VisDrone
:包含由无人机捕获的图像中的对象检测和多目标跟踪数据。
SKU-110K
:在零售环境中进行高密度对象检测,包含超过11K个图像。
这些数据集为各种对象检测应用的强大模型学习提供了便利。
如何为Ultralytics贡献新数据集? 贡献新数据集涉及几个步骤: 收集图像:从公共数据库或个人收藏中收集图像。 标注图像:根据任务的不同,应用边界框、分割或关键点。 导出标注:将标注导出为YOLO *.txt格式。 组织数据集:使用train/和val/目录,每个目录中都有images/和labels/子目录。 创建data.yaml文件:包括数据集描述、类别和其他相关信息。 (可选)图像优化:为了效率,减小数据集大小。 压缩数据集:将数据集压缩成zip文件。 文档和PR:描述数据集并按照Ultralytics贡献指南提交Pull Request(PR)。 更多详细信息,请访问。
为什么应该使用Ultralytics Explorer来使用数据集? Ultralytics Explorer为数据集分析提供了强大的功能,包括: 生成嵌入:为图像创建向量嵌入。 语义搜索:使用嵌入或AI搜索相似图像。 SQL查询:运行高级SQL查询进行详细数据分析。 自然语言搜索:使用普通语言查询进行搜索,便于使用。 更多详细信息,请查看并尝试。
Ultralytics YOLO模型在计算机视觉方面有哪些独特功能? Ultralytics YOLO模型提供了几个独特的功能: 实时性能:高速推理和训练。 多功能性:适用于检测、分割、分类和姿态估计任务。 预训练模型:访问各种应用的高性能预训练模型。 广泛的社区支持:活跃的社区和全面的文档,用于故障排除和开发。