crowd-bounding-box - アマゾン SageMaker

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

crowd-bounding-box

イメージに長方形を描画し、イメージのそれぞれ長方形で囲まれた部分にラベルを割り当てるためのウィジェット。

この Crowd HTML 要素を使用する HTML テンプレートのインタラクティブな例については、「CodePen」を参照してください。

<crowd-bounding-box> 要素を使用する Liquid テンプレートの例を次に示します。次のコードをコピーし、拡張子 .html でファイルに保存します。任意のブラウザでファイルを開き、このテンプレートをプレビューして操作します。その他の例については、この GitHub リポジトリを参照してください。

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-bounding-box name="annotatedResult" src="{{ task.input.taskObject | grant_read_access }}" header="Draw bounding boxes around all the cats and dogs in this image" labels="['Cat', 'Dog']" > <full-instructions header="Bounding Box Instructions" > <p>Use the bounding box tool to draw boxes around the requested target of interest:</p> <ol> <li>Draw a rectangle using your mouse over each instance of the target.</li> <li>Make sure the box does not cut into the target, leave a 2 - 3 pixel margin</li> <li> When targets are overlapping, draw a box around each object, include all contiguous parts of the target in the box. Do not include parts that are completely overlapped by another object. </li> <li> Do not include parts of the target that cannot be seen, even though you think you can interpolate the whole shape of the target. </li> <li>Avoid shadows, they're not considered as a part of the target.</li> <li>If the target goes off the screen, label up to the edge of the image.</li> </ol> </full-instructions> <short-instructions> Draw boxes around the requested target of interest. </short-instructions> </crowd-bounding-box> </crowd-form>

属性

次の属性が、この要素でサポートされています。

ヘッダー

イメージの上に表示するテキスト。これは通常、ワーカーへの質問や簡単な手順になります。

initial-value

JSON オブジェクトの配列であり、各オブジェクトはコンポーネントのロード時に境界ボックスを設定します。配列の各 JSON オブジェクトには、以下のプロパティが含まれます。initial-value プロパティを介して設定された境界ボックスは調整でき、ワーカーの回答が調整されたかどうかは、ワーカーの回答出力の initialValueModified ブール値を介して追跡されます。

  • height - ボックスの高さ (ピクセル単位)。

  • label - ラベル付けタスクの一部としてボックスに割り当てられたテキスト。このテキストは、<crowd-bounding-box> 要素の labels 属性で定義されたラベルの 1 つと一致する必要があります。

  • left - ボックスの左上隅の、イメージの左側からの測定距離 (ピクセル単位)。

  • top - ボックスの左上隅の、イメージの上部からの測定距離 (ピクセル単位)。

  • width - ボックスの幅 (ピクセル単位)。

    Liquid テンプレート言語を使用して、カスタムテンプレートの前のジョブのマニフェストファイルから境界ボックスの初期値を抽出できます。

    initial-value="[ {% for box in task.input.manifestLine.label-attribute-name-from-prior-job.annotations %} {% capture class_id %}{{ box.class_id }}{% endcapture %} {% assign label = task.input.manifestLine.label-attribute-name-from-prior-job-metadata.class-map[class_id] %} { label: {{label | to_json}}, left: {{box.left}}, top: {{box.top}}, width: {{box.width}}, height: {{box.height}}, }, {% endfor %} ]"

labels

文字列の JSON 形式の配列であり、各文字列は、長方形で囲まれたイメージ部分にワーカーが割り当てることのできるラベルです。制限: 10 ラベル。

name

このウィジェットの名前。これは、フォーム出力でウィジェットの入力用のキーとして使用されます。

src

境界ボックスを描画するイメージの URL です。

要素の階層

この要素には、以下の親および子要素があります。

リージョン

この要素には次のリージョンが必要です。

full-instructions

境界ボックスを描画する方法についての一般的な手順。

short-instructions

目立つ場所に表示されるタスク固有の重要な手順。

出力

次の出力が、この要素でサポートされています。

boundingBoxes

JSON オブジェクトの配列で、各オブジェクトはワーカーによって作成された境界ボックスを指定します。配列の各 JSON オブジェクトには、以下のプロパティが含まれます。

  • height - ボックスの高さ (ピクセル単位)。

  • label - ラベル付けタスクの一部としてボックスに割り当てられたテキスト。このテキストは、<crowd-bounding-box> 要素の labels 属性で定義されたラベルの 1 つと一致する必要があります。

  • left - ボックスの左上隅の、イメージの左側からの測定距離 (ピクセル単位)。

  • top - ボックスの左上隅の、イメージの上部からの測定距離 (ピクセル単位)。

  • width - ボックスの幅 (ピクセル単位)。

inputImageProperties

ワーカーによって注釈が付けられているイメージのディメンションを指定する JSON オブジェクト。このオブジェクトには、以下のプロパティが含まれています。

  • height - イメージの高さ (ピクセル単位)。

  • width - イメージの幅 (ピクセル単位)。

例 : 要素の出力サンプル

この要素の一般的な使用シナリオによる出力サンプルを次に示します。

1 つのラベルと 1 つのボックス、複数のラベルと 1 つのボックス

[ { "annotatedResult": { "boundingBoxes": [ { "height": 401, "label": "Dog", "left": 243, "top": 117, "width": 187 } ], "inputImageProperties": { "height": 533, "width": 800 } } } ]

1 つのラベルと複数のボックス

[ { "annotatedResult": { "boundingBoxes": [ { "height": 401, "label": "Dog", "left": 243, "top": 117, "width": 187 }, { "height": 283, "label": "Dog", "left": 684, "top": 120, "width": 116 } ], "inputImageProperties": { "height": 533, "width": 800 } } } ]

複数のラベルと複数のボックス

[ { "annotatedResult": { "boundingBoxes": [ { "height": 395, "label": "Dog", "left": 241, "top": 125, "width": 158 }, { "height": 298, "label": "Cat", "left": 699, "top": 116, "width": 101 } ], "inputImageProperties": { "height": 533, "width": 800 } } } ]

多数のラベルを使用可能にすることはできますが、使用されているものだけが出力に表示されます。

以下の資料も参照してください。

詳細については、以下を参照してください。