Aller au contenu principal

Filtrage et Tri des Contours

Après le seuillage des couleurs, Limelight génère une liste de contours. Ensuite, chaque contour est enveloppé dans un rectangle englobant au plus près, un rectangle "non-pivoté" et une "enveloppe convexe". Ceux-ci passent par 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 être passés par tous les autres filtres.

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

Zone Cible

Contrôle la plage des aires de rectangle englobant acceptables, en pourcentage de l'écran. Vous pouvez augmenter la zone minimale pour aider à filtrer les lumières du stade, et diminuer la valeur maximale pour aider à filtrer les grands écrans près du terrain.

Le curseur de zone n'est pas mis à l'échelle linéairement, mais quartiquement. Cela permet d'offrir plus de précision vers les valeurs basses de zone, où se trouvent de nombreuses cibles FRC. L'aire d'un carré évolue quadratiquement avec la longueur de son côté, mais l'échelle en x^4 offre encore plus de précision là où c'est nécessaire.

Remplissage de la Cible

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

Ratio d'Aspect de la Cible

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

Le curseur de ratio d'aspect est également mis à l'échelle quadratiquement.

Filtre de Direction

Rejette les contours sur la base de leur orientation.

Rejet Intelligent des Taches

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

Groupement de Cibles

Contrôle le "groupement" des cibles. Réglez en mode double pour chercher des "cibles" composées de deux formes, ou en mode triple pour chercher 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 basés sur 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 individuelles.

  • 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 rejeter les cibles aberrantes qui se tiennent seules.
  • Vous devriez vous fier presque entièrement à un bon filtrage des cibles, et n'utiliser le rejet des valeurs aberrantes que si vous voyez ou attendez des valeurs aberrantes dans votre flux vidéo. Si vous avez un mauvais filtrage standard des cibles, 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 entre votre réticule et le 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 réglant la valeur "Simplification des Contours" dans la page "Filtrage des Contours".

Envoyer JSON via NT ?

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

Calibration du Réticule

Contrôle l'"origine" de vos valeurs de ciblage. Disons qu'un lanceur sur votre robot doit être calibré pour toujours pointer un peu à 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. Voir la page de calibration pour plus de détails !

3D

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

Calculer en 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 externes" 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 de l'Objectif

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