1 / 60

Patrick Hébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson

Introduction à la vision artificielle Deuxième partie Étalonnage géométrique de la caméra et du système. Patrick Hébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson (Revisitée par A. Bendada en 2011 et 2012 et D. Laurendeau en 2014).

Download Presentation

Patrick Hébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction à la vision artificielle Deuxième partieÉtalonnage géométrique de la caméra et du système Patrick Hébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson (Revisitée par A. Bendada en 2011 et 2012 et D. Laurendeau en 2014) Design III / GEL-3004

  2. Structure du cours • Le cours d'introduction à la vision couvre en particulier 2 étapes du processus de vision qui sont nécessaires à l'atteinte de ces objectifs : • Reconnaître les objets dans les images Traitement des images (première partie) • Calculer la position des objets par rapport au robot et celle du robot dans l’environnementÉtalonnage géométrique de la caméra et du système (deuxième partie) Design III / GEL-21405 H05

  3. Calcul de position : un aperçu L'objectif est de connaître la position d'un objet dans l'espace à partir de sa position dans l'image Points Modèle de Points 3D image caméra Paramètres du modèle • L'étalonnage sert à déterminer les paramètres du modèle. Il est réalisé une seule fois. Étalonnage Design III / GEL-3004

  4. Plan de la présentation • Notions de base • Formation des images • Modèle du sténopé (pinhole) • Coordonnées homogènes et transformations • Changements de repère • Étalonnage d'une caméra • Modèle utilisé • Procédure • Utilisation des paramètres • Calcul de la position des objets • Calcul de la position du robot Design III / GEL-3004

  5. Formation des images film scène Placer un film en face d’un objet. Design III / GEL-3004

  6. barrière Formation des images Camérasténopé (“pinhole”) film scène • Ajouter une barrière pour bloquer la plupart des rayons. • Cela réduit le flou • L’image est inversée Design III / GEL-3004

  7. Formation des images film scène lentille Unelentillefocalise la lumièresur le film. Design III / GEL-3004

  8. Formation des images Sténopé Caméra réelle • Le modèle du sténopé demeure valide pour les calculs. Design III / GEL-3004

  9. Modèle du sténopé Centre de Axe optique F Pointprincipal projection Inverseur O Z C P = (X,Y,Z)T Point objet Plan image Y Axe optique F d Non-Inverseur Z d O C Centre de P = (X,Y,Z)T Point objet projection Plan image Y Design III / GEL-3004

  10. Modèle Sténopé : Projection de perspective Plan image Axe optique F Z O C Centre de T P' = (X ',Y',Z') projection T P = (X,Y,Z) Y YF On a : = Y '  Prévoir lescoordonnées imagesd'un point 3D connudans le repère de lacaméra. Z XF De même en X : = X ' Z = Z ' F Design III / GEL-3004

  11. Modèle Sténopé : Projection de perspective • Équation du rayon projecteur étant donné un point image • Il nous faut introduire les notions pour traiter les points qui sont ou seront connus dans un repère autre que celui de la caméra. Design III / GEL-3004

  12. Plan de la présentation • Notions de base • Formation des images • Modèle du sténopé (pinhole) • Coordonnées homogènes et transformations • Changements de repère • Étalonnage d'une caméra • Modèle utilisé • Procédure • Utilisation des paramètres • Calcul de la position des objets • Calcul de la position du robot Design III / GEL-3004

  13. Coordonnées homogènes • Représentation mathématique permettant de rendre linéaires (calcul matriciel) certaines opérations courantes en vision, robotique et infographie. Simplifie aussi l’écriture des transformations composées. Par exemple : Une translation de la forme correspond à la multiplication matricielle : Design III / GEL-3004

  14. Coordonnées homogènes : Utilisation • On passe des coord. cartésiennes aux coord. homogènes en ajoutant un "1" comme 4e élément au vecteur. • On effectue les opérations (définies par une matrice 4x4). • On revient aux coordonnées cartésiennes en divisant tous les éléments du vecteur résultant par W.  Design III / GEL-3004

  15. Coordonnées homogènes : Transformations d’intérêt pour le projet • Projection • Rotation • Translation • Changement d'échelle Design III / GEL-3004

  16. Coordonnées homogènes : Transformations courantes • Projection de perspective (selon l'axe Z) Exemple : Projection d'un point P = (X,Y,Z)T Retour aux coordonnées cartésiennes Design III / GEL-3004

  17. Coordonnées homogènes : Transformations courantes • Projection de perspective (selon l'axe Z) • La troisième ligne est sans intérêt puisque Z’ = F. • On peut alors représenter la projection dans une image par une matrice 3x4 • On normalise tout comme dans le cas précédent Design III / GEL-3004

  18. Coordonnées homogènes : Transformations d’intérêt • Rotation Design III / GEL-3004

  19. Coordonnées homogènes : Transformations d’intérêt • Translation • Changement d'échelle ("scaling") Design III / GEL-3004

  20. Coordonnées homogènes : Combiner les transformations • Soit E1, E2, …, EN, N transformations à appliquer, dans l'ordre, au point P dans le même repère de coordonnées. • On procède alors comme suit : • Ceci peut être réécrit : où • On parle ici de pré-multiplication des matrices de rotation Design III / GEL-3004

  21. Plan de la présentation • Notions de base • Fonctionnement d'une caméra • Formation des images • Modèle pinhole • Coordonnées homogènes et transformées • Changements de repère • Étalonnage d'une caméra • Modèle utilisé • Procédure • Utilisation des paramètres • Calcul de la position des objets • Calcul de la position du robot Design III / GEL-3004

  22. Mise en contexte Rc Robot RG RP RC : repère de la caméra RP : repère du préhenseur RG : repère global Design III / GEL-3004

  23. Changements de repère Transformations rigides Combinaison d'une translation et d'une rotation Préservation des distances et des angles Coordonnées homogènes : Changements de repère Que devient un point P, connu dans O2, vu de O1? Design III / GEL-3004

  24. Coordonnées homogènes : Changements de repère Que devient un point P, connu dans O2, vu de O1? Design III / GEL-3004

  25. Coordonnées homogènes : Changements de repère 2 définitions pour une même matrice 1 - Donne la position du repère 2 par rapport au repère 1 2 - Permet de transformer les coordonnées d'un point exprimées dans le repère 2 en coord. exprimées dans le repère 1 À noter : Transformation inverse Design III / GEL-3004

  26. Plan de la présentation • Notions de base • Fonctionnement d'une caméra • Formation des images • Modèle pinhole • Coordonnées homogènes et transformées • Changements de repère • Étalonnage d'une caméra • Modèle utilisé • Procédure • Utilisation des paramètres • Calcul de la position des objets • Calcul de la position du robot Design III / GEL-3004

  27. Étalonnage d'une caméra • On veut connaître la relation ("Mapping") entre les points de l'espace (3D, en millimètres) et leur position dans l'image (2D, en pixels). • On utilise un modèle simple (mais efficace) pour décrire le processus d'acquisition d'image : point image (en pixel) Paramètres intrinsèques Paramètres extrinsèques point 3D (en mm) • L'étalonnage consiste à déterminer les paramètres de ce modèle Design III / GEL-3004

  28. Centre de Centre du O I u projection plan image O G v XG ZG O c (u ,v ) 0 0 YG X Z p=(u ,v ) Axe optique Y Plan image P=(XG,YG,ZG) Étalonnage d'une caméra :Explication du modèle K Le modèle provient de la formule suivante : (si g = 0) point image point 3D extrinsèques intrinsèques Design III / GEL-3004

  29. Centre de Centre du O I u projection plan image O G E v CG XG ZG O c (u ,v ) 0 0 YG X Z Axe optique Y Plan image P=(X,Y,Z) Calibrage d'une caméra :Explication du modèle 1 – Changement de repère Global vers Caméra Design III / GEL-3004

  30. Centre de Centre du O I u projection plan image O G v XG ZG O c (u ,v ) 0 0 YG X Z Axe optique Y Plan image P=(X,Y,Z) Calibrage d'une caméra :Explication du modèle 2 – Projection Pt 3D vers Plan image p=(X’,Y’,F) Design III / GEL-3004

  31. Centre de Centre du O I u projection plan image O G v XG ZG O c (u ,v ) 0 0 YG X Z Axe optique Y Plan image P=(X,Y,Z) Calibrage d'une caméra :Explication du modèle 2 – Projection Pt 3D vers Plan image p=(X’,Y’) Design III / GEL-3004

  32. Centre de Centre du O I u projection plan image O G v XG ZG O c (u ,v ) 0 0 YG X Z Axe optique Y Plan image P=(X,Y,Z) Calibrage d'une caméra :Explication du modèle 3 – Mise à l'échelle du plan image, m vers pixel p=(sx X’, sy Y’) Design III / GEL-3004

  33. Centre de Centre du O I u projection plan image O G v XG ZG O c (u ,v ) 0 0 YG X Z Axe optique Y Plan image P=(X,Y,Z) Calibrage d'une caméra :Explication du modèle 4 – Changement de repère OCvers OI (on suppose g = 0) p=(u,v) Design III / GEL-3004

  34. Calibrage d'une caméra :Explication du modèle On multiplie les matrices T, S et Pr pour obtenir la matrice des paramètres intrinsèques : Le modèle complet est alors : La matrice des paramètres intrinsèques possède une ligne et une colonne de "0". Ceci nous permet de réécrire le modèle de façon plus compacte : avec : Design III / GEL-3004

  35. Équation du rayon projecteur On connait (u, v) et on connait les paramètres de la caméra ; on veut en déduire l’équation de la droite projectrice. Design III / GEL-3004

  36. La distorsion radiale… Problème relié à l'utilisation d'une lentille : LA DISTORSION • La distorsion n’affecte pas la qualité de l’image • mais modifie la position de chaque point. • Les déviations sont plus accentuées pour les rayons • lumineux qui passent sur les bords des lentilles. Distorsion en coussinet Distorsion en barillet Système sans distorsion Design III / GEL-3004

  37. La distorsion radiale • Le modèle présenté suppose une projection idéale (un sténopé). Or, il y a de la distorsion. • Principalement de type radial • Nulle au centre et maximale en périphérie Modèle de distorsion radiale • Les paramètres du modèle de distorsion sont classés parmi les paramètres intrinsèques de la caméra. Design III / GEL-3004

  38. Plan de la présentation • Notions de base • Fonctionnement d'une caméra • Formation des images • Modèle pinhole • Coordonnées homogènes et transformées • Changements de repère • Étalonnage d'une caméra • Modèle utilisé • Procédure • Utilisation des paramètres • Calcul de la position des objets • Calcul de la position du robot Design III / GEL-3004

  39. Étalonnage d'une caméra :Procédure (principe général) • Placer une cible d'étalonnage devant la caméra • Repérer la position de chaque marqueur de la cible dans l'image • On obtient une liste de coordonnées 3D (Global) accompagnées de leur projection dans l'image Design III / GEL-3004

  40. Étalonnage d'une caméra :Procédure (idée générale) • Placer une cible d'étalonnage devant la caméra • Repérer la position de chaque marqueur de la cible dans l'image • On obtient une liste de coordonnées 3D (global) accompagnées de leur projection dans l'image • Chaque pt nous donne 2 équations de plans et on a 11 inconnues (5 intr. + 6 extr. car il y a des contraintes sur R) • On construit un système d'équations linéaires qu'on peut résoudre à l'aide des techniques d'algèbre linéaire standards (moindre carrés) mij • On extrait, s’il y a lieu, les paramètres explicites a, b, tx … Design III / GEL-3004

  41. Étalonnage d'une caméra :Notes sur les techniques d'étalonnage (1/2) • Il existe plusieurs techniques d'étalonnage • Zhang, Tsai, Heikkilä, Faugeras, etc. • Le type de cible et le modèle de la caméra utilisé changent • Le système d'équations à résoudre diffère en fonction de ces variantes • L'idée est toujours la même : trouver les paramètres permettant de faire le "mapping" entre les points de l'espace et leurs positions dans l'image. Design III / GEL-3004

  42. Étalonnage d'une caméra :Notes sur les techniques d'étalonnage (2/2) • Prise en compte de la distorsion des lentilles • La plupart des techniques incluent des paramètres de distorsion dans leur modèle. • L'ajout de ces paramètres rend le système à résoudre non-linéaire. • On procède alors en 2 étapes : • En supposant la distorsion nulle, on résout le système linéaire. • Partant de cette estimation initiale, on détermine les paramètres de distorsion à l'aide de techniques d'optimisation non-linéaires. Design III / GEL-3004

  43. Méthodes d’étalonnage géométrique avec code disponible sur internet • Zhengyou Zhang (Microsoft research) http://research.microsoft.com/~zhang/ • JanneHeikkila (Oulu Univ.) http://www.ee.oulu.fi/~jth/calibr/ • R. Tsai http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/rgw/www/TsaiCode.html • Lien potentiellement intéressant (voir premier lien sur OpenCV): http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/links.html Design III / GEL-3004

  44. Étalonnage de votre caméra : Méthode de Zhang • Simple, robuste et précise • Utilise une cible plane • Nécessite au moins trois prises de vue (non coplanaires) • Prend en compte la distorsion des lentilles Ou celle disponible dans OpenCV • Voir diapositives sur OpenCV Design III / GEL-3004

  45. Plan de la présentation • Notions de base • Fonctionnement d'une caméra • Formation des images • Modèle pinhole • Coordonnées homogènes et transformées • Changements de repère • Étalonnage d'une caméra • Modèle utilisé • Procédure • Utilisation des paramètres • Calcul de la position des objets • Calcul de la position du robot Design III / GEL-3004

  46. Étalonnage de votre caméra :Utilisation des paramètres obtenus • L'application de la procédure fournit les paramètres intrinsèques et extrinsèques de votre caméra. • Le référentiel Global (ou World) se trouve sur le coin supérieur gauche de la cible placée sur le sol. • Les paramètres extrinsèques donnent donc la position de la cible sur le sol par rapport à la caméra. • Lorsque le robot bouge, c'est comme si la cible se déplaçait avec lui (la position de la cible est donnée p/r à la caméra et non p/r à un référentiel absolu). Design III / GEL-3004

  47. O C Z Y O G T P = (X,Y,Z) Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D • On désire calculer la position d'un objet dans l'espace à partir de sa position dans l'image • Problème : L'opération de projection effectuée par la caméra engendre une perte d'information : • 1point dans l'image implique 1 droite dans l'espace (projecteur). • Solution : Dans votre cas, la caméra pointe vers le sol et on connaît la position du sol (grâce au repère de la cible placé sur le sol, doncz = 0). • On peut donc déterminer la position de tout objet se trouvant sur le sol en calculant l'intersection d'une droite (projecteur) et d'un plan (sol). Design III / GEL-3004

  48. O C Z Y O G T P = (X,Y,Z) Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D Étape 1 : Déterminer le projecteur à partir du modèle Modèle complet Modèle simplifié Design III / GEL-3004

  49. Plan 1: Plan 2: Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D Étape 1 : Déterminer le projecteur à partir du modèle ; avec 2 Équations de plan ! Design III / GEL-3004

  50. Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D Étape 1 : Déterminer le projecteur à partir du modèle • Le projecteur correspond à l'intersection des deux plans Étape 2 : Le point 3D se trouve à l'intersection entre le projecteur et le sol (plan ZG=0) Le point 3D se trouve donc à l'intersection de trois plans Design III / GEL-3004

More Related