tf.image.non_max_suppression_padded
| Просмотреть исходный код на GitHub |
Жадно выбирает подмножество прямоугольников с границами, отсортированных по убыванию оценки.
tf.image.non_max_suppression_padded(
boxes,
scores,
max_output_size,
iou_threshold=0.5,
score_threshold=float('-inf'),
pad_to_max_output_size=False,
name=None,
sorted_input=False,
canonicalized_coordinates=False,
tile_size=512
)
Выполняет алгоритмически эквивалентную операцию tf.image.non_max_suppression с добавлением необязательного параметра, который заполняет вывод нулями до размера max_output_size. Результат этой операции — кортеж, содержащий набор целых чисел, индексирующих входной набор прямоугольников с границами, представляющий выбранные прямоугольники, и количество действительных индексов в наборе индексов. Координаты прямоугольников с границами, соответствующие выбранным индексам, можно получить, используя операции tf.slice и tf.gather. Например:
selected_indices_padded, num_valid = tf.image.non_max_suppression_padded(
boxes, scores, max_output_size, iou_threshold,
score_threshold, pad_to_max_output_size=True)
selected_indices = tf.slice(
selected_indices_padded, tf.constant([0]), num_valid)
selected_boxes = tf.gather(boxes, selected_indices)
| Аргументы | |
|---|---|
boxes | тензор ранга 2 или выше с формой [..., num_boxes, 4]. Размеры, кроме последних двух, являются размерностями пакета. |
scores | тензор ранга 1 или выше с формой [..., num_boxes]. |
max_output_size | целочисленная скалярная величина Tensor, представляющая максимальное количество прямоугольников, которые необходимо выбрать с помощью подавления не максимальных. Обратите внимание, что установка этого значения на большое число может привести к ошибке OOM в зависимости от рабочей нагрузки системы. |
iou_threshold | число с плавающей запятой, представляющее порог для определения того, перекрываются ли прямоугольники слишком сильно относительно IoU (пересечение над объединением). |
score_threshold | число с плавающей запятой, представляющее порог для оценок прямоугольников. Прямоугольники с оценкой, не большей этого порога, будут подавлены. |
pad_to_max_output_size | нужно ли заполнять вывод idx до max_output_size. Должно быть установлено в True, когда входной набор — пакет изображений. |
name | имя операции. |
sorted_input | логическое значение, указывающее, отсортированы ли входные прямоугольники и оценки по убыванию оценки. |
canonicalized_coordinates | если координаты прямоугольников заданы как [y_min, x_min, y_max, x_max], установка в True исключит избыточные вычисления для канонизации координат прямоугольников. |
tile_size | целое число, представляющее количество прямоугольников в плитке, т. е. максимальное количество прямоугольников на изображение, которые можно использовать для подавления других прямоугольников параллельно; большее tile_size означает большую параллельность и потенциально больше ненужной работы. |
| Возвращаемое значение | |
|---|---|
| idx: тензор с формой [..., num_boxes], представляющий индексы, выбранные с помощью подавления не максимальных. Ведущие размерности — это размерности пакета входных прямоугольников. Все числа находятся в диапазоне [0, num_boxes). Для каждого изображения (т. е., idx[i]) только первые num_valid[i] индексы (т. е., idx[i][:num_valid[i]]) действительны. num_valid: тензор ранга 0 или выше с формой [...], представляющий количество действительных индексов в idx. Его размерности — это размерности пакета входных прямоугольников. | |
Raises | ValueError: при установке pad_to_max_output_size в False для входного пакета. |
© 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/non_max_suppression_padded