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] . Si q vaut 1, les mêmes boîtes sont utilisées pour toutes les classes ; sinon, si q est é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 longueur max_size_per_class * num_classes , sauf si elle dépasse max_total_size auquel 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 :

  • Output nmsed_boxes : Un tenseur float32 [batch_size, max_detections, 4] contenant les boîtes non supprimées max.
  • Output nmsed_scores : Un tenseur float32 [batch_size, max_detections] contenant les scores des boîtes.
  • Output nmsed_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
)