mp.tasks.vision.InteractiveSegmenter

Class that performs interactive segmentation on images.

Users can represent user interaction through RegionOfInterest, which gives a hint to InteractiveSegmenter to perform segmentation focusing on the given region of interest.

The API expects a TFLite model with mandatory TFLite Model Metadata.

(kTfLiteUInt8/kTfLiteFloat32)

  • image input of size [batch x height x width x channels].
  • batch inference is not supported (batch is required to be 1).
  • RGB and greyscale inputs are supported (channels is required to be 1 or 3).
  • if type is kTfLiteFloat32, NormalizationOptions are required to be attached to the metadata for input normalization.

(kTfLiteUInt8/kTfLiteFloat32)

  • list of segmented masks.
  • if output_type is CATEGORY_MASK, uint8 Image, Image vector of size 1.
  • if output_type is CONFIDENCE_MASK, float32 Image list of size channels.
  • batch is always 1

An example of such model can be found at: https://tfhub.dev/tensorflow/lite-model/deeplabv3/1/metadata/2

Methods

close

View source

Closes the InteractiveSegmenter.

create_from_model_path

View source

Creates an InteractiveSegmenter object from a TensorFlow Lite model and the default InteractiveSegmenterOptions.

Note that the created InteractiveSegmenter instance is in image mode, for performing image segmentation on single image inputs.

Args
model_path Path to the model.

Returns
InteractiveSegmenter object that's created from the model file and the default InteractiveSegmenterOptions.

Raises
ValueError If failed to create InteractiveSegmenter object from the provided file such as invalid file path.
RuntimeError If other types of error occurred.

create_from_options

View source

Creates the InteractiveSegmenter object from interactive segmenter options.

Args
options Options for the interactive segmenter task.

Returns
InteractiveSegmenter object that's created from options.

Raises
ValueError If failed to create InteractiveSegmenter object from InteractiveSegmenterOptions such as missing the model.
RuntimeError If other types of error occurred.

segment

View source

Performs the actual segmentation task on the provided MediaPipe Image.

The image can be of any size with format RGB.

Args
image MediaPipe Image.
roi Optional user-specified region of interest for segmentation.
image_processing_options Options for image processing.

Returns
If the output_type is CATEGORY_MASK, the returned vector of images is per-category segmented image mask. If the output_type is CONFIDENCE_MASK, the returned vector of images contains only one confidence image mask. A segmentation result object that contains a list of segmentation masks as images.

Raises
ValueError If any of the input arguments is invalid.
RuntimeError If image segmentation failed to run.

__enter__

View source

Returns self upon entering the runtime context.

__exit__

View source

Shuts down the MediaPipe task instance on exit of the context manager.