Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
flujo tensor:: operaciones:: NoMaxSuppressionV5
#include <image_ops.h>
Selecciona con avidez un subconjunto de cuadros delimitadores en orden descendente de puntuación.
Resumen
eliminar las cajas que tienen una alta superposición de intersección sobre unión (IOU) con las cajas seleccionadas previamente. Se eliminan los cuadros delimitadores con una puntuación inferior a score_threshold
. Los cuadros delimitadores se suministran como [y1, x1, y2, x2], donde (y1, x1) y (y2, x2) son las coordenadas de cualquier par diagonal de esquinas del cuadro y las coordenadas se pueden proporcionar normalizadas (es decir, situadas en el intervalo [0, 1]) o absoluto. Tenga en cuenta que este algoritmo es independiente de dónde está el origen en el sistema de coordenadas y, de manera más general, es invariante a las transformaciones y traslaciones ortogonales del sistema de coordenadas; por lo tanto, la traducción o las reflexiones del sistema de coordenadas dan como resultado que el algoritmo seleccione las mismas casillas. El resultado de esta operación es un conjunto de números enteros indexados en la colección de entrada de cuadros delimitadores que representan los cuadros seleccionados. Las coordenadas del cuadro delimitador correspondientes a los índices seleccionados se pueden obtener utilizando la tf.gather operation
. Por ejemplo: selected_indices = tf.image.non_max_suppression_v2( boxes, scorings, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices) Esta operación también admite un modo Soft-NMS (con ponderación gaussiana) (cf. Bodla et al. , https://arxiv.org/abs/1704.04503 ) donde los cuadros reducen la puntuación de otros cuadros superpuestos en lugar de provocar directamente su poda. Para habilitar este modo Soft-NMS, configure el parámetro soft_nms_sigma
para que sea mayor que 0.
Argumentos:
- alcance: un objeto de alcance
- cajas: un tensor flotante 2-D de forma
[num_boxes, 4]
. - puntuaciones: un tensor flotante 1-D de forma
[num_boxes]
que representa una puntuación única correspondiente a cada cuadro (cada fila de cuadros). - max_output_size: tensor entero escalar que representa el número máximo de cuadros que se seleccionarán mediante supresión no máxima.
- iou_threshold: tensor flotante 0-D que representa el umbral para decidir si las cajas se superponen demasiado con respecto al pagaré.
- score_threshold: tensor flotante 0-D que representa el umbral para decidir cuándo eliminar cuadros según la puntuación.
- soft_nms_sigma: un tensor flotante 0-D que representa el parámetro sigma para Soft NMS; ver Bodla et al (cf. https://arxiv.org/abs/1704.04503 ). Cuando
soft_nms_sigma=0.0
(que es el valor predeterminado), volvemos al NMS estándar (duro).
Atributos opcionales (ver Attrs
):
- pad_to_max_output_size: si es verdadero, la salida
selected_indices
se rellena para que tenga una longitud max_output_size
. El valor predeterminado es falso.
Devoluciones:
-
Output
de índices_seleccionados: un tensor entero 1-D de forma [M]
que representa los índices seleccionados del tensor de cajas, donde M <= max_output_size
. -
Output
de puntuaciones_seleccionadas: un tensor flotante 1-D de forma [M]
que representa las puntuaciones correspondientes para cada cuadro seleccionado, donde M <= max_output_size
. Las puntuaciones solo difieren de las puntuaciones de entrada correspondientes cuando se utiliza Soft NMS (es decir, cuando soft_nms_sigma>0
) -
Output
valid_outputs: un tensor entero 0-D que representa el número de elementos válidos en selected_indices
, donde los elementos válidos aparecen primero.
Constructores y destructores |
---|
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma)
|
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs) |
Atributos públicos
Funciones públicas
Funciones estáticas públicas
PadToMaxOutputSize
Attrs PadToMaxOutputSize(
bool x
)
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC).
[null,null,["Última actualización: 2025-07-26 (UTC)."],[],[],null,["# tensorflow::ops::NonMaxSuppressionV5 Class Reference\n\ntensorflow::ops::NonMaxSuppressionV5\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) This op also supports a Soft-NMS (with Gaussian weighting) mode (c.f. Bodla et al, \u003chttps://arxiv.org/abs/1704.04503\u003e) where boxes reduce the score of other overlapping boxes instead of directly causing them to be pruned. To enable this Soft-NMS mode, set the `soft_nms_sigma` parameter to be larger than 0.\n\nArguments:\n\n- scope: A [Scope](/versions/r2.0/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- soft_nms_sigma: A 0-D float tensor representing the sigma parameter for Soft NMS; see Bodla et al (c.f. \u003chttps://arxiv.org/abs/1704.04503\u003e). When `soft_nms_sigma=0.0` (which is default), we fall back to standard (hard) NMS.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.0/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v5/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_v5_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.0/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.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) selected_scores: A 1-D float tensor of shape `[M]` representing the corresponding scores for each selected box, where `M \u003c= max_output_size`. Scores only differ from corresponding input scores when using Soft NMS (i.e. when `soft_nms_sigma\u003e0`)\n- [Output](/versions/r2.0/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| [NonMaxSuppressionV5](#classtensorflow_1_1ops_1_1_non_max_suppression_v5_1a58f80a7976cd835a7edb22cdfbe9d52e)`(const ::`[tensorflow::Scope](/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` scores, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max_output_size, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` iou_threshold, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` score_threshold, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` soft_nms_sigma)` ||\n| [NonMaxSuppressionV5](#classtensorflow_1_1ops_1_1_non_max_suppression_v5_1a01252b578e820021a7bd241b40164251)`(const ::`[tensorflow::Scope](/versions/r2.0/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` scores, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max_output_size, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` iou_threshold, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` score_threshold, ::`[tensorflow::Input](/versions/r2.0/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` soft_nms_sigma, const `[NonMaxSuppressionV5::Attrs](/versions/r2.0/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v5/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_v5_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|-----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_non_max_suppression_v5_1aa96dc249a5c111b383bada5507ebf994) | [Operation](/versions/r2.0/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [selected_indices](#classtensorflow_1_1ops_1_1_non_max_suppression_v5_1a7c287739ff4978fb784b56224b054b21) | `::`[tensorflow::Output](/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [selected_scores](#classtensorflow_1_1ops_1_1_non_max_suppression_v5_1ab66338bc87549958c2b63ba5fd795530) | `::`[tensorflow::Output](/versions/r2.0/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [valid_outputs](#classtensorflow_1_1ops_1_1_non_max_suppression_v5_1a4099ccdeda03b3fc9290a7391e811ace) | `::`[tensorflow::Output](/versions/r2.0/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_v5_1a6f6209fd08cfd3bd97ba74954009db05)`(bool x)` | [Attrs](/versions/r2.0/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v5/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_v5_1_1_attrs) |\n\n| ### Structs ||\n|------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::NonMaxSuppressionV5::Attrs](/versions/r2.0/api_docs/cc/struct/tensorflow/ops/non-max-suppression-v5/attrs) | Optional attribute setters for [NonMaxSuppressionV5](/versions/r2.0/api_docs/cc/class/tensorflow/ops/non-max-suppression-v5#classtensorflow_1_1ops_1_1_non_max_suppression_v5). |\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### selected_scores\n\n```scdoc\n::tensorflow::Output selected_scores\n``` \n\n### valid_outputs\n\n```scdoc\n::tensorflow::Output valid_outputs\n``` \n\nPublic functions\n----------------\n\n### NonMaxSuppressionV5\n\n```gdscript\n NonMaxSuppressionV5(\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 ::tensorflow::Input soft_nms_sigma\n)\n``` \n\n### NonMaxSuppressionV5\n\n```gdscript\n NonMaxSuppressionV5(\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 ::tensorflow::Input soft_nms_sigma,\n const NonMaxSuppressionV5::Attrs & attrs\n)\n``` \n\nPublic static functions\n-----------------------\n\n### PadToMaxOutputSize\n\n```text\nAttrs PadToMaxOutputSize(\n bool x\n)\n```"]]