標記任務輸出資料 - Amazon SageMaker AI

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

標記任務輸出資料

來自標籤工作的輸出會置於您在主控台中指定的 Amazon S3 位置,或置於對 CreateLabelingJob 作業的呼叫中。當工作者已提交一或多項任務,或任務到期時,輸出資料會顯示在此位置。請注意,在工作者提交任務或任務到期之後,可能需要幾分鐘時間輸出資料才會顯示在 Amazon S3。

輸出資料檔案中的每一行都與資訊清單檔案完全相同,並加入指派給輸入物件之標籤的屬性和值。值的屬性名稱會主控台中或在對 CreateLabelingJob 作業的呼叫中定義。您無法在標籤屬性名稱中使用 -metadata。如果您要執行映像語意分割、3D 點雲語意分割或 3D 點雲物件追蹤任務,則標籤屬性必須以 -ref 結尾。針對任何其他類型的任務,屬性名稱不能以 -ref 結尾。

標籤工作的輸出是包含標籤的鍵值組。標籤和值會使用新值來覆寫輸入檔案中的任何現有 JSON 資料。

例如,下列是影像分類標籤工作的輸出,其中輸入資料檔案儲存在 Amazon S3 amzn-s3-demo-bucket,而標籤屬性名稱定義為 sport。在此範例中,JSON 物件經過格式化以便於閱讀;在實際輸出檔案中,JSON 物件位於單一行上。如需資料格式的更多相關資訊,請參閱 JSON 行

