La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

A 20091Design III / GEL-3004 Introduction à la vision artificielle Deuxième partie Étalonnage géométrique de la caméra et du système Patrick Hébert Génie.

Présentations similaires


Présentation au sujet: "A 20091Design III / GEL-3004 Introduction à la vision artificielle Deuxième partie Étalonnage géométrique de la caméra et du système Patrick Hébert Génie."— Transcription de la présentation:

1 A 20091Design III / GEL-3004 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)

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

3 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 image Modèle de caméra Paramètres du modèle Points 3D Étalonnage L'étalonnage sert à déterminer les paramètres du modèle. Il est réalisé une seule fois. A 2009Design III / GEL-3004

4 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 A 2009Design III / GEL-3004

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

6 6 Formation des images A 2009Design III / GEL-3004 scène film barrière Caméra sténopé (pinhole) Ajouter une barrière pour bloquer la plupart des rayons. Cela réduit le flou Limage est inversée

7 7 Formation des images A 2009Design III / GEL-3004 scène film lentille Une lentille focalise la lumière sur le film.

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

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

10 10 Y Z Axe optique Plan image Centre de projection O C P = (X,Y,Z) T P' = (X',Y',Z') T F Z XF X ' FZ ' Z YF Y ' De même en X : On a : Modèle Sténopé : Projection de perspective Prévoir les coordonnées images d'un point 3D connu dans le repère de la caméra. A 2009Design III / GEL-3004

11 11 É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. Modèle Sténopé : Projection de perspective A 2009Design III / GEL-3004

12 12 Plan de la présentation Notions de base Notions de base Formation des images Modèle du sténopé (pinhole) Coordonnées homogènes et transformations 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 A 2009Design III / GEL-3004

13 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 : A 2009Design III / GEL-3004

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

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

16 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 A 2009Design III / GEL-3004

17 17 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 A 2009Design III / GEL-3004 Coordonnées homogènes : Transformations courantes Projection de perspective (selon l'axe Z)

18 18 Coordonnées homogènes : Transformations dintérêt Rotation A 2009Design III / GEL-3004

19 19 Coordonnées homogènes : Transformations dintérêt Translation Changement d'échelle ("scaling") A 2009Design III / GEL-3004

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

21 21 Plan de la présentation Notions de base Notions de base Fonctionnement d'une caméra Formation des images Modèle pinhole Coordonnées homogènes et transformées Coordonnées homogènes et transformées Changements de repère 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 A 2009Design III / GEL-3004

22 22 Mise en contexte R C : repère de la caméra R P : repère du préhenseur R G : repère global RGRG RcRc RPRP Robot A 2009Design III / GEL-3004

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

24 24 Coordonnées homogènes : Changements de repère Que devient un point P, connu dans O 2, vu de O 1 ? A 2009Design III / GEL-3004

25 25 Coordonnées homogènes : Changements de repère 1 - Donne la position du repère 2 par rapport au repère 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 2 définitions pour une même matrice À noter : Transformation inverse A 2009Design III / GEL-3004

26 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 É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 A 2009Design III / GEL-3004

27 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 : L'étalonnage consiste à déterminer les paramètres de ce modèle L'étalonnage consiste à déterminer les paramètres de ce modèle Paramètres intrinsèques Paramètres extrinsèques point 3D (en mm) point image (en pixel) A 2009Design III / GEL-3004

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

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

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

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

32 32 Calibrage d'une caméra : Explication du modèle 3 – Mise à l'échelle du plan image, m vers pixel Z Y X u v O I O c ZGZG YGYG XGXG O G (u 0,v 0 ) P=(X,Y,Z) Centre de projection Axe optique Centre du plan image Plan image A 2009Design III / GEL-3004 p=(s x X, s y Y)

33 33 Calibrage d'une caméra : Explication du modèle 4 – Changement de repère O C vers O I (on suppose = 0) Z Y X u v O I O c ZGZG YGYG XGXG O G (u 0,v 0 ) P=(X,Y,Z) Centre de projection Axe optique Centre du plan image Plan image A 2009Design III / GEL-3004 p=(u,v)

34 34 Calibrage d'une caméra : Explication du modèle On multiplie les matrices T, S et P r pour obtenir la matrice des paramètres intrinsèques : Le modèle complet est alors : A 2009Design III / GEL-3004 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 :

35 A 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. Équation du rayon projecteur Design III / GEL-3004

36 A Problème relié à l'utilisation d'une lentille : Distorsion en barillet Distorsion en coussinet Système sans distorsion La distorsion naffecte pas la qualité de limage 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. LA DISTORSION Design III / GEL-3004 La distorsion radiale…

37 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 Les paramètres du modèle de distorsion sont classés parmi les paramètres intrinsèques de la caméra. Modèle de distorsion radiale A 2009Design III / GEL-3004

38 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 Étalonnage d'une caméra Modèle utilisé Procédure Procédure Utilisation des paramètres –Calcul de la position des objets –Calcul de la position du robot A 2009Design III / GEL-3004

39 39 Étalonnage d'une caméra : Procédure (principe général) 1.Placer une cible d'étalonnage devant la caméra 2.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 A 2009Design III / GEL-3004

40 40 Étalonnage d'une caméra : Procédure (idée générale) 1.Placer une cible d'étalonnage devant la caméra 2.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 3.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) 4.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) m ij 5.On extrait, sil y a lieu, les paramètres explicites,, t x … A 2009Design III / GEL-3004

