当前位置: 首页 > news >正文

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

在这里插入图片描述
如:天空
在这里插入图片描述
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指标:
在这里插入图片描述

http://www.lryc.cn/news/91046.html

相关文章:

  • learnOpenGL-深度测试
  • 阿里云服务器数据盘是什么?系统盘和数据盘区别
  • linux常用命令精选
  • 人体行为足力特征分析及其应用研究_kaic
  • javascript基础二十七:说说 JavaScript 数字精度丢失的问题,解决方案?
  • 重塑工作场所:后疫情时代组织韧性的8个策略
  • TCP协议为什么要三次握手而不是两次?
  • 使用Vuex进行状态管理
  • 【优化调度】基于改进遗传算法的公交车调度排班优化的研究与实现(Matlab代码实现)
  • IMX6ULL裸机篇之I2C实验-硬件原理图
  • 华为OD机试真题 Java 实现【获取字符串中连续出现次数第k多的字母的次数】【2023Q1 100分】,附详细解题思路
  • 充分统计量和因子分解定理
  • M1 PD安装arm ubuntu及Docker
  • TCP协议的RST标志
  • 【软件质量与软件测试 白盒测试与黑盒测试】
  • JavaScript教程(高级)
  • C++进阶 —— 范围for(C++11新特性)
  • ELK +Filebeat日志分析系统
  • 万字解析PELT算法!
  • 腾讯云服务器端口怎么全开?教程来了
  • 深入理解Java虚拟机:JVM高级特性与最佳实践-总结-13
  • 租售keysight E8257D 50G模拟信号发生器 销售/回收
  • 【C++】什么是函数模板/类模板?
  • 为什么是ChatGPT引发了AI浪潮?
  • 批处理文件(.bat)启动redis及任何软件(同理)
  • 深度学习求解稀疏最优控制问题的并行化算法
  • 牛客网项目—开发社区首页
  • uniapp水文【uniapp】
  • Java函数式接口
  • 安装libevent库