tf.raw_ops.NonMaxSuppressionV4
Жадно выбирает подмножество прямоугольных областей в порядке убывания оценки,
tf.raw_ops.NonMaxSuppressionV4(
boxes,
scores,
max_output_size,
iou_threshold,
score_threshold,
pad_to_max_output_size=False,
name=None
)
удаляя прямоугольные области с высоким перекрытием по площади пересечения и площади объединения (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)
| Аргументы | |
|---|---|
boxes | A Tensor. Должно быть одним из следующих типов: half, float32. A 2-мерный float тензор формы [num_boxes, 4]. |
scores | A Tensor. Должно иметь тот же тип, что и boxes. A 1-мерный float тензор формы [num_boxes] представляющий одиночную оценку, соответствующую каждой прямоугольной области (каждая строка прямоугольных областей). |
max_output_size | A Tensor типа int32. A скалярный целочисленный тензор, представляющий максимальное количество прямоугольных областей, которые должны быть выбраны с помощью не максимального подавления. |
iou_threshold | A Tensor. Должно быть одним из следующих типов: half, float32. A 0-мерный float тензор, представляющий порог для определения того, пересекаются ли прямоугольные области слишком сильно по отношению к IOU. |
score_threshold | A Tensor. Должно иметь тот же тип, что и iou_threshold. A 0-мерный float тензор, представляющий порог для определения того, когда следует удалять прямоугольные области на основе оценки. |
pad_to_max_output_size | Необязательный bool. По умолчанию False. Если true, вывод selected_indices дополняется до длины max_output_size. По умолчанию false. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Кортеж Tensor объектов (selected_indices, valid_outputs). | |
selected_indices | A Tensor типа int32. |
valid_outputs | A Tensor типа int32. |
© 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/versions/r2.9/api_docs/python/tf/raw_ops/NonMaxSuppressionV4