5.7 COCO数据集概览
COCO数据集是一个大规模的对象检测、分割和标注数据集,设计用于促进对象类别的学术研究,常用于检测计算机视觉模型的标准实验。它是对象检测、分割和姿态估计任务的基础数据集,应用应用于访问和基准评估。
观看:Ultralytics COCO数据集概览
COCO预训练的模型
模型 | 大小(pixels) | mAPval 50-95 | 速度 CPU ONNX (ms) | 速度 T4 TensorRT10 (ms) | 参数(M) | FLOPs(B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
主要特性
-
COCO数据集包含33万张图像,其中20万张图像带有对象检测、分割和标注。
-
数据集包含80个对象类别,包括车辆、自行车、动物等常见的对象。
-
注释包括对象边界框、分割面线和图像标注。
-
COCO提供标准的评估指标,如对象检测的均值精度(mean Average Precision, mAP)和分割的均值回取(mean Average Recall, mAR)。
数据集结构
COCO数据集分为三个子集合:
-
Train2017: 包含11.8万张图像,用于对象检测、分割和标注模型的训练。
-
Val2017: 包含5000张图像,用于训练过程中的验证目的。
-
Test2017: 包含2万张图像,用于训练和标准检测,这个子集合的标注数据不公开,需提交到COCO评估服务器进行性能评估。
应用场景
COCO数据集常用于训练和评估深度学习模型,如对象检测(YOLO、Faster R-CNN、SSD)、实例分割(Mask R-CNN)和关键点检测(OpenPose)。它实现的多样化对象类别和标准评估指标,使它成为计算机视觉研究和应用的重要资源。
数据集YAML配置文件
YAML文件用于定义数据集的配置,包括数据集的路径、类别信息等关键配置。COCO数据集的YAML文件,在以下地址可查看:https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml。
训练示例
使用以下代码使用COCO数据集训练YOLO11n模型,训练100轮,图像大小为640:
Python
from ultralytics import YOLO
# 载入一个模型
model = YOLO("yolo11n.pt") # 载入预训练的模型(推荐用于训练)
# 训练模型
results = model.train(data="coco.yaml", epochs=100, imgsz=640)
示例图像和注释
COCO数据集包含多样化的对象类别和复杂的场景,下面是数据集中的一些示例图像,与对应的标注:
示例图像示意图:这带有多图像组合的训练数据集示意图,在训练过程中合并多张图像以增加训练数据的多样性,这个方法有助于模型的应用应对不同的对象大小和边界信息。
引用和致谢
如果您在研究或开发工作中使用了COCO数据集,请求引用下列文献:
BibTeX
@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}
}
我们在此向COCO联盟致意,感谢其创建和维护这个对象检测的重要资源。如需详细信息,请访问COCO数据集网站。