Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 创建MS COCO风格的数据集_Python_Json_Tensorflow_Annotations_Mscoco - Fatal编程技术网

Python 创建MS COCO风格的数据集

Python 创建MS COCO风格的数据集,python,json,tensorflow,annotations,mscoco,Python,Json,Tensorflow,Annotations,Mscoco,如何创建用于TensorFlow的数据集?有人有过这样的经历吗?我有图像,注释,还有地面真相面具。我需要将其转换为与COCO女士兼容,并感谢您的帮助。我找不到任何开源工具来创建COCO风格的JSON注释 TensorFlow MS COCO读取我不太熟悉的JSON文件。为了将0和1的掩码数组转换为类似于COCO样式数据集的多边形,请使用,多亏了编写的代码 要为COCO样式的数据集生成JSON文件,您应该查看。除此之外,它只是简单地匹配COCO数据集的JSON文件所使用的格式 你应该看看我的。我构

如何创建用于TensorFlow的数据集?有人有过这样的经历吗?我有图像,注释,还有地面真相面具。我需要将其转换为与COCO女士兼容,并感谢您的帮助。我找不到任何开源工具来创建COCO风格的JSON注释


TensorFlow MS COCO读取我不太熟悉的JSON文件。

为了将0和1的掩码数组转换为类似于COCO样式数据集的多边形,请使用,多亏了编写的代码

要为COCO样式的数据集生成JSON文件,您应该查看。除此之外,它只是简单地匹配COCO数据集的JSON文件所使用的格式

你应该看看我的。我构建了一个非常简单的工具来创建COCO风格的数据集


您感兴趣的特定文件是,它为每个多边形注释采用matplotlib多边形坐标的形式(x1、y1、x2、y2…),并将其转换为JSON注释文件,非常类似于COCO的默认格式

您可以尝试使用Pycocreator,它包括一组工具,用于将二进制掩码转换为COCO使用的多边形和RLE格式

以下是如何使用它从二进制掩码创建注释信息的示例:

annotation_info = pycococreatortools.create_annotation_info(
                    segmentation_id, image_id, category_info, binary_mask,
                    image.size, tolerance=2)
您可以在此处阅读有关如何使用Pycocreator的更多详细信息:

我正在开发一个python库,它有许多有用的类和函数来实现这一点。它叫

下面是添加掩码并以COCO格式导出它们的示例:

从imantics导入掩码、图像、类别
image=image.from_path('path/to/image.png'))
掩码=掩码(掩码数组)
image.add(掩码,类别=类别(“类别名称”))
#椰子汁
coco_json=image.export(style='coco')
#保存到文件
image.save('coco/annotation.json',style='coco')

创建COCO风格的数据集并使用其API评估指标

假设我们想要为对象检测任务创建注释和结果文件(因此,我们只对边界框感兴趣)。下面是一个简单而轻量级的示例,它展示了如何创建注释和结果文件,这些文件的格式适合使用COCO API度量标准

注释文件:
ann.json

{"images":[{"id": 73}],"annotations":[{"image_id":73,"category_id":1,"bbox":[10,10,50,100],"id":1,"iscrowd": 0,"area": 10}],"categories": [{"id": 1, "name": "person"}, {"id": 2, "name": "bicycle"}, {"id": 3, "name": "car"}]}
[{"image_id":73,"category_id":1,"bbox":[10,10,50,100],"score":0.9}]
结果文件:
res.json

{"images":[{"id": 73}],"annotations":[{"image_id":73,"category_id":1,"bbox":[10,10,50,100],"id":1,"iscrowd": 0,"area": 10}],"categories": [{"id": 1, "name": "person"}, {"id": 2, "name": "bicycle"}, {"id": 3, "name": "car"}]}
[{"image_id":73,"category_id":1,"bbox":[10,10,50,100],"score":0.9}]
现在,您可以简单地使用以下脚本来评估COCO指标:

从pycocotools.coco导入coco
从pycocotools.cocoeval导入cocoeval
annFile='./ann.json'
resFile='./res.json'
cocoGt=COCO(annFile)
cocoDt=cocoGt.loadRes(resFile)
annType='bbox'
cocoEval=cocoEval(cocoGt,cocoDt,annType)
cocoEval.evaluate()
cocoEval.accumulate()
cocoEval.summary()

你找到了这个问题的答案吗?我想问你,你是如何注释图像和准备地面真相面具的?你对如何为
iscrowd:1
注释生成未压缩的RLE编码面具有什么建议吗?据我所知,
iscrowd=1
注释只是表示类似对象簇的多边形集合。我自己没有研究过,但如果它们只是多边形的集合,扩展到多个多边形将为单个对象簇添加多个多边形支持。