Sélectionne goulûment un sous-ensemble de boîtes englobantes par ordre décroissant de score,
Cette opération effectue non_max_suppression sur les entrées par lot, dans toutes les classes. Élague les cases qui présentent un chevauchement élevé d'intersection sur union (IOU) avec les cases 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) 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. Notez également que cet algorithme 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 le tenseur final des boîtes, des scores et des classes renvoyé après avoir effectué non_max_suppression.
Classes imbriquées
classe | CombinedNonMaxSuppression.Options | Attributs facultatifs pour CombinedNonMaxSuppression |
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
statique CombinedNonMaxSuppression.Options | clipBoxes (clipBoxes booléennes) |
statique CombinedNonMaxSuppression | créer ( Portée de portée , Opérande < TFloat32 > cases, Opérande < TFloat32 > scores, Opérande < TInt32 > maxOutputSizePerClass, Opérande < TInt32 > maxTotalSize, Opérande < TFloat32 > iouThreshold, Opérande < TFloat32 > scoreThreshold, Options... options) Méthode d'usine pour créer une classe encapsulant une nouvelle opération CombinedNonMaxSuppression. |
Sortie < TFloat32 > | nmsedBoxes () Un tenseur [batch_size, max_detections, 4] float32 contenant les boîtes supprimées non-max. |
Sortie < TFloat32 > | nmsedClasses () Un tenseur [batch_size, max_detections] float32 contenant les classes des boîtes. |
Sortie < TFloat32 > | nmsedScores () Un tenseur [batch_size, max_detections] float32 contenant les scores des boîtes. |
statique CombinedNonMaxSuppression.Options | padPerClass (padPerClass booléen) |
Sortie < TInt32 > | validationDétections () Un tenseur [batch_size] int32 indiquant le nombre de détections valides par élément de lot. |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
public static CombinedNonMaxSuppression.Options clipBoxes (clipBoxes booléennes)
Paramètres
boîtes à clips | Si c'est vrai, supposez que les coordonnées de la boîte sont comprises entre [0, 1] et coupez les boîtes de sortie si elles se situent au-delà de [0, 1]. Si faux, n'effectuez pas de découpage et affichez les coordonnées de la boîte telles quelles. |
---|
public static CombinedNonMaxSuppression créer ( Portée de la portée , Opérande < TFloat32 > cases, Opérande < TFloat32 > scores, Opérande < TInt32 > maxOutputSizePerClass, Opérande < TInt32 > maxTotalSize, Opérande < TFloat32 > iouThreshold, Opérande < TFloat32 > scoreThreshold, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération CombinedNonMaxSuppression.
Paramètres
portée | portée actuelle |
---|---|
des boites | Un tenseur flottant 4D de forme `[batch_size, num_boxes, q, 4]`. Si « q » vaut 1, alors les mêmes cases sont utilisées pour toutes les classes, sinon, si « q » est égal au nombre de classes, des cases spécifiques à la classe sont utilisées. |
partitions | Un tenseur flottant 3D de forme `[batch_size, num_boxes, num_classes]` représentant un score unique correspondant à chaque case (chaque rangée de cases). |
maxOutputSizePerClass | Un tenseur entier scalaire représentant le nombre maximum de cases à sélectionner par suppression non maximale par classe |
tailletotalemax | Un scalaire représentant le nombre maximum de cases conservées dans toutes les classes. |
iouSeuil | Un tenseur flottant 0-D représentant le seuil permettant de décider si les boîtes se chevauchent trop par rapport à l'IOU. |
scoreSeuil | Un tenseur flottant 0-D représentant le seuil permettant de décider quand supprimer des cases en fonction du score. |
choix | porte des valeurs d'attributs facultatifs |
Retour
- une nouvelle instance de CombinedNonMaxSuppression
Sortie publique < TFloat32 > nmsedBoxes ()
Un tenseur [batch_size, max_detections, 4] float32 contenant les boîtes supprimées non-max.
Sortie publique < TFloat32 > nmsedClasses ()
Un tenseur [batch_size, max_detections] float32 contenant les classes des boîtes.
Sortie publique < TFloat32 > nmsedScores ()
Un tenseur [batch_size, max_detections] float32 contenant les scores des boîtes.
public statique CombinedNonMaxSuppression.Options padPerClass (booléen padPerClass)
Paramètres
padParClass | Si faux, les boîtes nmsed, les scores et les classes de sortie sont complétés/découpés à `max_total_size`. Si c'est vrai, les boîtes, scores et classes nmsed de sortie sont complétés pour avoir une longueur de `max_size_per_class`*`num_classes`, à moins qu'ils ne dépassent `max_total_size`, auquel cas ils sont coupés à `max_total_size`. La valeur par défaut est false. |
---|