GenerateProposals¶
バージョン名: GenerateProposals-9
カテゴリー: 物体検出
簡単な説明: GenerateProposals 操作は、バッチ内の各画像の入力データに基づいて ROI とそのスコアを提案します。
詳細な説明: この操作では、各イメージに対して次の手順が実行されます。
予測されたバウンディング・ボックスのデルタとスコアを転置および再形成して、アンカーと同じ次元の順序にします。
アンカーとデルタをプロポーザル・ボックスに変換し、プロポーザル・ボックスを画像にクリップします。normalized 属性は、プロポーザル Bbox が正規化されているかどうかを示します。
すべての
(proposal, score)
のペアをスコアの高い順から低い順に並べ替えます。スコアが等しいペアの順序は定義されていません。プロポーザルの合計数が pre_nms_count 未満の場合は、上位の pre_nms_count プロポーザルから、すべてのプロポーザルを取得します。
高さまたは幅 < min_size の予測ボックスを削除します。
adaptive_nms_threshold を使用して非最大抑制を適用します。adaptive_nms_threshold の初期値は nms_threshold です。
nms_eta < 1
およびadaptive_threshold > 0.5
の場合、adaptive_threshold *= nms_eta
を更新します。nms 操作後の上位のプロポーザルを取得して返します。各イメージで返されるプロポーザルの数は動的ですであり、出力ポート 3
rpnroisnum
によって指定されます。また、各画像内のプロポーザルの最大数は属性 post_nms_count で指定されます。
バッチ全体のすべてのプロポーザルは画像ごとに連結されており、出力を通じて区別できます。
属性:
- min_size
説明: min_size 属性は、ボックスの最小の幅と高さを指定します。
値の範囲: 負でない浮動小数点数
タイプ: float
必須: はい
- nms_threshold
説明: nms_threshold 属性は、NMS ステージで使用されるしきい値を指定します。
値の範囲: 負でない浮動小数点数
タイプ: float
必須: はい
- pre_nms_count
説明: pre_nms_count 属性は、NMS 前の上位 n プロポーザルの数を指定します。
値の範囲: 負でない整数
タイプ: int
必須: はい
- post_nms_count
説明: post_nms_count 属性は、NMS 後の上位 n プロポーザルの数を指定します。
値の範囲: 負でない整数
タイプ: int
必須: はい
- normalized
説明: normalized は、プロポーザル Bbox が正規化されているかどうかを示すフラグです。
値の範囲: true または false * true - bbox 座標は正規化されます。 * false - bbox 座標は正規化されません。
タイプ: ブール値
デフォルト値: true
必須: いいえ
- nms_eta
説明: 適応型 NMS の eta パラメーター。
値の範囲: 閉範囲
[0, 1.0]
の浮動小数点数。タイプ: float
デフォルト値:
1.0
必須: いいえ
- roi_num_type
説明: 出力 3
rpnroisnum
の要素のタイプ。値の範囲: i32、i64
タイプ: 文字列
デフォルト値:
i64
必須: いいえ
入力:
1:
im_info
- 入力イメージ情報を提供する、タイプ T および形状[num_batches, 3]
または[num_batches, 4]
のテンソル。画像情報は、[image_height, image_width, scale_height_and_width]
または[image_height, image_width, scale_height, scale_width]
としてレイアウトされます。必須。2:
anchors
- アンカーを提供する形状[height, width, number_of_anchors, 4]
を持つタイプ T のテンソル。 各アンカーは[xmin, ymin, xmax, ymax]
としてレイアウトされます。必須。3:
boxesdeltas
- アンカーのデルタを提供する形状[num_batches, number_of_anchors * 4, height, width]
を持つタイプ T のテンソル。デルタは、レイアウト[dx, dy, log(dw), log(dh)]
の 4 つの要素タプルで構成されます。必須。4:
scores
- プロポーザル・スコアを提供する形状[num_batches, number_of_anchors, height, width]
のタイプ T のテンソル。必須。
入力 anchors
、boxesdeltas
および scores
からの height
と width
は、特徴マップの高さと幅です。
出力:
1:
rpnrois
- プロポーザル ROI を提供する形状[num_rois, 4]
のタイプ T のテンソル。 プロポーザルは[xmin, ymin, xmax, ymax]
としてレイアウトされます。num_rois
は、1 つのバッチ内のすべての画像の合計プロポーザル数です。num_rois
は動的な次元です。2:
rpnscores
- プロポーザル ROI スコアを提供する形状[num_rois]
のタイプ T のテンソル。3:
rpnroisnum
- 各画像内でプロポーザル ROI の数を提供する形状[num_batches]
を持つタイプ roi_num_type のテンソル。
タイプ:
T: サポートされている浮動小数点タイプ。
例:
<layer ... type="GenerateProposals" version="opset9">
<data min_size="0.0" nms_threshold="0.699999988079071" post_nms_count="1000" pre_nms_count="1000" roi_num_type="i32"/>
<input>
<port id="0">
<dim>8</dim>
<dim>3</dim>
</port>
<port id="1">
<dim>50</dim>
<dim>84</dim>
<dim>3</dim>
<dim>4</dim>
</port>
<port id="2">
<dim>8</dim>
<dim>12</dim>
<dim>50</dim>
<dim>84</dim>
</port>
<port id="3">
<dim>8</dim>
<dim>3</dim>
<dim>50</dim>
<dim>84</dim>
</port>
</input>
<output>
<port id="4" precision="FP32">
<dim>-1</dim>
<dim>4</dim>
</port>
<port id="5" precision="FP32">
<dim>-1</dim>
</port>
<port id="6" precision="I32">
<dim>8</dim>
</port>
</output>
</layer>