本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 RenderUiTemplate
API 作業來預覽背景工作者 UI。
您可以提供工作者指示、標籤及 (選擇性) 標籤類別屬性,以顯示在工作者 UI 中。
標籤類別屬性
建立 3D 點雲物件追蹤或物件偵測標記任務時,您可以新增一個或多個標任類別屬性。您可以將影格屬性新增至所有 3D 點雲工作類型:
-
標籤類別屬性 — 選項清單 (字串)、任意格式文字方塊,或與一或多個標籤相關聯的數值欄位。工作者以此來提供有關標籤的中繼資料。
-
影格屬性 — 在工作者傳送給註釋的每個點雲影格上顯示的選項 (字串)、任意格式文字方塊或數值欄位的清單。工作者以此來提供有關影格的中繼資料。
此外,您可以使用標籤和影格屬性讓工作者在 3D 點雲標籤驗證工作中驗證標籤。
請參閱下列各節,進一步了解這些屬性。若要瞭解如何將標籤類別和影格屬性新增至標記任務,請使用您選擇的任務類型頁面上的建立標記任務區段。
標籤類別屬性
將標籤類別屬性新增至標籤,方便工作者提供有關其建立註釋的更多資訊。標籤類別屬性會新增至個別標籤或所有標籤。將標籤類別屬性套用至所有標籤時,即稱為全域標籤類別屬性。
舉例來說,若您新增標籤類別 car (汽車),您也可能想要擷取所標記汽車的更多資料,例如是否被遮住或車輛大小。您可以使用標籤類別屬性來擷取此中繼資料。在此範例中,如果您將 occluded 屬性新增至 car 標籤類別,您可能會將 partial、completely、no 指派給 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 的跨網域資源共享。