画像データの要件 - Amazon SageMaker AI

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

画像データの要件

SageMaker Clarify 処理ジョブは、画像の説明をサポートします。このトピックでは、画像データのデータ形式要件について説明します。画像データの処理の詳細については、「computer vision」を参照してください。

画像データセットには 1 つ以上の画像ファイルが含まれます。SageMaker Clarify 処理ジョブへの入力データセットを識別するには、ProcessingInput という名前の dataset または分析設定 dataset_uri パラメータのいずれかを画像ファイルの Amazon S3 URI プレフィックスに設定します。

サポートされている画像ファイル形式とファイル拡張子を次の表に示します。

イメージ形式 ファイル拡張子

JPEG

jpg、jpeg

PNG

png

分析設定の dataset_type パラメーターを application/x-image に設定します。タイプは特定の画像ファイル形式ではないため、content_type を使用して画像ファイルの形式と拡張子を決定します。

SageMaker Clarify 処理ジョブは、各画像ファイルを 3 次元 NumPy 配列 に読み込み、さらに処理します。3 つの次元には、各ピクセルの高さ、幅、RGB 値が含まれます。

SageMaker Clarify 処理ジョブは、画像の RGB raw データを JPEG などの互換性のある画像形式に変換します。この処理は、予測のためにデータをエンドポイントに送信する前に行われます。サポートされている画像形式は以下のとおりです。

データ形式 MIME タイプ ファイル拡張子

JPEG

image/jpeg

jpg、jpeg

PNG

image/png

png

NPY

application/x-npy

All above

分析設定パラメータ content_type を使用して、リクエストペイロードのデータ形式を指定します。content_type が指定されていない場合、データ形式はデフォルトの image/jpeg になります。

SageMaker Clarify 処理ジョブは、推論エンドポイント呼び出しのレスポンスを受信すると、レスポンスペイロードを逆シリアル化し、そこから予測を引き出します。

画像分類の問題

レスポンスペイロードのデータ形式は、分析設定パラメータ accept_type で指定する必要があります。accept_type が指定されていない場合、データ形式はデフォルトの application/json になります。サポートされている形式は、表形式データセクションの「Endpoint response for tabular data」で説明されている形式と同じです。

単一のイメージを受け入れ、クラスごとに確率値 (スコア) の配列を返す SageMaker AI 組み込みイメージ分類アルゴリズムの例イメージ分類アルゴリズムによる推論については、「」を参照してください。

次の表に示すように、content_type パラメータを application/jsonlines に設定すると、レスポンスは JSON オブジェクトになります。

エンドポイントリクエストペイロード エンドポイントレスポンスペイロード (文字列表現)

1 つの画像

'{"prediction":[0.1,0.6,0.3]}'

前の例では、probability パラメータを JMESPath 式の "prediction" に設定してスコアを抽出しています。

content_type パラメータを application/json に設定すると、次の表に示すように、レスポンスは JSON オブジェクトになります。

エンドポイントリクエストペイロード エンドポイントレスポンスペイロード (文字列表現)

1 つの画像

'[0.1,0.6,0.3]'

前の例では、probability を JMESPath 式の "[*]" に設定すると、配列のすべての要素が抽出されます。前の例では、[0.1, 0.6, 0.3] が抽出されます。または、probability 設定パラメータの設定をスキップすると、配列のすべての要素も抽出されます。これは、ペイロード全体が予測として逆シリアル化されるためです。

オブジェクト検出の問題

分析設定 accept_type のデフォルトは application/json で、サポートされている形式はオブジェクトの検出推論の形式のみです。応答の形式の詳細については、「レスポンスの形式」を参照してください。

次の表は、配列を出力するエンドポイントからのレスポンスの例です。配列の各要素は、検出されたオブジェクトのクラスインデックス、信頼度スコア、境界ボックスの座標を含む値の配列です。

エンドポイントリクエストペイロード エンドポイントレスポンスペイロード (文字列表現)

1 つの画像 (1 つのオブジェクト)

'[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]'

1 つの画像 (2 つのオブジェクト)

'[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]'

次の表は、配列を参照するキーを含む JSON オブジェクトを出力するエンドポイントからのレスポンスの例です。分析設定 probability を "prediction" キーに設定して値を抽出します。

エンドポイントリクエストペイロード エンドポイントレスポンスペイロード (文字列表現)

1 つの画像 (1 つのオブジェクト)

'{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244]]}'

1 つの画像 (2 つのオブジェクト)

'{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475]]}'

エンドポイントのリクエストとレスポンスの画像データを事前に確認する

SageMaker AI リアルタイム推論エンドポイントにモデルをデプロイし、エンドポイントにリクエストを送信することをお勧めします。リクエストとレスポンスを手動で調べます。両方が「画像データを求めるエンドポイントリクエスト」セクションと「画像データを求めるエンドポイントレスポンス」セクションの要件を満たしていることを確認してください。

以下の 2 つのコード例は、画像分類とオブジェクト検出の問題の両方について、リクエストを送信してレスポンスを調べる方法を示しています。

画像分類の問題

次のコード例は、エンドポイントに PNG ファイルを読み取り、それを分類するように指示します。

aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-image-classification \ --content-type "image/png" \ --accept "application/json" \ --body fileb://./test.png \ /dev/stderr 1>/dev/null

前のコード例から、レスポンス出力は次のようになります。

[0.1,0.6,0.3]

オブジェクト検出の問題

次のコード例は、JPEG ファイルを読み取り、その中のオブジェクトを検出するようにエンドポイントに指示します。

aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-object-detection \ --content-type "image/jpg" \ --accept "application/json" \ --body fileb://./test.jpg \ /dev/stderr 1>/dev/null

前のコード例から、レスポンス出力は次のようになります。

{"prediction":[[4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],[0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475],[4.0, 0.32643985450267792, 0.3677481412887573, 0.034883320331573486, 0.6318609714508057, 0.5967587828636169],[8.0, 0.22552496790885925, 0.6152569651603699, 0.5722782611846924, 0.882301390171051, 0.8985623121261597],[3.0, 0.42260299175977707, 0.019305512309074402, 0.08386176824569702, 0.39093565940856934, 0.9574796557426453]]}