Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
тензорный поток:: опс:: NonMaxSuppressionV4
#include <image_ops.h>
Жадно выбирает подмножество ограничивающих рамок в порядке убывания количества очков.
Краткое содержание
обрезка блоков с высокой степенью пересечения-объединения (IOU) перекрывается с ранее выбранными блоками. Ограничительные рамки со счетом меньше, чем score_threshold
, удаляются. Ограничительные рамки предоставляются в виде [y1, x1, y2, x2], где (y1, x1) и (y2, x2) — координаты любой диагональной пары углов прямоугольника, а координаты могут быть предоставлены как нормализованные (т. е. лежащие в интервал [0, 1]) или абсолютный. Обратите внимание, что этот алгоритм не зависит от того, где находится начало координат в системе координат, и, в более общем смысле, инвариантен к ортогональным преобразованиям и переводам системы координат; таким образом, перевод или отражение системы координат приводит к тому, что алгоритм выбирает одни и те же поля. Результатом этой операции является набор целых чисел, индексируемых во входную коллекцию ограничивающих рамок, представляющих выбранные рамки. Координаты ограничивающего прямоугольника, соответствующие выбранным индексам, затем можно получить с помощью tf.gather operation
. Например: selected_indices = tf.image.non_max_suppression_v2(boxes, Scores, max_output_size, iou_threshold, Score_threshold) selected_boxes = tf.gather(Boxes, selected_indices)
Аргументы:
- область: объект области.
- box: двумерный тензор с плавающей запятой формы
[num_boxes, 4]
. - оценки: одномерный тензор с плавающей запятой формы
[num_boxes]
представляющий одну оценку, соответствующую каждому блоку (каждой строке блоков). - max_output_size: скалярный целочисленный тензор, представляющий максимальное количество полей, которые будут выбраны при немаксимальном подавлении.
- iou_threshold: тензор с плавающей запятой 0-D, представляющий порог для принятия решения о том, не слишком ли сильно перекрываются блоки по отношению к IOU.
- Score_threshold: тензор с плавающей запятой 0-D, представляющий порог для принятия решения о том, когда удалять блоки на основе оценки.
Необязательные атрибуты (см. Attrs
):
- Pad_to_max_output_size: Если true, выходные данные
selected_indices
дополняются до длины max_output_size
. По умолчанию ложь.
Возврат:
-
Output
selected_indices: 1-D целочисленный тензор формы [M]
, представляющий выбранные индексы из тензора блоков, где M <= max_output_size
. -
Output
valid_outputs: целочисленный тензор 0-D, представляющий количество допустимых элементов в selected_indices
, причем допустимые элементы появляются первыми.
Конструкторы и деструкторы |
---|
NonMaxSuppressionV4 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold)
|
NonMaxSuppressionV4 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const NonMaxSuppressionV4::Attrs & attrs) |
Публичные атрибуты
Общественные функции
Публичные статические функции
PadToMaxOutputSize
Attrs PadToMaxOutputSize(
bool x
)
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-27 UTC.
[null,null,["Последнее обновление: 2025-07-27 UTC."],[],[],null,["# tensorflow::ops::NonMaxSuppressionV4 Class Reference\n\ntensorflow::ops::NonMaxSuppressionV4\n====================================\n\n`#include \u003cimage_ops.h\u003e`\n\nGreedily selects a subset of bounding boxes in descending order of score,.\n\nSummary\n-------\n\npruning away boxes that have high intersection-over-union (IOU) overlap with previously selected boxes. Bounding boxes with score less than `score_threshold` are removed. Bounding boxes are supplied as \\[y1, x1, y2, x2\\], where (y1, x1) and (y2, x2) are the coordinates of any diagonal pair of box corners and the coordinates can be provided as normalized (i.e., lying in the interval \\[0, 1\\]) or absolute. Note that this algorithm is agnostic to where the origin is in the coordinate system and more generally is invariant to orthogonal transformations and translations of the coordinate system; thus translating or reflections of the coordinate system result in the same boxes being selected by the algorithm. The output of this operation is a set of integers indexing into the input collection of bounding boxes representing the selected boxes. The bounding box coordinates corresponding to the selected indices can then be obtained using the `tf.gather operation`. For example: selected_indices = tf.image.non_max_suppression_v2( boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices)\n\nArguments:\n\n- scope: A [Scope](/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- boxes: A 2-D float tensor of shape `[num_boxes, 4]`.\n- scores: A 1-D float tensor of shape `[num_boxes]` representing a single score corresponding to each box (each row of boxes).\n- max_output_size: A scalar integer tensor representing the maximum number of boxes to be selected by non max suppression.\n- iou_threshold: A 0-D float tensor representing the threshold for deciding whether boxes overlap too much with respect to IOU.\n- score_threshold: A 0-D float tensor representing the threshold for deciding when to remove boxes based on score.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v4/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_v4_1_1_attrs)):\n\n- pad_to_max_output_size: If true, the output `selected_indices` is padded to be of length `max_output_size`. Defaults to false.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) selected_indices: A 1-D integer tensor of shape `[M]` representing the selected indices from the boxes tensor, where `M \u003c= max_output_size`.\n- [Output](/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) valid_outputs: A 0-D integer tensor representing the number of valid elements in `selected_indices`, with the valid elements appearing first.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [NonMaxSuppressionV4](#classtensorflow_1_1ops_1_1_non_max_suppression_v4_1ac241f89469a7188f8d9b5c0daa2441f4)`(const ::`[tensorflow::Scope](/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` scores, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max_output_size, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` iou_threshold, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` score_threshold)` ||\n| [NonMaxSuppressionV4](#classtensorflow_1_1ops_1_1_non_max_suppression_v4_1afc8c9e7cedb3678900fa3bcf995aee11)`(const ::`[tensorflow::Scope](/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` scores, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max_output_size, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` iou_threshold, ::`[tensorflow::Input](/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` score_threshold, const `[NonMaxSuppressionV4::Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v4/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_v4_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|-----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_non_max_suppression_v4_1a68c64a50fa3dd5b983f6e09e61b92eab) | [Operation](/versions/r2.3/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [selected_indices](#classtensorflow_1_1ops_1_1_non_max_suppression_v4_1a3f301cbbf0cd3b82a64c243b1e357fa6) | `::`[tensorflow::Output](/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [valid_outputs](#classtensorflow_1_1ops_1_1_non_max_suppression_v4_1a47653a5cde7a40dd1801dfc699e2f429) | `::`[tensorflow::Output](/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public static functions ||\n|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| [PadToMaxOutputSize](#classtensorflow_1_1ops_1_1_non_max_suppression_v4_1a67d61f68bcfca71cdf3f27c979f2ecd2)`(bool x)` | [Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v4/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_v4_1_1_attrs) |\n\n| ### Structs ||\n|------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::NonMaxSuppressionV4::Attrs](/versions/r2.3/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v4/attrs) | Optional attribute setters for [NonMaxSuppressionV4](/versions/r2.3/api_docs/cc/class/tensorflow/ops/non-max-suppression-v4#classtensorflow_1_1ops_1_1_non_max_suppression_v4). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### selected_indices\n\n```scdoc\n::tensorflow::Output selected_indices\n``` \n\n### valid_outputs\n\n```scdoc\n::tensorflow::Output valid_outputs\n``` \n\nPublic functions\n----------------\n\n### NonMaxSuppressionV4\n\n```gdscript\n NonMaxSuppressionV4(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input boxes,\n ::tensorflow::Input scores,\n ::tensorflow::Input max_output_size,\n ::tensorflow::Input iou_threshold,\n ::tensorflow::Input score_threshold\n)\n``` \n\n### NonMaxSuppressionV4\n\n```gdscript\n NonMaxSuppressionV4(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input boxes,\n ::tensorflow::Input scores,\n ::tensorflow::Input max_output_size,\n ::tensorflow::Input iou_threshold,\n ::tensorflow::Input score_threshold,\n const NonMaxSuppressionV4::Attrs & attrs\n)\n``` \n\nPublic static functions\n-----------------------\n\n### PadToMaxOutputSize\n\n```text\nAttrs PadToMaxOutputSize(\n bool x\n)\n```"]]