Пример #1
0
def drop_large_overlaped_boxes(detect_result, drop_iou=0.1):
    drop_index = []  # record which boxes to drop

    scores = detect_result[:, 4]
    labels = detect_result[:, 5]
    boxes = detect_result[:, :4]

    num_boxes = len(boxes)
    for i in range(num_boxes - 1):
        for j in range(i + 1, num_boxes):

            iou_ij = iou(boxes[i], boxes[j])
            if iou_ij >= drop_iou:

                idx = np.argmin((scores[i], scores[j]))
                if idx:
                    drop_index.append(j)
                else:
                    drop_index.append(i)

    if not len(drop_index):
        return detect_result
    else:
        detect_result = np.delete(detect_result, drop_index, axis=0)

    return detect_result
Пример #2
0
def iou_for_debug(tracker, idx1, idx2):
    box1 = tracker[idx1 + 1]["pred_position"]
    box2 = tracker[idx2 + 1]["pred_position"]
    return iou(box1, box2)