coco数据集语义分割_实例分割模型

coco数据集语义分割_实例分割模型COCO数据集格式COCO的全称是CommonObjectsinCOntext,是微软团队提供的一个可以用来进行图像识别的数据集,用于进行物体检测、分割、关键点检测、添加字幕等。JSON文件的基本格式,以实例分割为例,主要有五个部分:info、licenses、images、annotations、categories{“info”:info,”licenses”:[license],”images”:[image],”annotatio

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

COCO数据集格式

COCO的全称是Common Objects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集,用于进行物体检测、分割、关键点检测、添加字幕等。

JSON文件的基本格式,以实例分割为例,主要有五个部分:info、licenses、images、annotations、categories

{
    "info": info,
    "licenses": [license],
    "images": [image],
    "annotations": [annotation],
    "categories": [category]
}

1.info是关于数据集的一些基本信息

"info":{
	"description":"This is stable 1.0 version of the 2014 MS COCO dataset.",
	"url":"http:\/\/mscoco.org",
	"version":"1.0","year":2014,
	"contributor":"Microsoft COCO group",
	"date_created":"2015-01-27 09:11:52.357475"
}

2.licenses是数据集遵循的一些许可

{
	"url":"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/2.0\/",
	"id":1,
	"name":"Attribution-NonCommercial-ShareAlike License"
}

3.images是数据集中包含的图像,长度等于图像的数量

{
    "coco_url": "", 
    "date_captured": "", 
    "file_name": "000001.jpg", 
    "flickr_url": "", 
    "id": 1, 
    "license": 0, 
    "width": 416, 
    "height": 416
}

4.annotations是数据集中包含的实例掩膜,数量等于bounding box的数量。segmentation格式取决于这个实例是一个单个的对象(即iscrowd=0,将使用polygons格式,以多边形顶点表示)还是一组对象(即iscrowd=1,将使用RLE格式,mask编码)

{
    "id": int,
    "image_id": int,
    "category_id": int,
    "segmentation": RLE or [polygon],
    "area": float,
    "bbox": [x,y,width,height],
    "iscrowd": 0 or 1
}

以多边形顶点形式表示的实例:

{
	"segmentation": [[510.66,423.01,511.72,420.03,510.45......]],
	"area": 702.1057499999998,
	"iscrowd": 0,
	"image_id": 289343,
	"bbox": [473.07,395.93,38.65,28.67],
	"category_id": 18,
	"id": 1768
}

 

5.categories是数据集中的类别数量

{
    "id": int,
    "name": str,
    "supercategory": str,
}

 

pycocotools解析COCO数据集

COCO数据集中包含三种id:图像id、标注id、类别id,解析COCO数据的关键就是可以通过一种id,找到和该id相关的其他数据

加载json数据

from pycocotools.coco import COCO
import numpy as np
from matplotlib import pyplot as plt
import cv2 as cv
%matplotlib inline

# 加载COCO格式的标注文件
coco=COCO('./mnist.json')

获取数据的image_id,annotation_id和categorie_id

imgIds = coco.getImgIds() # 获取所有的image id,可以选择参数 coco.getImgIds(imgIds=[], catIds=[])
imgIds = coco.getImgIds(imgIds=[0, 1, 2]) # 获得image id 为 0,1,2的图像的id
imgIds = coco.getImgIds(catIds=[0, 1, 2]) # 获得包含类别 id 为0,1,2的图像

annIds = coco.getAnnIds(catIds=[0, 1, 2]) # 获得类别id为0,1,2的标签
annIds = coco.getAnnIds(imgIds=imgIds[0]) # 获得和image id对应的标签

catIds = coco.getCatIds(catNms=['0']) # 通过类别名筛选
catIds = coco.getCatIds(catIds=[0, 1, 2]) # 通过id筛选
catIds = coco.getCatIds(supNms=[]) # 通过父类的名筛选

通过id加载对应数据

print('类别信息')
cats_name = coco.loadCats(ids=catIds)
print(cats_name)

print('\n标签信息:')
anns = coco.loadAnns(annIds)
bboxes = np.array([i['bbox'] for i in anns]).astype(np.int32)
cats = np.array([i['category_id'] for i in anns])
print(anns)
print('\n从标签中提取的Bounding box:')
print(bboxes)

print('图像')
imgIdx = imgIds[0]
img = coco.loadImgs([imgIdx]) # 读取图片信息
img = cv.imread('./train/' + img[0]['file_name'])
# 绘制bounding box
for i in range(len(bboxes)):
    p1 = bboxes[i][0:2]
    p2 = bboxes[i][0:2] + bboxes[i][2:4]
    
    cv.rectangle(img, (p1[0], p1[1]), (p2[0], p2[1]), (255, 0, 0))
plt.figure(figsize=(8, 8))
plt.imshow(img)
plt.show()

 

参考:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172449.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1150针cpu性能排行_最新 cpu天梯图 2020 单核多核 排行榜

    先贴一个著名的CPU-Z软件给出的单线程性能排行榜(2020.6)相当于单核排行榜。这里排行第一的是i7-9700K,甚至比i9-9900K还要强一些。当然这仅是一家之言,我们再贴一个PassMark的单核排行榜这里加入最新的i9-10900K排名第一,i9-9900KS>i9-9900K>i7-9700K单其实分数差距非常小。都是非常强的CPU。我们再来看…

    2022年4月5日
  • 请写一段PHP代码,确保多个进程同时写入同一个文件成功[通俗易懂]

    请写一段PHP代码,确保多个进程同时写入同一个文件成功

    2022年2月18日
  • 如何写好缺陷报告「建议收藏」

    如何写好缺陷报告「建议收藏」今天开始和大家分享缺陷报告的内容,在这部分会讲一下缺陷的基本属性,缺陷的处理过程和如何书写缺陷报告。一、什么是缺陷在第一章我们说过了什么事缺陷,一切不满足用户需求的都是缺陷。下面我们对缺陷的概念在详细的介绍一下。佩腾在《软件测试》一书中说符合下面5个规则的就可以成为软件缺陷:1、软件未达到产品说明书标明的功能。2、软件出现了产品说明书中指明不会出现的错误。3、软件功

    2022年9月18日
  • RAR压缩解压命令

    RAR压缩解压命令RAR压缩解压命令这几天一直没空更新博客,现在补上:先介绍一下rar的命令格式及相关参数含义(摘自rar):用法:         rar–         a      添加文件到压缩文件 c      添加压缩文件注释 cf      添加文件注释 c

    2022年5月16日
  • win开启审计功能_windows文件共享审计功能开启

    win开启审计功能_windows文件共享审计功能开启Windowsserver2003的DC也是支持开启审计功能的,步骤如下:1.在DC上打开“ActiveDirectoryUsersandComputer”。2.在“View”菜单上,单击“Advance”。3.右键单击“DC”,然后单击“properties”。4.单击“GroupPolicy”选项卡,单击“DefaultdomainControllerPolicy”,然后…

    2022年5月13日
  • mysql连接池DruidDataSource的使用、配置「建议收藏」

    mysql连接池DruidDataSource的使用、配置「建议收藏」记录一下使用DruidDataSource的常用配置。1.pom.xml中引入:<!–https://mvnrepository.com/artifact/com.alibaba/druid–><dependency><groupId>com.alibaba</groupId&g…

    2022年7月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号