Aller au contenu principal

Calibration de la caméra ChArUco

Pourquoi est-ce important ?

Une caméra entièrement calibrée fournira des mesures 2D et 3D plus précises. C'est utile pour toute tâche qui n'est pas basée sur l'asservissement au réticule.

Cela étant dit, nous recommandons d'utiliser la méthode d'asservissement aussi souvent que possible. Elle est rapide, précise et adaptée à des tâches telles que l'acquisition d'objets, le ciblage et l'alignement sur des cibles. Ne vous souciez pas de la calibration à moins que vous ne déterminiez que vous avez besoin d'une plus grande précision. Chaque unité LL est livrée avec une calibration par défaut qui fournira des résultats assez bons pour la plupart des cas d'utilisation

Qu'est-ce que la calibration de caméra ?

La calibration des paramètres intrinsèques est le processus de détermination des deux composants suivants :

1. La matrice de la caméra

La matrice de la caméra, souvent notée K, est une matrice 3x3 qui décrit comment les points 3D dans le système de coordonnées de la caméra sont projetés sur le plan d'image 2D :

[fx  0   cx]
[0 fy cy]
[0 0 1]

cx et cy sont les coordonnées du point principal / pixel principal. Le point principal / pixel principal est le pixel qui est directement aligné avec l'axe optique de l'objectif. Lors de la fabrication, l'objectif d'une caméra n'est presque jamais parfaitement aligné avec le centre du capteur d'image. Il est crucial que nous comprenions quel pixel est le véritable pixel "central"

fx et fy sont les longueurs focales calculées en pixels

2. Coefficients de distorsion

Nous calculons 5 coefficients de distorsion :

[k1, k2, p1, p2, k3]

k1, k2, k3 sont des coefficients de distorsion radiale qui font apparaître les lignes droites comme courbes.

p1, p2 sont des coefficients de distorsion tangentielle qui se produisent lorsque l'objectif n'est pas parallèle au plan de l'image

Réalisation de la calibration ChArUco

La calibration ChArUco avec Limelight a été conçue pour être aussi fluide et infaillible que possible. Lisez les étapes suivantes, puis regardez la vidéo ci-dessous pour apprendre à calibrer votre caméra pour une précision accrue.

info

Vous n'avez besoin de calibrer qu'à une seule résolution (nous recommandons 1280x960 pour LL3 et 1280x800 pour LL3G). Les paramètres intrinsèques sont automatiquement mis à l'échelle pour correspondre à la résolution choisie de votre pipeline, et les coefficients de distorsion sont invariants en résolution pour un rapport d'aspect et un champ de vision fixes. Les pipelines de zoom matériel et les pipelines 5 mégapixels sont les seuls pipelines qui n'utiliseront pas de calibrations personnalisées.

Préparation du tableau

Vous pouvez utiliser n'importe quel écran d'ordinateur portable pour calibrer votre caméra. Pour une précision maximale, cependant, nous recommandons d'acheter ce tableau grossier de 800mmx600mm chez calib.io

Exemple de tableau ChArUco

  1. Imprimez un tableau de calibration ChArUco ou utilisez une image d'un tableau sur un grand écran d'ordinateur portable ou d'ordinateur. Utilisez notre tableau de la page de téléchargements, ou générez le vôtre.
  2. Trouvez la "largeur" de la grille en additionnant le nombre total de carrés noirs et le nombre total de marqueurs ArUco sur une ligne (11 pour le tableau de calibration Limelight par défaut).
  3. Trouvez la "hauteur" de la grille en additionnant le nombre total de carrés noirs et le nombre total de marqueurs ArUco sur une colonne (8 pour le tableau de calibration Limelight par défaut).
  4. Confirmez les mesures de "taille de carré" et "taille de marqueur" en mesurant les longueurs des côtés d'un carré et d'un marqueur en millimètres.
    • Les mesures de taille de carré et de taille de marqueur sont cruciales, utilisez donc un pied à coulisse.
  5. Notez le type de dictionnaire. Le tableau par défaut de la page de téléchargements utilise le dictionnaire 5x5_100.

Capture d'images de calibration

  1. Assurez-vous que votre tableau est aussi plat que possible.
    • Vous ne devez pas effectuer de calibration si votre tableau n'est pas plat. Vous pouvez acheter des tableaux spéciaux chez calib.io, ou fixer votre tableau imprimé sur un clipboard.
  2. Allumez votre robot et accédez à l'interface web Limelight.
  3. Créez un pipeline AprilTag 1280x960.
  4. Supprimez toutes les captures enregistrées en changeant le type de source "input" de "Camera" à "Snapshot" et en cliquant sur "Delete all snapshots".
  5. Repassez le type de source "input" à "Camera".
  6. Capturez au moins 25 images du tableau ChArUco pour commencer. Une fois que vous serez familiarisé avec le processus, vous voudrez revenir pour capturer un total d'au moins 50 images.
  7. Le principal avantage de la calibration ChArUco par rapport à la calibration standard de l'échiquier est qu'elle fonctionne même si seule une partie du tableau est visible par la caméra. Il est important d'utiliser cet avantage.
  8. Vos images doivent présenter un bon mélange des qualités suivantes :
    • Votre tableau couvre de grandes régions de l'image.
    • Votre tableau s'étend au-delà d'au moins un bord ou coin de l'image (Cela aidera à calculer la distorsion autour des bords des images).
    • Votre tableau est souvent positionné de manière à avoir une déformation en perspective (Le tableau ne doit pas être parallèle au plan de l'image).
    • Visez une grande diversité dans les positions du tableau, les perspectives et la couverture.
    • 50% de vos images doivent illustrer un raccourcissement significatif. C'est l'effet des marqueurs plus proches apparaissant plus grands que les marqueurs éloignés. La première et la dernière image de la capture d'écran suivante démontrent le raccourcissement

Exemples de calibration

Calibration

  1. Naviguez vers l'onglet "Calibration". C'est le troisième onglet dans la barre latérale verticale.
  2. Entrez les cinq valeurs trouvées dans l'étape "Préparation du tableau".
  3. Cliquez sur le bouton "Calibrate with Snapshots". Le processus peut prendre une minute ou deux pour se terminer.
  4. En cas de succès, la carte "Latest Calibration Result" affichera le dernier résultat de calibration.
  5. Vérifiez la carte "Latest Calibration Result" pour un résultat raisonnable avec une faible erreur de reprojection (idéalement inférieure à 1).
  6. Téléchargez le dernier résultat de calibration et téléchargez-le dans l'emplacement de calibration "custom - file".
  7. Vous devriez maintenant voir trois cartes de résultat de calibration remplies.
  8. Changez votre "preferred calibration" à "custom - file" pour utiliser votre résultat de calibration personnalisé. Tous les pipelines utiliseront votre résultat de calibration.
  9. Envisagez de capturer plus de captures d'écran et de recalibrer une fois que vous êtes familiarisé avec le processus.