|
|
|
|
|
import numpy as np |
|
|
import pytest |
|
|
|
|
|
import mmocr.models.textdet.dense_heads.pan_head as pan_head |
|
|
|
|
|
|
|
|
def test_panhead(): |
|
|
in_channels = [128] |
|
|
out_channels = 128 |
|
|
text_repr_type = 'poly' |
|
|
downsample_ratio = 0.25 |
|
|
loss = dict(type='PANLoss') |
|
|
|
|
|
|
|
|
with pytest.raises(AssertionError): |
|
|
panheader = pan_head.PANHead(128, out_channels, downsample_ratio, loss) |
|
|
with pytest.raises(AssertionError): |
|
|
panheader = pan_head.PANHead(in_channels, [out_channels], |
|
|
downsample_ratio, loss) |
|
|
with pytest.raises(AssertionError): |
|
|
panheader = pan_head.PANHead(in_channels, out_channels, text_repr_type, |
|
|
1.1, loss) |
|
|
|
|
|
panheader = pan_head.PANHead(in_channels, out_channels, downsample_ratio, |
|
|
loss) |
|
|
|
|
|
|
|
|
boundaries = [[0, 0, 0, 1, 1, 1, 0, 1, 0.9], |
|
|
[0, 0, 0, 0.1, 0.1, 0.1, 0, 0.1, 0.9]] |
|
|
target_boundary = [[0, 0, 0, 0.5, 1, 0.5, 0, 0.5, 0.9], |
|
|
[0, 0, 0, 0.05, 0.1, 0.05, 0, 0.05, 0.9]] |
|
|
scale_factor = np.array([1, 0.5, 1, 0.5]) |
|
|
resized_boundary = panheader.resize_boundary(boundaries, scale_factor) |
|
|
assert np.allclose(resized_boundary, target_boundary) |
|
|
|