スコアの降順で境界ボックスのサブセットを貪欲に選択し、
高い交差オーバーユニオン(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より大きく設定します。
ネストされたクラス
クラス | NonMaxSuppressionV5.Options | NonMaxSuppressionV5 オプションの属性 |
パブリックメソッド
static <T extends Number> NonMaxSuppressionV5 <T> | |
静的NonMaxSuppressionV5.Options | padToMaxOutputSize (ブール値padToMaxOutputSize) |
出力<整数> | selectedIndices () ボックステンソルから選択されたインデックスを表す形状 `[M]`の1次元整数テンソル。ここで、 `M <= max_output_size`。 |
出力<T> | selectedScores () 選択した各ボックスの対応するスコアを表す形状 `[M]`の1次元フロートテンソル。ここで、 `M <= max_output_size`です。 |
出力<整数> | validOutputs () `selected_indices`内の有効な要素の数を表す0次元の整数テンソル。有効な要素が最初に表示されます。 |
継承されたメソッド
パブリックメソッド
public static NonMaxSuppressionV5 <T> create (スコープスコープ、オペランド<T>ボックス、オペランド<T>スコア、オペランド<整数> maxOutputSize、オペランド<T> iouThreshold、オペランド<T>スコアしきい値、オペランド<T> softNmsSigma、オプション。 。オプション)
新しいNonMaxSuppressionV5操作をラップするクラスを作成するファクトリメソッド。
パラメーター
範囲 | 現在のスコープ |
---|---|
ボックス | 形状 `[num_boxes、4]`の2次元フロートテンソル。 |
スコア | 各ボックス(ボックスの各行)に対応する単一のスコアを表す形状 `[num_boxes]`の1次元フロートテンソル。 |
maxOutputSize | 非最大抑制によって選択されるボックスの最大数を表すスカラー整数テンソル。 |
iouThreshold | ボックスがIOUに対してオーバーラップしすぎているかどうかを判断するためのしきい値を表す0次元のフロートテンソル。 |
scoreThreshold | スコアに基づいてボックスを削除するタイミングを決定するためのしきい値を表す0次元のフロートテンソル。 |
softNmsSigma | SoftNMSのシグマパラメーターを表す0次元フロートテンソル。 Bodla et al(https://arxiv.org/abs/1704.04503を参照)を参照してください。 `soft_nms_sigma = 0.0`(デフォルト)の場合、標準(ハード)NMSにフォールバックします。 |
オプション | オプションの属性値を運ぶ |
戻り値
- NonMaxSuppressionV5の新しいインスタンス
public static NonMaxSuppressionV5.Options padToMaxOutputSize (ブール値padToMaxOutputSize)
パラメーター
padToMaxOutputSize | trueの場合、出力 `selected_indices`は、長さが` max_output_size`になるように埋め込まれます。デフォルトはfalseです。 |
---|
public Output <Integer> selectedIndices ()
ボックステンソルから選択されたインデックスを表す形状 `[M]`の1次元整数テンソル。ここで、 `M <= max_output_size`。
public Output <T> selectedScores ()
選択した各ボックスの対応するスコアを表す形状 `[M]`の1次元フロートテンソル。ここで、 `M <= max_output_size`です。ソフトNMSを使用する場合(つまり、 `soft_nms_sigma> 0`の場合)、スコアは対応する入力スコアとのみ異なります。