テンソルフロー::作戦::複合非最大抑制
#include <image_ops.h>
スコアの降順で境界ボックスのサブセットを貪欲に選択します。
まとめ
この操作は、すべてのクラスにわたって、バッチごとの入力に対して non_max_suppression を実行します。以前に選択したボックスと重複する交差オーバーユニオン (IOU) が高いボックスを削除します。境界ボックスは [y1, x1, y2, x2] として指定されます。ここで (y1, x1) と (y2, x2) はボックスの角の対角ペアの座標であり、座標は正規化されたものとして提供できます (つまり、間隔 [0, 1]) または絶対値。このアルゴリズムは、座標系の原点がどこにあるかに依存しないことに注意してください。また、このアルゴリズムは、座標系の直交変換および平行移動に対して不変であることにも注意してください。したがって、座標系の変換または反映により、同じボックスがアルゴリズムによって選択されます。この操作の出力は、non_max_suppression の実行後に返される最終的なボックス、スコア、およびクラス テンソルです。
引数:
- スコープ:スコープオブジェクト
- box:
[batch_size, num_boxes, q, 4]
の形状の 4 次元浮動小数点テンソル。q
が 1 の場合、すべてのクラスに同じボックスが使用されます。それ以外の場合、q
クラスの数と等しい場合、クラス固有のボックスが使用されます。 - スコア: 各ボックス (ボックスの各行) に対応する単一のスコアを表す、形状
[batch_size, num_boxes, num_classes]
の 3 次元浮動小数点テンソル。 - max_output_size_per_class: クラスごとの非最大抑制によって選択されるボックスの最大数を表すスカラー整数テンソル
- max_total_size: すべてのクラスにわたって保持されるボックスの最大数を表すスカラー。
- iou_threshold: IOU に関してボックスが重なりすぎるかどうかを決定するためのしきい値を表す 0 次元浮動小数点テンソル。
- core_threshold: スコアに基づいてボックスをいつ削除するかを決定するためのしきい値を表す 0 次元の浮動小数点テンソル。
オプションの属性 ( Attrs
を参照):
- Pad_per_class: false の場合、出力 nmsed ボックス、スコア、クラスは
max_total_size
までパディング/クリップされます。 true の場合、出力の nmsed ボックス、スコア、およびクラスは、長さがmax_size_per_class
*num_classes
になるようにパディングされます。 ただし、max_total_size
を超える場合は、max_total_size
にクリップされます。デフォルトは false です。 - Clip_boxes: true の場合、ボックス座標が [0, 1] の間にあると想定し、[0, 1] を超える場合は出力ボックスをクリップします。 falseの場合、クリッピングを行わずボックス座標をそのまま出力します。
戻り値:
-
Output
nmsed_boxes: 非最大抑制ボックスを含む [batch_size, max_detections, 4] float32 テンソル。 -
Output
nmsed_scores: ボックスのスコアを含む [batch_size, max_detections] float32 テンソル。 -
Output
nmsed_classes: ボックスのクラスを含む [batch_size, max_detections] float32 テンソル。 -
Output
valid_detections: バッチ項目ごとの有効な検出の数を示す [batch_size] int32 テンソル。 nms_boxes[i]、nms_scores[i]、および nms_class[i] の上位 num_detections[i] エントリのみが有効です。残りのエントリはゼロ埋め込みです。
コンストラクターとデストラクター | |
---|---|
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold) | |
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs) |
パブリック属性 | |
---|---|
nmsed_boxes | |
nmsed_classes | |
nmsed_scores | |
operation | |
valid_detections |
パブリック静的関数 | |
---|---|
ClipBoxes (bool x) | |
PadPerClass (bool x) |
構造体 | |
---|---|
tensorflow:: ops:: CombinedNonMaxSuppression:: Attrs | CombinedNonMaxSuppressionのオプションの属性セッター。 |
パブリック属性
nmsed_boxes
::tensorflow::Output nmsed_boxes
nmsed_classes
::tensorflow::Output nmsed_classes
nmsed_scores
::tensorflow::Output nmsed_scores
手術
Operation operation
有効な検出数
::tensorflow::Output valid_detections
公共機能
複合非最大抑制
CombinedNonMaxSuppression( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size_per_class, ::tensorflow::Input max_total_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold )
複合非最大抑制
CombinedNonMaxSuppression( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size_per_class, ::tensorflow::Input max_total_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs )
パブリック静的関数
クリップボックス
Attrs ClipBoxes( bool x )
パッドごとのクラス
Attrs PadPerClass( bool x )