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

60
A 2009 1 Design 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)

description

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). - PowerPoint PPT Presentation

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

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

A 2009 1Design III / GEL-3004

Introduction à la vision artificielle Deuxième partie

Étalonnage géométrique de la caméra et du système

Patrick HébertGé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)

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

A 2007 2Design III / GEL-21405 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 imagesTraitement des images (première partie)

2. 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)

Structure du cours

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

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

Pointsimage

Modèle decaméra

Paramètresdu modèle

Points 3D

ÉtalonnageL'étalonnage sert à déterminer

les paramètres du modèle. Il est réalisé une seule fois.

A 2009 Design III / GEL-3004

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

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

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

5

Formation des images

A 2009 Design III / GEL-3004

scène film

Placer un film en face d’un objet.

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

6

Formation des images

A 2009 Design III / GEL-3004

scène filmbarrière

Caméra sténopé (“pinhole”)

Ajouter une barrière pour bloquer la plupart des rayons.

Cela réduit le flou L’image est inversée

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

7

Formation des images

A 2009 Design III / GEL-3004

scène filmlentille

Une lentille focalise la lumière sur le film.

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

8

Formation des images

Sténopé

Plan image

Pinhole

Caméra réelle

LentilleAxe optique

Rayon principal

Plan image

Le modèle du sténopé demeure valide pour les calculs.

A 2009 Design III / GEL-3004

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

9

Modèle du sténopé

Inverseur

Non-Inverseur

Y

Z

Axe optique

Plan image

Centre deprojection

OC

P = (X,Y,Z)T

F

Y

Z

Axe optique

Plan imageCentre deprojection

OCd

d

F

Pointprincipal

Point objet

P = (X,Y,Z)T

Point objet

A 2009 Design III / GEL-3004

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

10

Y

Z

Axe optiquePlan image

Centre deprojection

OC

P = (X,Y,Z)TP' = (X',Y',Z')T

F

FY

ZY '

ZXFX '

FZ '

ZYFY '

De même en X :

On a :

Modèle Sténopé : Projection de perspective

Prévoir lescoordonnées imagesd'un point 3D connudans le repère de lacaméra.

A 2009 Design III / GEL-3004

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

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

ZYX

ZYX

A 2009 Design III / GEL-3004

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

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

