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

Ahs*_*que 5 python computer-vision image-segmentation deep-learning yolo

我试图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
}
Run Code Online (Sandbox Code Playgroud)

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

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]
Run Code Online (Sandbox Code Playgroud)

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