ConvertMask2BoxType function has the wrong order of height and width for PolygonMasks, the developer should check and fix it.
def transform(self, results: dict) -> dict:
"""The transform function."""
assert 'gt_masks' in results.keys()
masks = results['gt_masks']
results['gt_bboxes'] = self.box_type_cls.from_instance_masks(masks)
if not self.keep_mask:
results.pop('gt_masks')
# Modify results['instances'] for RotatedCocoMetric
converted_instances = []
for instance in results['instances']:
m = np.array(instance['mask'][0])
m = PolygonMasks([[m]], results['ori_shape'][1],
results['ori_shape'][0]) # here the order of height and width is wrong!!!!!!!!!!
instance['bbox'] = self.box_type_cls.from_instance_masks(
m).tensor[0].numpy().tolist()
if not self.keep_mask:
instance.pop('mask')
converted_instances.append(instance)
results['instances'] = converted_instances
Prerequisite
Task
I have modified the scripts/configs, or I'm working on my own tasks/models/datasets.
Branch
1.x branch https://github.com/open-mmlab/mmrotate/tree/1.x
Environment
.
Reproduces the problem - code sample
.
Reproduces the problem - command or script
.
Reproduces the problem - error message
.
Additional information
ConvertMask2BoxType function has the wrong order of height and width for PolygonMasks, the developer should check and fix it.