ビデオフレームオブジェクト追跡を使用してビデオフレーム内のオブジェクトを追跡する - Amazon SageMaker

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

ビデオフレームオブジェクト追跡を使用してビデオフレーム内のオブジェクトを追跡する

動画フレームオブジェクト追跡のタスクタイプを使用すると、境界ボックス、ポリライン、ポリゴン、または特徴点注釈ツールを使用して、ワーカーに一連の動画フレーム(動画から抽出された画像)内のオブジェクトの動きを追跡させることができます。選択したツールで、作成する動画フレームのタスクタイプを定義します。例えば、境界ボックス動画フレームオブジェクト追跡タスクタイプを使用して、車、自転車、歩行者などのオブジェクトの周囲にボックスを描画し、その動きを追跡するようにワーカーに指示できます。

カテゴリのリストを指定すると、ワーカーが動画フレームに追加する各注釈は、インスタンス ID を使用して、そのカテゴリのインスタンスとして特定されます。例えば、ラベルカテゴリ car を指定した場合、ワーカーが注釈を付ける最初の車はインスタンス ID car:1 になります。ワーカーが注釈を付ける 2 番目の車には、インスタンス ID car: 2 が指定されます。オブジェクトの動きを追跡するため、ワーカーはすべてのフレームのオブジェクトの周囲に、同じインスタンス ID と関連付けられた注釈を追加します。

Amazon SageMaker Ground Truth コンソール、 SageMaker API、および言語固有の を使用して、ビデオフレームオブジェクト追跡ラベル付けジョブを作成できます AWS SDKs。詳細については、「動画フレームオブジェクト検出のラベル付けジョブを作成する」を参照して、任意の方法を選択してください。ラベル付けジョブを作成する際に選択できる注釈ツールの詳細については、「タスクタイプ」を参照してください。

Ground Truth は、ラベル付けジョブタスクを完了するためのワーカー UI とツールを提供します (ワーカー UI をプレビューする)。

動画オブジェクト検出調整タスクタイプを使用して、動画オブジェクト検出ラベル付けジョブで作成された注釈の調整を行うジョブを作成できます。詳細については、「動画フレームオブジェクト検出の調整または検証ラベル付けジョブを作成する」を参照してください。

ワーカー UI をプレビューする

Ground Truth は、ワーカーに動画フレームオブジェクトの追跡注釈タスクを実行するためのウェブユーザーインターフェイス (UI) を提供します。コンソールでラベル付けジョブを作成するときに、ワーカー UI のプレビューと操作ができます。新規ユーザーの場合は、コンソールで小さな入力データセットを使用してラベル付けジョブを作成し、ワーカー UI をプレビューし、動画フレーム、ラベル、ラベルの属性が想定どおりに表示されることを確認することをお勧めします。

UI には、オブジェクト追跡タスクを完了するためにワーカーが使用できる次の補助ラベル付けツールがあります。

  • すべてのタスクに対して、ワーカーは次へコピーすべてにコピー (すべてにコピー) 機能を使用して、同じ固有 ID を持つ注釈を次のフレームにコピーするか、後続のすべてのフレームにそれぞれコピーできます。

  • 境界ボックスツールを含むタスクの場合、ワーカーは次を予測機能を使用して、1 つのフレームに境界ボックスを描画し、他のすべてのフレームで同じラベルを持つボックスの位置を Ground Truth に予測させることができます。ワーカーは、予測されたボックスを調整して正しい位置に修正できます。

次の動画では、ワーカーが境界ボックスツールでワーカー UI を使用してオブジェクト追跡タスクを実行する方法を紹介しています。

ワーカーが次の予測機能で境界ボックスツールを使用する方法を示す Gif。

動画フレームオブジェクト追跡のラベル付けジョブを作成する

SageMaker コンソールまたは CreateLabelingJobAPIオペレーションを使用して、ビデオフレームオブジェクト追跡ラベル付けジョブを作成できます。

このセクションは、「ビデオフレームのラベル付けジョブリファレンス」を確認済みであることと、使用する入力データと入力データセット接続のタイプを選択済みであることを前提としています。

ラベル付けジョブの作成 (コンソール)

の手順に従ってラベル付けジョブの作成 (コンソール)、 SageMaker コンソールでビデオフレームオブジェクト追跡ジョブを作成する方法を確認できます。ステップ 10 で、[Task category] (タスクカテゴリ) ドロップダウンリストから[Video - Object tracking] (動画 - オブジェクト追跡) を選択します。[Task selection] (タスク選択) でいずれかのカードを選択して、目的のタスクタイプを選択します。

SageMaker コンソールでビデオフレームオブジェクト追跡ジョブを作成する方法を示す Gif。

