ROIAlign¶
バージョン名: ROIAlign-9
カテゴリー: 物体検出
簡単な説明:: ROIAlign は、不均一な入力サイズの特徴マップ上で使用されるプーリングレイヤーであり、固定サイズの特徴マップを出力します。
詳細説明: リファレンス。
ROIAlign は、各入力特徴マップの関心領域 (ROI) ごとに以下を実行します。
ボックス座標に spatial_scale を乗算して、aligned_mode 属性に基づいて入力特徴マップサイズを基準にしたボックス座標を生成します。
ボックスを sampling_ratio 属性に従ってビンに分割します。
各ビンに 4 つのポイントで双線形内挿を適用し、mode 属性に基づいて最大または平均プーリングにより出力特徴マップ要素を生成します。
属性:
-
pooled_h
説明: pooled_h は、ROI 出力特徴マップの高さです。
値の範囲: 正の整数
タイプ:
int
必須: はい
-
pooled_w
説明: pooled_w は、ROI 出力特徴マップの幅です。
値の範囲: 正の整数
タイプ:
int
必須: はい
-
sampling_ratio
説明: sampling_ratio は、各出力特徴マップ要素の計算に使用する高さと幅のビンの数です。値が 0 に等しい場合は、高さと幅に対して適応要素数 (それぞれ
ceil(roi_height / pooled_h)
とceil(roi_width / pooled_w)
) を使用します。値の範囲: 負ではない整数
タイプ:
int
必須: はい
-
spatial_scale
説明: spatial_scale は、ROI 座標を入力空間スケールからプールする際に使用されるスケールに変換する乗算空間スケール係数です。
値の範囲: 正の浮動小数点数
タイプ:
float
必須: はい
-
mode
説明: mode は、出力特徴マップ要素を生成するためにプーリングを実行する方法を指定します。
-
値の範囲:
max - 最大プーリング
avg - 平均プーリング
タイプ: 文字列
必須: はい
-
aligned_mode
説明: aligned_mode は、元のテンソルの座標をサイズ変更されたテンソルに変換する方法を指定します。
-
値の範囲: 文字列形式の変換モードの名前 (ここでは、spatial_scale は resize_shape[x] /original_shape[x]、resize_shape[x] は x 軸のサイズ変更されたテンソルの形状、original_shape[x] は x 軸の元のテンソルの形状、および x_original は、入力軸からの任意の軸 x の軸 x の座標です):
asymmetric - サイズ変更されたテンソル軸 x の座標は、式 x_original * spatial_scale に従って計算されます。
half_pixel_for_nn - サイズ変更されたテンソル軸 x の座標は、x_original * spatial_scale - 0.5 です。
half_pixel - サイズ変更されたテンソル軸 x の座標は、((x_original + 0.5) * spatial_scale) - 0.5 として計算されます。
タイプ: 文字列
デフォルト値 : asymmetric
必須: いいえ
入力:
1: T タイプの特徴マップを持つ形状
[N, C, H, W]
の 4D 入力テンソル。必須。-
2: 4 つの要素タプル
[x_1, y_1, x_2, y_2]
で構成されるボックスを記述する形状[NUM_ROIS, 4]
の 2D 入力テンソル (タイプ T の相対座標)。ボックスの高さと幅は次の方法で計算されます。aligned_mode が asymmetric の場合:
roi_width = max(spatial_scale * (x_2 - x_1), 1.0)
、roi_height = max(spatial_scale * (y_2 - y_1), 1.0)
であり、不正な形式のボックスはサイズ1 x 1
のボックスとして表現されます。それ以外は:
roi_width = spatial_scale * (x_2 - x_1)
,roi_height = spatial_scale * (y_2 - y_1)
です。必須。
3: IND_T タイプのバッチ・インデックスを持つ形状
[NUM_ROIS]
の 1D 入力テンソル。必須。
出力:
1: タイプ T の特徴マップを持つ形状
[NUM_ROIS, C, pooled_h, pooled_w]
の 4D 出力テンソル。
タイプ:
T: サポートされている浮動小数点タイプ。
IND_T: サポートされている整数タイプ。
例:
<layer ... type="ROIAlign" ... >
<data pooled_h="6" pooled_w="6" spatial_scale="16.0" sampling_ratio="2" mode="avg" aligned_mode="half_pixel"/>
<input>
<port id="0">
<dim>7</dim>
<dim>256</dim>
<dim>200</dim>
<dim>200</dim>
</port>
<port id="1">
<dim>1000</dim>
<dim>4</dim>
</port>
<port id="2">
<dim>1000</dim>
</port>
</input>
<output>
<port id="3" precision="FP32">
<dim>1000</dim>
<dim>256</dim>
<dim>6</dim>
<dim>6</dim>
</port>
</output>
</layer>