動画フレームオブジェクト検出 - Amazon SageMaker

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

動画フレームオブジェクト検出

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

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

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

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

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

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

UI には、オブジェクト検出タスクを完了するための次の補助ラベル付けツールがユーザー向けに用意されています。

  • すべてのタスクに対して、ワーカーは次にコピーすべてにコピー機能を使用して、注釈を次のフレーム、または、後続のすべてのフレームにそれぞれコピーできます。

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

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

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

SageMaker コンソールまたは CreateLabelingJob API オペレーションを使用して、動画フレームオブジェクト検出ラベル付けジョブを作成できます。

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

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

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

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

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

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

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

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

  • LabelAttributeName の末尾には、-ref を付ける必要があります。例えば video-od-labels-ref です。

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

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

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

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

    • 注釈前の Lambda ARN を確認するには、「PreHumanTaskLambdaArn」を参照してください。ラベル付けジョブを作成するリージョンに基づいて、PRE-VideoObjectDetection で終わる適切な ARN を見つけます。

    • 注釈後の Lambda ARN を確認するには、「AnnotationConsolidationLambdaArn」を参照してください。ラベル付けジョブを作成するリージョンに基づいて、ACS-VideoObjectDetection で終わる適切な ARN を見つけます。

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

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

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

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

response = client.create_labeling_job( LabelingJobName='example-video-od-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://DOC-EXAMPLE-BUCKET/path/video-frame-sequence-input-manifest.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://DOC-EXAMPLE-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/VideoObjectDetection' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectDetection', 'TaskKeywords': [ 'Video Frame Object Detection', ], 'TaskTitle': 'Video frame object detection task', 'TaskDescription': 'Classify and identify the location of objects and people in video frames', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectDetection' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

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

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

出力データ形式

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