A 2009 Design III / GEL-3004

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

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

)ky,hx()y,x(

1kyhx

1yx

100k10h01

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

14

Coordonnées homogènes : Utilisation

1. On passe des coord. cartésiennes aux coord. homogènes en ajoutant un "1" comme 4e é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.

1'''

44 ZYX

M

WZYX

X

1

'

'

'

1''''''

WZWYWX

ZYX

A 2009 Design III / GEL-3004

ZYX

P

1ZYX

P~

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

15

Coordonnées homogènes : Transformations d’intérêt pour le projet

• Projection• Rotation• Translation• Changement d'échelle

A 2009 Design III / GEL-3004

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

16

Coordonnées homogènes : Transformations courantes

• Projection de perspective (selon l'axe Z)

0F/100010000100001

Pr

1ZYX

0F/100010000100001

s'sZ'sY'sX

1FZ

YFZ

XF

1'Z'Y'X

Exemple : Projection d'un point P = (X,Y,Z)T

Retour aux coordonnées cartésiennes

A 2009 Design III / GEL-3004

FZs

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

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

1ZYX

0F/10000100001

s'sY'sX

1'Y'X

1

ZYF

ZXF

F/ZYX

s'sY'sX

A 2009 Design III / GEL-3004

Coordonnées homogènes : Transformations courantes

• Projection de perspective (selon l'axe Z)

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

18

Coordonnées homogènes : Transformations d’intérêt

• Rotation

10000)cos()sin(00)sin()cos(00001

)(RX

10000)cos(0)sin(00100)sin(0)cos(

)(RY

10000)cos()cos()cos()sin()sin()sin()cos()sin()sin()cos()sin()cos(0)cos()sin()cos()cos()sin()sin()sin()sin()cos()cos()sin()sin(0)sin()sin()cos()cos()cos(

),,(

XYZR

)()()(),,( ZYXXYZ RRRR

A 2009 Design III / GEL-3004

1000010000)cos()sin(00)sin()cos(

)(RZ

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

19

Coordonnées homogènes : Transformations d’intérêt

• Translation

1000t100t010t001

Tz

y

x

• Changement d'échelle ("scaling")

10000s0000s0000s

Sz

y

x

A 2009 Design III / GEL-3004

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

20

Coordonnées homogènes : Combiner les transformations

PEEEP N 12...'

• Soit E1, E2, …, EN, N transformations à appliquer, dans l'ordre, au point P dans le même repère de coordonnées.

• Ceci peut être réécrit :

PEP T'

12... EEEE NT

• On procède alors comme suit :

A 2009 Design III / GEL-3004

• On parle ici de pré-multiplication des matrices de rotation

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

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

A 2009 Design III / GEL-3004

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

22

Mise en contexte

RC : repère de la caméraRP : repère du préhenseurRG : repère global

RG

Rc

RP

Robot

A 2009 Design III / GEL-3004

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

23

Coordonnées homogènes : Changements de repère

Changements de repère

Transformations rigidesCombinaison d'une

translation et d'une rotationPréservation des

distances et des angles

Que devient un point P, connu dans O2, vu de O1?

O1

X

Y

Z

XY

ZO2

P=(Xi,Yi,Zi)T

E12=T12R12

A 2009 Design III / GEL-3004

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

24

Coordonnées homogènes : Changements de repère

1000trrrtrrrtrrr

Ez987

y654

x321

12

Que devient un point P, connu dans O2, vu de O1?

O1

X

Y

Z

XY

ZO2

P=(Xi,Yi,Zi)T

E12=T12R12

A 2009 Design III / GEL-3004

2121 P~EP~

1ZYX

1000trrrtrrrtrrr

1ZYX

2

2

2

z987

y654

x321

1

1

1

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

25

Coordonnées homogènes : Changements de repère

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

2 définitions pour une même matrice

1000

11221

tRREE

TT

12E

À noter : Transformation inverse

A 2009 Design III / GEL-3004

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

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

A 2009 Design III / GEL-3004

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

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

110000100000

987

654

321

0

0

G

G

G

z

y

x

ZYX

trrrtrrrtrrr

vu

ssvsu

Paramètresintrinsèques

Paramètresextrinsèques

point 3D(en mm)

point image(en pixel)

A 2009 Design III / GEL-3004

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

28

PTSPEp CG~~

Étalonnage d'une caméra :Explication du modèle

intrinsèques extrinsèques point 3Dpoint image

Le modèle provient de la formule suivante :(si = 0)

Z

Y

X

u

v

OI

OcZG

YG

XG

OG

(u0,v0)

p=(u,v)

P=(XG,YG,ZG)

Centre deprojection

Axe optique

Centre duplan image

Plan image

A 2009 Design III / GEL-3004

K

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

29

Calibrage d'une caméra :Explication du modèle

1 – Changement de repèreGlobal vers Caméra P

trrrtrrrtrrr

TSPpz

y

x

r~

1000

~987

654

321

Z

Y

X

OcZG

YG

XG

OG

(u0,v0)

P=(X,Y,Z)

Centre deprojection

Axe optique

Centre duplan image

ECG

u

v

OI

Plan image

A 2009 Design III / GEL-3004

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

30

PE

F

TSp CG~

0/100010000100001

~

Calibrage d'une caméra :Explication du modèle

2 – ProjectionPt 3D vers Plan image

Z

Y

X

OcZG

YG

XG

OG

(u0,v0)

P=(X,Y,Z)

Centre deprojection

Axe optique

Centre duplan image u

v

OI

Plan image

A 2009 Design III / GEL-3004

p=(X’,Y’,F)

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

31

Calibrage d'une caméra :Explication du modèle

Z

Y

X

OcZG

YG

XG

OG

(u0,v0)

P=(X,Y,Z)

Centre deprojection

Axe optique

Centre duplan image u

v

OI

Plan image

A 2009 Design III / GEL-3004

p=(X’,Y’)

PE

F

TSp CG~

0/100010000100001

~

2 – Projection

Pt 3D vers Plan image

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

32

Calibrage d'une caméra :Explication du modèle

3 – Mise à l'échelle du plan image, m vers pixel

PEPs

s

Tp CGry

x

~

10000100000000

~

Z

Y

X

u

v

OI

OcZG

YG

XG

OG

(u0,v0)

P=(X,Y,Z)

Centre deprojection

Axe optique

Centre duplan image

Plan image

A 2009 Design III / GEL-3004

p=(sx X’, sy Y’)

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

33

Calibrage d'une caméra :Explication du modèle

4 – Changement de repère OC vers OI

(on suppose = 0)

PESPvu

p CGr~

10000100

010001

~ 0

0

Z

Y

X

u

v

OI

OcZG

YG

XG

OG

(u0,v0)

P=(X,Y,Z)

Centre deprojection

Axe optique

Centre duplan image

Plan image

A 2009 Design III / GEL-3004

p=(u,v)

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

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 :

010000000vFs00u0Fs

TSPK 0y

0x

r

1ZYX

1000trrrtrrrtrrr

010000000vFs00u0Fs

s0svsu

G

G

G

z987

y654

x321

0y

0x

Le modèle complet est alors :

A 2009 Design 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 :

1ZYX

trrrtrrrtrrr

100v0u

ssvsu

G

G

G

z987

y654

x321

0

0

avec : 0;; FsFs yx

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

A 2007 35

PmPmv

PmPmu

ZYX

mmm

ZYX

mmmmmmmmmmmm

ssvsu

ZYX

MZYX

EKssvsu

G

G

G

G

G

G

G

G

G

G

G

G

CGx

~~

,~~

11

11

3

2

3

1

3

2

1

34333231

24232221

14131211

33

On connait (u, v) et on connait les paramètres de la caméra ; on veut endéduire l’équation de la droite projectrice.

Équation du rayon projecteur

Design III / GEL-3004

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

A 2007 36

Problème relié à l'utilisation d'une lentille :

Distorsion en barillet

Distorsion en coussinet

Système sans distorsion

La distorsion n’affecte pas la qualité de l’imagemais modifie la position de chaque point. Les déviations sont plus accentuées pour les rayonslumineux qui passent sur les bords des lentilles.

LA DISTORSION

Design III / GEL-3004

La distorsion radiale…

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

37

La distorsion radialeLe modèle présenté suppose une projection idéale (un sténopé). Or, il y a de la distorsion.Principalement de type radialNulle au centre et maximale en périphérie

2dist

2distdist0distdist0distdist

4dist2

2dist1distideal

4dist2

2dist1distideal

vuretvvv,uuuoù

)rkrk1(vv

)rkrk1(uu

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

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

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

A 2009 Design III / GEL-3004

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

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

NNNNN ZYX

ZYXZYX

vu

vuvu

..222

111

22

11 On obtient une liste de coordonnées 3D

(Global) accompagnées de leur projection dans l'image

A 2009 Design III / GEL-3004

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

40

Étalonnage d'une caméra :Procédure (idée générale)

1100

0

987

654

321

0

0

G

G

G

z

y

x

ZYX

trrrtrrrtrrr

vu

ssvsu

1. Placer une cible d'étalonnage devant la caméra2. Repérer la position de chaque marqueur de la cible dans l'image

NNNNN ZYX

ZYXZYX

vu

vuvu

..222

111

22

11 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) mij

5. On extrait, s’il y a lieu, les paramètres explicites , , tx …A 2009 Design III / GEL-3004

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

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

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

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

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

43

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. Tsaihttp://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

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

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

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

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

A 2009 Design III / GEL-3004

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

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

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

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).

• 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

OC

OG

A 2009 Design III / GEL-3004

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

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

1100

0

987

654

321

0

0

G

G

G

z

y

x

ZYX

trrrtrrrtrrr

vu

ssvsu

P~

mmm

1ZYX

mmmmmmmmmmmm

ssvsu

3

2

1

G

G

G

34333231

24232221

14131211

Modèle simplifié

P = (X,Y,Z)T

Y

Z

OC

OG

A 2009 Design III / GEL-3004

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

49

Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D

Étape 1 : Déterminer le projecteur à partir du modèle

Pmmm

~

1 3

2

1

34333231

24232221

14131211

W

W

W

ZYX

mmmmmmmmmmmm

ssvsu

PmPm~~

3

1

uPmPm~~

3

2

v;

0~)( 31 Pmm u

0~)( 32 Pmm v

0~1 PA

0~2 PA

avec 1111311 )( dcbau mmA

2222322 )( dcbau mmA

2 Équations de plan !01111 dZcYbXa02222 dZcYbXa

Plan 1:Plan 2:

A 2009 Design III / GEL-3004

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

50

Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D

Étape 1 : Déterminer le projecteur à partir du modèleLe 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 ZG=0)

A 2009 Design III / GEL-3004

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

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

OC

OGG

A 2009 Design III / GEL-3004

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

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

PA ~1

PA ~2 PA ~

3

T

3414

3313

3212

3111Τ

1

1

1

1

1

ummummummumm

dcba

A

T

3424

3323

3222

3121T

2

2

2

2

2

vmmvmmvmmvmm

dcba

A

TT

3

3

3

3

3

0100

dcba

A

L'intersection est donnée par :

321

213132321

NNNNNNNNNP

ddd

G

i

i

i

i

cba

Navec

A 2009 Design III / GEL-3004

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

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 :

321

213132321

NNNNNNNNNP

ddd

W

i

i

i

i

cba

Navec

En développant, on obtient :

0

3121321232223111

3111342431213414

3121321232223111

3212342432223414

vmmummvmmummummvmmvmm+um-m

vmmummvmmummummvmmvmm+um-m

Z

Y

X

W

W

W

WP

A 2009 Design III / GEL-3004

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

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.

OCECG

RobotEPG

OP

OG

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

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

55

Représentation des repères

A 2009 Design III / GEL-3004

XG

YGXP

YP

OG

OP

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

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 Calcul de la position des objets Calcul de la position du robot

A 2009 Design III / GEL-3004

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

É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 :

10

~ 1

1

1R

R

R

YX

P

10

~ 2

2

2R

R

R

YX

P

10

~ 2

2

2A

A

A

YX

P

10

~ 1

1

1A

A

A

YX

P

RA 1AR1 P~EP~

• Et

OA

P1=(X1,Y1,0)T

P2=(X2,Y2,0)T

X

Y

OREAR

X

Y

RA 2AR2 P~EP~

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

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

10

10000100

0)cos()sin(0)sin()cos(

10

R

R

A

A

i

i

Y

X

i

i

YX

tt

YX

• Sous forme d'équations :Yiii

Xiii

tYXY

tYXX

RRA

RRA

)cos()sin(

)sin()cos(

A 2009 Design III / GEL-3004

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

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 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).

Y

X

tYXY

tYXX

RRA

RRA

)cos()sin(

)sin()cos(

111

111

Y

X

tYXY

tYXX

RRA

RRA

)cos()sin(

)sin()cos(

222

222

A 2009 Design III / GEL-3004

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

60

Références

A 2009 Design 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.