ImageWoof 数据集#
ImageWoof 数据集是 ImageNet 的一个子集,包含 10 个刻意设置为难以区分的犬种类别,由 fast.ai 创建,旨在为图像分类算法提供更具挑战性的任务。它包含 12,954 张彩色图像——9,025 张用于训练,3,929 张用于验证——涵盖比格犬、西施犬和金毛寻回犬等犬种,促使模型区分细微的细粒度差异,而不是明显不同的物体类别。
主要功能#
- ImageWoof 包含 10 个犬种的 12,954 张图像:澳大利亚梗、边境梗、萨摩耶犬、比格犬、西施犬、英国猎狐犬、罗得西亚脊背犬、澳洲野犬、金毛寻回犬和古代英国牧羊犬。
- 它提供预先划分的数据集,包含 9,025 张训练图像和 3,929 张验证图像,并提供多种分辨率(原尺寸、320px、160px),以适应不同的计算资源预算。
- 它还包含一个带有噪声标签的版本,可用于模拟标签并非总是可靠的真实场景。
数据集结构#
ImageWoof 提供预先划分的训练集和验证集,每个犬种分别存放在自己的文件夹中:
| 划分 | 图像 | 类别 |
|---|---|---|
| 训练 | 9,025 | 10 |
| 验证 | 3,929 | 10 |
由于全部 10 个类别都是犬种,这种划分旨在测试细粒度分类——区分视觉上相似的类别——而非完整 ImageNet 数据集所关注的广义物体识别。
应用场景#
ImageWoof 数据集广泛用于训练和评估深度学习模型,处理更复杂且相似的类别。它的难点在于犬种之间的细微差异,这对模型性能和泛化能力提出了更高要求。它在以下方面尤其有价值:
- 基准测试模型在细粒度类别上的分类性能
- 测试模型对相似外观类别的鲁棒性
- 开发能够区分细微视觉差异的算法
- 评估从通用领域到特定领域的迁移学习效果
用法#
若要在 ImageWoof 数据集上训练分类模型 100 个轮次,并将图像尺寸设为 224x224,请使用以下代码片段。如需查看所有可用参数的完整列表,请参阅模型的训练页面。
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo26n-cls.pt") # 加载预训练模型(推荐用于训练)
# 训练模型
results = model.train(data="imagewoof", epochs=100, imgsz=224)数据集版本#
ImageWoof 提供三种尺寸,以满足不同的研究需求和计算资源预算:
- 完整尺寸 (
imagewoof):原始版本,使用完整尺寸的图像,适合最终训练和性能基准测试。 - 中等尺寸 (
imagewoof320):图像调整为最大边长 320 像素,适合加快训练,同时不会显著牺牲模型性能。 - 小尺寸 (
imagewoof160):图像调整为最大边长 160 像素,适合优先考虑训练速度的快速原型开发和实验。
若要使用这些版本,只需在数据集参数中将 imagewoof 替换为 imagewoof320 或 imagewoof160。例如:
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo26n-cls.pt") # 加载预训练模型(推荐用于训练)
# 中等尺寸数据集
model.train(data="imagewoof320", epochs=100, imgsz=224)
# 小尺寸数据集
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 个周期并将图像尺寸设为 224x224,请使用以下代码:
训练示例from ultralytics import YOLO model = YOLO("yolo26n-cls.pt") # 加载预训练模型 results = model.train(data="imagewoof", epochs=100, imgsz=224)有关可用训练参数的更多详情,请参阅 Training 页面。
ImageWoof 数据集有三种尺寸:
- 完整尺寸 (
imagewoof):适合最终训练和基准测试,包含完整尺寸的图像。 - 中等尺寸 (
imagewoof320):图像经过缩放,最长边为 320 像素,适合更快地训练。 - 小尺寸 (
imagewoof160):图像经过缩放,最长边为 160 像素,非常适合快速原型开发。
在数据集参数中相应地替换
imagewoof,即可使用这些版本。请注意,较小的图像可能会导致分类准确率降低,但有助于更快地迭代。- 完整尺寸 (
ImageWoof 数据集中的噪声标签模拟了现实场景,在这些场景中,标签并不总是准确的。使用这些数据训练模型有助于提升图像分类任务的鲁棒性和泛化能力。这样可以让模型更有效地处理含糊不清或标记错误的数据,而这类数据在实际应用中很常见。
ImageWoof 的主要挑战在于其中各个犬种之间的细微差异。由于它专注于 10 个亲缘关系较近的犬种,要区分它们,需要更先进、经过精细调优的图像分类模型。因此,ImageWoof 是测试深度学习模型能力和改进效果的绝佳基准。



