首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从coco数据集中提取对象分段?

如何从coco数据集中提取对象分段?
EN

Stack Overflow用户
提问于 2022-06-14 04:17:11
回答 1查看 192关注 0票数 0

从MSCOCO数据集分割注释中,如何仅提取分段对象本身?举个例子,如果一个人站在背景里,一个人站在那里,我怎么才能把他自己提取出来呢?

EN

回答 1

Stack Overflow用户

发布于 2022-06-15 13:08:54

如果您的数据已经在FiftyOne中,那么您可以使用OpenCV和Numpy编写一个简单的函数来裁剪FiftyOne标签中的分段。它可能看起来像这样:

代码语言:javascript
复制
import os

import cv2
import numpy as np

import fiftyone as fo
import fiftyone.zoo as foz
from fiftyone import ViewField as F

def extract_classwise_instances(samples, output_dir, label_field, ext=".png"):
    print("Extracted object instances...")
    for sample in samples.iter_samples(progress=True):
        img = cv2.imread(sample.filepath)
        img_h,img_w,c = img.shape
        for det in sample[label_field].detections:
            mask = det.mask
            [x,y,w,h] = det.bounding_box
            x = int(x * img_w)
            y = int(y * img_h)
            h, w = mask.shape
            mask_img = img[y:y+h, x:x+w, :] 
            alpha = mask.astype(np.uint8)*255
            alpha = np.expand_dims(alpha, 2)
            mask_img = np.concatenate((mask_img, alpha), axis=2)
    
            label = det.label
            label_dir = os.path.join(output_dir, label)
            if not os.path.exists(label_dir):
                os.mkdir(label_dir)
            output_filepath = os.path.join(label_dir, det.id+ext)
            cv2.imwrite(output_filepath, mask_img)

label_field = "ground_truth"
classes = ["person"]

dataset = foz.load_zoo_dataset(
    "coco-2017",
    split="validation",
    label_types=["segmentations"],
    classes=classes,
    max_samples=20,
    label_field=label_field,
    dataset_name=fo.get_default_dataset_name(),
)

view = dataset.filter_labels(label_field, F("label").is_in(classes))

output_dir = "/tmp/coco-segmentations"
os.makedirs(output_dir, exist_ok=True)

extract_classwise_instances(view, output_dir, label_field)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72611475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档