/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file 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. */ package com.amazonaws.services.sagemaker.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Information required for human workers to complete a labeling task. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class HumanTaskConfig implements Serializable, Cloneable, StructuredPojo { /** *

* The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. *

*/ private String workteamArn; /** *

* Information about the user interface that workers use to complete the labeling task. *

*/ private UiConfig uiConfig; /** *

* The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. * Use this function to provide input to a custom labeling job. *

*

* For built-in task types, use * one of the following Amazon SageMaker Ground Truth Lambda function ARNs for PreHumanTaskLambdaArn. * For custom labeling workflows, see Pre-annotation Lambda. *

*

* Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the * boxes. *

* *

* Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class * of an image based on annotations from individual workers. *

* *

* Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the * true classes of an image based on annotations from individual workers. *

* *

* Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel * annotations from workers as "votes" for the correct label. *

* *

* Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class * of text based on annotations from individual workers. *

* *

* Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the * true classes of text based on annotations from individual workers. *

* *

* Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to * most-assigned label. *

* *

* Video Classification - Use this task type when you need workers to classify videos using predefined labels * that you specify. Workers are shown videos and are asked to choose one label for each video. *

* *

* Video Frame Object Detection - Use this task type to have workers identify and locate objects in a * sequence of video frames (images extracted from a video) using bounding boxes. For example, you can use this task * to ask workers to identify and localize various objects in a series of video frames, such as cars, bikes, and * pedestrians. *

* *

* Video Frame Object Tracking - Use this task type to have workers track the movement of objects in a * sequence of video frames (images extracted from a video) using bounding boxes. For example, you can use this task * to ask workers to track the movement of objects, such as cars, bikes, and pedestrians. *

* *

* 3D Point Cloud Modalities *

*

* Use the following pre-annotation lambdas for 3D point cloud labeling modality tasks. See 3D Point Cloud Task types * to learn more. *

*

* 3D Point Cloud Object Detection - Use this task type when you want workers to classify objects in a 3D * point cloud by drawing 3D cuboids around objects. For example, you can use this task type to ask workers to * identify different types of objects in a point cloud, such as cars, bikes, and pedestrians. *

* *

* 3D Point Cloud Object Tracking - Use this task type when you want workers to draw 3D cuboids around * objects that appear in a sequence of 3D point cloud frames. For example, you can use this task type to ask * workers to track the movement of vehicles across multiple point cloud frames. *

* *

* 3D Point Cloud Semantic Segmentation - Use this task type when you want workers to create a point-level * semantic segmentation masks by painting objects in a 3D point cloud using different colors where each color is * assigned to one of the classes you specify. *

* *

* Use the following ARNs for Label Verification and Adjustment Jobs *

*

* Use label verification and adjustment jobs to review and adjust labels. To learn more, see Verify and Adjust Labels . *

*

* Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true * class of verification judgement for bounding box labels based on annotations from individual workers. *

* *

* Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index * of the adjusted annotations. *

* *

* Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate * the true class of verification judgment for semantic segmentation labels based on annotations from individual * workers. *

* *

* Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and * treats pixel adjusted annotations from workers as "votes" for the correct label. *

* *

* Video Frame Object Detection Adjustment - Use this task type when you want workers to adjust bounding * boxes that workers have added to video frames to classify and localize objects in a sequence of video frames. *

* *

* Video Frame Object Tracking Adjustment - Use this task type when you want workers to adjust bounding boxes * that workers have added to video frames to track object movement across a sequence of video frames. *

* *

* 3D point cloud object detection adjustment - Adjust 3D cuboids in a point cloud frame. *

* *

* 3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence of point cloud frames. *

* *

* 3D point cloud semantic segmentation adjustment - Adjust semantic segmentation masks in a 3D point cloud. *

* */ private String preHumanTaskLambdaArn; /** *

* Keywords used to describe the task so that workers on Amazon Mechanical Turk can discover the task. *

*/ private java.util.List taskKeywords; /** *

* A title for the task for your human workers. *

*/ private String taskTitle; /** *

* A description of the task for your human workers. *

*/ private String taskDescription; /** *

* The number of human workers that will label an object. *

*/ private Integer numberOfHumanWorkersPerDataObject; /** *

* The amount of time that a worker has to complete a task. *

*

* If you create a custom labeling job, the maximum value for this parameter is 8 hours (28,800 seconds). *

*

* If you create a labeling job using a built-in task type the maximum for * this parameter depends on the task type you use: *

* */ private Integer taskTimeLimitInSeconds; /** *

* The length of time that a task remains available for labeling by human workers. The default and maximum values * for this parameter depend on the type of workforce you use. *

* */ private Integer taskAvailabilityLifetimeInSeconds; /** *

* Defines the maximum number of data objects that can be labeled by human workers at the same time. Also referred * to as batch size. Each object may have more than one worker at one time. The default value is 1000 objects. To * increase the maximum value to 5000 objects, contact Amazon Web Services Support. *

*/ private Integer maxConcurrentTaskCount; /** *

* Configures how labels are consolidated across human workers. *

*/ private AnnotationConsolidationConfig annotationConsolidationConfig; /** *

* The price that you pay for each task performed by an Amazon Mechanical Turk worker. *

*/ private PublicWorkforceTaskPrice publicWorkforceTaskPrice; /** *

* The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. *

* * @param workteamArn * The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. */ public void setWorkteamArn(String workteamArn) { this.workteamArn = workteamArn; } /** *

* The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. *

* * @return The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. */ public String getWorkteamArn() { return this.workteamArn; } /** *

* The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. *

* * @param workteamArn * The Amazon Resource Name (ARN) of the work team assigned to complete the tasks. * @return Returns a reference to this object so that method calls can be chained together. */ public HumanTaskConfig withWorkteamArn(String workteamArn) { setWorkteamArn(workteamArn); return this; } /** *

* Information about the user interface that workers use to complete the labeling task. *

* * @param uiConfig * Information about the user interface that workers use to complete the labeling task. */ public void setUiConfig(UiConfig uiConfig) { this.uiConfig = uiConfig; } /** *

* Information about the user interface that workers use to complete the labeling task. *

* * @return Information about the user interface that workers use to complete the labeling task. */ public UiConfig getUiConfig() { return this.uiConfig; } /** *

* Information about the user interface that workers use to complete the labeling task. *

* * @param uiConfig * Information about the user interface that workers use to complete the labeling task. * @return Returns a reference to this object so that method calls can be chained together. */ public HumanTaskConfig withUiConfig(UiConfig uiConfig) { setUiConfig(uiConfig); return this; } /** *

* The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. * Use this function to provide input to a custom labeling job. *

*

* For built-in task types, use * one of the following Amazon SageMaker Ground Truth Lambda function ARNs for PreHumanTaskLambdaArn. * For custom labeling workflows, see Pre-annotation Lambda. *

*

* Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the * boxes. *

* *

* Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class * of an image based on annotations from individual workers. *

* *

* Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the * true classes of an image based on annotations from individual workers. *

* *

* Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel * annotations from workers as "votes" for the correct label. *

* *

* Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class * of text based on annotations from individual workers. *

* *

* Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the * true classes of text based on annotations from individual workers. *

* *

* Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to * most-assigned label. *

* *

* Video Classification - Use this task type when you need workers to classify videos using predefined labels * that you specify. Workers are shown videos and are asked to choose one label for each video. *

* *

* Video Frame Object Detection - Use this task type to have workers identify and locate objects in a * sequence of video frames (images extracted from a video) using bounding boxes. For example, you can use this task * to ask workers to identify and localize various objects in a series of video frames, such as cars, bikes, and * pedestrians. *

* *

* Video Frame Object Tracking - Use this task type to have workers track the movement of objects in a * sequence of video frames (images extracted from a video) using bounding boxes. For example, you can use this task * to ask workers to track the movement of objects, such as cars, bikes, and pedestrians. *

* *

* 3D Point Cloud Modalities *

*

* Use the following pre-annotation lambdas for 3D point cloud labeling modality tasks. See 3D Point Cloud Task types * to learn more. *

*

* 3D Point Cloud Object Detection - Use this task type when you want workers to classify objects in a 3D * point cloud by drawing 3D cuboids around objects. For example, you can use this task type to ask workers to * identify different types of objects in a point cloud, such as cars, bikes, and pedestrians. *

* *

* 3D Point Cloud Object Tracking - Use this task type when you want workers to draw 3D cuboids around * objects that appear in a sequence of 3D point cloud frames. For example, you can use this task type to ask * workers to track the movement of vehicles across multiple point cloud frames. *

* *

* 3D Point Cloud Semantic Segmentation - Use this task type when you want workers to create a point-level * semantic segmentation masks by painting objects in a 3D point cloud using different colors where each color is * assigned to one of the classes you specify. *

* *

* Use the following ARNs for Label Verification and Adjustment Jobs *

*

* Use label verification and adjustment jobs to review and adjust labels. To learn more, see Verify and Adjust Labels . *

*

* Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true * class of verification judgement for bounding box labels based on annotations from individual workers. *

* *

* Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index * of the adjusted annotations. *

* *

* Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate * the true class of verification judgment for semantic segmentation labels based on annotations from individual * workers. *

* *

* Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and * treats pixel adjusted annotations from workers as "votes" for the correct label. *

* *

* Video Frame Object Detection Adjustment - Use this task type when you want workers to adjust bounding * boxes that workers have added to video frames to classify and localize objects in a sequence of video frames. *

* *

* Video Frame Object Tracking Adjustment - Use this task type when you want workers to adjust bounding boxes * that workers have added to video frames to track object movement across a sequence of video frames. *

* *

* 3D point cloud object detection adjustment - Adjust 3D cuboids in a point cloud frame. *

* *

* 3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence of point cloud frames. *

* *

* 3D point cloud semantic segmentation adjustment - Adjust semantic segmentation masks in a 3D point cloud. *

* * * @param preHumanTaskLambdaArn * The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human * worker. Use this function to provide input to a custom labeling job.

*

* For built-in task types, * use one of the following Amazon SageMaker Ground Truth Lambda function ARNs for * PreHumanTaskLambdaArn. For custom labeling workflows, see Pre-annotation Lambda. *

*

* Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of * the boxes. *

* *

* Image classification - Uses a variant of the Expectation Maximization approach to estimate the true * class of an image based on annotations from individual workers. *

* *

* Multi-label image classification - Uses a variant of the Expectation Maximization approach to * estimate the true classes of an image based on annotations from individual workers. *

* *

* Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats * pixel annotations from workers as "votes" for the correct label. *

* *

* Text classification - Uses a variant of the Expectation Maximization approach to estimate the true * class of text based on annotations from individual workers. *

* *

* Multi-label text classification - Uses a variant of the Expectation Maximization approach to * estimate the true classes of text based on annotations from individual workers. *

* *

* Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving * to most-assigned label. *

* *

* Video Classification - Use this task type when you need workers to classify videos using predefined * labels that you specify. Workers are shown videos and are asked to choose one label for each video. *

* *

* Video Frame Object Detection - Use this task type to have workers identify and locate objects in a * sequence of video frames (images extracted from a video) using bounding boxes. For example, you can use * this task to ask workers to identify and localize various objects in a series of video frames, such as * cars, bikes, and pedestrians. *

* *

* Video Frame Object Tracking - Use this task type to have workers track the movement of objects in a * sequence of video frames (images extracted from a video) using bounding boxes. For example, you can use * this task to ask workers to track the movement of objects, such as cars, bikes, and pedestrians. *

* *

* 3D Point Cloud Modalities *

*

* Use the following pre-annotation lambdas for 3D point cloud labeling modality tasks. See 3D Point Cloud Task * types to learn more. *

*

* 3D Point Cloud Object Detection - Use this task type when you want workers to classify objects in a * 3D point cloud by drawing 3D cuboids around objects. For example, you can use this task type to ask * workers to identify different types of objects in a point cloud, such as cars, bikes, and pedestrians. *

* *

* 3D Point Cloud Object Tracking - Use this task type when you want workers to draw 3D cuboids around * objects that appear in a sequence of 3D point cloud frames. For example, you can use this task type to ask * workers to track the movement of vehicles across multiple point cloud frames. *

* *

* 3D Point Cloud Semantic Segmentation - Use this task type when you want workers to create a * point-level semantic segmentation masks by painting objects in a 3D point cloud using different colors * where each color is assigned to one of the classes you specify. *

* *

* Use the following ARNs for Label Verification and Adjustment Jobs *

*

* Use label verification and adjustment jobs to review and adjust labels. To learn more, see Verify and Adjust Labels * . *

*

* Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the * true class of verification judgement for bounding box labels based on annotations from individual workers. *

* *

* Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard * index of the adjusted annotations. *

* *

* Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to * estimate the true class of verification judgment for semantic segmentation labels based on annotations * from individual workers. *

* *

* Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification * and treats pixel adjusted annotations from workers as "votes" for the correct label. *

* *

* Video Frame Object Detection Adjustment - Use this task type when you want workers to adjust * bounding boxes that workers have added to video frames to classify and localize objects in a sequence of * video frames. *

* *

* Video Frame Object Tracking Adjustment - Use this task type when you want workers to adjust * bounding boxes that workers have added to video frames to track object movement across a sequence of video * frames. *

* *

* 3D point cloud object detection adjustment - Adjust 3D cuboids in a point cloud frame. *

* *

* 3D point cloud object tracking adjustment - Adjust 3D cuboids across a sequence of point cloud * frames. *

* *

* 3D point cloud semantic segmentation adjustment - Adjust semantic segmentation masks in a 3D point * cloud. *

*