Skip to content

Commit 20135bd

Browse files
authored
Warn and ignore invalid predictions from mask_rcnn adapter (#3998)
* Skip invalid mask_rcnn predictions and display warning * Update formating mask_rcnn.py * Update typo in mask_rcnn.py
1 parent 5c38a67 commit 20135bd

File tree

1 file changed

+15
-1
lines changed
  • tools/accuracy_checker/accuracy_checker/adapters

1 file changed

+15
-1
lines changed

tools/accuracy_checker/accuracy_checker/adapters/mask_rcnn.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,20 @@ def _process_tf_obj_detection_api_outputs(self, raw_outputs, identifiers, frame_
167167
im_scores = im_scores[:num_valid_detections]
168168
im_boxes = im_boxes[:num_valid_detections]
169169
im_raw_masks = im_raw_masks[:num_valid_detections]
170+
invalid_scores = np.logical_or(im_scores > 1, im_scores <= 0)
171+
if np.sum(invalid_scores) > 0:
172+
warnings.warn(
173+
f"Output for {identifier} contains invalid scores and boxes!\n"
174+
f"Scores: {im_scores[ivalid_boxes]}\n"
175+
f"Boxes: {im_boxes[ivalid_boxes]}!"
176+
)
177+
im_classes = im_classes[~invalid_scores]
178+
im_scores = im_scores[~invalid_scores]
179+
im_boxes = im_boxes[~invalid_scores]
180+
im_raw_masks = im_raw_masks[~invalid_scores]
181+
if len(im_classes) == 0:
182+
continue
183+
170184
original_image_size = image_meta['image_size'][:2]
171185
im_boxes[:, 1::2] *= original_image_size[1]
172186
im_boxes[:, 0::2] *= original_image_size[0]
@@ -190,7 +204,7 @@ def _process_tf_obj_detection_api_outputs(self, raw_outputs, identifiers, frame_
190204
'segmentation_prediction': instance_segmentation_prediction
191205
}))
192206

193-
return results
207+
return results
194208

195209
def _process_pytorch_outputs(self, raw_outputs, identifiers, frame_meta):
196210
if self.boxes_out not in raw_outputs:

0 commit comments

Comments
 (0)