Skip to content

ImageWoof数据集

ImageWoof数据集是ImageNet的一个子集,包含10个难以分类的类别,因为它们都是犬种。它被创建为一个更具挑战性的任务,供图像分类算法解决,旨在鼓励开发更高级的模型。

关键特性

  • ImageWoof包含10种不同犬种的图像:澳大利亚梗、边境梗、萨摩耶、比格犬、西施犬、英国猎狐犬、罗得西亚脊背犬、澳洲野犬、金毛寻回犬和老英国牧羊犬。
  • 该数据集提供各种分辨率的图像(全尺寸、320px、160px),以适应不同的计算能力和研究需求。
  • 它还包括一个带有噪声标签的版本,提供了一个更现实的场景,其中标签可能并不总是可靠的。

数据集结构

ImageWoof数据集结构基于犬种类别,每个犬种都有自己的图像目录。

应用

ImageWoof数据集广泛用于训练和评估深度学习模型在图像分类任务中的表现,特别是在处理更复杂和相似的类别时。该数据集的挑战在于犬种之间的细微差异,推动了模型性能和泛化能力的极限。

使用方法

要在ImageWoof数据集上训练一个CNN模型,进行100个epoch,图像大小为224x224,您可以使用以下代码片段。有关可用参数的完整列表,请参阅模型训练页面。

训练示例

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n-cls.pt")  # 加载预训练模型(推荐用于训练)

# 训练模型
results = model.train(data="imagewoof", epochs=100, imgsz=224)
# 从预训练的*.pt模型开始训练
yolo classify train data=imagewoof model=yolo11n-cls.pt epochs=100 imgsz=224

数据集变体

ImageWoof数据集有三种不同的大小,以适应各种研究需求和计算能力:

  1. 全尺寸(imagewoof):这是ImageWoof数据集的原始版本。它包含全尺寸图像,非常适合最终训练和性能基准测试。

  2. 中等尺寸(imagewoof320):此版本包含调整大小为最大边长320像素的图像。它适用于在不显著牺牲模型性能的情况下进行更快的训练。

  3. 小尺寸(imagewoof160):此版本包含调整大小为最大边长160像素的图像。它设计用于快速原型设计和实验,其中训练速度是优先考虑的。

要在训练中使用这些变体,只需将数据集参数中的'imagewoof'替换为'imagewoof320'或'imagewoof160'。例如:

Example

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n-cls.pt")  # 加载预训练模型(推荐用于训练)

# 对于中等尺寸数据集
model.train(data="imagewoof320", epochs=100, imgsz=224)

# 对于小尺寸数据集
model.train(data="imagewoof160", epochs=100, imgsz=224)
# 加载预训练模型并在小尺寸数据集上训练
yolo classify train model=yolo11n-cls.pt data=imagewoof320 epochs=100 imgsz=224

需要注意的是,使用较小的图像可能会导致分类准确性方面的性能降低。然而,在模型开发和原型设计的早期阶段,这是一个快速迭代的好方法。

样本图像和注释

ImageWoof数据集包含各种犬种的彩色图像,为图像分类任务提供了一个具有挑战性的数据集。以下是数据集中的一些图像示例:

数据集样本图像

该示例展示了ImageWoof数据集中不同犬种之间的细微差异和相似之处,突出了分类任务的复杂性和难度。

引用和致谢

如果你在研究或开发工作中使用了ImageWoof数据集,请务必通过链接到官方数据集仓库来确认数据集的创建者。

我们想感谢FastAI团队创建并维护ImageWoof数据集,作为机器学习计算机视觉研究社区的宝贵资源。有关ImageWoof数据集的更多信息,请访问ImageWoof数据集仓库

常见问题

Ultralytics中的ImageWoof数据集是什么?

ImageWoof数据集是一个专注于10种特定犬种的ImageNet挑战性子集。它旨在推动图像分类模型的极限,包含比格犬、西施犬和金毛猎犬等品种。该数据集包括各种分辨率的图像(全尺寸、320px、160px),甚至包括用于更真实训练场景的噪声标签。这种复杂性使得ImageWoof非常适合开发更高级的深度学习模型。

如何使用Ultralytics YOLO在ImageWoof数据集上训练模型?

要使用Ultralytics YOLO在ImageWoof数据集上训练一个卷积神经网络(CNN)模型,进行100个epoch,图像大小为224x224,可以使用以下代码:

训练示例

from ultralytics import YOLO

model = YOLO("yolo11n-cls.pt")  # 加载预训练模型
results = model.train(data="imagewoof", epochs=100, imgsz=224)
yolo classify train data=imagewoof model=yolo11n-cls.pt epochs=100 imgsz=224

有关可用训练参数的更多详细信息,请参阅训练页面。

ImageWoof数据集有哪些版本?

ImageWoof数据集有三种大小:

  1. 全尺寸(imagewoof):适合最终训练和基准测试,包含全尺寸图像。
  2. 中等尺寸(imagewoof320):最大边长为320像素的缩放图像,适合更快的训练。
  3. 小尺寸(imagewoof160):最大边长为160像素的缩放图像,非常适合快速原型设计。

通过相应替换数据集参数中的'imagewoof'来使用这些版本。但请注意,较小的图像可能会导致较低的分类准确性,但可以用于更快的迭代。

ImageWoof数据集中的噪声标签如何有益于训练?

ImageWoof数据集中的噪声标签模拟了现实世界中标签可能不总是准确的情况。使用这些数据训练模型有助于在图像分类任务中开发鲁棒性和泛化能力。这使得模型能够有效处理模糊或错误标记的数据,这在实际应用中经常遇到。

使用ImageWoof数据集的主要挑战是什么?

ImageWoof数据集的主要挑战在于其所包含的犬种之间的细微差异。由于它专注于10种密切相关的品种,区分它们需要更高级和精细调整的图像分类模型。这使得ImageWoof成为一个测试深度学习模型能力和改进的优秀基准。


📅 Created 11 months ago ✏️ Updated 13 days ago

Comments