{ "source-ref": "s3://amzn-s3-demo-bucket/image_example.png", "sport":0, "sport-metadata": { "class-name": "football", "confidence": 0.00, "type":"groundtruth/image-classification", "job-name": "identify-sport", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256" } }

標籤的值可以是任何有效的 JSON。在此案例中,標籤值是分類清單中類別的索引。其他任務類型 (例如邊界框) 具有更複雜的值。

在輸入資訊清單檔案中,除了標籤屬性以外的任何鍵值組,都會在輸出檔案中保持不變。您可以利用這一點將資料傳遞至您自己的應用程式。

來自標籤工作的輸出,可以用做另一個標籤工作的輸入。當您串連標籤工作時,可以利用這一點。例如,您可以傳送某個標籤工作來決定要進行的運動。然後,使用相同資料傳送另一個標記任務來決定該運動是在室內或戶外進行。藉由將第一個任務的輸出資料用做第二個任務的資訊清單,您可以將兩個任務的結果合併為一個輸出檔案,以便應用程式更輕鬆地處理。

進行任務時,輸出資料檔案會定期寫入輸出位置。針對資訊清單檔案中的每一行,這些中繼檔案都會包含一行。如果已標籤物件,則會包含標籤。如果物件尚未標籤,則會寫入中繼輸出檔案,與資訊清單檔案完全相同。

輸出目錄

Ground Truth 會在 Amazon S3 輸出路徑建立多個目錄。這些目錄包含標籤工作的結果,以及工作的其他成品。標籤工作的最上層目錄與標籤工作名稱相同,輸出目錄則位於其下方。例如,如果您將標籤工作命名為 find-people,則您的輸出會位於下列目錄中:

s3://amzn-s3-demo-bucket/find-people/activelearning s3://amzn-s3-demo-bucket/find-people/annotations s3://amzn-s3-demo-bucket/find-people/inference s3://amzn-s3-demo-bucket/find-people/manifests s3://amzn-s3-demo-bucket/find-people/training

每個目錄都包含下列輸出:

主動學習目錄

當您使用自動化資料標籤時,activelearning 目錄才會出現。該目錄包含用於自動化資料標籤的輸入和輸出驗證組,以及用於自動標籤資料的輸入和輸出資料夾。

註釋目錄

annotations 目錄包含由人力資源所做的所有註釋。這些是尚未合併到資料物件單一標籤中之各個工作者的回應。

annotations 目錄中有三個子目錄。

  • 第一個:worker-response 包含個別工作者的回應。每個反覆運算在此目錄中都有一個子目錄,而該反覆運算中的每個資料物件在該子目錄又有一個子目錄。每個資料物件的工作者回應資料會儲存在時間戳記的 JSON 檔案,其中包含每個工作者針對該資料物件提交的答案,以及如果您使用私有人力資源,則包含有關這些工作者的中繼資料。若要進一步了解中繼資料,請參閱工作者中繼資料

  • 第二個:consolidated-annotation 包含將目前批次中的註釋合併到資料物件的標籤時所需的資訊。

  • 第三個:intermediate 包含目前批次的輸出資訊清單,其中包含任何已完成的標籤。在完成每個資料物件的標籤時,此檔案都會更新。

注意

建議您不要使用文件未提及的檔案。

推論目錄

當您使用自動化資料標籤時,inference 目錄才會出現。此目錄包含標記資料物件時所使用的 SageMaker AI 批次轉換的輸入和輸出檔案。

資訊清單目錄

manifest 目錄包含標籤工作的輸出資訊清單。資訊清單目錄中有一個子目錄:outputoutput 目錄包含標籤工作的輸出資訊清單檔案。該檔案名為 output.manifest

訓練目錄

當您使用自動化資料標籤時,training 目錄才會出現。此目錄包含用於訓練自動化資料標籤模型的輸入和輸出檔案。

可信度分數

當有多位工作者註釋單一任務時,會合併註釋以產生標籤。Ground Truth 會計算每個標籤的可信度分數。可信度分數為介於 0 至 1 之間的數字,用來表示 Ground Truth 對標籤的信賴度。您可以使用可信度分數將標籤資料物件互相比較,識別最可靠或最不可靠的標籤。

您不應將可信度分數的值解釋為絕對值,或者比較標籤工作之間的可信度分數。例如,如果所有可信度分數都介於 0.98 和 0.998 之間,您只應將資料物件互相比較,而非依賴高可信度分數。

您不應比較人工標籤資料物件和自動標籤資料物件的可信度分數。人工標籤的可信度分數使用該任務的註釋合併函式來計算,而自動化標籤的可信度分數透過採用物件特色的模型來計算。這兩種模型通常會有不同的規模和平均信賴度。

針對邊界框標籤工作,Ground Truth 會計算每個方框的可信度分數。您可以比較單一映像內的可信度分數,或相同標籤類型 (人工或自動) 映像間的可信度分數。您無法在標籤工作間比較可信度分數。

如果由單一工作者註釋任務 (NumberOfHumanWorkersPerDataObject 設定為 1,或是您在主控台中針對 Number of workers per dataset object (每個資料集物件的工作者數量) 輸入 1),則可信度分數會設定為 0.00

工作者中繼資料

Ground Truth 提供的資訊可讓您用來針對任務輸出資料追蹤個別工作者。下列資料位於 註釋目錄worker-response 之下的目錄:

  • acceptanceTime 是工作者接受任務的時間。此日期和時間戳記的格式為 YYYY-MM-DDTHH:MM:SS.mmmZ,即年 (YYYY)、月 (MM)、日 (DD)、小時 (HH)、分鐘 (MM)、秒 (SS) 與毫秒 (mmm)。日期和時間使用 T 分隔。

  • submissionTime 是工作者使用提交按鈕來提交註釋的時間。此日期和時間戳記的格式為 YYYY-MM-DDTHH:MM:SS.mmmZ,即年 (YYYY)、月 (MM)、日 (DD)、小時 (HH)、分鐘 (MM)、秒 (SS) 與毫秒 (mmm)。日期和時間使用 T 分隔。

  • timeSpentInSeconds 會報告工作者主動處理該任務的總時間 (以秒為單位)。此指標不包含工作者暫停或休息的時間。

  • 每個工作者的 workerId 都是唯一的。

  • 如果您使用私有人力資源,則您會在 workerMetadata 中看到下列內容。

    • identityProviderType 是用來管理私有人力資源的服務。

    • issuer 是 Cognito 使用者集區或 OIDC 身分提供者 (IdP) 發行者 (關聯指派給此人工審核任務的工作團隊)。

    • 唯一 sub 識別碼指的是工作者。如果您使用 Amazon Cognito 建立人力資源,您可以透過 Amazon Cognito 使用此 ID 來擷取有關此工作者的詳細資訊 (例如姓名或使用者名稱)。若要了解如何操作,請參閱Amazon Cognito 開發人員指南管理及搜尋使用者帳戶

以下是使用 Amazon Cognito 建立私有人力資源時可能會看到的輸出範例。這會在 identityProviderType 識別。

"submissionTime": "2020-12-28T18:59:58.321Z", "acceptanceTime": "2020-12-28T18:59:15.191Z", "timeSpentInSeconds": 40.543, "workerId": "a12b3cdefg4h5i67", "workerMetadata": { "identityData": { "identityProviderType": "Cognito", "issuer": "https://cognito-idp.aws-region.amazonaws.com/aws-region_123456789", "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" } }

以下範例顯示,如果您使用自有 OIDC IdP 建立私有人力資源,可能會看到的 workerMetadata

"workerMetadata": { "identityData": { "identityProviderType": "Oidc", "issuer": "https://example-oidc-ipd.com/adfs", "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" } }

若要進一步了解私有人力資源,請參閱私有人力資源

輸出中繼資料

每個任務的輸出,都包含指派給資料物件之標籤的中繼資料。所有工作的這些元素都相同,僅存在些微變化。下列範例顯示中繼資料元素:

"confidence": 0.00, "type": "groundtruth/image-classification", "job-name": "identify-animal-species", "human-annotated": "yes", "creation-date": "2020-10-18T22:18:13.527256"

元素具有下列意義:

  • confidence – Ground Truth 認為該標籤正確的信賴度。如需更多資訊,請參閱可信度分數

  • type – 分類任務的類型。關於任務類型,請參閱內建任務類型

  • job-name – 在建立任務時,向其指派的名稱。

  • human-annotated – 指出資料物件是由人工標籤或採用自動化資料標籤。如需更多資訊,請參閱自動化資料標籤

  • creation-date – 建立標籤的日期和時間。

分類任務輸出

下列是影像分類任務和文字分類任務的範例輸出 (輸出資訊清單檔案)。其中包含 Ground Truth 指派給資料物件的標籤、標籤的值,以及描述標籤的中繼資料。

除了標準中繼資料元素以外,分類任務的中繼資料也包含標籤類別文字值。如需更多資訊,請參閱影像分類 - MXNet

下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

{ "source-ref":"s3://amzn-s3-demo-bucket/example_image.jpg", "species":"0", "species-metadata": { "class-name": "dog", "confidence": 0.00, "type": "groundtruth/image-classification", "job-name": "identify-animal-species", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256" } }
{ "source":"The food was delicious", "mood":"1", "mood-metadata": { "class-name": "positive", "confidence": 0.8, "type": "groundtruth/text-classification", "job-name": "label-sentiment", "human-annotated": "yes", "creation-date": "2020-10-18T22:18:13.527256" } }

多標籤分類任務輸出

以下是多標籤影像分類任務和多標籤文字分類任務的輸出資訊清單檔案範例。其中包含 Ground Truth 指派給資料物件 (例如映像或文字片段) 的標籤,還有中繼資料來描述工作者在完成標籤任務時看到的標籤。

標籤屬性名稱參數 (例如,image-label-attribute-name) 包含至少一個完成此任務的工作者所選取的所有標籤陣列。此陣列包含對應於 class-map 中找到的標籤的整數鍵 (例如,[1,0,8])。在多標籤影像分類範例中,至少有一位完成 exampleimage.jpg 中映像標籤任務的工作者選取了 bicyclepersonclothing

confidence-map 顯示 Ground Truth 指派給工作者所選取之每個標籤的可信度分數。若要進一步了解 Ground Truth 可信度分數,請參閱可信度分數

下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

以下是多標籤影像分類輸出資訊清單檔案的範例。

{ "source-ref": "s3://amzn-s3-demo-bucket/example_image.jpg", "image-label-attribute-name":[1,0,8], "image-label-attribute-name-metadata": { "job-name":"labeling-job/image-label-attribute-name", "class-map": { "1":"bicycle","0":"person","8":"clothing" }, "human-annotated":"yes", "creation-date":"2020-02-27T21:36:25.000201", "confidence-map": { "1":0.95,"0":0.77,"8":0.2 }, "type":"groundtruth/image-classification-multilabel" } }

以下是多標籤文字分類輸出資訊清單檔案的範例。在此範例中,在已經為 amzn-s3-demo-bucket 中的 exampletext.txt 物件完成標籤任務的工作者之中,至少有一位工作者選取 approvingsadcritical

{ "source-ref": "s3://amzn-s3-demo-bucket/exampletext.txt", "text-label-attribute-name":[1,0,4], "text-label-attribute-name-metadata": { "job-name":"labeling-job/text-label-attribute-name", "class-map": { "1":"approving","0":"sad","4":"critical" }, "human-annotated":"yes", "creation-date":"2020-02-20T21:36:25.000201", "confidence-map": { "1":0.95,"0":0.77,"4":0.2 }, "type":"groundtruth/text-classification-multilabel" } }

邊界方塊任務輸出

以下是來自邊界框任務的範例輸出 (輸出資訊清單檔案)。對於此任務,傳回三個邊界框。標籤值包含映像大小和邊界框的位置資訊。

class_id 元素是方塊類別的索引,位於任務的可用類別清單中。class-map 中繼資料元素包含類別的文字。

中繼資料具有每個邊界框的個別可信度分數。中繼資料也包含 class-map 元素,該元素會將 class_id 映射至類別的文字值。如需更多資訊,請參閱物件偵測 - MXNet

下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

{ "source-ref": "s3://amzn-s3-demo-bucket/example_image.png", "bounding-box-attribute-name": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 111, "top": 134, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 20, "top": 20, "width": 30, "height": 30} ] }, "bounding-box-attribute-name-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-dogs-and-toys" } }

