當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python tf.image.non_max_suppression用法及代碼示例

貪心地按分數的降序選擇邊界框的子集。

用法

tf.image.non_max_suppression(
    boxes, scores, max_output_size, iou_threshold=0.5,
    score_threshold=float('-inf'), name=None
)

參數

  • boxes 形狀為 [num_boxes, 4] 的二維浮點數 Tensor
  • scores 形狀為[num_boxes] 的一維浮點數Tensor,表示對應於每個框(每行框)的單個分數。
  • max_output_size 一個標量整數Tensor,表示非最大抑製要選擇的最大框數。
  • iou_threshold 一個 0-D 浮點張量,表示用於決定框相對於 IOU 是否重疊過多的閾值。
  • score_threshold 一個 0-D 浮點張量,表示根據分數決定何時移除框的閾值。
  • name 操作的名稱(可選)。

返回

  • selected_indices 形狀為 [M] 的一維整數 Tensor 表示從框張量中選擇的索引,其中 M <= max_output_size

修剪掉與先前選擇的框重疊的 intersection-over-union (IOU) 高的框。邊界框以 [y1, x1, y2, x2] 的形式提供,其中 (y1, x1)(y2, x2) 是任何對角框角對的坐標,並且坐標可以以標準化(即位於區間 [0, 1] 中)或絕對坐標的形式提供。請注意,此算法與原點在坐標係中的位置無關。請注意,該算法對坐標係的正交變換和平移是不變的;因此,坐標係的平移或反射會導致算法選擇相同的框。此操作的輸出是一組整數,索引到表示所選框的邊界框的輸入集合中。然後可以使用tf.gather 操作獲得與所選索引對應的邊界框坐標。例如:

selected_indices = tf.image.non_max_suppression(
      boxes, scores, max_output_size, iou_threshold)
  selected_boxes = tf.gather(boxes, selected_indices)

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.image.non_max_suppression。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。