Unverified Commit b14f82a3 authored by srihari-humbarwadi's avatar srihari-humbarwadi
Browse files

skip boxes with zero area while pasting masks

parent 2e908198
...@@ -79,26 +79,27 @@ class PanopticSegmentationGenerator(tf.keras.layers.Layer): ...@@ -79,26 +79,27 @@ class PanopticSegmentationGenerator(tf.keras.layers.Layer):
pasted_mask = tf.ones( pasted_mask = tf.ones(
self._output_size + [1], dtype=mask.dtype) * self._void_class_label self._output_size + [1], dtype=mask.dtype) * self._void_class_label
ymin = box[0] ymin = tf.clip_by_value(box[0], 0, self._output_size[0])
xmin = box[1] xmin = tf.clip_by_value(box[1], 0, self._output_size[1])
ymax = tf.clip_by_value(box[2] + 1, 0, self._output_size[0]) ymax = tf.clip_by_value(box[2] + 1, 0, self._output_size[0])
xmax = tf.clip_by_value(box[3] + 1, 0, self._output_size[1]) xmax = tf.clip_by_value(box[3] + 1, 0, self._output_size[1])
box_height = ymax - ymin box_height = ymax - ymin
box_width = xmax - xmin box_width = xmax - xmin
# resize mask to match the shape of the instance bounding box if not (box_height == 0 or box_width == 0):
resized_mask = tf.image.resize( # resize mask to match the shape of the instance bounding box
mask, resized_mask = tf.image.resize(
size=(box_height, box_width), mask,
method='nearest') size=(box_height, box_width),
method='nearest')
# paste resized mask on a blank mask that matches image shape
pasted_mask = tf.raw_ops.TensorStridedSliceUpdate( # paste resized mask on a blank mask that matches image shape
input=pasted_mask, pasted_mask = tf.raw_ops.TensorStridedSliceUpdate(
begin=[ymin, xmin], input=pasted_mask,
end=[ymax, xmax], begin=[ymin, xmin],
strides=[1, 1], end=[ymax, xmax],
value=resized_mask) strides=[1, 1],
value=resized_mask)
return pasted_mask return pasted_mask
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment