テンソルフロー::作戦::複合非最大抑制

#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
)