Class that performs interactive segmentation on images.
mp.tasks.vision.InteractiveSegmenter(
graph_config: mp.calculators.core.constant_side_packet_calculator_pb2.mediapipe_dot_framework_dot_calculator__pb2.CalculatorGraphConfig
,
running_mode: mp.tasks.vision.RunningMode
,
packet_callback: Optional[Callable[[Mapping[str, packet_module.Packet]], None]] = None
) -> None
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.
|
Output tensors |
(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
Args |
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.
|
Raises |
ValueError
|
The packet callback is not properly set based on the task's
running mode.
|
Methods
close
View source
close() -> None
Shuts down the mediapipe vision task instance.
Raises |
RuntimeError
|
If the mediapipe vision task failed to close.
|
convert_to_normalized_rect
View source
convert_to_normalized_rect(
options: mp.tasks.vision.holistic_landmarker.image_processing_options_module.ImageProcessingOptions
,
image: mp.Image
,
roi_allowed: bool = True
) -> mp.tasks.components.containers.NormalizedRect
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
@classmethod
create_from_model_path(
model_path: str
) -> 'InteractiveSegmenter'
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
@classmethod
create_from_options(
options: mp.tasks.vision.InteractiveSegmenterOptions
) -> 'InteractiveSegmenter'
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
get_graph_config() -> mp.calculators.core.constant_side_packet_calculator_pb2.mediapipe_dot_framework_dot_calculator__pb2.CalculatorGraphConfig
Returns the canonicalized CalculatorGraphConfig of the underlying graph.
segment
View source
segment(
image: mp.Image
,
roi: mp.tasks.vision.InteractiveSegmenterRegionOfInterest
,
image_processing_options: Optional[mp.tasks.vision.holistic_landmarker.image_processing_options_module.ImageProcessingOptions
] = None
) -> InteractiveSegmenterResult
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
__enter__()
Return self
upon entering the runtime context.
__exit__
View source
__exit__(
unused_exc_type, unused_exc_value, unused_traceback
)
Shuts down the mediapipe vision task instance on exit of the context manager.
Raises |
RuntimeError
|
If the mediapipe vision task failed to close.
|