ExperimentalDetectronROIFeatureExtractor¶
バージョン名: ExperimentalDetectronROIFeatureExtractor-6
カテゴリー: 物体検出
簡単な説明: ExperimentalDetectronROIFeatureExtractor は、特徴ピラミッドに適用される ROIAlign 操作です。
詳細な説明: ExperimentalDetectronROIFeatureExtractor は、ROI のサイズと操作のパラメーターに応じて入力 ROI をピラミッドのレベルにマッピングし、対応するピラミッドレベルから ROIAlign を介して特徴を抽出します。
操作では、ROIAlign アルゴリズムをピラミッドレイヤーに適用します。
output[i, :, :, :] = ROIAlign(inputPyramid[j], rois[i])
j = PyramidLevelMapper(rois[i])
PyramidLevelMapper は、次の式で ROI をピラミッドレベルにマップします。
j = floor(2 + log2(sqrt(w * h) / 224)
ここで、224 は正規の ImageNet 事前トレーニング・サイズ、2 はピラミッドの開始レベル、w
、h
は ROI の幅と高さです。
詳細については、オブジェクト検出のための特徴ピラミッド・ネットワークを参照してください。
属性:
output_size
説明: output_size 属性は、出力テンソルの幅と高さを指定します。
値の範囲: 正の整数
タイプ:
int
デフォルト値: なし
必須: はい
sampling_ratio
説明: sampling_ratio 属性は、出力値ごとのサンプリング・ポイントの数を指定します。0 の場合、
ceil(roi_width / output_width)
で計算された適応数値を使用し、高さにも同様にします。値の範囲: 負でない整数
タイプ:
int
デフォルト値: なし
必須: はい
pyramid_scales
説明: pyramid_scales には、ピラミッドレイヤー
l=1,...,L
のimage_size / layer_size[l]
比率がリストされます。ここで、L
はピラミッドレイヤー数、image_size
はネットワークの入力画像を指します。ピラミッドの最大のレイヤーのサイズは入力画像よりも小さい場合があることに注意してください。以下の XML の例では、image_size
は800 x 1344
です。値の範囲: 正の整数のリスト
タイプ:
int[]
デフォルト値: なし
必須: はい
aligned
説明: aligned 属性は、ROI サイズにオフセット (
-0.5
) を加算するかどうかを指定します。値の範囲:
true
- ROI サイズにオフセットを追加しますfalse
- ROI サイズにオフセットを追加しません
タイプ: ブール値
デフォルト値 : false
必須: いいえ
入力:
1: ROI を 4 つのタプルとして提供する、形状
[number_of_ROIs, 4]
のタイプ T の 2D 入力テンソル: .. math:: [x_{1}, y_{1}, x_{2}, y_{2}]。座標 x と y は、ネットワークの入力 image_size を参照します。必須。2, …, L: 特徴マップを備えた 4D 入力テンソルのピラミッド。形状は
[1, number_of_channels, layer_size[l], layer_size[l]]
である必要があります。チャネル数は、ピラミッドのすべてのレイヤーで同じでなければなりません。レイヤーの幅と高さは、layer_size[l] = image_size / pyramid_scales[l]
と等しくなければなりません。必須。
出力:
1: ROI 特徴を備えたタイプ T の 4D 出力テンソル。形状は
[number_of_ROIs, number_of_channels, output_size, output_size]
である必要があります。チャネル数は、入力ピラミッド内のすべての画像と同じです。2: ピラミッドレベルへのマッピングに従って並べ替えられた ROI を持つ T タイプの 2D 出力テンソル。形状は 1 入力の場合と同じである必要があります:
[number_of_ROIs, 4]
。
タイプ:
T: サポートされている浮動小数点タイプ。
例:
<layer ... type="ExperimentalDetectronROIFeatureExtractor" version="opset6">
<data aligned="false" output_size="7" pyramid_scales="4,8,16,32,64" sampling_ratio="2"/>
<input>
<port id="0">
<dim>1000</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>1</dim>
<dim>256</dim>
<dim>200</dim>
<dim>336</dim>
</port>
<port id="2">
<dim>1</dim>
<dim>256</dim>
<dim>100</dim>
<dim>168</dim>
</port>
<port id="3">
<dim>1</dim>
<dim>256</dim>
<dim>50</dim>
<dim>84</dim>
</port>
<port id="4">
<dim>1</dim>
<dim>256</dim>
<dim>25</dim>
<dim>42</dim>
</port>
</input>
<output>
<port id="5" precision="FP32">
<dim>1000</dim>
<dim>256</dim>
<dim>7</dim>
<dim>7</dim>
</port>
<port id="6" precision="FP32">
<dim>1000</dim>
<dim>4</dim>
</port>
</output>
</layer>