人工智能学习07--pytorch20--目标检测:COCO数据集介绍+pycocotools简单使用

慈云数据 2024-04-23 技术支持 38 0

在这里插入图片描述

如:天空

在这里插入图片描述

coco包含pascal voc 的所有类别,并且对每个类别的标注目标个数也比pascal voc的多。

一般使用coco数据集预训练好的权重来迁移学习。

在这里插入图片描述在这里插入图片描述

如果仅仅针对目标检测object80类而言,有些图片并没有标注信息,或者有错误标注信息。所以在实际的训练过程中,需要对这些数据进行简单筛选。

为什么之前那些都没在测试集上测试?

自己去训练自己数据的话,只需要训练集和验证集测试就行,并不需要单独划分一个测试集。

因为基本都是在同样的数据分布下进行划分的,测试集的数据分布与验证集的数据分布一样。没有必要单独划分测试集。

一般在大型的比赛中会用到测试集。为防止作弊,一般不告诉测试集数据分布信息。所以对自己的数据单独划分测试集没有意义。

在这里插入图片描述

通过python的json库来看json文件存储的标注形式

在这里插入图片描述

在这里插入图片描述

images:

可以看到有5000张图片(读取的验证集),每个元素对应的是一张图片的信息。

在这里插入图片描述

在这里插入图片描述

annotations:

36781个,每个元素对应的是一个目标,并不是一张图片下所有目标。

也就是说,在这5000个图像中共有36781个目标。

在这里插入图片描述

对于每个目标:

在这里插入图片描述

category_id所对应的是在stuff91类的目标中的索引。

categories:

总共有80个元素,对应object80的80个类别。

在这里插入图片描述

对于每个类别:

超类 一些类别的统称

id:stuff91类中的索引,仔细看并不是1 ~ 80。所以如果后面要去训练80个类别的目标检测的话,需要做一个映射,把这些索引映射到1 ~ 80当中。

使用pycocotools读取标注文件

在这里插入图片描述

可对数据进行读取、对预测结果计算mAP

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

运行得到:

在这里插入图片描述

验证集所对应图片+这个图片对应的标注信息+将标注信息绘制在图片上。

验证mAP

在这里插入图片描述

在这里插入图片描述

给出了每种任务指定的数据保存格式要求。

在这里插入图片描述

将每一个预测结果都写成了字典形式,将它们全部放入一个列表当中,写成一个json的文件。

在这里插入图片描述

得到文件后,通过对比coco2017中标注好的文件来计算mAP。

在这里插入图片描述

计算方法:

在这里插入图片描述

打印出验证集上的coco指标:

在这里插入图片描述

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon