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

coco dataset标签数据结构(json文件)

COCO数据集现在有3种标注类型:object instances(目标实例), object keypoints(目标上的关键点), 和image captions(看图说话),使用json文件存储。

NameImagesLabels
train linkhttp://images.cocodataset.org/zips/train2017.ziphttp://images.cocodataset.org/annotations/annotations_trainval2017.zip
val linkhttp://images.cocodataset.org/zips/val2017.ziphttp://images.cocodataset.org/annotations/stuff_annotations_trainval2017.zip

我现在需要做目标检测,所以选取object instances(目标实例),打开的标签名称为:annotations/stuff_annotations_trainval2017中的stuff_train2017.json,整体是一个字典:

{
"info": {"description": null,"url": null, "version": null, "year": 2023, "contributor": null, "date_created": "2023-05-27 10:34:38.709025"},
"licenses": [{"url": null, "id": 0, "name": null}],
"images": [{"license": 0,"url": null,"file_name": "....jpg","height": 800, "width": 800,"date_captured": null, "id": 0},{...},...,{...}]
"type": "instances",
"annotations": [{"id": 0, "image_id": 0, "category_id": 1,"segmentation": [[polygon]], "area": 57142.0, "bbox": [246.0, 165.0, 310.0, 239.0]([x,y,width,height],即左上角的坐标+宽高), "iscrowd": 0},{"id": 1, "image_id": 0, "category_id": 1, "segmentation": [[polygon]], "area": 59602.0, "bbox": [248.0, 164.0, 311.0, 238.0], "iscrowd": 0},{...},...,{...}],
"categories": [{"supercategory": null, "id": 0, "name": "_background_"},{"supercategory": null, "id": 1, "name": "cell"}] 
}

以上是大致的结构,接下来我会逐个拆解:

  • 文件以字典的形式储存,该字典含有五个键值对以囊括所有信息:
{ "info" : info,"licenses" : [license],"images" : [image],"categories" : [category],"annotations" : [annataton]}

我们需要的key分别是"images" 和 “categories"和"annotations”

  • "images"结构
    "images"对应的value以嵌套列表的形式存储,其列表嵌套的每一个字典,都对应唯一的一个图片信息。
"images": [                                            
{"id": 0,                                                # int 图像id,可从0开始"file_name": "0.jpg",                                   # str 文件名"width": 512,                                           # int 图像的宽"height": 512,                                          # int 图像的高"date_captured": "2020-04-14 01:45:07.508146",          # datatime 获取日期"license": 1,                                           # int 遵循哪个协议"coco_url": "",                                         # str coco图片链接url"flickr_url": ""                                        # str flick图片链接url
}]
  • "categories"结构
    "categories"对应的value以嵌套列表的形式存储,其列表嵌套的每一个字典,都对应唯一的一个图片信息。
"categories":[
{"id": 1,                                 # int 类别id编号"name": "rectangle",                     # str 类别名字"supercategory": "None"                  # str 类别所属的大类,如卡车和轿车都属于机动车这个class
}]
  • "annotations"结构
    "annotations"对应的value以嵌套列表的形式存储,其列表嵌套的每一个字典,都对应唯一的一个标签信息。
    每个字典里有7个键值对。
"annotations": [ 
{"id": 0,                                   # int 图片中每个被标记物体的id编号"image_id": 0,                             # int 该物体所在图片的编号"category_id": 2,                          # int 被标记物体的类别id编号"iscrowd": 0,                              # 0 or 1 目标是否被遮盖,默认为0"area": 4095.9999999999986,                # float 被检测物体的面积(64 * 64 = 4096)"bbox": [200.0, 416.0, 64.0, 64.0],        # [x, y, width, height] 目标检测框的坐标信息"segmentation": [[200.0, 416.0, 264.0, 416.0, 264.0, 480.0, 200.0, 480.0]]  
}]
# "bbox"里[x, y, width, height]x, y代表的是物体的左上角的x, y的坐标值。
#"segmentation"里[x1, y1, x2, y2, x3, y3, x4, y4]是以左上角坐标为起始,顺时针依次选取的另外三个坐标点。及[左上x, 左上y, 右上x,右上y,右下x,右下y,左下x,左下y]。
  • "segmentation"结构
"segmentation":{"counts":xxxx"size": [426, 640]}
http://www.lryc.cn/news/397289.html

相关文章:

  • GaussDB关键技术原理:高性能(四)
  • 总结之企业微信(一)——创建外部群二维码,用户扫码入群
  • 透视数据治理:企业如何衡量数据治理的效果?
  • ERC20查询操作--获取ERC20 Token的余额
  • Linux运维:MySQL中间件代理服务器,mycat读写分离应用实验
  • css文字自适应宽度动态出现省略号...
  • 边缘计算盒子_B100_Jetson Nano (aarch64)开发环境搭建
  • 【Superset】dashboard 自定义URL
  • 【Linux网络】IP协议{初识/报头/分片/网段划分/子网掩码/私网公网IP/认识网络世界/路由表}
  • 香蕉派BPI-Wifi6迷你路由器公开发售
  • WPF-控件样式设置
  • C++20中的指定初始化器(designated initializers)
  • QT跨平台开发(windows、mac)中.pro文件设置
  • wifi中的stream parser
  • GitHub网页打开慢的解决办法
  • 前端vue 实现取色板 的选择
  • [leetcode]partition-list 分隔链表
  • Apache功能配置:访问控制、日志分割; 部署AWStats日志分析工具
  • 开源可视化Flutter图表库:Graphic
  • Linux搭建Socks5网络代理服务器,Centos 8 系统
  • mysql 导出导入 数据库
  • linux_进程概念——理解冯诺依曼体系结构
  • Linux笔记之使用系统调用sendfile高速拷贝文件
  • OpenCV和PIL进行前景提取
  • Linux虚拟化大师:使用 KVM 和 QEMU 进行高级虚拟化管理
  • CentOS-6的iso下载地址镜像yum源
  • 【python】PyQt5可视化开发,鼠标键盘实现联动界面交互逻辑与应用实战
  • Raw Socket(一)实现TCP三次握手
  • 考研数学开始的晚?别慌,超全复习规划拿去抄
  • 创建React 项目的几种方式