RegionYolo¶
バージョン名: RegionYolo-1
カテゴリー: 物体検出
簡単な説明: RegionYolo は、クラスごとに確率を使用して領域の座標を計算します。
詳細な説明: この操作は、YOLO9000: Better, Faster, Stronger の論文に直接マップされます。
属性:
-
anchors
説明: anchors は、以前のボックスサイズをコード化するペア
[width, height]
の平坦化されたリストをコード化します。この属性は出力計算では使用されませんが、実際のボックス座標を復元する後処理に必要です。値の範囲: 任意の長さの正の浮動小数点数のリスト
タイプ:
float[]
デフォルト値: なし
必須: いいえ
-
axis
説明: 出力で平坦化される入力テンソル
data
形状の開始軸インデックス。平坦化された範囲の終端は、end_axis
属性で定義されます。値の範囲:
-rank(data) .. rank(data)-1
タイプ:
int
必須: はい
-
coords
説明: coords は各領域の座標の数です。
値の範囲: 整数。
タイプ:
int
必須: はい
-
classes
説明: classes は各領域のクラスの数です。
値の範囲: 整数。
タイプ:
int
必須: はい
-
end_axis
説明: 出力で平坦化される入力テンソル
data
形状の終了軸インデックス。平坦化された範囲の始まりは、axis
属性で定義されます。値の範囲:
-rank(data)..rank(data)-1
タイプ:
int
必須: はい
-
num
説明: num は領域の数です。
値の範囲: 整数。
タイプ:
int
必須: はい
-
do_softmax
説明: do_softmax は推論方法を指定するフラグであり、領域数の決定方法に影響します。出力形状にも影響します。0 の場合、出力形状は 4D、それ以外の場合は 2D になります。
-
値の範囲:
false - ソフトマックスを実行しません
true - ソフトマックスを実行します
タイプ:
boolean
デフォルト値: true
必須: いいえ
-
mask
説明: mask は領域の数を指定します。do_softmax が 0 に等しい場合は、num の代わりにこの属性を使用します。
値の範囲: 整数のリスト
タイプ:
int[]
デフォルト値:
[]
必須: いいえ
入力:
1:
data
- タイプ T および形状[N, C, H, W]
の 4D テンソル。必須。
出力:
1: 検出された領域をコード化するタイプ T およびランク 4 以下のテンソル。出力をボックスとしてデコードするには、YOLO9000: Better, Faster, Stronger の論文を参照してください。
anchors
実際のボックス座標をデコードするのに使用する必要があります。do_softmax
が0
に設定されている場合、出力形状は[N, (classes + coords + 1) * len(mask), H, W]
になります。do_softmax
が1
に設定されている場合、出力形状は部分的に平坦化され、次のように定義されます。
flat_dim = data.shape[axis] * data.shape[axis+1] * ... * data.shape[end_axis]
output.shape = [data.shape[0], ..., data.shape[axis-1], flat_dim, data.shape[end_axis + 1], ...]
タイプ:
T: サポートされている浮動小数点タイプ。
例:
<!-- YOLO V3 example -->
<layer type="RegionYolo" ... >
<data anchors="10,14,23,27,37,58,81,82,135,169,344,319" axis="1" classes="80" coords="4" do_softmax="0" end_axis="3" mask="0,1,2" num="6"/>
<input>
<port id="0">
<dim>1</dim>
<dim>255</dim>
<dim>26</dim>
<dim>26</dim>
</port>
</input>
<output>
<port id="0">
<dim>1</dim>
<dim>255</dim>
<dim>26</dim>
<dim>26</dim>
</port>
</output>
</layer>
<!-- YOLO V2 Example -->
<layer type="RegionYolo" ... >
<data anchors="1.08,1.19,3.42,4.41,6.63,11.38,9.42,5.11,16.62,10.52" axis="1" classes="20" coords="4" do_softmax="1" end_axis="3" num="5"/>
<input>
<port id="0">
<dim>1</dim>
<dim>125</dim>
<dim>13</dim>
<dim>13</dim>
</port>
</input>
<output>
<port id="0">
<dim>1</dim>
<dim>21125</dim>
</port>
</output>
</layer>