如何将分割注释从coco格式转换为yolo格式?

问题描述 投票:0回答:1

我尝试使用

yolov7
对我的自定义数据集进行实例分割,并努力将 coco 风格注释文件转换为 yolo 风格。我知道 yolo 中边界框的注释文件是什么样的。

name_of_class x y width height (in normalized format)

但是,当 COCO JSON 文件包含

area
segmentation
rle
等字段时,会发生什么?如下:

{
 "id":0,
 "image_id":0,
 "category_id":2,
 "bbox":[305,235,139.303,172.783],
 "area":24069.206,
 "segmentation":[[444.426,257.731,384.96,234.539,351.049,259.643,347.667,260.952,305.122,320.454,359.729,407.321,428.896,382.991,444.426,257.731]],
 "iscrowd":0
}

为了转换边界框,我使用这个函数:

def coco_to_yolo(x1, y1, w, h, image_w, image_h):
    return [((2*x1 + w)/(2*image_w)) , ((2*y1 + h)/(2*image_h)), w/image_w, h/image_h]

但是如何扩展它来进行分割呢?

python deep-learning computer-vision image-segmentation yolo
1个回答
0
投票

尝试使用roboflow,这是一个非常有用的工具,可以将一种格式的注释转换为另一种格式,例如将coco转换为yolo,vooc转换为Yolo等。
请点击此链接:- [Roboflow 链接][1] 对于任务,根据您的需要选择语义或实例分割
如果您仍然坚持这个问题,请在这里向我询问。 [1]:https://roboflow.com/convert/coco-json-to-yolov8-pytorch-txt

© www.soinside.com 2019 - 2024. All rights reserved.