You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
7.3 KiB
209 lines
7.3 KiB
6 years ago
|
// Copyright 2018 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.
|
||
|
//
|
||
|
|
||
|
syntax = "proto3";
|
||
|
|
||
|
package google.cloud.datalabeling.v1beta1;
|
||
|
|
||
|
import "google/protobuf/duration.proto";
|
||
|
import "google/api/annotations.proto";
|
||
|
|
||
|
option go_package = "google.golang.org/genproto/googleapis/cloud/datalabeling/v1beta1;datalabeling";
|
||
|
option java_multiple_files = true;
|
||
|
option java_package = "com.google.cloud.datalabeling.v1beta1";
|
||
|
|
||
|
|
||
|
enum StringAggregationType {
|
||
|
STRING_AGGREGATION_TYPE_UNSPECIFIED = 0;
|
||
|
|
||
|
// Majority vote to aggregate answers.
|
||
|
MAJORITY_VOTE = 1;
|
||
|
|
||
|
// Unanimous answers will be adopted.
|
||
|
UNANIMOUS_VOTE = 2;
|
||
|
|
||
|
// Preserve all answers by crowd compute.
|
||
|
NO_AGGREGATION = 3;
|
||
|
}
|
||
|
|
||
|
// Configuration for how human labeling task should be done.
|
||
|
message HumanAnnotationConfig {
|
||
|
// Required except for LabelAudio case. Instruction resource name.
|
||
|
string instruction = 1;
|
||
|
|
||
|
// Required. A human-readable name for AnnotatedDataset defined by
|
||
|
// users. Maximum of 64 characters
|
||
|
// .
|
||
|
string annotated_dataset_display_name = 2;
|
||
|
|
||
|
// Optional. A human-readable description for AnnotatedDataset.
|
||
|
// The description can be up to 10000 characters long.
|
||
|
string annotated_dataset_description = 3;
|
||
|
|
||
|
// Optional. A human-readable label used to logically group labeling tasks.
|
||
|
// This string must match the regular expression `[a-zA-Z\\d_-]{0,128}`.
|
||
|
string label_group = 4;
|
||
|
|
||
|
// 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 or Chinese audio transcription.
|
||
|
string language_code = 5;
|
||
|
|
||
|
// 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.
|
||
|
int32 replica_count = 6;
|
||
|
|
||
|
// Optional. Maximum duration for contributors to answer a question. Default
|
||
|
// is 1800 seconds.
|
||
|
google.protobuf.Duration question_duration = 7;
|
||
|
|
||
|
// 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/
|
||
|
repeated string contributor_emails = 9;
|
||
|
}
|
||
|
|
||
|
// Config for image classification human labeling task.
|
||
|
message ImageClassificationConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
|
||
|
// Optional. If allow_multi_label is true, contributors are able to choose
|
||
|
// multiple labels for one image.
|
||
|
bool allow_multi_label = 2;
|
||
|
|
||
|
// Optional. The type of how to aggregate answers.
|
||
|
StringAggregationType answer_aggregation_type = 3;
|
||
|
}
|
||
|
|
||
|
// Config for image bounding poly (and bounding box) human labeling task.
|
||
|
message BoundingPolyConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
|
||
|
// Optional. Instruction message showed on contributors UI.
|
||
|
string instruction_message = 2;
|
||
|
}
|
||
|
|
||
|
// Config for image polyline human labeling task.
|
||
|
message PolylineConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
|
||
|
// Optional. Instruction message showed on contributors UI.
|
||
|
string instruction_message = 2;
|
||
|
}
|
||
|
|
||
|
// Config for image segmentation
|
||
|
message SegmentationConfig {
|
||
|
// Required. Annotation spec set resource name. format:
|
||
|
// projects/{project_id}/annotationSpecSets/{annotation_spec_set_id}
|
||
|
string annotation_spec_set = 1;
|
||
|
|
||
|
// Instruction message showed on labelers UI.
|
||
|
string instruction_message = 2;
|
||
|
}
|
||
|
|
||
|
// 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.
|
||
|
message VideoClassificationConfig {
|
||
|
// Annotation spec set with the setting of allowing multi labels or not.
|
||
|
message AnnotationSpecSetConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
|
||
|
// Optional. If allow_multi_label is true, contributors are able to
|
||
|
// choose multiple labels from one annotation spec set.
|
||
|
bool allow_multi_label = 2;
|
||
|
}
|
||
|
|
||
|
// 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.
|
||
|
repeated AnnotationSpecSetConfig annotation_spec_set_configs = 1;
|
||
|
|
||
|
// Optional. Option to apply shot detection on the video.
|
||
|
bool apply_shot_detection = 2;
|
||
|
}
|
||
|
|
||
|
// 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.
|
||
|
message ObjectDetectionConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
|
||
|
// Optional. Instruction message showed on labelers UI.
|
||
|
string instruction_message = 2;
|
||
|
|
||
|
// Required. Number of frames per second to be extracted from the video.
|
||
|
double extraction_frame_rate = 3;
|
||
|
}
|
||
|
|
||
|
// Config for video object tracking human labeling task.
|
||
|
message ObjectTrackingConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
}
|
||
|
|
||
|
// Config for video event human labeling task.
|
||
|
message EventConfig {
|
||
|
// Required. The list of annotation spec set resource name. Similar to video
|
||
|
// classification, we support selecting event from multiple AnnotationSpecSet
|
||
|
// at the same time.
|
||
|
repeated string annotation_spec_sets = 1;
|
||
|
}
|
||
|
|
||
|
// Config for text classification human labeling task.
|
||
|
message TextClassificationConfig {
|
||
|
// Optional. If allow_multi_label is true, contributors are able to choose
|
||
|
// multiple labels for one text segment.
|
||
|
bool allow_multi_label = 1;
|
||
|
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 2;
|
||
|
|
||
|
// Optional. Configs for sentiment selection.
|
||
|
SentimentConfig sentiment_config = 3;
|
||
|
}
|
||
|
|
||
|
// Config for setting up sentiments.
|
||
|
message SentimentConfig {
|
||
|
// If set to true, contributors will have the option to select sentiment of
|
||
|
// the label they selected, to mark it as negative or positive label. Default
|
||
|
// is false.
|
||
|
bool enable_label_sentiment_selection = 1;
|
||
|
}
|
||
|
|
||
|
// Config for text entity extraction human labeling task.
|
||
|
message TextEntityExtractionConfig {
|
||
|
// Required. Annotation spec set resource name.
|
||
|
string annotation_spec_set = 1;
|
||
|
}
|