Aller au contenu principal

Filtrage et Tri des Contours

Après le seuillage de couleur, Limelight génère une liste de contours. Ensuite, chaque contour est enveloppé dans un rectangle englobant le plus ajusté, un rectangle "non pivoté" et une "enveloppe convexe". Ceux-ci passent à travers une série de filtres pour déterminer le "meilleur" contour. Si plusieurs contours passent tous les filtres, Limelight choisit le meilleur contour en utilisant le contrôle "Mode de Tri".

Modes de Tri

Contrôle comment les contours sont triés après avoir passé tous les autres filtres.

En 2019, le mode de tri "le plus proche" a été ajouté. Ce mode sélectionne la cible la plus proche du réticule configurable.

Surface de la Cible

Contrôle la plage de surfaces acceptables des rectangles englobants, en pourcentages de l'écran. Vous pouvez augmenter la surface minimale pour aider à filtrer les lumières du stade, et diminuer la valeur maximale pour aider à filtrer des éléments comme les grands écrans près du terrain.

Le curseur de surface n'est pas mis à l'échelle linéairement, mais à la puissance quatre. Ceci est fait pour fournir une précision supplémentaire près des valeurs de surface basses, où se trouvent de nombreuses cibles FRC. La surface d'un carré évolue quadratiquement avec la longueur de son côté, mais la mise à l'échelle x^4 fournit une précision encore plus grande là où elle est nécessaire.

Remplissage de la Cible

Le remplissage est le pourcentage de pixels "actifs" dans le rectangle englobant du contour choisi. Une cible rectangulaire solide aura un remplissage proche de 1.0, tandis qu'une cible en forme de U aura un faible remplissage.

Rapport d'Aspect de la Cible

Le rapport d'aspect est défini par la largeur du rectangle englobant du contour choisi divisée par sa hauteur. Un faible rapport d'aspect décrit un rectangle "haut", tandis qu'un rapport d'aspect élevé décrit un rectangle "large".

Le curseur du rapport d'aspect est également mis à l'échelle quadratiquement.

Filtre de Direction

Rejette les contours en fonction de leur orientation.

Rejet Intelligent des Taches

Rejette les contours relativement petits (par opposition à absolument petits avec le filtre de surface) qui ont passé tous les autres filtres. Ceci est essentiel si une cible doit rester traçable à courte et longue portée. Cette fonctionnalité a été introduite lors de la saison 2019 pour rejeter les réflexions LED de Limelight lorsque les robots étaient très proches des cibles.

Groupement de Cibles

Contrôle le "groupement" des cibles. Réglez sur le mode double pour rechercher des "cibles" composées de deux formes, ou le mode triple pour rechercher des cibles composées de trois formes.

Le Groupement Intelligent de Cibles peut grouper un nombre variable de cibles et rejeter les valeurs aberrantes. Il a été ajouté en 2022 pour aider à suivre la cible du hub supérieur.

Filtre d'Intersection (Cibles Doubles Uniquement)

Rejette les groupes de contours en fonction de la façon dont ils s'intersecteraient s'ils étaient étendus à l'infini.

Groupement Intelligent de Cibles

Groupe automatiquement les cibles qui passent tous les filtres de cibles individuels.

  • Groupera dynamiquement n'importe quel nombre de cibles entre -minimum du curseur de taille de groupe- et -maximum du curseur de taille de groupe-

Rejet des Valeurs Aberrantes

  • Bien que les cibles groupées soient plus difficiles que les cibles normales, elles fournissent plus d'informations et d'opportunités de filtrage. Si vous savez qu'un but est composé de plusieurs cibles proches les unes des autres, vous pouvez effectivement rejeter les cibles aberrantes qui sont isolées.
  • Vous devriez vous fier presque entièrement à un bon filtrage de cibles, et n'utiliser le rejet des valeurs aberrantes que si vous voyez ou attendez des valeurs aberrantes parasites dans votre flux caméra. Si vous avez un mauvais filtrage de cibles standard, la détection des valeurs aberrantes pourrait commencer à jouer contre vous !

Sortie

Cet onglet contrôle ce qui se passe pendant la dernière étape du pipeline de vision

Région de Ciblage

Contrôle le point d'intérêt du rectangle englobant du contour choisi. Par défaut, les paramètres de suivi tx et ty représentent les décalages de votre réticule au centre du rectangle choisi. Vous pouvez utiliser une autre option si une cible change de taille, ou est composée de deux cibles qui se mélangent parfois.

Envoyer les Coins Bruts ?

Réglez ce contrôle sur "oui" pour inclure les emplacements des coins dans les résultats JSON, NetworkTables et API. Ajustez le nombre de coins soumis en modifiant la valeur "Simplification des Contours" dans la page "Filtrage des Contours".

Envoyer JSON via NT ?

Réglez ce contrôle sur "oui" pour soumettre le JSON via NetworkTables.

Calibration du Réticule

Contrôle l'"origine" de vos valeurs de ciblage. Disons qu'un tireur sur votre robot doit être calibré de sorte qu'il pointe toujours légèrement à gauche du centre. Vous pouvez aligner votre robot, cliquer sur "calibrer", et toutes vos valeurs de ciblage seront envoyées par rapport à votre nouveau réticule. Consultez la page de calibration pour plus de détails !

3D

Expérimentez avec l'estimation de pose basée sur les points PnP ici.

Calcul 3D

Contrôle si l'estimation de pose est activée. Vous devez activer le mode haute résolution 960x720 pour que cela fonctionne.

Forcer Convexe

Utilisez cette option pour sélectionner uniquement les coins "les plus extérieurs" d'une cible pour SolvePnP.

Simplification des Contours

Utilisez cette option pour supprimer les petits bords bruités de la cible.

Erreur Acceptable

Limelight ne retournera une cible que si elle passe un test de reprojection avec un certain score en pixels.

Décalage Z du But

Ajuste automatiquement la valeur de profondeur 3D de votre cible (Axe Z).