数据集概览
Ultralytics 支持各种数据集,以促进计算机视觉任务,例如检测、实例分割、姿势估计、分类和多目标跟踪。以下是主要的 Ultralytics 数据集列表,后跟每个计算机视觉任务和相应数据集的摘要。
观看: Ultralytics 数据集概览
目标检测
边界框目标检测是一种计算机视觉技术,它通过在每个对象周围绘制一个边界框来检测和定位图像中的对象。
- Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的注释。
- COCO:Common Objects in Context (COCO) 是一个大规模的目标检测、分割和字幕数据集,包含 80 个对象类别。
- LVIS:一个大规模的目标检测、分割和字幕数据集,包含 1203 个对象类别。
- COCO8:COCO train 和 COCO val 中前 4 张图像的一个较小子集,适合快速测试。
- COCO8-Grayscale:COCO8 的灰度版本,通过将 RGB 转换为灰度创建,适用于单通道模型评估。
- COCO8-Multispectral:COCO8 的 10 通道多光谱版本,通过插值 RGB 波长创建,适用于光谱感知模型评估。
- COCO128:COCO train 和 COCO val 中前 128 张图像的一个较小子集,适合测试。
- Global Wheat 2020:一个包含小麦穗图像的数据集,用于 2020 年全球小麦挑战赛。
- Objects365:一个高质量、大规模的目标检测数据集,包含 365 个对象类别和超过 60 万张带注释的图像。
- OpenImagesV7:Google 提供的一个综合数据集,包含 170 万张训练图像和 4.2 万张验证图像。
- SKU-110K:一个在零售环境中进行密集目标检测的数据集,包含超过 1.1 万张图像和 170 万个边界框。
- HomeObjects-3K 新 🚀:一个带注释的室内场景数据集,包含 12 种常见的家居用品,非常适合在智能家居系统、机器人技术和增强现实中开发和测试计算机视觉模型。
- VisDrone:一个包含无人机拍摄图像的目标检测和多目标跟踪数据集,拥有超过1万张图像和视频序列。
- VOC:Pascal 视觉对象分类 (VOC) 数据集,用于目标检测和分割,包含 20 个对象类别和超过 11K 张图像。
- xView:一个用于 overhead 图像中目标检测的数据集,包含 60 个对象类别和超过 100 万个带标注的对象。
- RF100:一个多样化的目标检测基准,包含 100 个数据集,涵盖七个图像领域,用于全面的模型评估。
- Brain-tumor:一个用于检测脑肿瘤的数据集,包含 MRI 或 CT 扫描图像,其中包含有关肿瘤存在、位置和特征的详细信息。
- African-wildlife:一个包含非洲野生动物图像的数据集,包括水牛、大象、犀牛和斑马。
- Signature:一个包含各种带有标注签名的文档图像的数据集,支持文档验证和欺诈检测研究。
- Medical-pills:一个包含标记的药丸图像的数据集,旨在帮助进行药物质量控制、分类以及确保符合行业标准等任务。
实例分割
实例分割是一种计算机视觉技术,涉及在像素级别识别和定位图像中的对象。与仅对每个像素进行分类的语义分割不同,实例分割区分同一类的不同实例。
- COCO:一个大规模数据集,专为目标检测、分割和图像描述任务而设计,包含超过 20 万张带标签的图像。
- COCO8-seg:一个较小的数据集,用于实例分割任务,包含 8 个带有分割标注的 COCO 图像子集。
- COCO128-seg:一个较小的数据集,用于实例分割任务,包含 128 个带有分割标注的 COCO 图像子集。
- Crack-seg:专门用于检测道路和墙壁裂缝的数据集,适用于目标检测和分割任务。
- Package-seg:一个专门用于识别仓库或工业环境中包裹的数据集,适用于目标检测和分割应用。
- Carparts-seg:一个专门用于识别车辆部件的数据集,满足设计、制造和研究需求。它适用于目标检测和分割任务。
姿势估计
姿势估计是一种用于确定对象相对于相机或世界坐标系的姿势的技术。这涉及识别对象(特别是人或动物)上的关键点或关节。
- COCO:一个大规模数据集,具有人体姿势注释,专为姿势估计任务而设计。
- COCO8-pose:一个较小的数据集,用于姿势估计任务,包含 8 个带有姿势注释的 COCO 图像子集。
- Tiger-pose:一个紧凑的数据集,包含 263 张专注于老虎的图像,每只老虎都注释有 12 个关键点,用于姿势估计任务。
- Hand-Keypoints:一个简洁的数据集,包含超过 26,000 张以人手为中心的图像,每只手都注释有 21 个关键点,专为姿势估计任务而设计。
- Dog-pose:一个全面的数据集,包含大约 6,000 张专注于狗的图像,每只狗都注释有 24 个关键点,专为姿势估计任务而定制。
分类
图像分类是一种计算机视觉任务,涉及根据图像的视觉内容将图像分类为一个或多个预定义的类别。
- Caltech 101:一个包含 101 个对象类别的图像的数据集,用于图像分类任务。
- Caltech 256:Caltech 101 的扩展版本,包含 256 个对象类别和更具挑战性的图像。
- CIFAR-10:一个包含 60K 张 32x32 彩色图像的数据集,分为 10 个类别,每个类别包含 6K 张图像。
- CIFAR-100:CIFAR-10 的扩展版本,包含 100 个对象类别,每个类别包含 600 张图像。
- Fashion-MNIST:一个包含 70,000 张灰度图像的数据集,这些图像属于 10 个时尚类别,用于图像分类任务。
- ImageNet:一个大规模数据集,包含超过 1400 万张图像和 20,000 个类别,用于目标检测和图像分类。
- ImageNet-10:ImageNet 的一个较小子集,包含 10 个类别,用于更快速的实验和测试。
- Imagenette:ImageNet 的一个较小子集,包含 10 个易于区分的类别,用于更快速的训练和测试。
- Imagewoof:ImageNet 的一个更具挑战性的子集,包含 10 个犬种类别,用于图像分类任务。
- MNIST:一个包含 70,000 张手写数字灰度图像的数据集,用于图像分类任务。
- MNIST160:来自 MNIST 数据集的每个 MNIST 类别的首 8 张图像。数据集总共包含 160 张图像。
旋转框检测 (OBB)
旋转框检测 (OBB) 是计算机视觉中的一种方法,用于检测图像中倾斜角度的物体,它使用旋转的边界框,通常应用于航空和卫星图像。与传统的边界框不同,OBB 可以更好地拟合各种方向的物体。
- DOTA-v2:一个流行的 OBB 航空图像数据集,包含 170 万个实例和 11,268 张图像。
- DOTA8:DOTAv1 分割集中前 8 张图像的一个较小子集,其中 4 张用于训练,4 张用于验证,适合快速测试。
多目标跟踪
多目标跟踪是一种计算机视觉技术,涉及在视频序列中检测和跟踪多个物体随时间的变化。这项任务通过在帧之间保持物体身份的一致性来扩展物体检测。
- Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的注释,适用于多目标跟踪任务。
- VisDrone:一个包含无人机拍摄图像的目标检测和多目标跟踪数据集,拥有超过1万张图像和视频序列。
贡献新的数据集
贡献新的数据集涉及多个步骤,以确保它与现有基础设施良好地结合。以下是必要的步骤:
观看: 如何贡献 Ultralytics 数据集 🚀
贡献新数据集的步骤
- 收集图像:收集属于该数据集的图像。这些图像可以从各种来源收集,例如公共数据库或您自己的收藏。
- 标注图像:根据任务的不同,使用边界框、分割或关键点来标注这些图像。
- 导出标注:将这些标注转换为 YOLO
*.txt
Ultralytics 支持的文件格式。 -
组织数据集:将您的数据集整理成正确的文件夹结构。您应该有
train/
和val/
顶级目录,并且在每个目录中都有一个images/
和labels/
子目录。dataset/ ├── train/ │ ├── images/ │ └── labels/ └── val/ ├── images/ └── labels/
-
创建一个
data.yaml
文件:在数据集的根目录中,创建一个data.yaml
描述数据集、类别和其他必要信息的文件。 - 优化图像(可选):如果您想减小数据集的大小以提高处理效率,可以使用以下代码优化图像。这不是必需的,但建议用于较小的数据集大小和更快的下载速度。
- 压缩数据集:将整个数据集文件夹压缩成一个 zip 文件。
- 编写文档并提交 PR:创建一个文档页面,描述您的数据集以及它如何适应现有的框架。之后,提交一个 Pull Request (PR)。有关如何提交 PR 的更多详细信息,请参阅 Ultralytics 贡献指南。
优化和压缩数据集的示例代码
优化和压缩数据集
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)
通过遵循这些步骤,您可以贡献一个新的数据集,使其与 Ultralytics 的现有结构良好地集成。
常见问题
Ultralytics 支持哪些用于目标检测的数据集?
Ultralytics 支持各种用于对象检测的数据集,包括:
- COCO:一个大规模的目标检测、分割和图像描述数据集,包含 80 个目标类别。
- LVIS:一个包含 1203 个目标类别的广泛数据集,专为更细粒度的目标检测和分割而设计。
- Argoverse:一个包含来自城市环境的 3D 跟踪和运动预测数据的数据集,具有丰富的注释。
- VisDrone:一个包含无人机拍摄图像的目标检测和多目标跟踪数据的数据集。
- SKU-110K:包含零售环境中密集目标检测的数据集,拥有超过 11K 张图像。
这些数据集有助于训练强大的 Ultralytics YOLO 模型,以用于各种对象检测应用。
如何向 Ultralytics 贡献新的数据集?
贡献新数据集涉及以下几个步骤:
- 收集图像:从公共数据库或个人收藏中收集图像。
- 标注图像:根据任务应用边界框、分割或关键点。
- 导出标注:将标注转换为 YOLO
*.txt
格式。 - 组织数据集:使用包含
train/
和val/
目录的文件夹结构,每个目录包含images/
和labels/
子目录。 - 创建一个
data.yaml
文件:包括数据集描述、类别和其他相关信息。 - 优化图像(可选):减小数据集大小以提高效率。
- 压缩数据集:将数据集压缩成一个 zip 文件。
- 编写文档并提交 PR:描述您的数据集,并按照 Ultralytics 贡献指南 提交 Pull Request。
请访问贡献新数据集,获取全面的指南。
为什么我应该使用 Ultralytics HUB 来管理我的数据集?
Ultralytics HUB为数据集管理和分析提供了强大的功能,包括:
- 无缝数据集管理: 在一个地方上传、组织和管理您的数据集。
- 即时训练集成:直接使用上传的数据集进行模型训练,无需额外设置。
- 可视化工具: 探索和可视化您的数据集图像和注释。
- 数据集分析: 深入了解您的数据集分布和特征。
该平台简化了从数据集管理到模型训练的过渡,从而提高了整个过程的效率。了解更多关于 Ultralytics HUB 数据集的信息。
Ultralytics YOLO 模型在计算机视觉方面有哪些独特的功能?
Ultralytics YOLO 模型为 计算机视觉 任务提供了几个独特的功能:
- 实时性能: 适用于时间敏感型应用的高速推理和训练能力。
- 多功能性:在统一框架中支持检测、分割、分类和姿势估计任务。
- 预训练模型:访问用于各种应用的高性能预训练模型,从而减少训练时间。
- 广泛的社区支持:活跃的社区和全面的文档,用于故障排除和开发。
- 易于集成: 简单的 API,可与现有项目和工作流程集成。
在 Ultralytics Models 页面上了解更多关于 YOLO 模型的信息。
如何使用 Ultralytics 工具优化和压缩数据集?
要使用 Ultralytics 工具优化和压缩数据集,请按照以下示例代码操作:
优化和压缩数据集
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Define dataset directory
path = Path("path/to/dataset")
# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)
此过程有助于减小数据集大小,从而实现更高效的存储和更快的下载速度。请访问优化和压缩数据集,了解更多信息。