tensorflow::ops::CombinedNonMaxSuppression
#include <image_ops.h>
Жадно выбирает подмножество прямоугольников с границами в порядке убывания оценки.
Краткий обзор
Данная операция выполняет не максимальное подавление (non_max_suppression) для входных данных по каждой партии (batch) и всем классам. Она удаляет прямоугольники, которые имеют высокое перекрытие по отношению к площади пересечения и объединения (IOU) с ранее выбранными прямоугольниками. Прямоугольники задаются как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой диагональной пары углов прямоугольника, и координаты могут быть предоставлены в нормализованном виде (т. е. в интервале [0, 1]) или в абсолютных значениях. Обратите внимание, что этот алгоритм не зависит от начала координат в системе координат. Также обратите внимание, что этот алгоритм инвариантен к ортогональным преобразованиям и сдвигам системы координат; таким образом, трансляция или отражения системы координат приводят к выбору тех же прямоугольников алгоритмом. Результатом данной операции является тензор конечных прямоугольников, оценок и классов, полученный после выполнения не максимального подавления.
Аргументы:
- scope: Объект Scope
- boxes: Четырёхмерный тензор типа float с формой
[batch_size, num_boxes, q, 4]. Еслиqравно 1, то для всех классов используются одинаковые прямоугольники, в противном случае, еслиqравно количеству классов, используются прямоугольники, специфичные для каждого класса. - scores: Трехмерный тензор типа float с формой
[batch_size, num_boxes, num_classes], представляющий одиночную оценку, соответствующую каждому прямоугольнику (каждая строка прямоугольников). - max_output_size_per_class: Скалярный целочисленный тензор, представляющий максимальное количество прямоугольников, которые должны быть выбраны подавлением не-максимума (non-max suppression) по каждому классу.
- max_total_size: Скаляр типа int32, представляющий максимальное количество прямоугольников, сохраняемых по всем классам. Обратите внимание, что установка этого значения в большое число может привести к ошибке OOM (недостаток оперативной памяти) в зависимости от рабочей нагрузки системы.
- iou_threshold: 0-мерный тензор типа float, представляющий порог для определения того, слишком ли сильно прямоугольники перекрываются относительно 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, обрезка не выполняется, и координаты прямоугольников выводятся как есть.
Возвращаемые значения:
-
Outputnmsed_boxes: Тензор float32 с формой [batch_size, max_detections, 4], содержащий прямоугольники, отобранные с помощью не максимального подавления. -
Outputnmsed_scores: Тензор float32 с формой [batch_size, max_detections], содержащий оценки для прямоугольников. -
Outputnmsed_classes: Тензор float32 с формой [batch_size, max_detections], содержащий классы для прямоугольников. -
Outputvalid_detections: Тензор int32 с формой [batch_size], указывающий количество допустимых детектирований для каждого элемента партии (batch). Только верхние 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
valid_detections
::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 )
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/combined-non-max-suppression