ビデオフレームオブジェクト検出を使用してオブジェクトを識別する - 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 を使用してオブジェクト検出タスクを実行する方法を紹介しています。

ワーカーがオブジェクト検出タスクに境界ボックスツールを使用する方法を示す Gif。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

response = client.create_labeling_job( LabelingJobName='example-video-od-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/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 を初めて使用する場合は、 出力データ形式の詳細について「ジョブ出力データのラベル付け」を参照してください。