tensorflow::ops::NonMaxSuppressionV5
#include <image_ops.h>Sélectionne de manière gourmande un sous-ensemble de boîtes englobantes dans l'ordre décroissant du score.
Résumé
L'algorithme élimine les boîtes englobantes présentant un fort chevauchement (intersection sur union, IOU) avec les boîtes précédemment sélectionnées. Les boîtes englobantes dont le score est inférieur à score_threshold sont supprimées. Les boîtes englobantes sont fournies sous la forme `[y1, x1, y2, x2]`, où `(y1, x1)` et `(y2, x2)` représentent les coordonnées de deux coins diagonaux quelconques de la boîte. Ces coordonnées peuvent être normalisées (c'est-à-dire comprises dans l'intervalle [0, 1]) ou absolues. Cet algorithme est indépendant de la position de l'origine dans le système de coordonnées et, plus généralement, invariant aux transformations orthogonales et aux translations du système de coordonnées ; ainsi, une translation ou une réflexion du système de coordonnées ne modifie pas les boîtes sélectionnées. Le résultat de cette opération est un ensemble d'entiers indexant la collection de boîtes englobantes d'entrée, représentant les boîtes sélectionnées. Les coordonnées des boîtes englobantes correspondant aux indices sélectionnés peuvent ensuite être obtenues à l'aide de l' tf.gather operation . Par exemple : `selected_indices = tf.image.non_max_suppression_v2(boxes, scores, max_output_size, iou_threshold, score_threshold)` `selected_boxes = tf.gather(boxes, selected_indices)` Cette opération prend également en charge un mode Soft-NMS (avec pondération gaussienne) (cf. Bodla et al., https://arxiv.org/abs/1704.04503 ) où les boîtes réduisent le score des autres boîtes qui se chevauchent au lieu de les supprimer directement. Pour activer ce mode Soft-NMS, définissez le paramètre soft_nms_sigma à une valeur supérieure à 0.
Arguments :
- portée : un objet Scope
- boîtes : Un tenseur flottant 2D de forme
[num_boxes, 4]. - scores : Un tenseur flottant 1D de forme
[num_boxes]représentant un score unique correspondant à chaque boîte (chaque ligne de boîtes). - max_output_size : Un tenseur entier scalaire représentant le nombre maximal de boîtes à sélectionner par suppression non maximale.
- iou_threshold : Un tenseur flottant 0D représentant le seuil permettant de décider si les boîtes se chevauchent trop par rapport à l’IOU.
- score_threshold : Un tenseur flottant 0D représentant le seuil permettant de décider quand supprimer les boîtes en fonction du score.
- soft_nms_sigma : tenseur flottant 0D représentant le paramètre sigma pour Soft NMS ; voir Bodla et al. (cf. https://arxiv.org/abs/1704.04503 ). Lorsque
soft_nms_sigma=0.0(valeur par défaut), on utilise le NMS standard (dureté).
Attributs optionnels (voir Attrs ) :
- pad_to_max_output_size : Si la valeur est vraie, la sortie
selected_indicesest complétée pour atteindre une longueurmax_output_size. Par défaut, la valeur est fausse.
Retours :
-
Outputselected_indices : un tenseur entier 1D de forme[M]représentant les indices sélectionnés du tenseur des boîtes, oùM <= max_output_size. - `selected_scores`
Outputun tenseur flottant unidimensionnel de forme[M]représentant les scores correspondants pour chaque boîte sélectionnée, oùM <= max_output_size. Les scores diffèrent des scores d'entrée correspondants uniquement lors de l'utilisation de la méthode Soft NMS (c'est-à-dire lorsquesoft_nms_sigma>0). -
Outputvalid_outputs : Un tenseur d’entiers 0D représentant le nombre d’éléments valides dansselected_indices, les éléments valides apparaissant en premier.
Constructeurs et destructeurs | |
|---|---|
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) |
attributs publics | |
|---|---|
operation | |
selected_indices | |
selected_scores | |
valid_outputs | |
fonctions statiques publiques | |
|---|---|
PadToMaxOutputSize (bool x) | |
Structures | |
|---|---|
| tensorflow::ops::NonMaxSuppressionV5::Attrs | Définiteurs d'attributs optionnels pour NonMaxSuppressionV5 . |
attributs publics
opération
Operation operation
indices_sélectionnés
::tensorflow::Output selected_indices
scores_sélectionnés
::tensorflow::Output selected_scores
sorties valides
::tensorflow::Output valid_outputs
fonctions publiques
NonMaxSuppressionV5
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
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 )
fonctions statiques publiques
PadToMaxOutputSize
Attrs PadToMaxOutputSize( bool x )