тензорный поток:: опс:: 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( box, 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.
Аргументы:
- область: объект области.
- box: двумерный тензор с плавающей запятой формы
[num_boxes, 4]
. - оценки: одномерный тензор с плавающей запятой формы
[num_boxes]
представляющий одну оценку, соответствующую каждому блоку (каждой строке блоков). - max_output_size: скалярный целочисленный тензор, представляющий максимальное количество полей, которые будут выбраны при немаксимальном подавлении.
- iou_threshold: тензор с плавающей запятой 0-D, представляющий порог для принятия решения о том, не слишком ли сильно перекрываются блоки по отношению к IOU.
- Score_threshold: тензор с плавающей запятой 0-D, представляющий порог для принятия решения о том, когда удалять блоки на основе оценки.
- soft_nms_sigma: 0-D плавающий тензор, представляющий сигма-параметр для Soft NMS; см. Бодла и др. (см. https://arxiv.org/abs/1704.04503 ). Когда
soft_nms_sigma=0.0
(по умолчанию), мы возвращаемся к стандартному (жесткому) NMS.
Необязательные атрибуты (см. Attrs
):
- Pad_to_max_output_size: Если true, выходные данные
selected_indices
дополняются до длиныmax_output_size
. По умолчанию ложь.
Возврат:
-
Output
selected_indices: 1-D целочисленный тензор формы[M]
, представляющий выбранные индексы из тензора блоков, гдеM <= max_output_size
. -
Output
selected_scores: одномерный тензор с плавающей запятой формы[M]
, представляющий соответствующие баллы для каждого выбранного поля, гдеM <= max_output_size
. Оценки отличаются от соответствующих входных оценок только при использовании Soft NMS (т. е. когдаsoft_nms_sigma>0
) -
Output
valid_outputs: целочисленный тензор 0-D, представляющий количество допустимых элементов в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
выбранные_indices
::tensorflow::Output selected_indices
selected_scores
::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 )