tf.image.combined_non_max_suppression
| Просмотреть исходный код на GitHub |
Жадно выбирает подмножество прямоугольников с границами в порядке убывания оценки.
tf.image.combined_non_max_suppression(
boxes,
scores,
max_output_size_per_class,
max_total_size,
iou_threshold=0.5,
score_threshold=float('-inf'),
pad_per_class=False,
clip_boxes=True,
name=None
)
Эта операция выполняет non_max_suppression для входных данных по каждой группе, по всем классам. Удаляет прямоугольники с высоким перекрытием по площади пересечения/объединения (IOU) с ранее выбранными прямоугольниками. Прямоугольники задаются как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой пары диагональных углов прямоугольника, а координаты могут быть нормализованными (т. е. лежать в интервале [0, 1]) или абсолютными. Обратите внимание, что этот алгоритм не зависит от того, где находится начало координат в системе координат. Также обратите внимание, что этот алгоритм инвариантен к ортогональным преобразованиям и сдвигам системы координат; таким образом, сдвиг или отражение системы координат приводит к тому, что алгоритм выбирает те же прямоугольники. Результатом этой операции является финальный тензор прямоугольников, оценок и классов, полученный после выполнения non_max_suppression.
| Аргументы | |
|---|---|
boxes | 4-мерный плавающий Tensor формы [batch_size, num_boxes, q, 4]. Если q равно 1, то используются одинаковые прямоугольники для всех классов; в противном случае, если q равно числу классов, используются прямоугольники, специфичные для класса. |
scores | 3-мерный плавающий Tensor формы [batch_size, num_boxes, num_classes] представляющий отдельную оценку, соответствующую каждому прямоугольнику (каждой строке прямоугольников). |
max_output_size_per_class | Скалярное целое число Tensor представляющее максимальное число прямоугольников, которые должны быть выбраны с помощью подавления по максимуму для каждого класса |
max_total_size | Скаляр int32, представляющий максимальное количество прямоугольников, которые сохраняются по всем классам. Обратите внимание, что установка этого значения на большое число может привести к ошибке OOM (out of memory) в зависимости от рабочей нагрузки системы. |
iou_threshold | Число с плавающей точкой, представляющее порог для определения того, слишком ли сильно перекрываются прямоугольники по отношению к IOU. |
score_threshold | Число с плавающей точкой, представляющее порог для определения, когда следует удалять прямоугольники на основе оценки. |
pad_per_class | Если ложь, выходные прямоугольники, оценки и классы nmsed заполняются/обрезаются до max_total_size. Если истина, выходные прямоугольники, оценки и классы nmsed заполняются до длины max_size_per_class*num_classes, если это превышает max_total_size, в противном случае они обрезаются до max_total_size. По умолчанию ложь. |
clip_boxes | Если истина, координаты выходных прямоугольников nmsed будут обрезаны до [0, 1]. Если ложь, выведите координаты прямоугольников как есть. По умолчанию истина. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
'nmsed_boxes' | 4-мерный тензор float32 [batch_size, max_detections, 4], содержащий не подавленные прямоугольники. |
'nmsed_scores' | 2-мерный тензор float32 [batch_size, max_detections], содержащий оценки для прямоугольников. |
'nmsed_classes' | 2-мерный тензор float32 [batch_size, max_detections], содержащий класс для прямоугольников. |
'valid_detections' | 1-мерный тензор int32 [batch_size], указывающий количество действительных обнаружений на элемент группы. Только верхние действительные_обнаружения[i] записи в nms_boxes[i], nms_scores[i] и nms_class[i] действительны. Остальные записи — нулевые заполнители. |
© 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/image/combined_non_max_suppression