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

graph_config The mediapipe vision task graph config proto.
running_mode The running mode of the mediapipe vision task.
packet_callback The optional packet callback for getting results asynchronously in the live stream mode.

ValueError The packet callback is not properly set based on the task's running mode.

Methods

close

View source

Shuts down the mediapipe vision task instance.

Raises
RuntimeError If the mediapipe vision task failed to close.

convert_to_normalized_rect

View source

Converts from ImageProcessingOptions to NormalizedRect, performing sanity checks on-the-fly.

If the input ImageProcessingOptions is not present, returns a default NormalizedRect covering the whole image with rotation set to 0. If 'roi_allowed' is false, an error will be returned if the input ImageProcessingOptions has its 'region_of_interest' field set.

Args
options Options for image processing.
image The image to process.
roi_allowed Indicates if the region_of_interest field is allowed to be set. By default, it's set to True.

Returns
A normalized rect proto that represents the image processing options.

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.

get_graph_config

View source

Returns the canonicalized CalculatorGraphConfig of the underlying graph.

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

Return self upon entering the runtime context.

__exit__

View source

Shuts down the mediapipe vision task instance on exit of the context manager.

Raises
RuntimeError If the mediapipe vision task failed to close.