COCO8数据集是由Ultralytics提供的小型而多样化的对象检测数据集,包含2017年COCO训练集中的前8张图片,其中4张用于训练,4张用于验证。这个数据集非常适合用于测试和调试对象检测模型,或者尝试新的对象检测方法。虽然只有8张图片,但它足够小,易于管理,同时又足够多样化,可以测试训练流程中的错误,并在训练更大的数据集之前作为一个合理的检查。
在使用COCO8数据集时,需要特别注意的是,这个数据集是为UltralyticsHUB和YOLO11模型设计的。通过YAML文件(Yet Another Markup Language)来定义数据集的配置,包含数据集路径、类别和其他相关信息。对于COCO8数据集,相关的配置文件是coco8.yaml,可以通过GitHub上的链接访问和管理。
在coco8.yaml文件中,定义了数据集的根目录、训练集和验证集的图片路径,以及类别名称。例如,类别编号0代表“人”,1代表“自行车”,以此类推,直到类别编号79代表“牙刷”。此外,还提供了一个可选的下载脚本/URL,用于获取COCO8数据集。
要使用COCO8数据集训练YOLO11模型,可以使用Python或命令行界面(CLI)命令。以下是使用Python进行训练的一个示例代码片段。首先,需要导入YOLO类,并加载一个预训练的模型(推荐用于训练)。然后,使用train方法开始训练,指定数据集配置文件、训练周期和图片大小。
from ultralytics import YOLO
# 加载模型
model = YOLO(
"yolo11n.pt"
)
# 加载预训练模型(推荐用于训练)
# 训练模型
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640
)
在训练过程中,还可以利用一种称为“马赛克”的技术,将多个图片合并为一张图片,以增加每个训练批次中对象和场景的多样性。这有助于提高模型对不同对象大小、长宽比和上下文的适应能力。
如果在研究或开发工作中使用了COCO数据集,请引用以下论文:
@misc{lin2015microsoft,
title={Microsoft COCO: Common Objects in Context},
author={Tsung-Yi Lin and Michael Maire and Serge Belongie and Lubomir Bourdev and Ross Girshick and James Hays and Pietro Perona and Deva Ramanan and C. Lawrence Zitnick and Piotr Dollár},
year={2015},
eprint={1405.0312},
archivePrefix={arXiv},
primaryClass={cs.CV}
}