code: def __call__(self, image, anno):
      w, h = image.size
      segmentations = [obj["segmentation"] for obj in anno]
      cats = [obj["category_id"] for obj in anno]
      if segmentations:
          masks = convert_coco_poly_to_mask(segmentations, h, w)
          cats = torch.as_tensor(cats, dtype=masks.dtype)
          # merge all instance masks into a single segmentation map
          # with its corresponding categories
          target, _ = (masks * cats[:, None, None]).max(dim=0)
          # discard overlapping instances
          target[masks.sum(0) > 1] = 255
      else:
          target = torch.zeros((h, w), dtype=torch.uint8)
      target = Image.fromarray(target.numpy())
      return image, target
  
file_path: vision/references/segmentation/coco_utils.py
imports: import copy
  import os
  import torch
  import torch.utils.data
  import torchvision
  from PIL import Image
  from pycocotools import mask
  from transforms import Compose
label_desc: Use image node_id 1 for calling the ConvertCocoPolysToMask obj's underlying member method code with example usage: obj.__call__(image, anno) and returns: image,  target