flux tensoriel : : opérations : : NonMaxSuppressionV5
#include <image_ops.h>
Sélectionne goulûment un sous-ensemble de boîtes englobantes par ordre décroissant de score.
Résumé
élaguer les cases qui ont un chevauchement élevé d'intersection sur union (IOU) avec les cases précédemment sélectionnées. Les cadres de délimitation dont le score est inférieur à score_threshold
sont supprimés. Les boîtes englobantes sont fournies sous la forme [y1, x1, y2, x2], où (y1, x1) et (y2, x2) sont les coordonnées de toute paire diagonale de coins de boîte et les coordonnées peuvent être fournies sous forme normalisée (c'est-à-dire situées dans l'intervalle [0, 1]) ou absolu. Notez que cet algorithme est indépendant de l'endroit où se trouve l'origine dans le système de coordonnées et plus généralement est invariant aux transformations orthogonales et aux traductions du système de coordonnées ; ainsi, la traduction ou les réflexions du système de coordonnées entraînent la sélection des mêmes cases par l'algorithme. Le résultat de cette opération est un ensemble d’entiers indexés dans la collection d’entrée de cadres englobants représentant les cadres sélectionnés. Les coordonnées de la boîte englobante 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 supporte également un mode Soft-NMS (avec pondération gaussienne) (cf Bodla et al , https://arxiv.org/abs/1704.04503 ) où les cases réduisent le score des autres cases qui se chevauchent au lieu de provoquer directement leur élagage. Pour activer ce mode Soft-NMS, définissez le paramètre soft_nms_sigma
sur une valeur supérieure à 0.
Arguments :
- scope : un objet Scope
- boxes : Un tenseur flottant 2D de forme
[num_boxes, 4]
. - scores : Un tenseur flottant 1-D de forme
[num_boxes]
représentant un score unique correspondant à chaque case (chaque rangée de cases). - max_output_size : un tenseur entier scalaire représentant le nombre maximum de cases à sélectionner par suppression non maximale.
- iou_threshold : un tenseur flottant 0-D représentant le seuil permettant de décider si les boîtes se chevauchent trop par rapport à IOU.
- score_threshold : un tenseur flottant 0-D représentant le seuil permettant de décider quand supprimer des cases en fonction du score.
- soft_nms_sigma : un tenseur flottant 0-D 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
(ce qui est par défaut), nous revenons au NMS standard (dur).
Attributs facultatifs (voir Attrs
) :
- pad_to_max_output_size : si vrai, la sortie
selected_indices
est complétée pour avoir une longueurmax_output_size
. La valeur par défaut est false.
Retours :
-
Output
selected_indices : un tenseur entier 1D de forme[M]
représentant les indices sélectionnés à partir du tenseur des boîtes, oùM <= max_output_size
. -
Output
selected_scores : un tenseur flottant 1D de forme[M]
représentant les scores correspondants pour chaque boîte sélectionnée, oùM <= max_output_size
. Les scores ne diffèrent des scores d'entrée correspondants que lors de l'utilisation de Soft NMS (c'est-à-dire lorsquesoft_nms_sigma>0
) -
Output
valid_outputs : un tenseur entier 0-D 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 | Setters d'attributs facultatifs pour NonMaxSuppressionV5 . |
Attributs publics
opération
Operation operation
indices_sélectionnés
::tensorflow::Output selected_indices
scores_sélectionnés
::tensorflow::Output selected_scores
valid_outputs
::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 )