def testDecodeToTensorsNoMasks(self):
     vals = pd.Series([None, None])
     image_widths = pd.Series([None, None])
     image_heights = pd.Series([None, None])
     segm, bbox = utils._decode_raw_data_into_masks_and_boxes(
         vals, image_widths, image_heights)
     self.assertAllEqual(np.zeros((2, 1, 1), dtype=np.uint8), segm)
     self.assertAllEqual(np.zeros((2, 4), dtype=np.float32), bbox)
예제 #2
0
  def testDecodeToTensors(self):
    mask1 = np.array([[0, 0, 1, 1], [0, 0, 1, 1], [0, 0, 0, 0]], dtype=np.uint8)
    mask2 = np.array([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], dtype=np.uint8)

    encoding1 = encode_mask(mask1)
    encoding2 = encode_mask(mask2)

    vals = pd.Series([encoding1, encoding2])
    image_widths = pd.Series([mask1.shape[1], mask2.shape[1]])
    image_heights = pd.Series([mask1.shape[0], mask2.shape[0]])

    segm, bbox = utils._decode_raw_data_into_masks_and_boxes(
        vals, image_widths, image_heights)
    expected_segm = np.concatenate(
        [np.expand_dims(mask1, 0),
         np.expand_dims(mask2, 0)], axis=0)
    expected_bbox = np.array([[0.0, 0.5, 2.0 / 3.0, 1.0], [0, 0, 0, 0]])
    self.assertAllEqual(expected_segm, segm)
    self.assertAllEqual(expected_bbox, bbox)