スコアの降順で境界ボックスのサブセットを貪欲に選択します。
以前に選択したボックスと重複する交差オーバーユニオン (IOU) が高いボックスを削除します。スコアが「score_threshold」未満の境界ボックスは削除されます。境界ボックスは [y1, x1, y2, x2] として指定されます。ここで、(y1, x1) および (y2, x2) はボックスの角の対角ペアの座標であり、座標は正規化されたものとして提供できます (つまり、間隔 [0, 1]) または絶対値。このアルゴリズムは、原点が座標系のどこにあるかに依存せず、より一般的には、座標系の直交変換および平行移動に対して不変であることに注意してください。したがって、座標系の変換または反映により、同じボックスがアルゴリズムによって選択されます。この操作の出力は、選択されたボックスを表す境界ボックスの入力コレクションにインデックスを付ける整数のセットです。選択したインデックスに対応する境界ボックスの座標は、「tf.gather 操作」を使用して取得できます。例: selected_indices = tf.image.non_max_suppression_v2(boxes,scores,max_output_size,iou_threshold,score_threshold) selected_boxes = tf.gather(boxes, selected_indices) この演算は、Soft-NMS (ガウス重み付け付き) モードもサポートしています (Bodla et al を参照) 、https://arxiv.org/abs/1704.04503) ここで、ボックスは他の重なり合うボックスを直接枝刈りさせるのではなく、そのスコアを減らします。この Soft-NMS モードを有効にするには、「soft_nms_sigma」パラメータを 0 より大きく設定します。
ネストされたクラス
クラス | NonMaxSuppression.オプション | NonMaxSuppression のオプションの属性 |
定数
弦 | OP_NAME | TensorFlow コア エンジンによって認識される、この演算の名前 |
パブリックメソッド
static <T extends TNumber > NonMaxSuppression <T> | |
静的NonMaxSuppression.Options | PadToMaxOutputSize (ブール値のpadToMaxOutputSize) |
出力< TInt32 > | 選択されたインデックス() ボックス テンソルから選択されたインデックスを表す形状 `[M]` の 1 次元整数テンソル (`M <= max_output_size`)。 |
出力<T> | 選択されたスコア() 選択された各ボックスの対応するスコアを表す形状 `[M]` の 1 次元浮動小数点数テンソル (`M <= max_output_size`)。 |
出力< TInt32 > | 有効な出力() `selected_indices` 内の有効な要素の数を表す 0 次元の整数テンソル。有効な要素が最初に現れます。 |
継承されたメソッド
定数
パブリック静的最終文字列OP_NAME
TensorFlow コア エンジンによって認識される、この演算の名前
パブリックメソッド
public static NonMaxSuppression <T> create (スコープスコープ、オペランド<T> ボックス、オペランド<T> スコア、オペランド< TInt32 > maxOutputSize、オペランド<T> iouThreshold、オペランド<T> スコアしきい値、オペランド<T> SoftNmsSigma、オプション.. .オプション)
新しい NonMaxSuppression 操作をラップするクラスを作成するためのファクトリ メソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
ボックス | 形状 `[num_boxes, 4]` の 2 次元浮動小数点テンソル。 |
スコア | 各ボックス (ボックスの各行) に対応する単一のスコアを表す、形状 `[num_boxes]` の 1 次元浮動小数点テンソル。 |
最大出力サイズ | 非最大抑制によって選択されるボックスの最大数を表すスカラー整数テンソル。 |
iouしきい値 | IOU に関してボックスが重なりすぎるかどうかを決定するためのしきい値を表す 0 次元浮動小数点テンソル。 |
スコアしきい値 | スコアに基づいてボックスをいつ削除するかを決定するためのしきい値を表す 0 次元浮動小数点テンソル。 |
ソフトNmsシグマ | Soft NMS のシグマ パラメーターを表す 0 次元浮動小数点テンソル。 Bodla et al (https://arxiv.org/abs/1704.04503 を参照) を参照してください。 `soft_nms_sigma=0.0` (デフォルト) の場合、標準 (ハード) NMS に戻ります。 |
オプション | オプションの属性値を持ちます |
戻り値
- NonMaxSuppression の新しいインスタンス
public static NonMaxSuppression.Options PadToMaxOutputSize (Boolean PadToMaxOutputSize)
パラメーター
パッドから最大出力サイズまで | true の場合、出力 `selected_indices` は長さ `max_output_size` になるようにパディングされます。デフォルトは false です。 |
---|
public Output < TInt32 > selectedIndices ()
ボックス テンソルから選択されたインデックスを表す形状 `[M]` の 1 次元整数テンソル (`M <= max_output_size`)。
public Output <T> selectedScores ()
選択された各ボックスの対応するスコアを表す形状 `[M]` の 1 次元浮動小数点数テンソル (`M <= max_output_size`)。スコアは、ソフト NMS を使用する場合 (つまり、「soft_nms_sigma>0」の場合) にのみ、対応する入力スコアと異なります。