3D 点群のラベル付けジョブの概要 - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

3D 点群のラベル付けジョブの概要

このトピックでは、Ground Truth の 3D 点群のラベル付けジョブにおける固有の機能の概要を説明します。3D 点群のラベル付けジョブを使用すると、ワーカーは、LiDAR や深度カメラなどの 3D センサーから生成された 3D 点群内のオブジェクトや、ドローンなどのエージェントによって取得された画像をつなぎ合わせることで 3D 再構成から生成された 3D 点群オブジェクトにラベルを付けることができます。

ジョブの前処理時間

3D 点群のラベル付けジョブを作成するときは、入力マニフェストファイルを指定する必要があります。入力マニフェストファイルは次のいずれかです。

  • 各行に 1 つの点群フレームを持つフレーム入力マニフェストファイル

  • 各行に 1 つのシーケンスを持つシーケンス入力マニフェストファイル。シーケンスは、一時的な連続した点群フレームとして定義されます。

どちらのタイプのマニフェストファイルでも、ジョブの前処理時間 (つまり、Ground Truth がワーカーにタスクを送信し始めるまでの時間) は、入力マニフェストファイルに指定した点群フレームの総数とサイズによって異なります。フレーム入力マニフェストファイルの場合、これはマニフェストファイル内の行数です。シーケンスマニフェストファイルの場合、これは、各シーケンスのフレーム数に、マニフェストファイル内のシーケンス (行) の総数を掛けた値です。

さらに、点群あたりの点の数と融合されたセンサーデータオブジェクト (画像など) の数は、ジョブの前処理時間に影響します。平均すると、Ground Truth は 200 個の点群フレームを約 5 分で前処理できます。多数の点群フレームを持つ 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 は、処理された入力マニフェストのフレームの数を示します。フレームが処理されるたびに、ユーザーは新しいメッセージを受け取ります。例えば、フレームが 1 つ処理されると、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 は、処理された入力マニフェストのシーケンスの数を示します。シーケンスが処理されるたびに、ユーザーは新しいメッセージを受け取ります。例えば、シーケンスが 1 つ処理されると、次のシーケンスの処理が開始されると同時に、datasetObjectId from: 1, status: IN_PROGRESS というメッセージを受け取ります。

ジョブの完了時間

3D 点群のラベル付けジョブは、ワーカーが完了するのに何時間もかかることがあります。ラベル付けジョブを作成するときに、ワーカーが各タスクに取り組むことのできる合計時間を設定できます。ワーカーがタスクに取り組むように設定できる最大時間は 7 日です。デフォルト値は 3 日です。

ワーカーが 12 時間以内に完了できるタスクを作成することを強くお勧めします。ワーカーは、タスクに取り組んでいる間、ワーカー UI を開いたままにしておく必要があります。ワーカーは作業内容を随時保存できます。また、Ground Truth では作業内容が15分ごとに保存されます。

API オペレーションを使用する場合は SageMaker CreateLabelingJob、 の TaskTimeLimitInSecondsパラメータでワーカーがタスクを使用できる合計時間を設定しますHumanTaskConfig

コンソールでラベル付けジョブを作成する場合は、ワークフォースタイプと作業チームを選択するときに、この制限時間を指定できます。

ワークフォース

3D 点群のラベル付けジョブを作成するときは、点群注釈タスクを実行する作業チームを指定する必要があります。作業チームは、自社のワーカーのプライベートワークフォース、または AWS Marketplaceで選択したベンダーワークフォースから選択できます。Amazon Mechanical Turk のワークフォースを 3D 点群のラベル付けジョブに使用することはできません。

ベンダーワークフォースの詳細については、「ベンダーワークフォースの管理」を参照してください。

プライベートワークフォースの作成と管理の方法については、「プライベートワークフォースを使用する」を参照してください。

ワーカーユーザーインターフェイス (UI)

Ground Truth には、ワーカーが 3D 点群のラベル付けタスクを実行するのに役立つワーカーユーザーインターフェイス (UI)、ツール、ラベル付け支援機能があります。

コンソールでラベル付けジョブを作成するときに、ワーカー UI をプレビューできます。

API オペレーション CreateLabelingJob を使用してラベル付けジョブを作成する場合、Ground Truth によって提供される ARN をパラメータ HumanTaskUiArn に指定して、タスクタイプ用のワーカー UI を指定する必要があります。API オペレーションHumanTaskUiArnで SageMaker RenderUiTemplate を使用して、ワーカー UI をプレビューできます。

ワーカー UI に表示されるワーカー向け指示書、ラベル、およびオプションでラベルカテゴリ属性を指定します。

ラベルカテゴリ属性

