@@ -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