首页 > 解决方案 > Mask RCNN 在物体上制作矩形?

问题描述

我正在尝试制作一个自定义 Mask Rcnn 模型,我已经尝试过,但是模型正在对象上制作矩形,如何根据多边形制作输出?

掩码功能代码:

 def load_mask(self, image_id):
        image_info = self.image_info[image_id]
        if image_info["source"] != "custom":
            return super(self.__class__, self).load_mask(image_id)

        info = self.image_info[image_id]
        mask = np.zeros([info["height"], info["width"], 3], dtype=np.uint8)

        for i in range(len(info['polygons'])):
            start = (info["polygons"][i]['y'], info["polygons"][i]['x'])
            extent = (info["polygons"][i]['y']+info["polygons"][i]['height'], info["polygons"][i]['x']+info["polygons"][i]['width'])
            rr, cc = rectangle(start, extent = extent, shape = (info["height"], info["width"],3))
            
            mask[rr, cc, 0] = 1
            mask[rr, cc, 1] = 1
            mask[rr, cc, 2] = 1
        return mask.astype(np.bool), np.ones([mask.shape[-1]], dtype=np.int32)

image_info 有以下字典,这只是一个索引

  {'id': '14_banana.jpg', 'source': 'custom',
     'path': '/home/hamza/Desktop/dataset/train/14_banana.jpg','width': 284, 
    'height': 178, 'polygons': [{'name': 'rect', 'x': 16, 'y': 30, 'width': 254, 'height': 113}], 'num_ids': [2]}

标签: deep-learningartificial-intelligencemaskresnetfaster-rcnn

解决方案


推荐阅读