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.

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
La Méthode de Simplexe Standardisation
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Licence pro MPCQ : Cours
Distance inter-locuteur
Les numéros
Les identités remarquables
1 Introduction Introduction 1 - Caractérisation de la polarisation 2 - Etude de la polarisation dune OPPM Chapitre 2 Polarisation des OEM dans le vide.
Introduction à la logique
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Le diaphragme (photographie)
Angles et distances dans R2
Jack Jedwab Association détudes canadiennes Le 27 septembre 2008 Sondage post-Olympique.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Cours de physique générale I Ph 11
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
IFT3730: Infographie 3D Transformations Géométriques
Chapitre 2 Les vecteurs 2.0 Introduction
Le Concours de Conaissance Francais I novembre 2012.
Titre : Implémentation des éléments finis sous Matlab
Le point le plus près Montage préparé par : André Ross
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
LES NOMBRES PREMIERS ET COMPOSÉS
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.
Les instruments d’optique
Logiciel gratuit à télécharger à cette adresse :
Calculs et écritures fractionnaires
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1.1 LES VECTEURS GÉOMÉTRIQUES
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
SUJETS SPÉCIAUX EN INFORMATIQUE I
Titre : Implémentation des éléments finis en Matlab
Chapitre 3 La cinématique à une dimension
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Résoudre une équation du 1er degré à une inconnue
Aire d’une figure par encadrement
Thierry Molinier > David Fofi >
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
IFT3355: Infographie Transformations Géométriques
Sous-espaces vectoriels engendrés
Comment rendre une femme heureuse…
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Mise en forme en Mathématiques
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Géométrie épipolaire (deux vues)
Equation différentielle de 2ème ordre
Création et présentation d’un tableau avec Word 2007
Nom:____________ Prénom: ___________
Suites numériques Définitions.
École La Dauversière, Montréal, juin 2000
Exercice de vérification 1 p
Partie II: Temps et évolution Energie et mouvements des particules
CHAPITRE III Calcul vectoriel
Pierre Joli Cours de Mathématique Pierre Joli
Transcription de la présentation:

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

Reconnaître les objets dans les images 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) A 2007 Design III / GEL-21405 H05

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Coordonnées homogènes : 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 O2, vu de O1? A 2009 Design III / GEL-3004

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

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

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

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

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

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

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

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

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 c ZG YG XG G (u ,v ) P=(X,Y,Z) Centre de projection Axe optique Centre du plan image Plan image p=(sx X’, sy Y’) A 2009 Design III / GEL-3004

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

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 : 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 : Le modèle complet est alors : A 2009 Design III / GEL-3004

É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. A 2007 Design III / GEL-3004

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

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

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

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

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

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

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

Méthodes d’étalonnage géométrique avec code disponible sur internet Zhengyou Zhang (Microsoft research) http://research.microsoft.com/~zhang/ Janne Heikkila (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 A 2009 Design III / GEL-3004

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

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

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

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

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

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

Le point 3D se trouve donc à l'intersection de trois plans É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 A 2009 Design III / GEL-3004

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

Le point 3D se trouve à l'intersection de trois plans É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 2009 Design III / GEL-3004

Le point 3D se trouve à l'intersection de trois plans É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 2009 Design III / GEL-3004

É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. OC ECG Robot EPG OP OG 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.) ? 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. A 2009 Design III / GEL-3004

Représentation des repères XP YG OG OP YP XG A 2009 Design III / GEL-3004

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

É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 EAR. On a : Et

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

É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 tX et tY. 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 tX et tY (position X et Y du robot). A 2009 Design III / GEL-3004

Références 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. A 2009 Design III / GEL-3004