tensorflow::ops::CombinedNonMaxSuppression

#include <image_ops.h>

Жадный алгоритм выбирает подмножество ограничивающих прямоугольников в порядке убывания оценки.

Краткое содержание

Эта операция выполняет подавление немаксимальных значений (non_max_suppression) для входных данных в каждом пакете, по всем классам. Удаляются ограничивающие рамки, имеющие высокое перекрытие по показателю пересечения с ранее выбранными рамками (IOU). Ограничивающие рамки задаются в виде [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой пары диагональных углов рамки, и координаты могут быть заданы как нормализованные (т.е. лежащие в интервале [0, 1]) или абсолютные. Обратите внимание, что этот алгоритм не зависит от положения начала координат. Также обратите внимание, что этот алгоритм инвариантен к ортогональным преобразованиям и сдвигам системы координат; таким образом, сдвиг или отражение системы координат приводят к выбору алгоритмом тех же самых рамок. Выходом этой операции является итоговый тензор ограничивающих рамок, оценок и классов, возвращаемый после выполнения подавления немаксимальных значений.

Аргументы:

  • scope: Объект Scope
  • boxes: Четырехмерный тензор с плавающей запятой формы [batch_size, num_boxes, q, 4] . Если q равно 1, то для всех классов используются одни и те же ячейки; в противном случае, если q равно количеству классов, используются ячейки, специфичные для каждого класса.
  • scores: Трехмерный тензор с плавающей запятой формы [batch_size, num_boxes, num_classes] , представляющий собой отдельный балл, соответствующий каждому блоку (каждому ряду блоков).
  • max_output_size_per_class: Скалярный целочисленный тензор, представляющий максимальное количество ячеек, которые могут быть выбраны с помощью подавления немаксимальных значений для каждого класса.
  • max_total_size: Скалярное значение, представляющее максимальное количество ячеек, сохраняемых для всех классов.
  • iou_threshold: 0-мерный тензор с плавающей запятой, представляющий пороговое значение для определения того, перекрываются ли прямоугольники слишком сильно относительно IOU.
  • score_threshold: 0-мерный тензор типа float, представляющий пороговое значение для принятия решения о том, когда следует удалять рамки на основе оценки.

Дополнительные атрибуты (см. 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: тензор float32 размером [batch_size, max_detections, 4], содержащий ограничивающие рамки, не являющиеся максимальными.
  • Output данные nmsed_scores: тензор типа float32 размером [batch_size, max_detections], содержащий оценки для ограничивающих прямоугольников.
  • Output данные nmsed_classes: тензор типа float32 размером [batch_size, max_detections], содержащий классы для ограничивающих прямоугольников.
  • Output valid_detections: тензор типа int32 размером [batch_size], указывающий количество действительных обнаружений на элемент пакета. Действительными являются только верхние значения num_detections[i] в ​​nms_boxes[i], nms_scores[i] и nms_class[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

 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

 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
)

Открытые статические функции

ClipBoxes

Attrs ClipBoxes(
  bool x
)

PadPerClass

Attrs PadPerClass(
  bool x
)