tf.image.non_max_suppression_padded
Жадно выбирает подмножество прямоугольных границ в порядке убывания оценки.
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/api_docs/python/tf/image/non_max_suppression_padded