ImageWoof 数据集
ImageWoof 数据集是 ImageNet 的一个子集,包含 10 个分类难度较高的类别,因为它们全都是犬种。它旨在为图像分类算法提供更困难的任务,从而鼓励开发更先进的模型。
主要特性
- ImageWoof 包含 10 种不同犬种的图像:澳洲梗、边境梗、萨摩耶、比格犬、西施犬、英国猎狐犬、罗得西亚脊背犬、澳洲野犬、金毛寻回犬和古英国牧羊犬。
- 该数据集提供各种分辨率(全尺寸、320px、160px)的图像,以适应不同的计算能力和研究需求。
- 它还包含一个带有噪声标签的版本,提供了标签可能并不总是可靠的更现实的场景。
数据集结构
ImageWoof 数据集结构基于犬种类别,每个品种都有自己的图像目录。与其他分类数据集类似,它遵循分割目录格式,分别为训练集和验证集设置了单独的文件夹。
应用场景
ImageWoof 数据集被广泛用于训练和评估深度学习图像分类模型,特别是在处理更复杂和相似的类别时。该数据集的挑战在于犬种之间的细微差别,这突破了模型性能和泛化能力的极限。它对于以下方面特别有价值:
- 对细粒度类别的分类模型性能进行基准测试
- 测试模型在面对外观相似类别时的鲁棒性
- 开发能够区分细微视觉差异的算法
- 评估从通用领域到特定领域的迁移学习能力
使用方法
若要使用 224x224 的图像尺寸在 ImageWoof 数据集上训练 CNN 模型 100 个轮次,你可以使用以下代码片段。有关可用参数的完整列表,请参阅模型训练页面。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="imagewoof", epochs=100, imgsz=224)数据集变体
ImageWoof 数据集有三种不同大小,以满足各种研究需求和计算能力:
-
全尺寸 (imagewoof):这是 ImageWoof 数据集的原始版本。它包含全尺寸图像,非常适合最终训练和性能基准测试。
-
中等尺寸 (imagewoof320):此版本包含调整为最大边长 320 像素的图像。它适用于在不显著牺牲模型性能的情况下进行更快的训练。
-
小尺寸 (imagewoof160):此版本包含调整为最大边长 160 像素的图像。它专为训练速度优先的快速原型设计和实验而设计。
要在训练中使用这些变体,只需将数据集参数中的 'imagewoof' 替换为 'imagewoof320' 或 'imagewoof160'。例如:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# For medium-sized dataset
model.train(data="imagewoof320", epochs=100, imgsz=224)
# For small-sized dataset
model.train(data="imagewoof160", epochs=100, imgsz=224)需要注意的是,使用较小的图像可能会导致分类准确率降低。然而,这是在模型开发和原型设计的早期阶段进行快速迭代的一种极好方式。
样本图像和标注
ImageWoof 数据集包含各种犬种的彩色图像,为图像分类任务提供了一个具有挑战性的数据集。以下是该数据集中的一些图像示例:

该示例展示了 ImageWoof 数据集中不同犬种之间的细微差异和相似之处,突显了分类任务的复杂性和难度。
引文与致谢
如果你在研究或开发工作中使用 ImageWoof 数据集,请务必通过链接到官方数据集存储库来致谢数据集的创建者。
我们要感谢 FastAI 团队创建并维护了 ImageWoof 数据集,将其作为机器学习和计算机视觉研究社区的一项宝贵资源。有关 ImageWoof 数据集的更多信息,请访问 ImageWoof 数据集存储库。
常见问题 (FAQ)
Ultralytics 中的 ImageWoof 数据集是什么?
ImageWoof 数据集是 ImageNet 的一个具有挑战性的子集,专注于 10 个特定的犬种。为了突破图像分类模型的极限而创建,它包含比格犬、西施犬和金毛寻回犬等品种。该数据集包括各种分辨率(全尺寸、320px、160px)的图像,甚至还有用于更现实训练场景的噪声标签。这种复杂性使得 ImageWoof 非常适合开发更先进的深度学习模型。
如何使用 Ultralytics YOLO 通过 ImageWoof 数据集训练模型?
要使用 Ultralytics YOLO 在 ImageWoof 数据集上以 224x224 的图像尺寸训练 卷积神经网络 (CNN) 模型 100 个轮次,你可以使用以下代码:
from ultralytics import YOLO
model = YOLO("yolo26n-cls.pt") # Load a pretrained model
results = model.train(data="imagewoof", epochs=100, imgsz=224)有关可用训练参数的更多详细信息,请参阅训练页面。
ImageWoof 数据集有哪些可用版本?
ImageWoof 数据集有三种尺寸:
- 全尺寸 (imagewoof):非常适合最终训练和基准测试,包含全尺寸图像。
- 中等尺寸 (imagewoof320):调整为最大边长 320 像素的图像,适合更快的训练。
- 小尺寸 (imagewoof160):调整为最大边长 160 像素的图像,非常适合快速原型设计。
通过相应地替换数据集参数中的 'imagewoof' 来使用这些版本。但请注意,较小的图像可能会导致分类准确率降低,但可用于更快的迭代。
ImageWoof 数据集中的噪声标签如何有利于训练?
ImageWoof 数据集中的噪声标签模拟了标签可能并不总是准确的现实世界条件。使用此数据训练模型有助于在图像分类任务中培养鲁棒性和泛化能力。这使模型能够有效地处理实际应用中经常遇到的模糊或错误标记的数据。
使用 ImageWoof 数据集的主要挑战是什么?
ImageWoof 数据集的主要挑战在于它所包含的犬种之间的细微差别。由于它专注于 10 个密切相关的品种,区分它们需要更先进和微调的图像分类模型。这使得 ImageWoof 成为测试深度学习模型能力和改进程度的绝佳基准。