box merging algo WIP

This commit is contained in:
Julius Unverfehrt 2022-02-04 09:58:49 +01:00
parent d770e56a7f
commit ef2bab3003

View File

@ -80,7 +80,7 @@ LPBox = namedtuple('LPBox', 'label proba box')
# return boxes, probas
def keep(a, b, iou_thresh):
def remove(a, b, iou_thresh):
iou = compute_iou(a.box, b.box)
print("iou", iou)
@ -90,7 +90,7 @@ def keep(a, b, iou_thresh):
return [a, b][max_proba_box_idx], None
else:
print("both")
return a, b
return None, None
def filter_contained(lpboxes, iou_thresh=.1):
@ -102,13 +102,12 @@ def filter_contained(lpboxes, iou_thresh=.1):
print()
print("current_boxes", len(current_boxes))
for a, b in combinations(current_boxes, r=2):
for keeping in filter(truth, keep(a, b, iou_thresh=iou_thresh)):
for keeping in filter(truth, remove(a, b, iou_thresh=iou_thresh)):
remaining.add(keeping)
try:
current_boxes.remove(keeping)
except:
pass
break
print("remaining", len(remaining))
if len(remaining) == len(current_boxes):