@@ -167,6 +167,20 @@ def _process_tf_obj_detection_api_outputs(self, raw_outputs, identifiers, frame_
167
167
im_scores = im_scores [:num_valid_detections ]
168
168
im_boxes = im_boxes [:num_valid_detections ]
169
169
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
+
170
184
original_image_size = image_meta ['image_size' ][:2 ]
171
185
im_boxes [:, 1 ::2 ] *= original_image_size [1 ]
172
186
im_boxes [:, 0 ::2 ] *= original_image_size [0 ]
@@ -190,7 +204,7 @@ def _process_tf_obj_detection_api_outputs(self, raw_outputs, identifiers, frame_
190
204
'segmentation_prediction' : instance_segmentation_prediction
191
205
}))
192
206
193
- return results
207
+ return results
194
208
195
209
def _process_pytorch_outputs (self , raw_outputs , identifiers , frame_meta ):
196
210
if self .boxes_out not in raw_outputs :
0 commit comments