邊界框調整任務的輸出看起來類似以下 JSON。請注意,原始 JSON 保持不變,並列出兩個新任務,每個任務都在原始屬性的名稱前面加上 “adjust-”。

{ "source-ref": "S3 bucket location", "bounding-box-attribute-name": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 111, "top": 134, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 20, "top": 20, "width": 30, "height": 30} ] }, "bounding-box-attribute-name-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-dogs-and-toys" }, "adjusted-bounding-box": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 110, "top": 135, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 10, "top": 10, "width": 30, "height": 30} ] }, "adjusted-bounding-box-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "job-name": "adjust-bounding-boxes-on-dogs-and-toys", "adjustment-status": "adjusted" } }

在此輸出中,任務的 type 不變,但增加 adjustment-status 欄位。此欄位的值為 adjustedunadjusted。如果有多個工作者已檢閱物件,且至少一個工作者已調整標籤,則狀態為 adjusted

具名實體辨識

以下是來自具名實體辨識 (NER) 標籤任務的範例輸出資訊清單檔案。此任務傳回七個 entities

在輸出資訊清單,JSON 物件 annotations 包含您提供的 labels (標籤類別) 清單。

工作者回應位於名為 entities 的清單。此清單的每個實體均為 JSON 物件,包含符合 labels 清單值之一的 label 值,標籤跨度起始 unicode 位移的整數 startOffset 值,以及結束 unicode 位移的整數 endOffset 值。

中繼資料具有每個實體的個別可信度分數。如果由單一工作者標籤每個資料物件,則每個實體的信賴度值將為零。

下列範例的紅色斜體文字取決於標籤工作輸入與工作者回應。

{ "source": "Amazon SageMaker is a cloud machine-learning platform that was launched in November 2017. SageMaker enables developers to create, train, and deploy machine-learning (ML) models in the cloud. SageMaker also enables developers to deploy ML models on embedded systems and edge-devices", "ner-labeling-job-attribute-name": { "annotations": { "labels": [ { "label": "Date", "shortDisplayName": "dt" }, { "label": "Verb", "shortDisplayName": "vb" }, { "label": "Thing", "shortDisplayName": "tng" }, { "label": "People", "shortDisplayName": "ppl" } ], "entities": [ { "label": "Thing", "startOffset": 22, "endOffset": 53 }, { "label": "Thing", "startOffset": 269, "endOffset": 281 }, { "label": "Verb", "startOffset": 63, "endOffset": 71 }, { "label": "Verb", "startOffset": 228, "endOffset": 234 }, { "label": "Date", "startOffset": 75, "endOffset": 88 }, { "label": "People", "startOffset": 108, "endOffset": 118 }, { "label": "People", "startOffset": 214, "endOffset": 224 } ] } }, "ner-labeling-job-attribute-name-metadata": { "job-name": "labeling-job/example-ner-labeling-job", "type": "groundtruth/text-span", "creation-date": "2020-10-29T00:40:39.398470", "human-annotated": "yes", "entities": [ { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 }, { "confidence": 0 } ] } }

標籤驗證任務輸出

邊界框驗證任務的輸出 (輸出資訊清單檔案) 看起來與邊界框註釋任務的輸出不同。這是因為工作者有不同類型的任務。他們不標籤物件,而是評估先前標籤的準確性、做出判斷,然後提供該判斷,或許還留下一些評論。

如果由人力工作者驗證或調整之前的邊界框標籤,驗證任務的輸出看起來像下面的 JSON。下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

