tf.raw_ops.CombinedNonMaxSuppression
Жадно выбирает подмножество прямоугольников в порядке убывания оценки,
tf.raw_ops.CombinedNonMaxSuppression(
boxes, scores, max_output_size_per_class, max_total_size, iou_threshold,
score_threshold, pad_per_class=False, clip_boxes=True, name=None
)
Эта операция выполняет не максимальное подавление для входов по каждой группе и по всем классам. Удаляет прямоугольники, которые имеют высокое перекрытие по отношению к IOU (intersection-over-union) с ранее выбранными прямоугольниками. Прямоугольники задаются как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой диагональной пары углов прямоугольника, и координаты могут быть заданы в нормализованном виде (т. е. лежащие в интервале [0, 1]) или абсолютных. Обратите внимание, что этот алгоритм не зависит от того, где находится начало координат в системе координат. Также обратите внимание, что этот алгоритм инвариантен к ортогональным преобразованиям и сдвигам системы координат; таким образом, сдвиги или отражения системы координат приводят к тому, что алгоритм выбирает те же самые прямоугольники. Выход этой операции — конечные тензоры прямоугольников, оценок и классов, полученные после выполнения не максимального подавления.
| Аргументы | |
|---|---|
boxes | A Tensor типа float32. 4-мерный тензор с плавающей точкой формы [batch_size, num_boxes, q, 4]. Если q равно 1, то используются одинаковые прямоугольники для всех классов, в противном случае, если q равно количеству классов, используются прямоугольники, специфичные для каждого класса. |
scores | A Tensor типа float32. 3-мерный тензор с плавающей точкой формы [batch_size, num_boxes, num_classes] представляющий одиночную оценку, соответствующую каждому прямоугольнику (каждая строка прямоугольников). |
max_output_size_per_class | A Tensor типа int32. Скалярный целочисленный тензор, представляющий максимальное количество прямоугольников, которые будут выбраны подавлением не максимальных значений для каждого класса. |
max_total_size | A Tensor типа int32. Скаляр, представляющий максимальное количество прямоугольников, сохранённых по всем классам. |
iou_threshold | A Tensor типа float32. 0-мерный тензор с плавающей точкой, представляющий порог для определения того, перекрываются ли прямоугольники слишком сильно по IOU. |
score_threshold | A Tensor типа float32. 0-мерный тензор с плавающей точкой, представляющий порог для определения того, нужно ли удалять прямоугольники на основе оценки. |
pad_per_class | Необязательный bool. По умолчанию False. Если false, выходные прямоугольники, оценки и классы заполняются/обрезаются до max_total_size. Если true, выходные прямоугольники, оценки и классы заполняются до длины max_size_per_class*num_classes, если это превышает max_total_size, в противном случае они обрезаются до max_total_size. По умолчанию false. |
clip_boxes | Необязательный bool. По умолчанию True. Если true, предполагается, что координаты прямоугольников лежат в диапазоне [0, 1], и выходные прямоугольники обрезаются, если они выходят за пределы [0, 1]. Если false, обрезка не выполняется, и координаты прямоугольников выводятся как есть. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Кортеж из Tensor объектов (nmsed_boxes, nmsed_scores, nmsed_classes, valid_detections). | |
nmsed_boxes | A Tensor типа float32. |
nmsed_scores | A Tensor типа float32. |
nmsed_classes | A Tensor типа float32. |
valid_detections | A Tensor типа int32. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/raw_ops/CombinedNonMaxSuppression