| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| """Test for vip_deeplab.py.""" |
| import numpy as np |
| import tensorflow as tf |
|
|
| from deeplab2.model.post_processor import vip_deeplab |
|
|
|
|
| class PostProcessingTest(tf.test.TestCase): |
|
|
| def test_stitch_video_panoptic_prediction(self): |
| concat_semantic = np.array( |
| [[[0, 0, 0, 0], |
| [0, 1, 1, 0], |
| [0, 2, 2, 0], |
| [2, 2, 3, 3]]], dtype=np.int32) |
| concat_instance = np.array( |
| [[[1, 1, 2, 2], |
| [1, 0, 0, 2], |
| [1, 1, 1, 2], |
| [2, 2, 1, 1]]], dtype=np.int32) |
| next_semantic = np.array( |
| [[[0, 1, 1, 0], |
| [0, 1, 1, 0], |
| [0, 2, 2, 0], |
| [2, 2, 3, 3]]], dtype=np.int32) |
| next_instance = np.array( |
| [[[2, 0, 0, 1], |
| [2, 0, 0, 1], |
| [2, 4, 4, 1], |
| [5, 5, 3, 3]]], dtype=np.int32) |
| label_divisor = 1000 |
| concat_panoptic = concat_semantic * label_divisor + concat_instance |
| next_panoptic = next_semantic * label_divisor + next_instance |
| new_panoptic = vip_deeplab.stitch_video_panoptic_prediction( |
| concat_panoptic, |
| next_panoptic, |
| label_divisor) |
| |
| |
| |
| expected_semantic = next_semantic |
| expected_instance = np.array( |
| [[[1, 0, 0, 2], |
| [1, 0, 0, 2], |
| [1, 1, 1, 2], |
| [2, 2, 1, 1]]], dtype=np.int32) |
| expected_panoptic = expected_semantic * label_divisor + expected_instance |
| np.testing.assert_array_equal(expected_panoptic, new_panoptic) |
|
|
|
|
| if __name__ == '__main__': |
| tf.test.main() |
|
|