tensorflow::ops::CombinedNonMaxSuppression
#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é
Cette opération applique la suppression des valeurs maximales (non_max_suppression) aux entrées de chaque lot, pour toutes les classes. Elle élimine les boîtes présentant un fort chevauchement (intersection sur union, IOU) avec les boîtes précédemment sélectionné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. Il est également 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 le tenseur final contenant les boîtes, les scores et les classes, renvoyé après l'application de la suppression des valeurs maximales.
Arguments :
- portée : un objet Scope
- boxes : un tenseur flottant 4D de forme
[batch_size, num_boxes, q, 4]. Siqvaut 1, les mêmes boîtes sont utilisées pour toutes les classes ; sinon, siqest égal au nombre de classes, des boîtes spécifiques à chaque classe sont utilisées. - scores : Un tenseur flottant 3D de forme
[batch_size, num_boxes, num_classes]représentant un score unique correspondant à chaque boîte (chaque ligne de boîtes). - max_output_size_per_class : Un tenseur scalaire entier représentant le nombre maximal de boîtes à sélectionner par suppression non maximale par classe
- max_total_size : Un scalaire représentant le nombre maximal de boîtes conservées pour toutes les classes.
- 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.
Attributs optionnels (voir Attrs ) :
- pad_per_class : Si la valeur est false, les boîtes, scores et classes de sortie nmsed sont complétés/tronqués jusqu'à
max_total_size. Si la valeur est true, les boîtes, scores et classes de sortie nmsed sont complétés jusqu'à une longueurmax_size_per_class*num_classes, sauf si elle dépassemax_total_sizeauquel cas elle est tronquée àmax_total_size. Par défaut : false. - clip_boxes : Si la valeur est « true », les coordonnées des boîtes sont considérées comme comprises entre 0 et 1, et les boîtes de sortie sont rognées si elles dépassent cet intervalle. Si la valeur est « false », les coordonnées des boîtes sont conservées telles quelles.
Retours :
-
Outputnmsed_boxes : Un tenseur float32 [batch_size, max_detections, 4] contenant les boîtes non supprimées max. -
Outputnmsed_scores : Un tenseur float32 [batch_size, max_detections] contenant les scores des boîtes. -
Outputnmsed_classes : Un tenseur float32 [batch_size, max_detections] contenant les classes des boîtes. -
Output: `valid_detections` est un tenseur `[batch_size] int32` indiquant le nombre de détections valides par élément du lot. Seules les `num_detections[i]` premières valeurs de `nms_boxes[i]`, `nms_scores[i]` et `nms_class[i]` sont valides. Les valeurs suivantes sont remplies de zéros.
Constructeurs et destructeurs | |
|---|---|
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold) | |
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs) |
attributs publics | |
|---|---|
nmsed_boxes | |
nmsed_classes | |
nmsed_scores | |
operation | |
valid_detections | |
fonctions statiques publiques | |
|---|---|
ClipBoxes (bool x) | |
PadPerClass (bool x) | |
Structures | |
|---|---|
| tensorflow::ops::CombinedNonMaxSuppression::Attrs | Définiteurs d'attributs optionnels pour CombinedNonMaxSuppression . |
attributs publics
nmsed_boxes
::tensorflow::Output nmsed_boxes
classes nmsed
::tensorflow::Output nmsed_classes
scores nmsed
::tensorflow::Output nmsed_scores
opération
Operation operation
détections valides
::tensorflow::Output valid_detections
fonctions publiques
Suppression combinée non maximale
CombinedNonMaxSuppression( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size_per_class, ::tensorflow::Input max_total_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold )
Suppression combinée non maximale
CombinedNonMaxSuppression( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size_per_class, ::tensorflow::Input max_total_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs )
fonctions statiques publiques
ClipBoxes
Attrs ClipBoxes( bool x )
PadPerClass
Attrs PadPerClass( bool x )