如何将labelme格式数据转化为标准的可可数据集格式方式

  介绍

这篇文章主要介绍了如何将labelme格式数据转化为标准的可可数据集格式方式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

<强> labelme标注图像生成的json格式:

{   ,“version":,“3.11.2"   ,“flags": {},   ,“shapes":[#,每个对象的形状   ,{#,第一个对象   “label"才能:,“malignant"   “line_color"才能:,空,   “fill_color"才能:,空,   “points"才能:,[#,边缘是由点构成,将这些点连在一起就是对象的边缘多边形   (才能   371年,,,,#,第一个点,x 坐标   ,,257,#,第一个点,y 坐标   ,,,   ,,…   (才能   412年,,,   ,,255   ,,)   ,,,   “shape_type"才能:,“polygon", #,形状类型:多边形   },   ,{   “label"才能:,“malignant",, #,第一个对象的标签   “line_color"才能:,空,   “fill_color"才能:,空,   “points"才能:,[#,第二个对象   (才能   522年,,,   ,,274   ,,,   ,,…   (才能   561年,,,   ,,303   ,,)   ,,,   “shape_type"才能:,“polygon"   },   ,{   “label"才能:,“malignant",, #,第二个对象的标签   “line_color"才能:,空,   “fill_color"才能:,空,   ,“imagePath":“. ./. ./val2017/000001.jpg",, #,原始图片的路径   ,“imageData":“something  too  long “#,原图像数据,通过该字段可以解析出原图像数据   ,“imageHeight": 768年,   ,“imageWidth": 1024   }

可可标准数据集格式:

可可通过大量使用亚马逊土耳其机器人来收集数据.COCO数据集现在有3种标注类型:对象实例(目标实例),对象要点(目标上的关键点),和图片标题(看图说话),使用JSON文件存储。

<>强基本的JSON结构体类型

这3种类型共享下面所列的基本类型,包括图像,类别,注释类型。

图像类型:

“images":,   {才能   ,才能“height":, 768年,   ,才能“width":, 1024年,   ,才能“id":, 1, #图片id   ,才能“file_name":,“000002. jpg"   ,,}   )

<强>类别类型:

“categories":,   {才能   ,才能“supercategory":,“Cancer",, #父类   ,才能“id":,,,,, #标签类别id 0表示背景   ,才能“name":,“benign", #子类   ,,},   {才能   ,才能“supercategory":,“Cancer"   ,才能“id":, 2,   ,才能“name":,“malignant"   ,,}   ],

<强>注释类型:

“annotations":,   {才能   ,才能“segmentation":,(#坐标点的坐标值   ,,,(   ,,,,,418   ,,,,,256   ,,,,,391   ,,,,,293   ,,,,,406   ,,,,,323   ,,,,,432   ,,,,,340   ,,,,,452   ,,,,,329   ,,,,,458   ,,,,,311   ,,,,,458   ,,,,,286   ,,,,,455   ,,,,,277   ,,,,,439   ,,,,,264   ,,,,,418   ,,,,,293   ,,,,,391   ,,,,256   ,,,)   ,,,,   ,才能“iscrowd":, 0,, #单个的对象(iscrowd=0)可能需要多个多边形来表示   ,才能“image_id":, 1, #和形象的id保持一致   ,才能“bbox":,(#标才能注的边框值,bbox是将分割包起来的水平矩形   391.0,,,,   256.0,,,,   67.0,,,,   ,,,84.0   ,,,,   ,才能“area":, 5628.0,, #标注的边框面积   ,才能“category_id":, 1, #所属类别id   ,才能“id":, 1,,, #标注边框的id :, 1、2、3…, n   ,,}   )

<强> labelme转化为可可

#, - *安康;编码:utf-8  - * -   #,!/usr/bin/env  python   ,   import  argparse   import  json   import  matplotlib.pyplot  as  plt   import  skimage.io  as  io   import  cv2   得到labelme  import 跑龙套   import  numpy  as  np   import 水珠   import  PIL.Image   ,   class  MyEncoder (json.JSONEncoder):   ,def 违约(自我,,obj):   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何将labelme格式数据转化为标准的可可数据集格式方式