MCPcopy Create free account
hub / github.com/OpenGVLab/HumanBench / box_overlap_opr

Method box_overlap_opr

PATH/core/solvers/utils/peddet_tester_dev.py:343–362  ·  view source on GitHub ↗
(self, dboxes: np.ndarray, gboxes: np.ndarray, if_iou)

Source from the content-addressed store, hash-verified

341 return scorelist
342
343 def box_overlap_opr(self, dboxes: np.ndarray, gboxes: np.ndarray, if_iou) -> np.ndarray:
344 eps = 1e-6
345 assert dboxes.shape[-1] >= 4 and gboxes.shape[-1] >= 4
346 N, K = dboxes.shape[0], gboxes.shape[0]
347 dtboxes = np.tile(np.expand_dims(dboxes, axis=1), (1, K, 1))
348 gtboxes = np.tile(np.expand_dims(gboxes, axis=0), (N, 1, 1))
349
350 iw = (np.minimum(dtboxes[:, :, 2], gtboxes[:, :, 2])
351 - np.maximum(dtboxes[:, :, 0], gtboxes[:, :, 0]))
352 ih = (np.minimum(dtboxes[:, :, 3], gtboxes[:, :, 3])
353 - np.maximum(dtboxes[:, :, 1], gtboxes[:, :, 1]))
354 inter = np.maximum(0, iw) * np.maximum(0, ih)
355
356 dtarea = (dtboxes[:, :, 2] - dtboxes[:, :, 0]) * (dtboxes[:, :, 3] - dtboxes[:, :, 1])
357 if if_iou:
358 gtarea = (gtboxes[:, :, 2] - gtboxes[:, :, 0]) * (gtboxes[:, :, 3] - gtboxes[:, :, 1])
359 ious = inter / (dtarea + gtarea - inter + eps)
360 else:
361 ious = inter / (dtarea + eps)
362 return ious
363
364 def clip_all_boader(self):
365

Callers 2

compare_caltechMethod · 0.95
compare_caltech_unionMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected