3D 點雲標記任務概觀 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

3D 點雲標記任務概觀

本主題概述 Ground Truth 3D 點雲標記任務的獨特功能。您可以使用 3D 點雲標記任務,讓工作者標記 3D 點雲中的物件,而物件可能產生自 3D 感應器 (例如 LiDAR 和景深相機),或透過 3D 重建拼接由媒介 (例如無人機) 拍攝的影像。

任務前處理時間

建立 3D 點雲標記任務時,您需要提供輸入資訊清單檔案。輸入資訊清單檔案可以是:

  • 影格輸入資訊清單檔案,每行各一個點雲影格。

  • 序列輸入資訊清單檔案,每行各一個序列。序列定義為一系列瞬間的點雲影格。

對於這兩種資訊清單檔案,任務前處理時間 (也就是 Ground Truth 開始將任務傳送給工作者之前的時間) 取決於您在輸入資訊清單檔案中提供的點雲影格總數和大小。對於影格輸入資訊清單檔案,這是資訊清單檔案中的行數。對於序列資訊清單檔案,這是每個序列中的影格數乘以資訊清單檔案中的序列總數或總行數。

此外,每個點雲的點數和融合的感應器資料物件數 (例如影像),也是影響任務前處理時間的因素。平均而言,Ground Truth 可以在大約 5 分鐘內預先處理 200 個點雲影格。如果您建立的 3D 點雲標記任務有大量的點雲影格,您可能會經歷更長的任務前處理時間。例如,如果您建立的序列輸入資訊清單檔案有 4 個點雲序列,且每個序列包含 200 個點雲,則 Ground Truth 會預先處理 800 個點雲,因此,任務預處理時間可能大約 20 分鐘。在此期間,標記任務狀態為 InProgress

在 3D 點雲標籤任務進行預處理時,您會收到通知您工作狀態的 CloudWatch 訊息。若要識別這些訊息,請在標記任務日誌中搜尋 3D_POINT_CLOUD_PROCESSING_STATUS

對於框架輸入資訊清單檔案,您的 CloudWatch 記錄檔會顯示類似下列內容的訊息:

{ "labeling-job-name": "example-point-cloud-labeling-job", "event-name": "3D_POINT_CLOUD_PROCESSING_STATUS", "event-log-message": "datasetObjectId from: 0 to 10, status: IN_PROGRESS" }

事件日誌訊息 datasetObjectId from: 0 to 10, status: IN_PROGRESS 識別輸入資訊清單中已處理的影格數。每次處理影格後,您就會收到新訊息。例如,處理單一影格之後,您會收到另一則訊息指出 datasetObjectId from: 1 to 10, status: IN_PROGRESS

對於序列輸入資訊清單檔案,您的 CloudWatch 記錄檔會顯示類似下列內容的訊息:

{ "labeling-job-name": "example-point-cloud-labeling-job", "event-name": "3D_POINT_CLOUD_PROCESSING_STATUS", "event-log-message": "datasetObjectId: 0, status: IN_PROGRESS" }

事件日誌訊息 datasetObjectId from: 0, status: IN_PROGRESS 識別輸入資訊清單中已處理的序列數。每次處理序列後,您就會收到新訊息。例如,處理單一序列之後,在下一個序列開始處理時,您會收到一則訊息指出 datasetObjectId from: 1, status: IN_PROGRESS

任務完成時間

工作者可能需要花數小時來完成 3D 點雲標記任務。當您建立標記任務時,您可以設定工作者可花在處理每個任務的總時間。工作者花在處理任務的時間最多可設為 7 天。預設值為 3 天。

強烈建議您建立可讓工作者在 12 小時內完成的任務。工作者在處理任務時,必須保持開啟工作者 UI。他們可以在離開時儲存工作,Ground Truth 每 15 分鐘會儲存一次工作。

使用 SageMaker CreateLabelingJob API 作業時,請在的TaskTimeLimitInSeconds參數中設定工作站可供 Worker 使用的總時間HumanTaskConfig

當您在主控台建立標記任務時,您可以在選取人力類型和工作團隊時指定此時間限制。

人力

建立 3D 點雲標記任務時,您需要指定負責完成點雲註釋任務的工作團隊。您可以從您自己的工作者私有人力中,或從您在 AWS Marketplace中選取的廠商員工中,選擇工作團隊。您不能使用 Amazon Mechanical Turk 員工來處理 3D 點雲標記任務。

若要進一步了解廠商人力,請參閱管理廠商人力

若要了解如何建立和管理私人員工,請參閱使用私有人力

工作者使用者界面 (UI)

Ground Truth 提供工作者使用者界面 (UI)、工具和輔助標記功能,以協助工作者完成 3D 點雲標記任務。

在主控台建立標記任務時,您可以預覽工作者 UI。

若要使用 API 操作 CreateLabelingJob 建立標記任務,您必須提供參數 HumanTaskUiArn 由 Ground Truth 提供的 ARN,來為您的任務類型指定工作者 UI。您可以搭HumanTaskUiArn配 SageMaker RenderUiTemplateAPI 作業來預覽背景工作者 UI。

您可以提供工作者指示、標籤及 (選擇性) 標籤類別屬性,以顯示在工作者 UI 中。

標籤類別屬性

建立 3D 點雲物件追蹤或物件偵測標記任務時,您可以新增一個或多個標任類別屬性。您可以將影格屬性新增至所有 3D 點雲工作類型:

  • 標籤類別屬性 — 選項清單 (字串)、任意格式文字方塊,或與一或多個標籤相關聯的數值欄位。工作者以此來提供有關標籤的中繼資料。

  • 影格屬性 — 在工作者傳送給註釋的每個點雲影格上顯示的選項 (字串)、任意格式文字方塊或數值欄位的清單。工作者以此來提供有關影格的中繼資料。

此外,您可以使用標籤和影格屬性讓工作者在 3D 點雲標籤驗證工作中驗證標籤。

請參閱下列各節,進一步了解這些屬性。若要瞭解如何將標籤類別和影格屬性新增至標記任務,請使用您選擇的任務類型頁面上的建立標記任務區段。

標籤類別屬性

將標籤類別屬性新增至標籤,方便工作者提供有關其建立註釋的更多資訊。標籤類別屬性會新增至個別標籤或所有標籤。將標籤類別屬性套用至所有標籤時,即稱為全域標籤類別屬性

舉例來說,若您新增標籤類別 car (汽車),您也可能想要擷取所標記汽車的更多資料,例如是否被遮住或車輛大小。您可以使用標籤類別屬性來擷取此中繼資料。在此範例中,如果您將 occluded 屬性新增至 car 標籤類別,您可能會將 partialcompletelyno 指派給 occluded 屬性,而工作者可以選取其中一個選項。

建立標籤驗證任務時,您可以將標籤類別屬性新增至您希望工作者驗證的每個標籤。

影格屬性

新增影格屬性以使工作者能夠提供有關個別點雲影格的更多資訊。您最多可以指定 10 個影格屬性,這些屬性會出現在所有影格上。

例如,您可以新增允許工作者輸入數字的影格屬性。您可能想要使用此屬性,讓工作者識別他們在特定影格中看到的物件數量。

在另一個範例中,您可能想要提供任意格式文字方塊,讓工作者能夠為問題提供任意格式的答案。

建立標籤驗證工作時,您可以新增一個或多個影格屬性,以要求工作者針對點雲影格中的所有標籤提供意見回饋。

工作者指示

您可以提供工作者指示,以協助工作者完成點雲標記任務。您使用這些指示可能是為了:

  • 提供在標註物件時的最佳實務和避免事項。

  • 解釋所提供的標籤類別屬性 (關於物件偵測和物件追蹤任務) 及其用法。

  • 建議在標記時使用鍵盤快速鍵來節省時間。

您可以在建立標籤工作時使用 SageMaker 主控台新增 Worker 指示。如果您使用 API 操作 CreateLabelingJob 建立標記任務,請在標籤類別組態檔案中指定工作者指示。

除了您的指示之外,Ground Truth 還提供連結,以協助工作者導覽和使用工作者入口網站。請在工作者指示中選取任務類型,以檢視這些指示。

拒絕任務

工作者能拒絕任務。

如果指示不清楚、輸入的資料顯示不正確,或者遇到任務的其他問題,工作者可以拒絕該任務。如果每個資料集物件 (NumberOfHumanWorkersPerDataObject) 的工作者數量拒絕任務,則資料物件會標記為已過期,且不會傳送給其他工作者。

3D 點雲標記任務許可需求

建立 3D 點雲標記任務時,除了分配使用 Ground Truth 的IAM權限 中列出的許可需求,您還必須將 CORS 政策新增至包含輸入資訊清單檔案的 S3 儲存貯體。

將 CORS 許可政策新增至 S3 儲存貯體

建立 3D 點雲標記任務時,您可以指定 S3 中的儲存貯體,其中有您的輸入資料和資訊清單檔案,也是要儲存輸出資料的地方。這些儲存貯體可能相同。您必須將下列跨來源資源分享 (CORS) 政策連接至輸入和輸出儲存貯體。如果您使用 Amazon S3 主控台,將政策新增至儲存貯體,則必須使用 JSON 格式。

JSON

[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "HEAD", "PUT" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [ "Access-Control-Allow-Origin" ], "MaxAgeSeconds": 3000 } ]

XML

<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>HEAD</AllowedMethod> <AllowedMethod>PUT</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration>

若要了解如何新增 CORS 政策至 S3 儲存貯體,請參閱 Amazon Simple Storage Service 使用者指南中的如何新增與 CORS 的跨網域資源共享