41 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. A 2009Design III / GEL-3004

42 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 : 1.En supposant la distorsion nulle, on résout le système linéaire. 2.Partant de cette estimation initiale, on détermine les paramètres de distorsion à l'aide de techniques d'optimisation non-linéaires. A 2009Design III / GEL-3004

43 43 Méthodes détalonnage géométrique avec code disponible sur internet Zhengyou Zhang (Microsoft research) Janne Heikkila (Oulu Univ.) R. Tsai Lien potentiellement intéressant (voir premier lien sur OpenCV): A 2009Design III / GEL-3004

44 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 A 2009Design III / GEL-3004

45 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 Utilisation des paramètres –Calcul de la position des objets –Calcul de la position du robot A 2009Design III / GEL-3004

46 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). A 2009Design III / GEL-3004

47 47 É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 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, donc z = 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). 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). 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). P = (X,Y,Z) T Y Z O C O G A 2009Design III / GEL-3004

48 48 É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é P = (X,Y,Z) T Y Z O C O G A 2009Design III / GEL-3004

49 49 É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 ! Plan 1: Plan 2: A 2009Design III / GEL-3004

50 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 Le point 3D se trouve donc à l'intersection de trois plans Étape 2 : Le point 3D se trouve à l'intersection entre le projecteur et le sol (plan Z G =0) A 2009Design III / GEL-3004

51 51 Étalonnage de votre caméra : Utilisation des paramètres : Calcul des points 3D Le point 3D se trouve à l'intersection de trois plans P = (X,Y,Z) T Y Z O C O G G A 2009Design III / GEL-3004

52 52 Étalonnage de votre caméra : Utilisation des paramètres : Calcul des points 3D Le point 3D se trouve à l'intersection de trois plans Plan "u" Plan "v" Plan Z=0 L'intersection est donnée par : avec A 2009Design III / GEL-3004

53 53 Étalonnage de votre caméra : Utilisation des paramètres : Calcul des points 3D Le point 3D se trouve à l'intersection de trois plans L'intersection est donnée par : avec En développant, on obtient : A 2009Design III / GEL-3004

54 54 Étalonnage de votre caméra : Utilisation des paramètres obtenus Vos points 3D qui seront calculés avec ces paramètres extrinsèques, seront toujours p/r à ce repère "virtuel", placé devant le robot. OCOC E CG Robot E PG OPOP OGOG Vous devrez alors déterminer la transformation qui donne la position de la cible p/r à ce nouveau repère. Cette transformation pourra être appliquée à tous les points 3D calculés à partir des paramètres déterminés lors de la procédure d'étalonnage. Peut-être serait-il préférable de se définir un repère situé à un endroit plus approprié (e.g. sur le préhenseur, au centre du robot, etc.) ? A 2009Design III / GEL-3004

55 55 Représentation des repères A 2009Design III / GEL-3004 XGXG YGYG XPXP YPYP OGOG OPOP

56 56 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 Utilisation des paramètres Calcul de la position des objets Calcul de la position du robot Calcul de la position du robot A 2009Design III / GEL-3004

57 Étalonnage de votre caméra : Utilisation des paramètres : Positionnement du robot (1/3) Trouver la position du robot revient à déterminer le changement de repère E AR. On a : Et

58 58 Étalonnage de votre caméra : Utilisation des paramètres : Positionnement du robot (2/3) Sur le plan du jeu, il n'y a qu'une rotation autour de l'axe Z. Ainsi Sous forme d'équations : A 2009Design III / GEL-3004

59 59 Étalonnage de votre caméra : Utilisation des paramètres : Positionnement du robot (3/3) On a 2 points donc 4 équations et 3 inconnues : On élimine t X et t Y. On conserve deux équations avec lesquelles on élimine le membre de gauche et on peut obtenir l'angle par la tangente inverse. On calcule ensuite t X et t Y (position X et Y du robot). A 2009Design III / GEL-3004

60 60 Références A 2009Design III / GEL-3004 Introductory techniques for 3-D computer vision, E. Trucco & A. Verri, Prentice Hall. Computer vision, a modern approach, Forsyth & Ponce, Prentice Hall. Multiple view geometry in computer vision, R. Hartley & A. Zisserman, Cambridge. Algèbre linéaire, David Lay, de Boeck.


Télécharger ppt "A 20091Design III / GEL-3004 Introduction à la vision artificielle Deuxième partie Étalonnage géométrique de la caméra et du système Patrick Hébert Génie."

Présentations similaires


Annonces Google