47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
import numpy as np
|
|
|
|
from mmdet.core.evaluation.recall import eval_recalls
|
|
|
|
det_bboxes = np.array([
|
|
[0, 0, 10, 10],
|
|
[10, 10, 20, 20],
|
|
[32, 32, 38, 42],
|
|
])
|
|
gt_bboxes = np.array([[0, 0, 10, 20], [0, 10, 10, 19], [10, 10, 20, 20]])
|
|
gt_ignore = np.array([[5, 5, 10, 20], [6, 10, 10, 19]])
|
|
|
|
|
|
def test_eval_recalls():
|
|
gts = [gt_bboxes, gt_bboxes, gt_bboxes]
|
|
proposals = [det_bboxes, det_bboxes, det_bboxes]
|
|
|
|
recall = eval_recalls(
|
|
gts, proposals, proposal_nums=2, use_legacy_coordinate=True)
|
|
assert recall.shape == (1, 1)
|
|
assert 0.66 < recall[0][0] < 0.667
|
|
recall = eval_recalls(
|
|
gts, proposals, proposal_nums=2, use_legacy_coordinate=False)
|
|
assert recall.shape == (1, 1)
|
|
assert 0.66 < recall[0][0] < 0.667
|
|
|
|
recall = eval_recalls(
|
|
gts, proposals, proposal_nums=2, use_legacy_coordinate=True)
|
|
assert recall.shape == (1, 1)
|
|
assert 0.66 < recall[0][0] < 0.667
|
|
recall = eval_recalls(
|
|
gts,
|
|
proposals,
|
|
iou_thrs=[0.1, 0.9],
|
|
proposal_nums=2,
|
|
use_legacy_coordinate=False)
|
|
assert recall.shape == (1, 2)
|
|
assert recall[0][1] <= recall[0][0]
|
|
recall = eval_recalls(
|
|
gts,
|
|
proposals,
|
|
iou_thrs=[0.1, 0.9],
|
|
proposal_nums=2,
|
|
use_legacy_coordinate=True)
|
|
assert recall.shape == (1, 2)
|
|
assert recall[0][1] <= recall[0][0]
|