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
)
Данная операция выполняет неполное подавление по входам в рамках каждой группы, по всем классам. Она отбрасывает прямоугольные области, имеющие высокое пересечение с ранее выбранными прямоугольными областями (IOU). Границы прямоугольных областей предоставляются как [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 представляющая максимальное количество прямоугольных областей, которые должны быть выбраны подавлением по максимуму (NMS) на класс |
max_total_size | Скалярная величина, представляющая максимальное количество сохранённых прямоугольных областей по всем классам. |
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' | Тензор float32 [batch_size, max_detections, 4], содержащий прямоугольные области, не подвергшиеся подавлению по максимуму (NMS). |
'nmsed_scores' | Тензор float32 [batch_size, max_detections], содержащий оценки для прямоугольных областей. |
'nmsed_classes' | Тензор float32 [batch_size, max_detections], содержащий класс для прямоугольных областей. |
'valid_detections' | Тензор int32 [batch_size], указывающий количество корректных детектирований на элемент группы. Только верхние valid_detections[i] элементы в nms_boxes[i], nms_scores[i] и nms_class[i] являются корректными. Остальные элементы заполняются нулями. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/image/combined_non_max_suppression