PriorBox

バージョン名: PriorBox-8

カテゴリー: 物体検出

簡単な説明: PriorBox 操作は、すべての次元に対して指定されたサイズとアスペクト比の事前ボックスを生成します。

詳細な説明:

PriorBox は、次の規則によって、前のボックスの座標を計算します。

  1. まず、前のボックスの center_xcenter_y を計算します。

\[\begin{split}W \equiv Width \quad Of \quad Image \\ H \equiv Height \quad Of \quad Image\end{split}\]
  • ステップが 0 の場合:

\[\begin{split}center_x=(w+0.5) \\ center_y=(h+0.5)\end{split}\]
  • それ以外の場合:

\[\begin{split}center_x=(w+offset)*step \\ center_y=(h+offset)*step \\ w \subset \left( 0, W \right ) \\ h \subset \left( 0, H \right )\end{split}\]
  1. 次に、\(s \subset \left( 0, min\_sizes \right )\) ごとに前のボックスの座標を計算します。

\[ \begin{align}\begin{aligned} xmin = \frac{\frac{center_x - s}{2}}{W}\\.. math::\\ ymin = \frac{\frac{center_y - s}{2}}{H}\end{aligned}\end{align} \]
\[xmax = \frac{\frac{center_x + s}{2}}{W}\]
\[ymin = \frac{\frac{center_y + s}{2}}{H}\]
  1. clip 属性が true に設定されている場合、各出力値は \(\left< 0, 1 \right>\) の間でクリップされます。

属性:

  • min_size (max_size)

    • 説明: min_size (max_size) は、最小 (最大) ボックスサイズ (ピクセル単位) です。

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

    • タイプ: float[]

    • デフォルト値: []

    • 必須: いいえ

  • aspect_ratio

    • 説明: aspect_ratio はアスペクト比の分散です。重複する値は無視されます。

    • 値の範囲: 正の整数セット

    • タイプ: float[]

    • デフォルト値: []

    • 必須: いいえ

  • flip

    • 説明: flip は、各 aspect_ratio を複製して反転することを示すフラグです。例えば、flip は 1、aspect_ratio[4.0,2.0] に等しく、アスペクト比は [4.0,2.0,0.25,0.5] に等しいことを意味します。

    • 値の範囲:

      • false または 0 - 各 aspect_ratio が反転されます

      • true または 1 - 各 aspect_ratio が反転されません

    • タイプ: boolean

    • デフォルト値 : false

    • 必須: いいえ

  • clip

    • 説明: clip は、出力テンソルの各値を [0,1] 間隔にクリップするかどうかを示すフラグです。

    • 値の範囲:

      • false または 0 - クリッピングは行われません

      • true または 1 - 出力テンソルの各値は [0,1] 間隔にクリップされます。

    • タイプ: boolean

    • デフォルト値 : false

    • 必須: いいえ

  • step

    • 説明: step はボックスの中心間の距離です。

    • 値の範囲: 負でない浮動小数点数

    • タイプ: float

    • デフォルト値: 0

    • 必須: いいえ

  • offset

    • 説明: offset は、それぞれボックスの左上隅へのシフトです。

    • 値の範囲: 負でない浮動小数点数

    • タイプ: float

    • 必須: はい

  • variance

    • 説明: variance は、境界ボックスの調整の分散を示します。属性には 0、1、または 4 つの要素を含めることができます。

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

    • タイプ: float[]

    • デフォルト値: []

    • 必須: いいえ

  • scale_all_sizes

    • 説明: scale_all_sizes は推論の種類を示すフラグです。例えば、scale_all_sizes が 0 の場合、max_size 属性が無視されることを意味します。

    • 値の範囲:

      • false - max_size は無視されます

      • true - max_size が使用されます

    • タイプ: boolean

    • デフォルト値: true

    • 必須: いいえ

  • fixed_ratio

    • 説明: fixed_ratio はボックスのアスペクト比です。

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

    • タイプ: float[]

    • デフォルト値: []

    • 必須: いいえ

  • fixed_size

    • 説明: fixed_size は、初期のボックスサイズ (ピクセル単位) です。

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

    • タイプ: float[]

    • デフォルト値: []

    • 必須: いいえ

  • density

    • 説明: density は、各タイプのボックスの数の平方根です。

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

    • タイプ: float[]

    • デフォルト値: []

    • 必須: いいえ

  • min_max_aspect_ratios_order

    • 説明: min_max_aspect_ratios_order は、出力前のボックスの順序を示すフラグです。true に設定すると、出力前のボックスは [min、max、aspect_ratios] の順序になり、これは Caffe と一致します。この順序は、前の畳み込みレイヤーの重みの順序に影響を与えますが、最終的な検出結果には影響を与えないことに注意してください。

    • 値の範囲:

      • false - 出力前のボックスは [min、aspect_ratios、max] の順です

      • true - 出力前のボックスは [min、max、aspect_ratios] の順です

    • タイプ: boolean

    • デフォルト値: true

    • 必須: いいえ

入力:

  • 1: output_size - 2 つの要素 [height, width] を持つ T_INT タイプの 1D テンソル。生成されるグリッドの空間サイズをボックスで指定します。必須。

  • 2: image_size - 2 つの要素 [image_height, image_width] を持つ T_INT タイプの 1D テンソル。ボックスを生成する画像の形状を指定します。必須。

出力:

  • 1: 形状 [2, 4 * height * width * priors_per_point] の 2D テンソル、ボックス座標を持つ T_OUT タイプ。priors_per_point は、各グリッド要素ごとに生成されるボックスの数です。この数は操作の属性値によって異なります。

タイプ:

  • T_INT: サポートされている整数タイプ。

  • T_OUT: サポートされている浮動小数点タイプ。

例:

<layer type="PriorBox" ...>
    <data aspect_ratio="2.0" clip="false" density="" fixed_ratio="" fixed_size="" flip="true" max_size="38.46" min_size="16.0" offset="0.5" step="16.0" variance="0.1,0.1,0.2,0.2"/>
    <input>
        <port id="0">
            <dim>2</dim>        <!-- values: [24, 42] -->
        </port>
        <port id="1">
            <dim>2</dim>        <!-- values: [384, 672] -->
        </port>
    </input>
    <output>
        <port id="2">
            <dim>2</dim>
            <dim>16128</dim>
        </port>
    </output>
</layer>