Data Labeling API . projects . datasets . video

Instance Methods

close()

Close httplib2 connections.

label(parent, body=None, x__xgafv=None)

Starts a labeling task for video. The type of video labeling task is configured by feature in the request.

Method Details

close()
Close httplib2 connections.
label(parent, body=None, x__xgafv=None)
Starts a labeling task for video. The type of video labeling task is configured by feature in the request.

Args:
  parent: string, Required. Name of the dataset to request labeling task, format: projects/{project_id}/datasets/{dataset_id} (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for LabelVideo.
  "basicConfig": { # Configuration for how human labeling task should be done. # Required. Basic human annotation config.
    "annotatedDatasetDescription": "A String", # Optional. A human-readable description for AnnotatedDataset. The description can be up to 10000 characters long.
    "annotatedDatasetDisplayName": "A String", # Required. A human-readable name for AnnotatedDataset defined by users. Maximum of 64 characters .
    "contributorEmails": [ # Optional. If you want your own labeling contributors to manage and work on this labeling request, you can set these contributors here. We will give them access to the question types in crowdcompute. Note that these emails must be registered in crowdcompute worker UI: https://crowd-compute.appspot.com/
      "A String",
    ],
    "instruction": "A String", # Required. Instruction resource name.
    "labelGroup": "A String", # Optional. A human-readable label used to logically group labeling tasks. This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
    "languageCode": "A String", # Optional. The Language of this question, as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Default value is en-US. Only need to set this when task is language related. For example, French text classification.
    "questionDuration": "A String", # Optional. Maximum duration for contributors to answer a question. Maximum is 3600 seconds. Default is 3600 seconds.
    "replicaCount": 42, # Optional. Replication of questions. Each question will be sent to up to this number of contributors to label. Aggregated answers will be returned. Default is set to 1. For image related labeling, valid values are 1, 3, 5.
    "userEmailAddress": "A String", # Email of the user who started the labeling task and should be notified by email. If empty no notification will be sent.
  },
  "eventConfig": { # Config for video event human labeling task. # Configuration for video event task. One of video_classification_config, object_detection_config, object_tracking_config and event_config is required.
    "annotationSpecSets": [ # Required. The list of annotation spec set resource name. Similar to video classification, we support selecting event from multiple AnnotationSpecSet at the same time.
      "A String",
    ],
    "clipLength": 42, # Videos will be cut to smaller clips to make it easier for labelers to work on. Users can configure is field in seconds, if not set, default value is 60s.
    "overlapLength": 42, # The overlap length between different video clips. Users can configure is field in seconds, if not set, default value is 1s.
  },
  "feature": "A String", # Required. The type of video labeling task.
  "objectDetectionConfig": { # Config for video object detection human labeling task. Object detection will be conducted on the images extracted from the video, and those objects will be labeled with bounding boxes. User need to specify the number of images to be extracted per second as the extraction frame rate. # Configuration for video object detection task. One of video_classification_config, object_detection_config, object_tracking_config and event_config is required.
    "annotationSpecSet": "A String", # Required. Annotation spec set resource name.
    "extractionFrameRate": 3.14, # Required. Number of frames per second to be extracted from the video.
  },
  "objectTrackingConfig": { # Config for video object tracking human labeling task. # Configuration for video object tracking task. One of video_classification_config, object_detection_config, object_tracking_config and event_config is required.
    "annotationSpecSet": "A String", # Required. Annotation spec set resource name.
    "clipLength": 42, # Videos will be cut to smaller clips to make it easier for labelers to work on. Users can configure is field in seconds, if not set, default value is 20s.
    "overlapLength": 42, # The overlap length between different video clips. Users can configure is field in seconds, if not set, default value is 0.3s.
  },
  "videoClassificationConfig": { # Config for video classification human labeling task. Currently two types of video classification are supported: 1. Assign labels on the entire video. 2. Split the video into multiple video clips based on camera shot, and assign labels on each video clip. # Configuration for video classification task. One of video_classification_config, object_detection_config, object_tracking_config and event_config is required.
    "annotationSpecSetConfigs": [ # Required. The list of annotation spec set configs. Since watching a video clip takes much longer time than an image, we support label with multiple AnnotationSpecSet at the same time. Labels in each AnnotationSpecSet will be shown in a group to contributors. Contributors can select one or more (depending on whether to allow multi label) from each group.
      { # Annotation spec set with the setting of allowing multi labels or not.
        "allowMultiLabel": True or False, # Optional. If allow_multi_label is true, contributors are able to choose multiple labels from one annotation spec set.
        "annotationSpecSet": "A String", # Required. Annotation spec set resource name.
      },
    ],
    "applyShotDetection": True or False, # Optional. Option to apply shot detection on the video.
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}