27 lines
968 B
Python
27 lines
968 B
Python
import numpy as np
|
|
|
|
from scripts.compare_openvino_classes import matrix_report, output_class, probability_class
|
|
|
|
|
|
def test_detector_output_channel_offset_and_background():
|
|
output = np.zeros((1, 13, 336), dtype=np.float32)
|
|
output[0, :4, 0] = [64, 64, 128, 128]
|
|
assert output_class(output, 0.25, 4) == 4
|
|
output[0, 5, 0] = 0.6
|
|
assert output_class(output, 0.25, 4) == 1 # blackdot, not black
|
|
output[0, 4, 50] = 0.9
|
|
assert output_class(output, 0.25, 4) == 0
|
|
|
|
|
|
def test_report_excludes_background_from_foreground_agreement():
|
|
matrix = np.array([[1, 1], [0, 8]])
|
|
report = matrix_report(matrix, ["blackdot", "normal"], 1)
|
|
assert report["agreement"] == 0.9
|
|
assert report["foreground_agreement"] == 0.5
|
|
|
|
|
|
def test_probability_output_has_no_coordinate_offset():
|
|
probabilities = np.array([[0.1, 0.8, 0.1]])
|
|
assert probability_class(probabilities, .25, 2) == 1
|
|
assert probability_class(np.array([[.3, .4, .3]]), .5, 2) == 2
|