三种方式表示目标的分割结果:Polygon、Mask、RLE,并将COCO数据集的RLE格式转换为mask格式

  • 在实例分割任务中,对于一幅原始图像,有三种方式来表示目标的分割结果:Polygon、Mask、RLE,详见:https://blog.csdn.net/weixin_44966641/article/details/123171026

Polygon:即采用轮廓点的方式存储,是n*2的数组,存储的是每个点的坐标
Mask:是与原始图像具有相同尺寸的二值掩码图,1为目标区域,0为背景区域
RLE:是对mask进行行程长度编码,好处是压缩和解压缩都非常快

  • RLE编码格式如下:是一个字典,包含两个字段size和counts
    在这里插入图片描述
  • 若想将RLE格式转换为mask格式,可使用pycocotools的mask.decode函数:
from pycocotools import mask as mask_utils

rle = {
    "size": [500, 500],
    "counts": "Ydi2P1b>5L2N3L4J8G8L3M2N2N2M4L4L4M2N2N2M4L4M2O1N1O2O2L3N2O1N101N2N2N2N2N101O0O2O0O2N2O0O2N101O0O10001O001O1O0O2O00001O000O100O10001O0O100000001O001O00001O0000001O000000000000000000000001O00000O100000001O001N100O101O0O1000000O2O00001O001O001N2O0O1O2N101O1N2O001N101N101M201N2O1N2O1N2O1N2N2N2N3M2O1N2N2N3M2N2N2O1M4K7I5L2O2N2M4L;A:D9L5F
}
a = mask_utils.decode(rle)
  • 输出为:
    三种方式表示目标的分割结果:Polygon、Mask、RLE,并将COCO数据集的RLE格式转换为mask格式_第1张图片
  • 此外,在pycocotools.mask文件中还有其他函数:
    三种方式表示目标的分割结果:Polygon、Mask、RLE,并将COCO数据集的RLE格式转换为mask格式_第2张图片

你可能感兴趣的:(实例分割,计算机视觉,视觉检测,图像处理)