tf.image.non_max_suppression_with_scores
Жадно выбирает подмножество прямоугольных областей в порядке убывания оценки.
tf.image.non_max_suppression_with_scores(
boxes,
scores,
max_output_size,
iou_threshold=0.5,
score_threshold=float('-inf'),
soft_nms_sigma=0.0,
name=None
)
Удаляет прямоугольные области с высоким перекрытием (IOU) с ранее выбранными прямоугольными областями. Прямоугольные области задаются как [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой пары диагональных углов прямоугольной области, и координаты могут быть заданы в нормированном виде (т. е., лежащие в интервале [0, 1]) или абсолютном виде. Обратите внимание, что этот алгоритм не зависит от положения начала отсчета в системе координат. Обратите внимание, что этот алгоритм инвариантен к ортогональным преобразованиям и сдвигам системы координат; таким образом, сдвиги или отражения системы координат приводят к тому, что алгоритм выбирает те же самые прямоугольные области. Результатом этой операции является набор целых чисел, индексирующих входную коллекцию прямоугольных областей, представляющих выбранные прямоугольные области. Координаты прямоугольных областей, соответствующие выбранным индексам, можно получить, используя операцию tf.gather. Например:
selected_indices, selected_scores = tf.image.non_max_suppression_padded(
boxes, scores, max_output_size, iou_threshold=1.0, score_threshold=0.1,
soft_nms_sigma=0.5)
selected_boxes = tf.gather(boxes, selected_indices)
Эта функция обобщает операцию tf.image.non_max_suppression, поддерживая также режим Soft-NMS (с гауссовым весом) (см. Bodla и др., https://arxiv.org/abs/1704.04503), где прямоугольные области уменьшают оценку других перекрывающихся прямоугольных областей вместо прямого удаления. Следовательно, в отличие от tf.image.non_max_suppression, tf.image.non_max_suppression_with_scores возвращает новые оценки каждой входной прямоугольной области во втором выходе, selected_scores.
Чтобы включить этот режим Soft-NMS, установите параметр soft_nms_sigma больше нуля. Когда soft_nms_sigma равно 0, поведение tf.image.non_max_suppression_with_scores идентично поведению tf.image.non_max_suppression (за исключением дополнительного выхода) как по функции, так и по времени выполнения.
Обратите внимание, что при soft_nms_sigma > 0 выполняется Soft-NMS, и iou_threshold игнорируется. iou_threshold используется только для стандартного NMS.
| Аргументы | |
|---|---|
boxes | Матрица с плавающей точкой 2-го порядка Tensor размерности [num_boxes, 4]. |
scores | Вектор с плавающей точкой 1-го порядка Tensor размерности [num_boxes], представляющий одиночную оценку, соответствующую каждой прямоугольной области (каждая строка прямоугольных областей). |
max_output_size | Целочисленный скаляр Tensor, представляющий максимальное количество прямоугольных областей, которые должны быть выбраны с помощью подавления не-максимумов. |
iou_threshold | Скалярный тензор с плавающей точкой, представляющий порог для определения того, имеют ли прямоугольные области слишком большое перекрытие с точки зрения IOU. |
score_threshold | Скалярный тензор с плавающей точкой, представляющий порог для определения того, нужно ли удалять прямоугольные области на основе оценки. |
soft_nms_sigma | Скалярный тензор с плавающей точкой, представляющий параметр сигма для Soft NMS; см. Bodla и др. (см. https://arxiv.org/abs/1704.04503). При значении soft_nms_sigma=0.0 (по умолчанию), мы используем стандартный (жесткий) NMS. |
name | Название операции (необязательно). |
| Возвращаемые значения | |
|---|---|
selected_indices | Вектор целых чисел 1-го порядка Tensor размерности [M], представляющий выбранные индексы из тензора прямоугольных областей, где M <= max_output_size. |
selected_scores | Вектор с плавающей точкой 1-го порядка размерности [M], представляющий соответствующие оценки для каждой выбранной прямоугольной области, где M <= max_output_size. Оценки отличаются от соответствующих входных оценок только при использовании Soft NMS (т. е., при soft_nms_sigma>0) |
© 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/non_max_suppression_with_scores