ImageWoof 数据集#
ImageWoof 数据集是 ImageNet 的一个子集,包含 10 个难以刻意区分的犬种类别,由 fast.ai 创建,旨在为 图像分类 算法带来更具挑战性的任务。该数据集包含 12,954 张彩色图像,其中 9,025 张用于训练,3,929 张用于验证,涵盖比格犬、西施犬和金毛寻回犬等犬种,促使模型区分细微的细粒度差异,而不是显而易见的物体类别。
主要特性#
- ImageWoof 包含 12,954 张图像,涵盖 10 个犬种:澳大利亚梗、边境梗、萨摩耶犬、比格犬、西施犬、英国猎狐犬、罗得西亚脊背犬、澳洲野犬、金毛寻回犬和古代英国牧羊犬。
- 它提供预定义的数据划分,包括 9,025 张训练图像和 3,929 张验证图像,并提供多种分辨率(原始大小、320px、160px),以适应不同的计算预算。
- 它还包含一个带噪声标签的版本,用于提供更贴近现实的场景,因为现实中的标签并不总是可靠。
数据集结构#
ImageWoof 提供预定义的训练集/验证集划分,每个犬种都存储在自己的文件夹中:
| 划分 | 图像 | 类别 |
|---|---|---|
| 训练 | 9,025 | 10 |
| 验证 | 3,929 | 10 |
由于全部 10 个类别都是犬种,该数据划分旨在测试细粒度分类能力——区分外观相似的类别——而不是测试完整 ImageNet 数据集所关注的广泛物体识别能力。
应用#
ImageWoof 数据集广泛用于训练和评估在更复杂且相似类别上运行的 深度学习 模型。它的挑战在于犬种之间细微的差异,推动模型性能和泛化能力不断提升。它尤其适用于:
- 在细粒度类别上评估分类性能
- 测试模型对外观相似类别的鲁棒性
- 开发能够区分细微视觉差异的算法
- 评估从通用领域到特定领域的迁移学习效果
使用方法#
要在 ImageWoof 数据集上训练分类模型 100 个 epoch,并将图像大小设置为 224x224,请使用下面的代码片段。如需查看可用参数的完整列表,请参阅模型的 训练页面。
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):包含原始尺寸图像的版本,适合最终训练和性能基准测试。 - 中等大小(
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)请注意,较小的图像可能会导致较低的分类准确率,但它们是模型开发早期快速迭代的绝佳方式。你还可以通过 Ultralytics Platform 在云端管理分类数据集并运行训练。
示例图像和标注#
ImageWoof 数据集包含各种犬种的彩色图像,为图像分类任务提供了具有挑战性的数据集。下面是该数据集中的一些图像示例:

该示例展示了不同犬种之间细微的差异和相似之处,突出了分类任务的复杂性和难度。
引用和致谢#
如果你在研究或开发工作中使用 ImageWoof 数据集,请通过链接到官方数据集仓库来致谢数据集创建者。
我们感谢 fast.ai 团队创建并维护 ImageWoof,为 机器学习 和 计算机视觉 研究社区提供了宝贵资源。如需了解有关 ImageWoof 的更多信息,请访问 ImageWoof 数据集仓库。
常见问题#
ImageWoof 总共包含 12,954 张图像,其中 9,025 张用于训练,3,929 张用于验证,涵盖 10 个犬种:澳大利亚梗、边境梗、萨摩耶犬、比格犬、西施犬、英国猎狐犬、罗得西亚脊背犬、澳洲野犬、金毛寻回犬和古代英国牧羊犬。每个犬种都存储在自己的文件夹中,遵循 Ultralytics 所要求的标准分类目录结构。
要使用 Ultralytics YOLO 在 ImageWoof 数据集上训练分类模型 100 个 epoch,并将图像大小设置为 224x224,请使用以下代码:
训练示例from ultralytics import YOLO model = YOLO("yolo26n-cls.pt") # Load a pretrained model results = model.train(data="imagewoof", epochs=100, imgsz=224)如需详细了解可用的训练参数,请参阅训练页面。
ImageWoof 数据集提供三种大小:
- 完整大小(
imagewoof):包含原始尺寸图像,适合最终训练和基准测试。 - 中等大小(
imagewoof320):最长边为 320 像素的调整尺寸图像,适合更快的训练。 - 小尺寸(
imagewoof160):最长边为 160 像素的调整尺寸图像,非常适合快速原型设计。
在数据集参数中相应替换
imagewoof即可使用这些版本。请注意,较小的图像可能会导致较低的分类准确率,但有助于更快地迭代。- 完整大小(
ImageWoof 数据集中的噪声标签模拟了现实世界中的条件,即标签并不总是准确。使用这些数据训练模型,有助于提升模型在图像分类任务中的鲁棒性和泛化能力。它能帮助模型有效处理模糊或错误标注的数据,而这类数据在实际应用中经常出现。
ImageWoof 的主要挑战在于其中犬种之间细微的差异。由于它专注于 10 个关系密切的犬种,因此区分它们需要更先进且经过精细调优的图像分类模型。这使 ImageWoof 成为测试 深度学习 模型能力和改进效果的优秀基准。



