tensorflow::ops::CombinedNonMaxSuppression
#include <image_ops.h>
Жадно выбирает подмножество ограничивающих рамок в порядке убывания оценок.
Краткое описание
Эта операция выполняет non_max_suppression для входных данных в каждом пакете по всем классам. Удаляет рамки, которые имеют слишком большое пересечение по объединению (IOU) с ранее выбранными рамками. Ограничивающие рамки задаются в формате [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой диагональной пары углов рамки; координаты могут быть нормализованными (то есть находиться в интервале [0, 1]) или абсолютными. Обратите внимание, что этот алгоритм не зависит от положения начала координат в системе координат. Также обратите внимание, что алгоритм инвариантен относительно ортогональных преобразований и переносов системы координат; таким образом, переносы или отражения системы координат приводят к выбору алгоритмом одних и тех же рамок. Результатом этой операции являются итоговые тензоры рамок, оценок и классов, возвращаемые после выполнения non_max_suppression.
Аргументы:
- scope: объект Scope
- boxes: 4-мерный тензор с плавающей точкой формы
[batch_size, num_boxes, q, 4]. Еслиqравно 1, для всех классов используются одни и те же рамки; в противном случае, еслиqравно числу классов, используются рамки для каждого класса. - scores: 3-мерный тензор с плавающей точкой формы
[batch_size, num_boxes, num_classes], представляющий одну оценку для каждой рамки (каждой строки boxes). - max_output_size_per_class: скалярный целочисленный тензор, представляющий максимальное количество рамок, выбираемых для каждого класса с помощью non max suppression
- max_total_size: скалярное значение int32, представляющее максимальное количество рамок, сохраняемых для всех классов. Обратите внимание, что при задании большого значения может возникнуть ошибка нехватки памяти (OOM) в зависимости от нагрузки на систему.
- iou_threshold: 0-мерный тензор с плавающей точкой, представляющий порог для определения того, перекрываются ли рамки слишком сильно с точки зрения IOU.
- score_threshold: 0-мерный тензор с плавающей точкой, представляющий порог, используемый для удаления рамок на основе оценки.
Необязательные атрибуты (см. Attrs):
- pad_per_class: Если значение равно false, выходные рамки, оценки и классы после NMS дополняются или обрезаются до
max_total_size. Если значение равно true, выходные рамки, оценки и классы после NMS дополняются до длиныmax_size_per_class*num_classes, если только она не превышаетmax_total_size; в этом случае данные обрезаются доmax_total_size. Значение по умолчанию — false. - clip_boxes: Если значение равно true, предполагается, что координаты рамок находятся в диапазоне [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], указывающий количество допустимых обнаружений для каждого элемента пакета. Допустимы только первые 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 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