tf.image.combined_non_max_suppression
Жадно выбирает подмножество прямоугольников в порядке убывания оценки.
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
)
Эта операция выполняет не максимальное подавление на входах по партиям, по всем классам. Отбрасывает прямоугольники, которые имеют высокое перекрытие по IoU (intersection-over-union) с ранее выбранными прямоугольниками. Границы прямоугольников предоставляются как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой диагональной пары углов прямоугольника, а координаты могут быть представлены в нормализованном виде (т.е. лежать в интервале [0, 1]) или в абсолютном виде. Обратите внимание, что этот алгоритм не зависит от того, где находится начало координат в системе координат. Также обратите внимание, что этот алгоритм инвариантен к ортогональным преобразованиям и трансляциям системы координат; таким образом, трансляции или отражения системы координат приводят к выбору одних и тех же прямоугольников алгоритмом. Результатом этой операции является тензор конечных прямоугольников, оценок и классов, возвращаемых после выполнения подавления по не максимальному значению.
| Аргументы | |
|---|---|
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 в зависимости от рабочей нагрузки системы. |
iou_threshold | Число с плавающей точкой, представляющее порог для определения того, перекрываются ли прямоугольники слишком сильно относительно IoU. |
score_threshold | Число с плавающей точкой, представляющее порог для определения того, когда следует удалять прямоугольники на основе оценки. |
pad_per_class | Если ложь, то выходные прямоугольники, оценки и классы nms дополняются/обрезаются до max_total_size. Если истинно, то выходные прямоугольники, оценки и классы nms дополняются до длины max_size_per_class*num_classes, если это значение превышает max_total_size, то оно обрезается до max_total_size. По умолчанию ложь. |
clip_boxes | Если истинно, то координаты выходных прямоугольников nms будут ограничены [0, 1]. Если ложь, вывести координаты прямоугольников как есть. По умолчанию истинно. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
'nmsed_boxes' | 4-мерный плавающий тензор [batch_size, max_detections, 4] float32, содержащий подавленные по не максимальному значению прямоугольники. |
'nmsed_scores' | 3-мерный плавающий тензор [batch_size, max_detections] float32, содержащий оценки для прямоугольников. |
'nmsed_classes' | 3-мерный плавающий тензор [batch_size, max_detections] float32, содержащий класс для прямоугольников. |
'valid_detections' | 1-мерный тензор [batch_size] int32, указывающий количество допустимых детектирований на элемент партии. Только первые valid_detections[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/api_docs/python/tf/image/combined_non_max_suppression