# Copyright (c) OpenMMLab. All rights reserved.
import numpy as np
from mmaction.models.localizers.utils import post_processing
def test_post_processing():
# test with multiple results
result = np.array([[0., 1., 1., 1., 0.5, 0.5], [0., 0.4, 1., 1., 0.4, 0.4],
[0., 0.95, 1., 1., 0.6, 0.6]])
video_info = dict(
video_name='v_test',
duration_second=100,
duration_frame=960,
feature_frame=960)
proposal_list = post_processing(result, video_info, 0.75, 0.65, 0.9, 2, 16)
assert isinstance(proposal_list[0], dict)
assert proposal_list[0]['score'] == 0.6
assert proposal_list[0]['segment'] == [0., 95.0]
assert isinstance(proposal_list[1], dict)
assert proposal_list[1]['score'] == 0.4
assert proposal_list[1]['segment'] == [0., 40.0]
# test with only result
result = np.array([[0., 1., 1., 1., 0.5, 0.5]])
video_info = dict(
video_name='v_test',
duration_second=100,
duration_frame=960,
feature_frame=960)
proposal_list = post_processing(result, video_info, 0.75, 0.65, 0.9, 1, 16)
assert isinstance(proposal_list[0], dict)
assert proposal_list[0]['score'] == 0.5
assert proposal_list[0]['segment'] == [0., 100.0]