DeformablePSROIPooling

バージョン名: DeformablePSROIPooling-1

カテゴリー: 物体検出

簡単な説明: DeformablePSROIPooling は、入力によって指定された関心領域の変形可能な位置依存プーリングを計算します。

詳細な説明: リファレンス

DeformablePSROIPooling 操作は、位置スコアマップ、関心領域 (ROI、ボックス座標)、および変換値 (ROI ビン座標の正規化されたオフセット) を含むオプションのテンソルを含む 2 つまたは 3 つの入力テンソルを受け取ります。入力が 2 つだけ指定されている場合は、通常の ROI ビン位置を使用した位置依存プーリングが計算されます (変形不可)。3 番目の入力がある場合、各ビンの位置は、対応するオフセットをビンの左上隅の座標に追加することによって変換されます。3 番目の入力値は通常、通常の位置依存プーリングレイヤーによって計算されるため、非変形モード (2 つの入力を持つ DeformablePSROIPooling) になります。ROI 座標は、絶対値の 5 つの要素タプル [batch_id, x_1, y_1, x_2, y_2] として指定されます。

この操作は、group_sizepooled_size と等しい Apache MXNet DeformablePSROIPooling と互換性があります。

属性:

  • output_dim

    • 説明: output_dim は出力チャネルの数、出力 C 次元のサイズです。

    • 値の範囲: 正の整数

    • タイプ: int

    • 必須: はい

  • spatial_scale

    • 説明: spatial_scale は、ROI 座標を元の入力サイズからプーリング入力に変換する乗算空間スケール係数です。入力スコア・マップ・サイズと元のイメージサイズの比率。

    • 値の範囲: 正の浮動小数点数

    • タイプ: float

    • 必須: はい

  • group_size

    • 説明: group_size は、単一の ROI 領域を分割する行ごとの水平ビンの数です。ビンの合計数は、group_size*group_size として計算できます。プールされた幅と高さを定義するため、H_outW_out の次元が出力されます (常に等しい)。group_size の 2 乗は、入力チャネル C_in の次元を分割し、C_in \\ group_size*group_size グループに分割する数でもあります。各グループは 1 つの出力チャネルに対応し、ROI のビンは入力チャネルグループのメンバーに分散されます。

    • 値の範囲: 正の整数

    • タイプ: int

    • デフォルト値: 1

    • 必須: いいえ

  • mode

    • 説明: mode ではプーリングのモードを指定します。

    • 値の範囲:

      • bilinear_deformable - 単一の ROI ビンに対して双線形補間を使用してプーリングを実行します。ROI ビンについて、補間された spatial_bins_x*spatial_bins_y サブビン値の平均が計算されます。

    • タイプ: string

    • デフォルト値: bilinear_deformable

    • 必須: いいえ

  • spatial_bins_x

    • 説明: spatial_bins_x は、ROI の単一ビンを分割する水平サブビン (双線形補間サンプル) の数を指定します。

    • 値の範囲: 正の整数

    • タイプ: int

    • デフォルト値: 1

    • 必須: いいえ

  • spatial_bins_y

    • 説明: spatial_bins_y は、ROI の単一ビンを分割する垂直サブビン (双線形補間サンプル) の数を指定します。

    • 値の範囲: 正の整数

    • タイプ: int

    • デフォルト値: 1

    • 必須: いいえ

  • trans_std

    • 説明: trans_std は、オフセットの大きさを調整する、すべての 3 番目の入力値 (オフセット) に乗算される値です。

    • 値の範囲: 浮動小数点数

    • タイプ: float

    • デフォルト値: 1

    • 必須: いいえ

  • part_size

    • 説明: part_size は、3 番目の入力 (オフセット) の HW 次元のサイズです。基本的には、変換値を含む 3 番目の入力の高さと幅です。

    • 値の範囲: 正の整数

    • タイプ: int

    • デフォルト値: 1

    • 必須: いいえ

入力:

  • 1: 位置依存スコアマップを使用したタイプ T および形状 [N_in, C_in, H_in, W_in] の 4D 入力テンソル。必須。

  • 2: タイプ T および形状 [NUM_ROIS, 5] の 2D 入力テンソル。これには、単一の ROI (関心領域) を記述する 5 つの要素タプルのリストが含まれています: [batch_id, x_1, y_1, x_2, y_2]必須。バッチ・インデックスは [0, N_in-1] の範囲内にある必要があります。

  • 3: 変換値を含むタイプ T および形状 [NUM_ROIS, 2*NUM_CLASSES, group_size, group_size] の 4D 入力テンソル。これには、各 ROI ビンの左上隅の座標の正規化された [0, 1] オフセットが含まれます。2 つの (x, y) 座標をエンコードするため、チャネル次元は 2 倍になります。オプション。

出力:

  • 1: ROI スコアマップを含むタイプ T 形状 [NUM_ROIS, output_dim, group_size, group_size] の 4D 出力テンソル。

タイプ:

  • T: 任意の浮動小数点タイプ。

例:

  • 2 つの入力 (オフセットなし)

<layer ... type="DeformablePSROIPooling" ... >
    <data spatial_scale="0.0625" output_dim="882" group_size="3" mode="bilinear_deformable" spatial_bins_x="4" spatial_bins_y="4" trans_std="0.0" part_size="3"/>
    <input>
        <port id="0">
            <dim>1</dim>
            <dim>7938</dim>
            <dim>63</dim>
            <dim>38</dim>
        </port>
        <port id="1">
            <dim>300</dim>
            <dim>5</dim>
        </port>
    </input>
    <output>
        <port id="2" precision="FP32">
            <dim>300</dim>
            <dim>882</dim>
            <dim>3</dim>
            <dim>3</dim>
        </port>
    </output>
</layer>
  • 3 つの入力 (オフセットあり)

<layer ... type="DeformablePSROIPooling" ... >
    <data group_size="7" mode="bilinear_deformable" output_dim="8" part_size="7" spatial_bins_x="4" spatial_bins_y="4" spatial_scale="0.0625" trans_std="0.1"/>
    <input>
        <port id="0">
            <dim>1</dim>
            <dim>392</dim>
            <dim>38</dim>
            <dim>63</dim>
        </port>
        <port id="1">
            <dim>300</dim>
            <dim>5</dim>
        </port>
        <port id="2">
            <dim>300</dim>
            <dim>2</dim>
            <dim>7</dim>
            <dim>7</dim>
        </port>
    </input>
    <output>
        <port id="3" precision="FP32">
            <dim>300</dim>
            <dim>8</dim>
            <dim>7</dim>
            <dim>7</dim>
        </port>
    </output>
</layer>