As of January 1, 2020 this library no longer supports Python 2 on the latest released version.
Library versions released prior to that date will continue to be available. For more information please
visit Python 2 support on Google Cloud.
Source code for google.cloud.automl_v1beta1.types.detection
# -*- coding: utf-8 -*-
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import proto # type: ignore
from google.cloud.automl_v1beta1.types import geometry
from google.protobuf import duration_pb2 # type: ignore
__protobuf__ = proto.module(
package="google.cloud.automl.v1beta1",
manifest={
"ImageObjectDetectionAnnotation",
"VideoObjectTrackingAnnotation",
"BoundingBoxMetricsEntry",
"ImageObjectDetectionEvaluationMetrics",
"VideoObjectTrackingEvaluationMetrics",
},
)
[docs]class ImageObjectDetectionAnnotation(proto.Message):
r"""Annotation details for image object detection.
Attributes:
bounding_box (google.cloud.automl_v1beta1.types.BoundingPoly):
Output only. The rectangle representing the
object location.
score (float):
Output only. The confidence that this annotation is positive
for the parent example, value in [0, 1], higher means higher
positivity confidence.
"""
bounding_box = proto.Field(proto.MESSAGE, number=1, message=geometry.BoundingPoly,)
score = proto.Field(proto.FLOAT, number=2,)
[docs]class VideoObjectTrackingAnnotation(proto.Message):
r"""Annotation details for video object tracking.
Attributes:
instance_id (str):
Optional. The instance of the object,
expressed as a positive integer. Used to tell
apart objects of the same type (i.e.
AnnotationSpec) when multiple are present on a
single example.
NOTE: Instance ID prediction quality is not a
part of model evaluation and is done as best
effort. Especially in cases when an entity goes
off-screen for a longer time (minutes), when it
comes back it may be given a new instance ID.
time_offset (google.protobuf.duration_pb2.Duration):
Required. A time (frame) of a video to which
this annotation pertains. Represented as the
duration since the video's start.
bounding_box (google.cloud.automl_v1beta1.types.BoundingPoly):
Required. The rectangle representing the object location on
the frame (i.e. at the time_offset of the video).
score (float):
Output only. The confidence that this annotation is positive
for the video at the time_offset, value in [0, 1], higher
means higher positivity confidence. For annotations created
by the user the score is 1. When user approves an
annotation, the original float score is kept (and not
changed to 1).
"""
instance_id = proto.Field(proto.STRING, number=1,)
time_offset = proto.Field(proto.MESSAGE, number=2, message=duration_pb2.Duration,)
bounding_box = proto.Field(proto.MESSAGE, number=3, message=geometry.BoundingPoly,)
score = proto.Field(proto.FLOAT, number=4,)
[docs]class BoundingBoxMetricsEntry(proto.Message):
r"""Bounding box matching model metrics for a single
intersection-over-union threshold and multiple label match
confidence thresholds.
Attributes:
iou_threshold (float):
Output only. The intersection-over-union
threshold value used to compute this metrics
entry.
mean_average_precision (float):
Output only. The mean average precision, most often close to
au_prc.
confidence_metrics_entries (Sequence[google.cloud.automl_v1beta1.types.BoundingBoxMetricsEntry.ConfidenceMetricsEntry]):
Output only. Metrics for each label-match
confidence_threshold from
0.05,0.10,...,0.95,0.96,0.97,0.98,0.99. Precision-recall
curve is derived from them.
"""
[docs] class ConfidenceMetricsEntry(proto.Message):
r"""Metrics for a single confidence threshold.
Attributes:
confidence_threshold (float):
Output only. The confidence threshold value
used to compute the metrics.
recall (float):
Output only. Recall under the given
confidence threshold.
precision (float):
Output only. Precision under the given
confidence threshold.
f1_score (float):
Output only. The harmonic mean of recall and
precision.
"""
confidence_threshold = proto.Field(proto.FLOAT, number=1,)
recall = proto.Field(proto.FLOAT, number=2,)
precision = proto.Field(proto.FLOAT, number=3,)
f1_score = proto.Field(proto.FLOAT, number=4,)
iou_threshold = proto.Field(proto.FLOAT, number=1,)
mean_average_precision = proto.Field(proto.FLOAT, number=2,)
confidence_metrics_entries = proto.RepeatedField(
proto.MESSAGE, number=3, message=ConfidenceMetricsEntry,
)
[docs]class ImageObjectDetectionEvaluationMetrics(proto.Message):
r"""Model evaluation metrics for image object detection problems.
Evaluates prediction quality of labeled bounding boxes.
Attributes:
evaluated_bounding_box_count (int):
Output only. The total number of bounding
boxes (i.e. summed over all images) the ground
truth used to create this evaluation had.
bounding_box_metrics_entries (Sequence[google.cloud.automl_v1beta1.types.BoundingBoxMetricsEntry]):
Output only. The bounding boxes match metrics
for each Intersection-over-union threshold
0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each
label confidence threshold
0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
bounding_box_mean_average_precision (float):
Output only. The single metric for bounding boxes
evaluation: the mean_average_precision averaged over all
bounding_box_metrics_entries.
"""
evaluated_bounding_box_count = proto.Field(proto.INT32, number=1,)
bounding_box_metrics_entries = proto.RepeatedField(
proto.MESSAGE, number=2, message="BoundingBoxMetricsEntry",
)
bounding_box_mean_average_precision = proto.Field(proto.FLOAT, number=3,)
[docs]class VideoObjectTrackingEvaluationMetrics(proto.Message):
r"""Model evaluation metrics for video object tracking problems.
Evaluates prediction quality of both labeled bounding boxes and
labeled tracks (i.e. series of bounding boxes sharing same label
and instance ID).
Attributes:
evaluated_frame_count (int):
Output only. The number of video frames used
to create this evaluation.
evaluated_bounding_box_count (int):
Output only. The total number of bounding
boxes (i.e. summed over all frames) the ground
truth used to create this evaluation had.
bounding_box_metrics_entries (Sequence[google.cloud.automl_v1beta1.types.BoundingBoxMetricsEntry]):
Output only. The bounding boxes match metrics
for each Intersection-over-union threshold
0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 and each
label confidence threshold
0.05,0.10,...,0.95,0.96,0.97,0.98,0.99 pair.
bounding_box_mean_average_precision (float):
Output only. The single metric for bounding boxes
evaluation: the mean_average_precision averaged over all
bounding_box_metrics_entries.
"""
evaluated_frame_count = proto.Field(proto.INT32, number=1,)
evaluated_bounding_box_count = proto.Field(proto.INT32, number=2,)
bounding_box_metrics_entries = proto.RepeatedField(
proto.MESSAGE, number=4, message="BoundingBoxMetricsEntry",
)
bounding_box_mean_average_precision = proto.Field(proto.FLOAT, number=6,)
__all__ = tuple(sorted(__protobuf__.manifest))