COCO数据集,全称为Common Objects in Context,是一个大规模的计算机视觉数据集,用于对象检测、语义分割和图像描述。它包含了330,000张图片,其中200,000张图片附有详细的标注信息,涵盖了80种不同的对象类别。这些类别从常见的车辆、动物到特殊的物品如背包、运动器材等,几乎涵盖了日常生活中所有常见的物体。COCO数据集为研究人员提供了标准化的评估指标,如对象检测的平均精度均值(mean Average Precision,简称mAP)和分割任务的平均召回率均值(mean Average Recall,简称mAR),使其成为比较模型性能的理想选择。
YOLO(You Only Look Once)是一种流行的实时对象检测系统,它能够在单次前向传播中预测出图像中的多个对象及其类别。为了在COCO数据集上训练YOLO模型,研究人员可以利用以下代码片段。首先,需要加载一个预训练的模型,这是推荐的训练起点。然后,使用指定的数据集配置文件(如COCO的yaml文件)和训练参数(如迭代次数和图像尺寸)来启动训练过程。通过这种方式,研究人员可以有效地利用COCO数据集来提升YOLO模型的性能。
from ultralytics import YOLO
# 加载模型
model = YOLO(
"yolo11n.pt"
)
# 加载预训练模型(推荐用于训练)
# 训练模型
results = model.train(
data="coco.yaml",
epochs=100,
imgsz=640
)
# 从预训练的*.pt模型开始训练
yolo detect train data=coco.yaml model=yolo11n.pt epochs=100 imgsz=640
COCO数据集被分为三个子集:Train2017、Val2017和Test2017。Train2017子集包含了118,000张用于训练对象检测、分割和描述模型的图片。Val2017子集包含了5,000张在模型训练过程中用于验证的图片。Test2017子集由20,000张图片组成,用于测试和基准测试预训练模型。这个子集的ground truth标注没有公开,因此需要将结果提交到COCO评估服务器进行性能评估。