{ "source-ref":"s3://amzn-s3-demo-bucket/image_example.png", "bounding-box-attribute-name": { "image_size": [{ "width": 500, "height": 400, "depth":3}], "annotations": [ {"class_id": 0, "left": 111, "top": 134, "width": 61, "height": 128}, {"class_id": 5, "left": 161, "top": 250, "width": 30, "height": 30}, {"class_id": 5, "left": 20, "top": 20, "width": 30, "height": 30} ] }, "bounding-box-attribute-name-metadata": { "objects": [ {"confidence": 0.8}, {"confidence": 0.9}, {"confidence": 0.9} ], "class-map": { "0": "dog", "5": "bone" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-dogs-and-toys" }, "verify-bounding-box-attribute-name":"1", "verify-bounding-box-attribute-name-metadata": { "class-name": "bad", "confidence": 0.93, "type": "groundtruth/label-verification", "job-name": "verify-bounding-boxes", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "worker-feedback": [ {"comment": "The bounding box on the bird is too wide on the right side."}, {"comment": "The bird on the upper right is not labeled."} ] } }

雖然原始邊界框輸出上的 typegroundtruth/object-detection,但是新的 typegroundtruth/label-verification。另請注意,worker-feedback 陣列提供評論。如果工作者未提供評論,則合併期間會排除空白欄位。

語意分割任務輸出

下列是語意分割標籤工作的輸出資訊清單檔案。此任務的標籤值,是 Amazon S3 儲存貯體中對 PNG 檔案的參考。

除了標準元素以外,標籤的中繼資料也包含色彩貼圖,可定義用於標籤映像的色彩、與該色彩相關聯的類別名稱、每種色彩的可信度分數。如需更多資訊,請參閱語意分割演算法

下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

{ "source-ref": "s3://amzn-s3-demo-bucket/example_city_image.png", "city-streets-ref": "S3 bucket location", "city-streets-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "confidence": 0.9, "hex-color": "#ffffff" }, "1": { "class-name": "buildings", "confidence": 0.9, "hex-color": "#2acf59" }, "2": { "class-name": "road", "confidence": 0.9, "hex-color": "#f28333" } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "label-city-streets", }, "verify-city-streets-ref":"1", "verify-city-streets-ref-metadata": { "class-name": "bad", "confidence": 0.93, "type": "groundtruth/label-verification", "job-name": "verify-city-streets", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "worker-feedback": [ {"comment": "The mask on the leftmost building is assigned the wrong side of the road."}, {"comment": "The curb of the road is not labeled but the instructions say otherwise."} ] } }

信賴度是根據每個映像評分。映像內的所有類別都有相同的可信度分數。

語意分割調整任務的輸出看起來類似於下列 JSON。

{ "source-ref": "s3://amzn-s3-demo-bucket/example_city_image.png", "city-streets-ref": "S3 bucket location", "city-streets-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "confidence": 0.9, "hex-color": "#ffffff" }, "1": { "class-name": "buildings", "confidence": 0.9, "hex-color": "#2acf59" }, "2": { "class-name": "road", "confidence": 0.9, "hex-color": "#f28333" } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "label-city-streets", }, "adjusted-city-streets-ref": "s3://amzn-s3-demo-bucket/example_city_image.png", "adjusted-city-streets-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "confidence": 0.9, "hex-color": "#ffffff" }, "1": { "class-name": "buildings", "confidence": 0.9, "hex-color": "#2acf59" }, "2": { "class-name": "road", "confidence": 0.9, "hex-color": "#f28333" } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2018-11-20T22:18:13.527256", "job-name": "adjust-label-city-streets", } }

影片影格物件偵測輸出

以下是影片影格物件偵測標籤工作的輸出資訊清單檔案。下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

除了標準元素之外,中繼資料還包含一個類別映射,其中列出序列中至少有一個標籤的每個類別。中繼資料也包含 job-name,這是您指派給標籤工作的名稱。對於調整任務,如果修改了一個或多個邊界框,則稽核工作流程的中繼資料會有 adjustment-status 參數設定為 adjusted

{ "source-ref": "s3://amzn-s3-demo-bucket/example-path/input-manifest.json", "CarObjectDetection-ref": "s3://amzn-s3-demo-bucket/output/labeling-job-name/annotations/consolidated-annotation/output/0/SeqLabel.json", "CarObjectDetection-ref-metadata": { "class-map": { "0": "car", "1": "bus" }, "job-name": "labeling-job/labeling-job-name", "human-annotated": "yes", "creation-date": "2021-09-29T05:50:35.566000", "type": "groundtruth/video-object-detection" } }

Ground Truth 會為標籤的每個影片影格序列建立單一輸出序列檔案。每一輸出序列檔案都包含下列內容:

  • 在 JSON 物件的 detection-annotations 清單,所有影格的所有註釋序列。

  • 對於工作者註釋的每個影格,影格檔案名稱 (frame)、編號 (frame-no)、包含註釋 (annotations) 的 JSON 物件清單,以及若適用,frame-attributes。此清單的名稱是由您使用的任務類型定義:polylinespolygonskeypoints,對於邊界框,則以 annotations 定義。

    每個 JSON 物件都包含相關資訊說明單一註釋與關聯標籤。下表概述每個影片影格任務類型將會看到的參數。

    任務類型 參數

    Bounding Box (邊界框)

    方塊維度:heightwidth

    方塊左上角像素位置:topleft

    keypoints (關鍵點)

    關鍵點頂點:{ "x": int, "y": int }

    Polygon (多邊形)

    多邊形頂點清單:vertices

    多邊形頂點:{ "x": int, "y": int }

    多邊形是封閉形狀,因此第一點也代表最後點。

    折線

    折線頂點清單:vertices

    折線頂點:{ "x": int, "y": int }

    除任務類型特定數值外,您還會在每個 JSON 物件看到下列內容:

    • 為該標籤指定的任何 label-category-attributes 值。

    • 方塊的 class-id。使用輸出資訊清單檔案的 class-map 來查看此 ID 映射到哪個標籤類別。

以下是來自邊界框 影片影格物件偵測標籤工作的 SeqLabel.json 檔案範例。此檔案將位於 s3://amzn-s3-demo-bucket/output-prefix/annotations/consolidated-annotation/output/annotation-number/

{ "detection-annotations": [ { "annotations": [ { "height": 41, "width": 53, "top": 152, "left": 339, "class-id": "1", "label-category-attributes": { "occluded": "no", "size": "medium" } }, { "height": 24, "width": 37, "top": 148, "left": 183, "class-id": "0", "label-category-attributes": { "occluded": "no", } } ], "frame-no": 0, "frame": "frame_0000.jpeg", "frame-attributes": {name: value, name: value} }, { "annotations": [ { "height": 41, "width": 53, "top": 152, "left": 341, "class-id": "0", "label-category-attributes": {} }, { "height": 24, "width": 37, "top": 141, "left": 177, "class-id": "0", "label-category-attributes": { "occluded": "no", } } ], "frame-no": 1, "frame": "frame_0001.jpeg", "frame-attributes": {name: value, name: value} } ] }

影片影格物件追蹤輸出

以下是影片影格物件追蹤標籤工作的輸出資訊清單檔案。下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

除標準元素外,中繼資料還包含類別映射,其中列出影格序列中至少有一個標籤的每個類別。中繼資料也包含 job-name,這是您指派給標籤工作的名稱。對於調整任務,如果修改了一個或多個邊界框,則稽核工作流程的中繼資料會有 adjustment-status 參數設定為 adjusted

{ "source-ref": "s3://amzn-s3-demo-bucket/example-path/input-manifest.json", "CarObjectTracking-ref": "s3://amzn-s3-demo-bucket/output/labeling-job-name/annotations/consolidated-annotation/output/0/SeqLabel.json", "CarObjectTracking-ref-metadata": { "class-map": { "0": "car", "1": "bus" }, "job-name": "labeling-job/labeling-job-name", "human-annotated": "yes", "creation-date": "2021-09-29T05:50:35.566000", "type": "groundtruth/video-object-tracking" } }

Ground Truth 會為標籤的每個影片影格序列建立單一輸出序列檔案。每一輸出序列檔案都包含下列內容:

  • 在 JSON 物件的 tracking-annotations 清單,所有影格的所有註釋序列。

  • 對於工作者註釋的每個影格,影格 (frame)、編號 (frame-no)、包含註釋 (annotations) 的 JSON 物件清單,以及若適用,影格屬性 (frame-attributes)。此清單名稱是由您使用的任務類型定義:polylinespolygonskeypoints,和對於邊界框,annotations

    每個 JSON 物件都包含相關資訊說明單一註釋與關聯標籤。下表概述每個影片影格任務類型將會看到的參數。

    任務類型 參數

    Bounding Box (邊界框)

    方塊維度:heightwidth

    方塊左上角像素位置:topleft

    keypoints (關鍵點)

    關鍵點頂點:{ "x": int, "y": int }

    Polygon (多邊形)

    多邊形頂點清單:vertices

    多邊形頂點:{ "x": int, "y": int }

    多邊形是封閉形狀,因此第一點也代表最後點。

    折線

    折線頂點清單:vertices

    折線頂點:{ "x": int, "y": int }

    除任務類型特定數值外,您還會在每個 JSON 物件看到下列內容:

    • 為該標籤指定的任何 label-category-attributes 值。

    • 方塊的 class-id。使用輸出資訊清單檔案的 class-map 來查看此 ID 映射到哪個標籤類別。

    • object-id 識別標籤的執行個體。如果工作者在多個影格識別出物件的相同執行個體,則在不同影格之間此 ID 將會相同。例如,如汽車出現在多個影格,則用來識別該汽車的所有邊界框都會具相同 object-id

    • object-name 是該註釋的執行個體 ID。

以下 SeqLabel.json 檔案範例來自邊界框影片影格物件追蹤標籤工作。此檔案將位於 s3://amzn-s3-demo-bucket/output-prefix/annotations/consolidated-annotation/output/annotation-number/

{ "tracking-annotations": [ { "annotations": [ { "height": 36, "width": 46, "top": 178, "left": 315, "class-id": "0", "label-category-attributes": { "occluded": "no" }, "object-id": "480dc450-c0ca-11ea-961f-a9b1c5c97972", "object-name": "car:1" } ], "frame-no": 0, "frame": "frame_0001.jpeg", "frame-attributes": {} }, { "annotations": [ { "height": 30, "width": 47, "top": 163, "left": 344, "class-id": "1", "label-category-attributes": { "occluded": "no", "size": "medium" }, "object-id": "98f2b0b0-c0ca-11ea-961f-a9b1c5c97972", "object-name": "bus:1" }, { "height": 28, "width": 33, "top": 150, "left": 192, "class-id": "0", "label-category-attributes": { "occluded": "partially" }, "object-id": "480dc450-c0ca-11ea-961f-a9b1c5c97972", "object-name": "car:1" } ], "frame-no": 1, "frame": "frame_0002.jpeg", "frame-attributes": {name: value, name: value} } ] }

3D 點雲語意分割輸出

下列是 3D 點雲語意分割標籤工作的輸出資訊清單檔案。

除了標準元素以外,標籤的中繼資料也包含色彩貼圖,可定義用於標籤映像的色彩、與該色彩相關聯的類別名稱、每種色彩的可信度分數。此外,稽核工作流程的中繼資料還有 adjustment-status 參數,如果色彩遮罩已修改,此參數會設定為 adjusted。如果您已新增將一或多個 frameAttributes 至標籤類別組態檔案,則影格屬性的工作者回應會在 JSON 物件 dataset-object-attributes

your-label-attribute-ref 參數包含壓縮檔 (.zlib 副檔名) 的位置。當您解壓縮此檔案時,其會包含陣列。陣列的每個索引都對應輸入點雲的已註釋點索引。指定索引處的陣列值會基於在 metadatacolor-map 參數找到的語意顏色對映,提供點雲中相同索引處的點類別。

您可以使用類似下列的 Python 程式碼來解壓縮 .zlib 檔案:

import zlib from array import array # read the label file compressed_binary_file = open(zlib_file_path/file.zlib, 'rb').read() # uncompress the label file binary_content = zlib.decompress(compressed_binary_file) # load labels to an array my_int_array_data = array('B', binary_content); print(my_int_array_data)

上述程式碼區塊將產生類似下列的輸出。列印陣列的每個元素都包含點雲中該索引處的點類別。例如,my_int_array_data[0] = 1 代表輸入點雲的 point[0] 有類別 1。在下列輸出資訊清單檔案範例,類別 0 對應 "Background"1 對應 Car2 對應 Pedestrian

>> array('B', [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])

以下範例顯示語意分割 3D 點雲標籤工作輸出資訊清單檔案。下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。

{ "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame1.bin", "source-ref-metadata":{ "format": "binary/xyzi", "unix-timestamp": 1566861644.759115, "ego-vehicle-pose":{...}, "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/prefix", "images": [{...}] }, "lidar-ss-label-attribute-ref": "s3://amzn-s3-demo-bucket/labeling-job-name/annotations/consolidated-annotation/output/dataset-object-id/filename.zlib", "lidar-ss-label-attribute-ref-metadata": { 'color-map': { "0": { "class-name": "Background", "hex-color": "#ffffff", "confidence": 0.00 }, "1": { "class-name": "Car", "hex-color": "#2ca02c", "confidence": 0.00 }, "2": { "class-name": "Pedestrian", "hex-color": "#1f77b4", "confidence": 0.00 }, "3": { "class-name": "Tree", "hex-color": "#ff7f0e", "confidence": 0.00 } }, 'type': 'groundtruth/point_cloud_single_frame_semantic_segmentation', 'human-annotated': 'yes', 'creation-date': '2019-11-12T01:18:14.271944', 'job-name': 'labeling-job-name', //only present for adjustment audit workflow "adjustment-status": "adjusted", // "adjusted" means the label was adjusted "dataset-object-attributes": {name: value, name: value} } }

3D 點雲物件偵測輸出

以下是 3D 點雲物件偵測任務的輸出範例。對於此任務類型,3d-bounding-box 參數中以名為 annotations 的清單傳回 3D 立方體的相關資料。此清單中使用以下資訊來描述每個 3D 立方體。

  • 您在輸入資訊清單中指定的每個類別或標籤類別,都有相關聯的 class-id。使用 class-map 來識別與每個類別識別碼相關聯的類別。

  • 這些類別用於提供 object-name 給每個 3D 立方體,格式為 <class>:<integer>,其中 integer 是唯一數字,用來識別影格中的立方體。

  • center-xcenter-ycenter-z 是立方體中心的座標,與標籤工作所用的 3D 點雲輸入資料在相同座標系統。

  • lengthwidthheight 用於描述立方體的維度。

  • yaw 用於描述弧度立方體的方向 (方位)。

    注意

    yaw 現在處於右手笛卡兒系統。由於此功能加入時間為 UTC 2022 年 9 月 2 日 19:02:17,因此您可以使用下列方式轉換該時間之前輸出資料的 yaw 測量值 (所有單位均以弧度表示):

    old_yaw_in_output = pi - yaw
  • 根據我們的定義,+x 是向右,+y 是向前,+z 是從地平面向上。旋轉順序為 x - y - z。rollpitchyaw 表示於右手笛卡兒系統。在 3D 空間,roll 沿著 X 軸,pitch 沿著 Y 軸,yaw 沿著 Z 軸。這三個都是逆時針方向。

  • 如果您在輸入資訊清單檔案中包含特定類別的標籤屬性,則工作者已選取標籤屬性的所有立方體,各有一個 label-category-attributes 參數。

如果一個或多個立方體已修改,則在稽核工作流程的中繼資料中,adjustment-status 參數會設定為 adjusted。如果您已新增將一或多個 frameAttributes 至標籤類別組態檔案,則影格屬性的工作者回應會在 JSON 物件 dataset-object-attributes

下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。省略符號 (...) 表示該清單還有後續,可顯示與先前物件相同格式的其他物件。

{ "source-ref": "s3://amzn-s3-demo-bucket/examplefolder/frame1.txt", "source-ref-metadata":{ "format": "text/xyzi", "unix-timestamp": 1566861644.759115, "prefix": "s3://amzn-s3-demo-bucket/lidar_singleframe_dataset/prefix", "ego-vehicle-pose": { "heading": { "qx": -0.02111296123795955, "qy": -0.006495469416730261, "qz": -0.008024565904865688, "qw": 0.9997181192298087 }, "position": { "x": -2.7161461413869947, "y": 116.25822288149078, "z": 1.8348751887989483 } }, "images": [ { "fx": 847.7962624528487, "fy": 850.0340893791985, "cx": 576.2129134707038, "cy": 317.2423573573745, "k1": 0, "k2": 0, "k3": 0, "k4": 0, "p1": 0, "p2": 0, "skew": 0, "unix-timestamp": 1566861644.759115, "image-path": "images/frame_0_camera_0.jpg", "position": { "x": -2.2722515189268138, "y": 116.86003310568965, "z": 1.454614668542299 }, "heading": { "qx": 0.7594754093069037, "qy": 0.02181790885672969, "qz": -0.02461725233103356, "qw": -0.6496916273040025 }, "camera_model": "pinhole" } ] }, "3d-bounding-box": { "annotations": [ { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -2.616382013657516, "center-y": 125.04149850484193, "center-z": 0.311272296465834, "length": 2.993000265181146, "width": 1.8355260519692056, "height": 1.3233490884304047, "roll": 0, "pitch": 0, "yaw": 1.6479308313703527 }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:2", "class-id": 0, "center-x": -5.188984560617168, "center-y": 99.7954483288783, "center-z": 0.2226435567445657, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.6243170732068055 } ] }, "3d-bounding-box-metadata": { "objects": [], "class_map": { "0": "Car", }, "type": "groundtruth/point_cloud_object_detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "identify-3d-objects", "adjustment-status": "adjusted", "dataset-object-attributes": {name: value, name: value} } }

3D 點雲物件追蹤輸出

以下輸出資訊清單檔案範例來自 3D 點雲物件追蹤標籤工作。下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。省略符號 (...) 表示該清單還有後續,可顯示與先前物件相同格式的其他物件。

除了標準元素之外,中繼資料還包含一個類別映射,其中列出序列中至少有一個標籤的每個類別。如果一個或多個立方體已修改,則在稽核工作流程的中繼資料中,adjustment-status 參數會設定為 adjusted

{ "source-ref": "s3://amzn-s3-demo-bucket/myfolder/seq1.json", "lidar-label-attribute-ref": "s3://amzn-s3-demo-bucket/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.json", "lidar-label-attribute-ref-metadata": { "objects": [ { "frame-no": 300, "confidence": [] }, { "frame-no": 301, "confidence": [] }, ... ], 'class-map': {'0': 'Car', '1': 'Person'}, 'type': 'groundtruth/point_cloud_object_tracking', 'human-annotated': 'yes', 'creation-date': '2019-11-12T01:18:14.271944', 'job-name': 'identify-3d-objects', "adjustment-status": "adjusted" } }

在上述範例,seq1.json 的每個影格立方體資料,都位於 Amazon S3 位置 s3://amzn-s3-demo-bucket/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.jsonSeqLabel.json。以下是此標籤序列檔案的範例。

對於序列的每個影格,您會看到frame-numberframe-name、(如適用) frame-attributes,以及 annotations 的清單。此清單包含為該影格繪製的 3D 立方體。每個註釋都包含下列資訊:

  • <class>:<integer> 格式的 object-name,其中 class 識別標籤類別,而 integer 是整個資料集的不重複 ID。

  • 當工作者繪製立方體時,此立方體會有相關聯的唯一 object-id,而這又與在多個影格之間識別同一個物件的所有立方體相關聯。

  • 您在輸入資訊清單中指定的每個類別或標籤類別,都有相關聯的 class-id。使用 class-map 來識別與每個類別識別碼相關聯的類別。

  • center-xcenter-ycenter-z 是立方體中心的座標,與標籤工作所用的 3D 點雲輸入資料在相同座標系統。

  • lengthwidthheight 用於描述立方體的維度。

  • yaw 用於描述弧度立方體的方向 (方位)。

    注意

    yaw 現在處於右手笛卡兒系統。由於此功能加入時間為 UTC 2022 年 9 月 2 日 19:02:17,因此您可以使用下列方式轉換該時間之前輸出資料的 yaw 測量值 (所有單位均以弧度表示):

    old_yaw_in_output = pi - yaw
  • 根據我們的定義,+x 是向右,+y 是向前,+z 是從地平面向上。旋轉順序為 x - y - z。rollpitchyaw 表示於右手笛卡兒系統。在 3D 空間,roll 沿著 X 軸,pitch 沿著 Y 軸,yaw 沿著 Z 軸。這三個都是逆時針方向。

  • 如果您在輸入資訊清單檔案中包含特定類別的標籤屬性,則工作者已選取標籤屬性的所有立方體,各有一個 label-category-attributes 參數。

{ "tracking-annotations": [ { "frame-number": 0, "frame-name": "0.txt.pcd", "frame-attributes": {name: value, name: value}, "annotations": [ { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": -2.2906369208300674, "center-y": 103.73924823843463, "center-z": 0.37634114027023313, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5827222214406014, "object-id": "ae5dc770-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -2.6451293634707413, "center-y": 124.9534455706848, "center-z": 0.5020834081743839, "length": 4, "width": 2, "height": 2.080488827301309, "roll": 0, "pitch": 0, "yaw": -1.5963335581398077, "object-id": "06efb020-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:2", "class-id": 0, "center-x": -5.205611313118477, "center-y": 99.91731932137061, "center-z": 0.22917217081212138, "length": 3.8747142207671956, "width": 1.9999999999999918, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5672228760316775, "object-id": "26fad020-a782-11ea-b57d-67c51a0561a1" } ] }, { "frame-number": 1, "frame-name": "1.txt.pcd", "frame-attributes": {}, "annotations": [ { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": -2.2906369208300674, "center-y": 103.73924823843463, "center-z": 0.37634114027023313, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5827222214406014, "object-id": "ae5dc770-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -2.6451293634707413, "center-y": 124.9534455706848, "center-z": 0.5020834081743839, "length": 4, "width": 2, "height": 2.080488827301309, "roll": 0, "pitch": 0, "yaw": -1.5963335581398077, "object-id": "06efb020-a782-11ea-b57d-67c51a0561a1" }, { "label-category-attributes": { "Occlusion": "Partial", "Type": "Sedan" }, "object-name": "Car:2", "class-id": 0, "center-x": -5.221311072916759, "center-y": 100.4639841045424, "center-z": 0.22917217081212138, "length": 3.8747142207671956, "width": 1.9999999999999918, "height": 2, "roll": 0, "pitch": 0, "yaw": 1.5672228760316775, "object-id": "26fad020-a782-11ea-b57d-67c51a0561a1" } ] } ] }

3D-2D 物件追蹤點雲端物件追蹤輸出

以下輸出資訊清單檔案範例來自 3D 點雲物件追蹤標籤工作。下列範例中的紅色斜體文字取決於標籤工作規格和輸出資料。省略符號 (...) 表示該清單還有後續,可顯示與先前物件相同格式的其他物件。

除了標準元素之外,中繼資料還包含一個類別映射,其中列出序列中至少有一個標籤的每個類別。如果一個或多個立方體已修改,則在稽核工作流程的中繼資料中,adjustment-status 參數會設定為 adjusted

{ "source-ref": "s3://amzn-s3-demo-bucket/artifacts/gt-point-cloud-demos/sequences/seq2.json", "source-ref-metadata": { "json-paths": [ "number-of-frames", "prefix", "frames{frame-no, frame}" ] }, "3D2D-linking-ref": "s3://amzn-s3-demo-bucket/xyz/3D2D-linking/annotations/consolidated-annotation/output/0/SeqLabel.json", "3D2D-linking-ref-metadata": { "objects": [ { "frame-no": 0, "confidence": [] }, { "frame-no": 1, "confidence": [] }, { "frame-no": 2, "confidence": [] }, { "frame-no": 3, "confidence": [] }, { "frame-no": 4, "confidence": [] }, { "frame-no": 5, "confidence": [] }, { "frame-no": 6, "confidence": [] }, { "frame-no": 7, "confidence": [] }, { "frame-no": 8, "confidence": [] }, { "frame-no": 9, "confidence": [] } ], "class-map": { "0": "Car" }, "type": "groundtruth/point_cloud_object_tracking", "human-annotated": "yes", "creation-date": "2023-01-19T02:55:10.206508", "job-name": "mcm-linking" }, "3D2D-linking-chain-ref": "s3://amzn-s3-demo-bucket/xyz/3D2D-linking-chain/annotations/consolidated-annotation/output/0/SeqLabel.json", "3D2D-linking-chain-ref-metadata": { "objects": [ { "frame-no": 0, "confidence": [] }, { "frame-no": 1, "confidence": [] }, { "frame-no": 2, "confidence": [] }, { "frame-no": 3, "confidence": [] }, { "frame-no": 4, "confidence": [] }, { "frame-no": 5, "confidence": [] }, { "frame-no": 6, "confidence": [] }, { "frame-no": 7, "confidence": [] }, { "frame-no": 8, "confidence": [] }, { "frame-no": 9, "confidence": [] } ], "class-map": { "0": "Car" }, "type": "groundtruth/point_cloud_object_tracking", "human-annotated": "yes", "creation-date": "2023-01-19T03:29:49.149935", "job-name": "3d2d-linking-chain" } }

在上述範例,seq2.json 的每個影格立方體資料,都位於 Amazon S3 位置 s3://amzn-s3-demo-bucket/<labelingJobName>/annotations/consolidated-annotation/output/<datasetObjectId>/SeqLabel.jsonSeqLabel.json。以下是此標籤序列檔案的範例。

對於序列的每個影格,您會看到frame-numberframe-name、(如適用) frame-attributes,以及 annotations 的清單。此清單包含為該影格繪製的 3D 立方體。每個註釋都包含下列資訊:

  • <class>:<integer> 格式的 object-name,其中 class 識別標籤類別,而 integer 是整個資料集的不重複 ID。

  • 當工作者繪製立方體時,此立方體會有相關聯的唯一 object-id,而這又與在多個影格之間識別同一個物件的所有立方體相關聯。

  • 您在輸入資訊清單中指定的每個類別或標籤類別,都有相關聯的 class-id。使用 class-map 來識別與每個類別識別碼相關聯的類別。

  • center-xcenter-ycenter-z 是立方體中心的座標,與標籤工作所用的 3D 點雲輸入資料在相同座標系統。

  • lengthwidthheight 用於描述立方體的維度。

  • yaw 用於描述弧度立方體的方向 (方位)。

    注意

    yaw 現在處於右手笛卡兒系統。由於此功能加入時間為 UTC 2022 年 9 月 2 日 19:02:17,因此您可以使用下列方式轉換該時間之前輸出資料的 yaw 測量值 (所有單位均以弧度表示):

    old_yaw_in_output = pi - yaw
  • 根據我們的定義,+x 是向右,+y 是向前,+z 是從地平面向上。旋轉順序為 x - y - z。rollpitchyaw 表示於右手笛卡兒系統。在 3D 空間,roll 沿著 X 軸,pitch 沿著 Y 軸,yaw 沿著 Z 軸。這三個都是逆時針方向。

  • 如果您在輸入資訊清單檔案中包含特定類別的標籤屬性,則工作者已選取標籤屬性的所有立方體,各有一個 label-category-attributes 參數。

{ "lidar": { "tracking-annotations": [ { "frame-number": 0, "frame-name": "0.txt.pcd", "annotations": [ { "label-category-attributes": { "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": 12.172361721602815, "center-y": 120.23067521992364, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715" }, { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": 17.192725195301094, "center-y": 114.55705365827872, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} }, { "frame-number": 1, "frame-name": "1.txt.pcd", "annotations": [ { "label-category-attributes": { "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -1.6841480600695489, "center-y": 126.20198882749516, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715" }, { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": 17.192725195301094, "center-y": 114.55705365827872, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} }, { "frame-number": 2, "frame-name": "2.txt.pcd", "annotations": [ { "label-category-attributes": { "Type": "Sedan" }, "object-name": "Car:1", "class-id": 0, "center-x": -1.6841480600695489, "center-y": 126.20198882749516, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "505b39e0-97a4-11ed-8903-dd5b8b903715" }, { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "center-x": 17.192725195301094, "center-y": 114.55705365827872, "center-z": 1.590525771183712, "length": 4, "width": 2, "height": 2, "roll": 0, "pitch": 0, "yaw": 0, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} } ] }, "camera-0": { "tracking-annotations": [ { "frame-no": 0, "frame": "0.txt.pcd", "annotations": [ { "label-category-attributes": { "Occlusion": "Partial" }, "object-name": "Car:2", "class-id": 0, "width": 223, "height": 164, "top": 225, "left": 486, "object-id": "5229df60-97a4-11ed-8903-dd5b8b903715" } ], "frame-attributes": {} }, { "frame-no": 1, "frame": "1.txt.pcd", "annotations": [ { "label-category-attributes": {}, "object-name": "Car:4", "class-id": 0, "width": 252, "height": 246, "top": 237, "left": 473, "object-id": "1afcb670-97a9-11ed-9a84-ff627d099e16" } ], "frame-attributes": {} } ] } }

物件的長方體和邊界框是透過常見物件 ID 進行連結。