tensorflow::ops::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.
Аргументы:
- scope: Объект Scope
- boxes: Двумерный тензор с плавающей запятой формы
[num_boxes, 4]. - scores: Одномерный тензор с плавающей запятой формы
[num_boxes]представляющий собой отдельный балл, соответствующий каждому ящику (каждому ряду ящиков). - max_output_size: Скалярный целочисленный тензор, представляющий максимальное количество ячеек, которые могут быть выбраны с помощью подавления немаксимальных значений.
- iou_threshold: 0-мерный тензор с плавающей запятой, представляющий пороговое значение для определения того, перекрываются ли прямоугольники слишком сильно относительно IOU.
- score_threshold: 0-мерный тензор типа float, представляющий пороговое значение для принятия решения о том, когда следует удалять рамки на основе оценки.
- soft_nms_sigma: 0-мерный тензор с плавающей запятой, представляющий параметр сигма для Soft NMS; см. 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]представляющий выбранные индексы из тензора boxes, гдеM <= max_output_size. -
Outputданные selected_scores: одномерный тензор с плавающей запятой формы[M], представляющий соответствующие оценки для каждого выбранного прямоугольника, гдеM <= max_output_size. Оценки отличаются от соответствующих входных оценок только при использовании Soft NMS (т.е. когдаsoft_nms_sigma>0). -
Outputпараметр valid_outputs: 0-мерный целочисленный тензор, представляющий количество допустимых элементов вselected_indices, при этом допустимые элементы отображаются первыми.
Конструкторы и Деструкторы | |
|---|---|
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
выбранные_баллы
::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 )