スコアの降順で境界ボックスのサブセットを貪欲に選択します。
この操作は、すべてのクラスにわたって、バッチごとの入力に対して non_max_suppression を実行します。以前に選択したボックスと重複する交差オーバーユニオン (IOU) が高いボックスを削除します。境界ボックスは [y1, x1, y2, x2] として指定されます。ここで、(y1, x1) および (y2, x2) はボックスの角の対角ペアの座標であり、座標は正規化されたものとして提供できます (つまり、間隔 [0, 1]) または絶対値。このアルゴリズムは、座標系の原点がどこにあるかに依存しないことに注意してください。また、このアルゴリズムは、座標系の直交変換および平行移動に対して不変であることにも注意してください。したがって、座標系の変換または反映により、同じボックスがアルゴリズムによって選択されます。この操作の出力は、non_max_suppression の実行後に返される最終的なボックス、スコア、およびクラス テンソルです。
ネストされたクラス
クラス | CombinedNonMaxSuppression.Options | CombinedNonMaxSuppression のオプションの属性 |
パブリックメソッド
静的CombinedNonMaxSuppression.Options | クリップボックス(ブール値のクリップボックス) |
静的CombinedNonMaxSuppression | |
出力<浮動小数点数> | nmsedBoxes () 非最大抑制ボックスを含む [batch_size, max_detections, 4] float32 テンソル。 |
出力<浮動小数点数> | nmsedClasses () ボックスのクラスを含む [batch_size, max_detections] float32 テンソル。 |
出力<浮動小数点数> | nmsedスコア() ボックスのスコアを含む [batch_size, max_detections] float32 テンソル。 |
静的CombinedNonMaxSuppression.Options | PadPerClass (ブール値の PadPerClass) |
出力<整数> | 有効な検出() バッチ項目ごとの有効な検出数を示す [batch_size] int32 テンソル。 |
継承されたメソッド
パブリックメソッド
public static CombinedNonMaxSuppression.Options ClipBoxes (Boolean ClipBoxes)
パラメーター
クリップボックス | true の場合、ボックス座標は [0, 1] の間にあると想定され、出力ボックスが [0, 1] を超える場合はクリップされます。 falseの場合、クリッピングを行わずボックス座標をそのまま出力します。 |
---|
public static CombinedNonMaxSuppression create (スコープスコープ、オペランド<Float> ボックス、オペランド<Float> スコア、オペランド<Integer> maxOutputSizePerClass、オペランド<Integer> maxTotalSize、オペランド<Float> iouThreshold、オペランド<Float> スコアしきい値、オプション...オプション)
新しい CombinedNonMaxSuppression 操作をラップするクラスを作成するためのファクトリ メソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
ボックス | 形状 `[batch_size, num_boxes, q, 4]` の 4 次元浮動小数点テンソル。 「q」が 1 の場合、すべてのクラスに同じボックスが使用されます。それ以外の場合、「q」がクラスの数と等しい場合、クラス固有のボックスが使用されます。 |
スコア | 各ボックス (ボックスの各行) に対応する単一のスコアを表す、形状 `[batch_size, num_boxes, num_classes]` の 3 次元浮動小数点テンソル。 |
クラスごとの最大出力サイズ | クラスごとの非最大抑制によって選択されるボックスの最大数を表すスカラー整数テンソル |
maxTotalSize | すべてのクラスにわたって保持されるボックスの最大数を表す int32 スカラー。この値を大きな数値に設定すると、システムのワークロードによっては OOM エラーが発生する可能性があることに注意してください。 |
iouしきい値 | IOU に関してボックスが重なりすぎるかどうかを決定するためのしきい値を表す 0 次元浮動小数点テンソル。 |
スコアしきい値 | スコアに基づいてボックスをいつ削除するかを決定するためのしきい値を表す 0 次元浮動小数点テンソル。 |
オプション | オプションの属性値を持ちます |
戻り値
- CombinedNonMaxSuppression の新しいインスタンス
public static CombinedNonMaxSuppression.Options PadPerClass (Boolean PadPerClass)
パラメーター
パッドごとのクラス | false の場合、出力 nmsed ボックス、スコア、クラスは「max_total_size」までパディング/クリップされます。 true の場合、出力 nmsed ボックス、スコア、およびクラスは、長さが `max_size_per_class`*`num_classes` になるようにパディングされます。ただし、それが `max_total_size` を超える場合は、`max_total_size` にクリップされます。デフォルトは false です。 |
---|
public Output <整数> validDetections ()
バッチ項目ごとの有効な検出数を示す [batch_size] int32 テンソル。 nms_boxes[i]、nms_scores[i]、および nms_class[i] の上位 num_detections[i] エントリのみが有効です。残りのエントリはゼロ埋め込みです。