a 20071design iii / gel-21405 h06 introduction à la vision artificielle deuxième partie...
TRANSCRIPT
A 2007 1 Design III / GEL-21405 H06
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
A 2007 2 Design III / GEL-21405 H05
Le robot utilise la vision pour percevoir l'environnement
Mise en contexte
A 2007 3 Design III / GEL-21405 H05
Qu'est-ce que la caméra permet au robot de faire?• Localiser les objets sur le terrain, i.e. évaluer la position relative au robot• Évaluer sa position et son orientation sur le terrain (par rapport aux bandes, coins, à la ligne rouge)• Localiser les objets.
Que fournit la caméra?• Des images (d’un certain type)
Que faut-il faire avec ces images?• Extraire et reconnaître des informations utiles dans les images (traitement des images)
• les coins et les bandes de couleurs connues (régions et droites)• les objets de couleur connue
• Établir la relation entre la position de ces zones d'intérêt de l'image et l'environnement (le terrain) incluant le robot Magny
• la relation pixel mm
Mise en contexte
A 2007 4 Design III / GEL-21405 H05
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 :
1. Reconnaître les objets dans les imagesTraitement des images (première partie)
2. Calculer la position des objets par rapport au robot Étalonnage géométrique de la caméra et du système (deuxième partie)
• À ces deux blocs s’ajouteront quelques considérations sur la robotique et l’intelligence artificielle
A 2007 5 Design III / GEL-21405 H05
Mise en contexte
RG
Rc
RP
Magny
RC : repère de la caméraRP : repère du préhenseurRG : repère global
A 2007 6 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
Pointsimage
Modèle decaméra
Paramètresdu modèle
Points 3D
Étalonnage
L'étalonnage sert à déterminer les paramètres du modèle. Il est réalisé une seule fois
A 2007 7 Design III / GEL-21405 H06
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 2007 8 Design III / GEL-21405 H05
Formation des images
Sténopé (idéal)
Plan image
Pinhole
Problème : quantité de lumière insuffisante
Caméra réelle
Solution : utilisation d'une lentille
Lentille
Axe optique
Rayon principal
Plan image
A 2007 9 Design III / GEL-21405 H05
•Aberrations sphériques
*tirée de Forsyth
•Distorsion radiale:• négative (pincushion)• positive (barrel-type)
• Aberration chromatique : la cause
Problèmes reliés à l'utilisation d'une lentille :
Formation des images
A 2007 10 Design III / GEL-21405 H05
• Aberrations sphériques• Aberrations chromatiques• Distorsion radialeProfondeur de champ Profondeur de champ
limitéelimitée
Problèmes reliés à l'utilisation d'une lentille :
Formation des images
A 2007 11 Design III / GEL-21405 H05
Formation des images
Sténopé (idéal)
Plan image
Pinhole
Caméra réelle
Lentille
Axe optique
Rayon principal
Plan image
Le modèle du sténopé demeure valide pour les calculs.
A 2007 12 Design III / GEL-21405 H05
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 2007 13 Design III / GEL-21405 H05
Y
Z
Axe optiquePlan image
Centre deprojection
OC
P = (X,Y,Z)T
P' = (X',Y',Z')T
F
F
Y
Z
Y '
Z
XFX '
FZ '
Z
YFY '
De même en X :
On a :
Modèle Sténopé : Projection de perspective
Prévoir lescoordonnées imagesd'un point connudans le repère de lacaméra
A 2007 14 Design III / GEL-21405 H05
• É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
Z
Y
X
Z
Y
X
A 2007 15 Design III / GEL-21405 H06
Plan de la présentation
Notions de baseNotions de base Formation des images Modèle du sténopé (pinhole) Coordonnées homogènes et transformationsCoordonné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 2007 16 Design III / GEL-21405 H05
Coordonnées homogènes
• Représentation mathématique permettant de rendre linéaires (calcul matriciel) certaines opérations courantes en vision, robotique et infographie.
Par exemple :
• On ajoute simplement une dimension aux coordonnées
• X'=X Y'=Y Z'=Z lorsque W = 1
Z
Y
X
P
W
Z
Y
X
P'
'
'
~
YXCYBAX~~
A 2007 17 Design III / GEL-21405 H05
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 (à la condition que W≠0).
1
Z
Y
X
Z
Y
X
1
'
'
'
44 Z
Y
X
M
W
Z
Y
X
X
1
'
'
'
1
''
''
''
W
ZW
YW
X
Z
Y
X
A 2007 18 Design III / GEL-21405 H05
Coordonnées homogènes : Transformations d’intérêt pour le projet
• Projection
• Rotation
• Translation
• Changement d'échelle ("scaling")
A 2007 19 Design III / GEL-21405 H05
Coordonnées homogènes : Transformations courantes
• Projection (selon l'axe Z)
0/100
0100
0010
0001
F
Pr
* Matrice non-inversible
10/100
0100
0010
0001
'
'
'
Z
Y
X
Fs
sZ
sY
sX
1/
/'
/'
/'
FZ
YFZ
XF
ss
ssZ
ssY
ssX
Exemple : Projection d'un point P = (X,Y,Z)T
Retour aux coordonnées cartésiennes
A 2007 20 Design III / GEL-21405 H05
Projection dans une image
• 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
10/100
0010
0001
/Z
Y
X
FFZ
Y
X
1/Z
YFZ
XF
FZ
Y
X
A 2007 21 Design III / GEL-21405 H05
Coordonnées homogènes : Transformations d’intérêt
• Rotation
1000
0)cos()sin(0
0)sin()cos(0
0001
)(
XR
1000
0)cos(0)sin(
0010
0)sin(0)cos(
)(
YR
1000
0100
00)cos()sin(
00)sin()cos(
)(
ZR
1000
0)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 2007 22 Design III / GEL-21405 H05
Coordonnées homogènes : Transformations d’intérêt
• Translation
1000
100
010
001
z
y
x
t
t
t
T
• Changement d'échelle ("scaling")
1000
000
000
000
z
y
x
s
s
s
S
A 2007 23 Design III / GEL-21405 H05
Coordonnées homogènes : Combiner les transformations
PEEEP N 12'
• Soit E1, E2, …, EN, N transformations à appliquer, dans l'ordre, au point P.
• Ceci peut être réécrit :
où
PEP T'
12EEEE NT
• On procède alors comme suit :
A 2007 24 Design III / GEL-21405 H06
Plan de la présentation
Notions de baseNotions de base Fonctionnement d'une caméra Formation des images Modèle pinhole Coordonnées homogènes et transforméesCoordonnées homogènes et transformées Changements de repèreChangements 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 2007 25 Design III / GEL-21405 H05
Mise en contexte
RC : repère de la caméraRP : repère du préhenseurRG : repère global
RG
Rc
RP
Magny
A 2007 26 Design III / GEL-21405 H05
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
Transformation rigide :
1000987
654
321
z
y
x
trrr
trrr
trrr
TRE
Que devient un point P, connu dans O2, vu de O1?
O1
X
Y
Z
X
Y
ZO2
P=(Xi,Yi,Zi)T
E12=T12R12
A 2007 27 Design III / GEL-21405 H05
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
Exemple :
2121 PEP
11221
EE
12E
À noter : transformation inverse
O1
X
Y
Z
X
Y
ZO2
P=(Xi,Yi,Zi)T
E12=T12R12
A 2007 28 Design III / GEL-21405 H06
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éModèle utilisé– ProcédureProcédure
• Utilisation des paramètres– Calcul de la position des objets– Calcul de la position du robot
A 2007 29 Design III / GEL-21405 H05
É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èleL'étalonnage consiste à déterminer les paramètres de ce modèle
110000100
00
0
987
654
321
0
0
G
G
G
z
y
x
ZY
X
trrr
trrr
trrr
v
u
s
sv
su
Paramètresintrinsèques
Paramètresextrinsèques
point 3D(en mm)
point image(pixel)
A 2007 30 Design III / GEL-21405 H05
PETSPp CG
K
r
~~
É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
OI
OcZ
Y
X
OG
(u0,v0)
p=(u,v)
P=(X,Y,Z)
Centre deprojection
Axe optique
Centre duplan image
Plan image
A 2007 31 Design III / GEL-21405 H05
Calibrage d'une caméra :Explication du modèle
1 – Changement de repèreGlobal Caméra P
trrr
trrr
trrr
TSPpz
y
x
r
~
1000
~
987
654
321
Z
Y
X
OcZ
Y
X
OG
(u0,v0)
p=(u,v)
P=(X,Y,Z)
Centre deprojection
Axe optique
Centre duplan image
ECG
u
v
OI
Plan image
A 2007 32 Design III / GEL-21405 H05
PE
F
TSp CG
~
0/100
0100
0010
0001
~
Calibrage d'une caméra :Explication du modèle
2 – ProjectionPt 3D Plan image
Z
Y
X
OcZ
Y
X
OG
(u0,v0)
p=(u,v)
P=(X,Y,Z)
Centre deprojection
Axe optique
Centre duplan image u
v
OI
Plan image
A 2007 33 Design III / GEL-21405 H05
Calibrage d'une caméra :Explication du modèle
3 – Mise à l'échelle du plan image, m pixel
PEPs
s
Tp CGry
x
~
1000
0100
000
000
~
Z
Y
X
u
v
OI
OcZ
Y
X
OG
(u0,v0)
p=(u,v)
P=(X,Y,Z)
Centre deprojection
Axe optique
Centre duplan image
Plan image
A 2007 34 Design III / GEL-21405 H05
Calibrage d'une caméra :Explication du modèle
4 – changement de repère OC OI
(on suppose g = 0)
PESPv
u
p CGr
~
1000
0100
010
001
~ 0
0
Z
Y
X
u
v
OI
OcZ
Y
X
OG
(u0,v0)
p=(u,v)
P=(X,Y,Z)
Centre deprojection
Axe optique
Centre duplan image
Plan image
A 2007 35 Design III / GEL-21405 H05
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 :
0100
0000
00
00
0
0
vFs
uFs
TSPK y
x
r
110000100
0000
00
00
0 987
654
321
0
0
Z
Y
X
trrr
trrr
trrr
vFs
uFs
s
sv
su
z
y
x
y
x
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 :
1100
0
987
654
321
0
0
G
G
G
z
y
x
Z
Y
X
trrr
trrr
trrr
v
u
s
sv
su
avec : 0;; FsFs yx
A 2007 36 Design III / GEL-21405 H05
Équation du rayon projecteur
Pm
Pmv
Pm
Pmu
z
y
x
m
m
m
z
y
x
mmmm
mmmm
mmmm
s
sv
su
z
y
x
Mz
y
x
EK
s
sv
su
CGx
3
2
3
1
3
2
1
34333231
24232221
14131211
33
,
11
11
A 2007 37 Design III / GEL-21405 H05
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 radialNulle au centre et maximale en périphérie
22
00
42
21
42
21
,
)(
)(),(
),(
distdistdistdistdistdistdist
distdistdist
distdistdist
distdist
distdistdistideal
vuretvvvuuuoù
rkrkv
rkrkuU
distorsiondeparamètresdesvecteurunest
UUU
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 2007 38 Design III / GEL-21405 H06
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édureProcédure
• Utilisation des paramètres– Calcul de la position des objets– Calcul de la position du robot
A 2007 39 Design III / GEL-21405 H05
É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
ZYX
ZYX
vu
vu
vu
222
111
22
11
On obtient une liste de coordonnées 3D (Global) accompagnées de leur projection dans l'image
A 2007 40 Design III / GEL-21405 H05
Étalonnage d'une caméra :Procédure (idée générale)
G
G
G
z
y
x
Z
Y
X
trrr
trrr
trrr
v
u
s
sv
su
987
654
321
0
0
100
0
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
ZYX
ZYX
vu
vu
vu
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 6 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 2007 41 Design III / GEL-21405 H05
É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 leur position dans l'image.
A 2007 42 Design III / GEL-21405 H05
É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éaire2. Partant de cette estimation initiale, on détermine les paramètres
de distorsion à l'aide de techniques d'optimisation non-linéaires
A 2007 43 Design III / GEL-21405 H05
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 2007 44 Design III / GEL-21405 H05
Étalonnage de votre caméra :méthode de Zhang ou celle disponible dans OpenCV
Caractéristiques de la technique de Zhang• Simple, robuste et précise• Utilise une cible plane• Nécessite au moins trois prises de vue (non
coplanaires) à cause des paramètres intrinsèques• Prend en compte la distorsion des lentilles
Procédure à suivre :• Procédure d'étalonnage de Zhang
A 2007 45 Design III / GEL-21405 H06
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ètresUtilisation des paramètres– Calcul de la position des objetsCalcul de la position des objets– Calcul de la position du robotCalcul de la position du robot
A 2007 46 Design III / GEL-21405 H05
É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 2007 47 Design III / GEL-21405 H05
É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 notre 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 z = 0). On peut donc déterminer la On peut donc déterminer la
position de tout objet se position de tout objet se trouvant sur le sol en calculant trouvant sur le sol en calculant l'intersection d'une droite l'intersection d'une droite (projecteur) et d'un plan (sol).(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 1 droite dans l'espace (projecteur)
P = (X,Y,Z)T
Y
Z
OC
OG
A 2007 48 Design III / GEL-21405 H05
É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
Z
Y
X
trrr
trrr
trrr
v
u
s
sv
su
P
m
m
m~
1 3
2
1
34333231
24232221
14131211
W
W
W
Z
Y
X
mmmm
mmmm
mmmm
s
sv
su
Modèle simplifié
P = (X,Y,Z)T
Y
Z
OC
OG
A 2007 49 Design III / GEL-21405 H05
Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D
Étape 1 : Déterminer le projecteur à partir du modèle
P
m
m
m~
1 3
2
1
34333231
24232221
14131211
W
W
W
Z
Y
X
mmmm
mmmm
mmmm
s
sv
su
Pm
Pm~
~
3
1uPm
Pm~
~
3
2v;
0~
)( 31 Pmm u
0~
)( 32 Pmm v
0~
1 PA
0~
2 PAavec
1111311 )( dcbau mmA
2222322 )( dcbau mmA
2 Équations de plan !01111 dZcYbXa
02222 dZcYbXaPlan 1:Plan 2:
A 2007 50 Design III / GEL-21405 H05
É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 plansLe 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 2007 51 Design III / GEL-21405 H05
Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D
Le point 3D se trouve à l'intersection de trois plansLe point 3D se trouve à l'intersection de trois plans
P = (X,Y,Z)T
Y
Z
OC
OGG
A 2007 52 Design III / GEL-21405 H05
Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D
Le point 3D se trouve à l'intersection de trois plansLe point 3D se trouve à l'intersection de trois plans
Plan "u" Plan "v" Plan Z=0
PA~
1PA~
2 PA~
3
T
3414
3313
3212
3111
Τ
1
1
1
1
1
umm
umm
umm
umm
d
c
b
a
A
T
3424
3323
3222
3121
T
2
2
2
2
2
vmm
vmm
vmm
vmm
d
c
b
a
A
TT
3
3
3
3
3
0
1
0
0
d
c
b
a
A
L'intersection est donnée par :
321
213132321
NNN
NNNNNNP
ddd
G
i
i
i
i
c
b
a
Navec
A 2007 53 Design III / GEL-21405 H05
Étalonnage de votre caméra :Utilisation des paramètres : Calcul des points 3D
Le point 3D se trouve à l'intersection de trois plansLe point 3D se trouve à l'intersection de trois plans
L'intersection est donnée par :
321
213132321
NNN
NNNNNNP
ddd
W
i
i
i
i
c
b
a
Navec
En développant, on obtient :
0
3121321232223111
3111342431213414
3121321232223111
3212342432223414
vmmummvmmumm
ummvmmvmm+um-m
vmmummvmmumm
ummvmmvmm+um-m
Z
Y
X
W
W
W
WP
A 2007 54 Design III / GEL-21405 H05
É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
MagnyEPG
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 2007 55 Design III / GEL-21405 H05
Représentation des repères
A 2007 56 Design III / GEL-21405 H06
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ètresUtilisation des paramètres Calcul de la position des objets Calcul de la position du robotCalcul de la position du robot
A 2007 57 Design III / GEL-21405 H05
É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 :
1
0~ 1
1
1R
R
R
Y
X
P
1
0~ 2
2
2R
R
R
Y
X
P
1
0~ 2
2
2A
A
A
Y
X
P
1
0~ 1
1
1A
A
A
Y
X
P
RA iARi PEP~~
• Et
OA
P1=(X1,Y1,0)T
P2=(X2,Y2,0)T
X
Y
OREAR
X
Y
A 2007 58 Design III / GEL-21405 H05
Étalonnage de votre caméra :Utilisation des paramètres : Positionnement du robot (2/3)
• On décompose EAR : RA iARi PEP
~~
• Sur le plan du jeu, il n'y a qu'une rotation autour de l'axe Z
RA iARZi PTRP
~)(
~
• Ainsi
1
0
1000
0100
0)cos()sin(
0)sin()cos(
1
0R
R
A
A
i
i
Y
X
i
i
Y
X
t
t
Y
X
• Sous forme d'équations :
Yiii
Xiii
tYXY
tYXX
RRA
RRA
)cos()sin(
)sin()cos(
A 2007 59 Design III / GEL-21405 H05
É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