3D 点群オブジェクト追跡またはオブジェクト検出のラベル付けジョブを作成するときに、1 つ以上のラベルカテゴリ属性を追加できます。次のフレーム属性をすべての 3D 点群タスクタイプに追加できます。

  • ラベルカテゴリ属性 - 1 つ以上のラベルに関連付けられたオプション (文字列)、フリーフォームのテキストボックス、または数値フィールドのリスト。ワーカーがラベルに関するメタデータを提供する際に使用します。

  • フレーム属性 - 注釈を付けるためにワーカーに送信される各点群フレームに表示されるオプション (文字列)、フリーフォームのテキストボックス、または数値フィールドのリスト。ワーカーがフレームに関するメタデータを提供する際に使用します。

さらに、ラベル属性とフレーム属性を使用して、ワーカーに 3D 点群ラベル検証ジョブでラベルを検証させることができます。

これらの属性の詳細については、次のセクションを参照してください。ラベルカテゴリ属性とフレーム属性をラベル付けジョブに追加する方法については、任意のタスクタイプのページのラベル付けジョブを作成するセクションを参照してください。

ラベルカテゴリ属性

ラベルカテゴリ属性をラベルに追加すると、ワーカーは作成した注釈に関する詳細情報を提供できます。ラベルカテゴリ属性は、個々のラベルまたはすべてのラベルに追加されます。ラベルカテゴリ属性をすべてのラベルに適用すると、ラベルカテゴリ属性はグローバルラベルカテゴリ属性として参照されるようになります。

例えば、にラベルカテゴリを追加すると、自動車が遮られているかどうかや自動車のサイズなど、ラベル付けされた自動車に関する追加データを取得したい場合もあります。このメタデータを、ラベルカテゴリ属性を使用して取得できます。この例では、属性 occluded を car ラベルカテゴリに追加した場合、partialcompletelynooccluded 属性に指定することができ、ワーカーはこれらのオプションのいずれかを選択できます。

ラベル検証ジョブを作成するときに、ワーカーが検証する各ラベルに、ラベルカテゴリ属性を追加します。

フレーム属性

フレーム属性を追加して、ワーカーが個々の点群フレームに関する詳細情報を提供できるようにします。最大 10 個のフレーム属性を指定でき、これらの属性はすべてのフレームに表示されます。

例えば、ワーカーが番号を入力できるフレーム属性を追加できます。この属性を使用して、特定のフレームに表示されるオブジェクトの数をワーカーに識別させることができます。

あるいは、フリーフォームのテキストボックスを提供して、ワーカーが質問に対する回答を提供できるようにします。

ラベル検証ジョブを作成するときに、1 つ以上のフレーム属性を追加して、ワーカーが点群フレーム内のすべてのラベルに関するフィードバックを提供するように指示できます。

ワーカー向け指示書

ワーカーが点群のラベル付けタスクを実行するのに役立つワーカー向け指示書を提供できます。この指示書は次のような目的で使用します。

  • オブジェクトに注釈を付けるときのベストプラクティスと避けるべきことの指示。

  • 指定したラベルカテゴリ属性 (オブジェクト検出とオブジェクト追跡のタスク用) とその使用方法の説明。

  • ラベル付けの際にキーボードショートカットを使用して時間を節約する方法についてのアドバイス。

ラベル付けジョブの作成時に、 SageMaker コンソールを使用してワーカー向け指示書を追加できます。API オペレーション CreateLabelingJob を使用してラベル付けジョブを作成する場合は、ラベルカテゴリ設定ファイルでワーカー向け指示書を指定します。

指示書に加えて、Ground Truth には、ワーカーがワーカーポータルを移動および使用するのに役立つリンクが用意されています。これらの指示書を表示するには、「ワーカー向け指示書」でタスクタイプを選択します。

タスクを拒否する

ワーカーはタスクを拒否できます。

ワーカーは、指示が明確でない場合、入力データが正しく表示されない場合、またはタスクで他の問題が発生した場合、タスクを拒否します。データセットオブジェクトあたりのワーカー数 (NumberOfHumanWorkersPerDataObject) がタスクを拒否すると、データオブジェクトは期限切れとしてマークされ、追加のワーカーに送信されません。

3D 点群ラベリングジョブのアクセス許可の要件

3D 点群ラベル付けジョブを作成するときは、Ground Truth を使用するための IAM アクセス権限を割り当てる の権限要件に加えて、入力マニフェストファイルを含む S3 バケットに CORS ポリシーを追加する必要があります。

CORS アクセス許可ポリシーを S3 バケットに追加する

3D 点群のラベル付けジョブを作成するときは、入力データとマニフェストファイルがあり、出力データが保存されるバケットを S3 で指定します。これらのバケットは同じもかまいません。次の Cross-Origin Resource Sharing (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>

S3 バケットに CORS ポリシーを追加する方法については、Amazon Simple Storage Service ユーザーガイド の「CORS によりクロスドメインリソース共有を追加する方法」を参照してください。