テンソルフロー::作戦:: NonMaxSuppressionV5
#include <image_ops.h>
スコアの降順で境界ボックスのサブセットを貪欲に選択します。
まとめ
以前に選択したボックスと重複する交差オーバーユニオン (IOU) が高いボックスを削除します。スコアがscore_threshold
未満の境界ボックスは削除されます。境界ボックスは [y1, x1, y2, x2] として指定されます。ここで (y1, x1) と (y2, x2) はボックスの角の対角ペアの座標であり、座標は正規化されたものとして提供できます (つまり、間隔 [0, 1]) または絶対値。このアルゴリズムは、座標系の原点がどこにあるかに依存せず、より一般的には、座標系の直交変換および平行移動に対して不変であることに注意してください。したがって、座標系の変換または反映により、同じボックスがアルゴリズムによって選択されます。この操作の出力は、選択されたボックスを表す境界ボックスの入力コレクションにインデックスを付ける整数のセットです。選択したインデックスに対応する境界ボックスの座標は、 tf.gather operation
を使用して取得できます。例: 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 より大きく設定します。
引数:
- スコープ:スコープオブジェクト
- box:
[num_boxes, 4]
の形状の 2 次元浮動小数点テンソル。 - スコア: 各ボックス (ボックスの各行) に対応する単一のスコアを表す、形状
[num_boxes]
の 1 次元浮動小数点テンソル。 - max_output_size: 非最大抑制によって選択されるボックスの最大数を表すスカラー整数テンソル。
- iou_threshold: IOU に関してボックスが重なりすぎるかどうかを決定するためのしきい値を表す 0 次元浮動小数点テンソル。
- core_threshold: スコアに基づいてボックスをいつ削除するかを決定するためのしきい値を表す 0 次元の浮動小数点テンソル。
- Soft_nms_sigma: ソフト NMS のシグマ パラメーターを表す 0 次元浮動小数点テンソル。 Bodla et al ( https://arxiv.org/abs/1704.04503を参照) を参照してください。
soft_nms_sigma=0.0
(デフォルト) の場合、標準 (ハード) NMS に戻ります。
オプションの属性 ( Attrs
を参照):
- Pad_to_max_output_size: true の場合、出力
selected_indices
はmax_output_size
の長さになるようにパディングされます。デフォルトは false です。
戻り値:
-
Output
selected_indices: ボックス テンソルから選択されたインデックスを表す形状[M]
の 1 次元整数テンソル (M <= max_output_size
。 -
Output
selected_scores: 選択された各ボックスの対応するスコアを表す形状[M]
1 次元浮動小数点数テンソル (M <= max_output_size
。 Soft NMS を使用する場合 (つまり、soft_nms_sigma>0
の場合)、スコアは対応する入力スコアとのみ異なります。 -
Output
valid_outputs:selected_indices
内の有効な要素の数を表す 0 次元の整数テンソル。有効な要素が最初に表示されます。
コンストラクターとデストラクター | |
---|---|
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma) | |
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs) |
パブリック属性 | |
---|---|
operation | |
selected_indices | |
selected_scores | |
valid_outputs |
パブリック静的関数 | |
---|---|
PadToMaxOutputSize (bool x) |
構造体 | |
---|---|
tensorflow:: ops:: NonMaxSuppressionV5:: Attrs | NonMaxSuppressionV5のオプションの属性セッター。 |
パブリック属性
手術
Operation operation
選択されたインデックス
::tensorflow::Output selected_indices
selected_scores
::tensorflow::Output selected_scores
有効な出力
::tensorflow::Output valid_outputs
公共機能
NonMaxSuppressionV5
NonMaxSuppressionV5( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, ::tensorflow::Input soft_nms_sigma )
NonMaxSuppressionV5
NonMaxSuppressionV5( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, ::tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs )
パブリック静的関数
PadToMaxOutputSize
Attrs PadToMaxOutputSize( bool x )