Class that performs object detection on images.
mp
.
tasks
.
vision
.
ObjectDetector
(
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
The API expects a TFLite model with mandatory TFLite Model Metadata.
Input tensor
- image input of size
[batch x height x width x channels]. - batch inference is not supported (
batchis required to be 1). - only RGB inputs are supported (
channelsis required to be 3). - if type is kTfLiteFloat32, NormalizationOptions are required to be attached to the metadata for input normalization.
Output tensors must be the 4 outputs of a DetectionPostProcess
op, i.e:
(kTfLiteFloat32)
- locations tensor of size
[num_results x 4], the inner array representing bounding boxes in the form [top, left, right, bottom]. - BoundingBoxProperties are required to be attached to the metadata and must specify type=BOUNDARIES and coordinate_type=RATIO. (kTfLiteFloat32)
- classes tensor of size
[num_results], each value representing the integer index of a class. - optional (but recommended) label map(s) can be attached as
AssociatedFile-s with type TENSOR_VALUE_LABELS, containing one label per
line. The first such AssociatedFile (if any) is used to fill the
class_namefield of the results. Thedisplay_namefield is filled from the AssociatedFile (if any) whose locale matches thedisplay_names_localefield of theObjectDetectorOptionsused at creation time ("en" by default, i.e. English). If none of these are available, only theindexfield of the results will be filled. (kTfLiteFloat32) - scores tensor of size
[num_results], each value representing the score of the detected object. - optional score calibration can be attached using ScoreCalibrationOptions and an AssociatedFile with type TENSOR_AXIS_SCORE_CALIBRATION. See metadata_schema.fbs 1 for more details. (kTfLiteFloat32)
- integer num_results as a tensor of size
[1]
An example of such model can be found at: https://tfhub.dev/google/lite-model/object_detection/mobile_object_localizer_v1/1/metadata/1
Methods
close
close
()
->
None
Shuts down the mediapipe vision task instance.
RuntimeError
convert_to_normalized_rect
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.
options
image
roi_allowed
region_of_interest
field is allowed to be
set. By default, it's set to True.
create_from_model_path
@classmethodcreate_from_model_path ( model_path : str ) -> 'ObjectDetector'
Creates an ObjectDetector
object from a TensorFlow Lite model and the default ObjectDetectorOptions
.
Note that the created ObjectDetector
instance is in image mode, for
detecting objects on single image inputs.
model_path
ObjectDetector
object that's created from the model file and the default ObjectDetectorOptions
.
ValueError
ObjectDetector
object from the provided
file such as invalid file path.RuntimeError
create_from_options
@classmethodcreate_from_options ( options :mp . tasks . vision . ObjectDetectorOptions) -> 'ObjectDetector'
Creates the ObjectDetector
object from object detector options.
options
ObjectDetector
object that's created from options
.
ValueError
ObjectDetector
object from ObjectDetectorOptions
such as missing the model.RuntimeError
detect
detect
(
image
:
mp
.
Image
,
image_processing_options
:
Optional
[
mp
.
tasks
.
vision
.
holistic_landmarker
.
image_processing_options_module
.
ImageProcessingOptions
]
=
None
)
->
mp
.
tasks
.
vision
.
FaceDetectorResult
Performs object detection on the provided MediaPipe Image.
Only use this method when the ObjectDetector is created with the image running mode.
image
image_processing_options
[0,image_width) x [0,
image_height)
, which are the dimensions of the underlying image data.
ValueError
RuntimeError
detect_async
detect_async
(
image
:
mp
.
Image
,
timestamp_ms
:
int
,
image_processing_options
:
Optional
[
mp
.
tasks
.
vision
.
holistic_landmarker
.
image_processing_options_module
.
ImageProcessingOptions
]
=
None
)
->
None
Sends live image data (an Image with a unique timestamp) to perform object detection.
Only use this method when the ObjectDetector is created with the live stream
running mode. The input timestamps should be monotonically increasing for
adjacent calls of this method. This method will return immediately after the
input image is accepted. The results will be available via the result_callback
provided in the ObjectDetectorOptions
. The detect_async
method is designed to process live stream data such as camera
input. To lower the overall latency, object detector may drop the input
images if needed. In other words, it's not guaranteed to have output per
input image.
The result_callback
prvoides:
- A detection result object that contains a list of detections, each
detection has a bounding box that is expressed in the unrotated input
frame of reference coordinates system, i.e. in
[0,image_width) x [0, image_height), which are the dimensions of the underlying image data. - The input image that the object detector runs on.
- The input timestamp in milliseconds.
image
timestamp_ms
image_processing_options
ValueError
detect_for_video
detect_for_video
(
image
:
mp
.
Image
,
timestamp_ms
:
int
,
image_processing_options
:
Optional
[
mp
.
tasks
.
vision
.
holistic_landmarker
.
image_processing_options_module
.
ImageProcessingOptions
]
=
None
)
->
mp
.
tasks
.
vision
.
FaceDetectorResult
Performs object detection on the provided video frames.
Only use this method when the ObjectDetector is created with the video running mode. It's required to provide the video frame's timestamp (in milliseconds) along with the video frame. The input timestamps should be monotonically increasing for adjacent calls of this method.
image
timestamp_ms
image_processing_options
[0,image_width) x [0,
image_height)
, which are the dimensions of the underlying image data.
ValueError
RuntimeError
get_graph_config
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.
__enter__
__enter__
()
Return self
upon entering the runtime context.
__exit__
__exit__
(
unused_exc_type
,
unused_exc_value
,
unused_traceback
)
Shuts down the mediapipe vision task instance on exit of the context manager.
RuntimeError