ラベル付けジョブを作成する (API)

オペレーション を使用して、オブジェクト追跡ラベル SageMaker API付けジョブを作成しますCreateLabelingJob。これにより、すべての に対してこのオペレーションAPIが定義されます AWS SDKs。このオペレーションでSDKsサポートされている言語固有のリストを確認するには、「」の「」セクションを参照してくださいCreateLabelingJob

ラベル付けジョブを作成 (API)」では、CreateLabelingJob オペレーションの概要を説明しています。リクエストを設定する際には、それらの指示に従ったうえで、以下のことを実行してください。

  • ARN には を入力する必要がありますHumanTaskUiArnarn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectTracking を使用します。<region> を、ラベル付けジョブを作成している AWS のリージョンに置き換えます。

    UiTemplateS3Uri パラメータのエントリを含めないでください。

  • LabelAttributeName の末尾には、-ref を付ける必要があります。例えば、ot-labels-ref と指定します。

  • 入力マニフェストファイルは、動画フレームシーケンスのマニフェストファイルである必要があります。このマニフェストファイルは、 SageMaker コンソールを使用して作成することも、手動で作成して Amazon S3 にアップロードすることもできます。詳細については、「入力データのセットアップ」を参照してください。ストリーミングラベル付けジョブを作成する場合、入力マニフェストファイルは任意です。

  • ビデオフレームオブジェクト検出ラベル付けジョブを作成できるのは、プライベートまたはベンダーの作業チームのみです。

  • ラベル、ラベルカテゴリ、フレーム属性、タスクタイプ、ワーカー向け指示書は、ラベルカテゴリ設定ファイルで指定します。タスクタイプ (境界ボックス、ポリライン、ポリゴン、または特徴点) を、ラベルカテゴリ設定ファイルの annotationType を使用して指定します。このファイルを作成する方法については、「ラベルカテゴリとフレーム属性リファレンスを含むラベルカテゴリ設定ファイルのラベル付け」を参照してください。

  • 注釈前関数と注釈後関数 (ACS) Lambda 関数ARNsに事前定義を指定する必要があります。これらはARNs、ラベル付けジョブの作成に使用する AWS リージョンに固有のものです。

    • 注釈前の Lambda を検索するにはARN、「」を参照してくださいPreHumanTaskLambdaArn。ラベル付けジョブを作成するリージョンを使用して、 でARN終わる正しい を見つけますPRE-VideoObjectTracking

    • 注釈後の Lambda を検索するにはARN、「」を参照してくださいAnnotationConsolidationLambdaArn。ラベル付けジョブを作成するリージョンを使用して、 でARN終わる正しい を見つけますACS-VideoObjectTracking

  • NumberOfHumanWorkersPerDataObject で指定するワーカーの数は 1 である必要があります 。

  • 動画フレームのラベル付けジョブでは、自動データラベリングはサポートされていません。LabelingJobAlgorithmsConfig では、パラメータの値を指定しないでください。

  • 動画フレームオブジェクト追跡のラベル付けジョブは、完了に数時間かかることがあります。このようなラベル付けジョブには、TaskTimeLimitInSeconds で制限時間を長く指定することができます (最長 7 日、つまり 604,800 秒)。

以下は、米国東部 AWS SDK (バージニア北部) リージョンでラベル付けジョブを作成する Python (Boto3) リクエストの例です。

response = client.create_labeling_job( LabelingJobName='example-video-ot-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://amzn-s3-demo-bucket/path/video-frame-sequence-input-manifest.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://amzn-s3-demo-bucket/prefix/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/prefix/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*', 'UiConfig': { 'HumanTaskUiArn: 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/VideoObjectTracking' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking', 'TaskKeywords': [ 'Video Frame Object Tracking, ], 'TaskTitle': 'Video frame object tracking task', 'TaskDescription': Tracking the location of objects and people across video frames', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectTracking' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

動画フレームオブジェクト追跡の調整または検証ラベル付けジョブを作成する

Ground Truth コンソールまたは CreateLabelingJob を使用して、調整および検証ラベル付けジョブを作成できますAPI。調整と検証のラベル付けジョブの詳細と作成方法については、「ラベルの検証と調整」を参照してください。

出力データ形式

動画フレームオブジェクト追跡のラベル付けジョブを作成すると、タスクはワーカーに送信されます。タスクを受け取ったワーカーがタスクを完了すると、ラベル付けジョブの作成時に指定した Amazon S3 の出力場所にラベルが書き込まれます。動画フレームオブジェクト追跡の出力データ形式については、「ビデオフレームオブジェクト追跡出力」を参照してください。Ground Truth を初めて使用する場合は、 出力データ形式の詳細について「ジョブ出力データのラベル付け」を参照してください。