A 20091Design III / GEL-3004 Introduction à la vision artificielle Deuxième partie Étalonnage...

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)

Transcript of A 20091Design III / GEL-3004 Introduction à la vision artificielle Deuxième partie Étalonnage...

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

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

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

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

Étalonnage

L'é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: 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.

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

5

Formation des images

A 2009 Design III / GEL-3004

scène film

Placer un film en face d’un objet.

Page 6: 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.

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

7

Formation des images

A 2009 Design III / GEL-3004

scène filmlentille

Une lentille focalise la lumière sur le film.

Page 8: 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.

8

Formation des images

Sténopé

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

Page 9: 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.

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

10

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 3D connudans le repère de lacaméra.

A 2009 Design III / GEL-3004

Page 11: 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.

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

Z

Y

X

Z

Y

X

A 2009 Design III / GEL-3004

Page 12: 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.

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

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(

1

ky

hx

1

y

x

100

k10

h01

Page 14: 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.

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 Z

Y

X

M

W

Z

Y

X

X

1

'

'

'

1

''

''

''

W

ZW

YW

X

Z

Y

X

A 2009 Design III / GEL-3004

Z

Y

X

P

1

Z

Y

X

P~

Page 15: 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.

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

16

Coordonnées homogènes :

Transformations courantes

• Projection de perspective (selon l'axe Z)

0F/100

0100

0010

0001

Pr

1

Z

Y

X

0F/100

0100

0010

0001

s

'sZ

'sY

'sX

1

FZ

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

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

1

Z

Y

X

0F/100

0010

0001

s

'sY

'sX

1

'Y

'X

1

Z

YF

Z

XF

F/Z

Y

X

s

'sY

'sX

A 2009 Design III / GEL-3004

Coordonnées homogènes :

Transformations courantes

• Projection de perspective (selon l'axe Z)

Page 18: 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.

18

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

• Rotation

1000

0)cos()sin(0

0)sin()cos(0

0001

)(RX

1000

0)cos(0)sin(

0010

0)sin(0)cos(

)(RY

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

1000

0100

00)cos()sin(

00)sin()cos(

)(RZ

Page 19: 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.

19

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

• Translation

1000

t100

t010

t001

Tz

y

x

• Changement d'échelle ("scaling")

1000

0s00

00s0

000s

Sz

y

x

A 2009 Design III / GEL-3004

Page 20: 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.

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

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

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

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 O2, vu de O1?

O1

X

Y

Z

X

Y

ZO2

P=(Xi,Yi,Zi)T

E12=T12R12

A 2009 Design III / GEL-3004

Page 24: 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.

24

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

1000

trrr

trrr

trrr

Ez987

y654

x321

12

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

2121 P~

EP~

1

Z

Y

X

1000

trrr

trrr

trrr

1

Z

Y

X

2

2

2

z987

y654

x321

1

1

1

Page 25: 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.

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

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

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

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(en pixel)

A 2009 Design III / GEL-3004

Page 28: 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.

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 g = 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: 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.

29

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

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

trrr

trrr

trrr

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

30

PE

F

TSp CG

~

0/100

0100

0010

0001

~

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

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/100

0100

0010

0001

~

2 – Projection

Pt 3D vers Plan image

Page 32: 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.

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

~

1000

0100

000

000

~

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

33

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

4 – Changement de repère OC vers OI

(on suppose g = 0)

PESPv

u

p CGr

~

1000

0100

010

001

~ 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: 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.

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 :

0100

0000

0vFs0

0u0Fs

TSPK 0y

0x

r

1

Z

Y

X

1000

trrr

trrr

trrr

0100

0000

0vFs0

0u0Fs

s

0

sv

su

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 :

1

Z

Y

X

trrr

trrr

trrr

100

v0

u

s

sv

su

G

G

G

z987

y654

x321

0

0

avec : 0;; FsFs yx

Page 35: 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.

A 2007 35

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

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

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

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

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

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

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

Page 40: 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.

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

ZY

X

trrr

trrr

trrr

v

u

s

sv

su

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 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 a, b, tx …A 2009 Design III / GEL-3004

Page 41: 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.

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

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

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

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

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

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

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

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

Z

Y

X

trrr

trrr

trrr

v

u

s

sv

su

P~

m

m

m

1

Z

Y

X

mmmm

mmmm

mmmm

s

sv

su

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

49

É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

1

uPm

Pm~

~

3

2

v;

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

Page 50: 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.

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

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

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~

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

Page 53: 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.

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

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

Page 54: 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.

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

55

Représentation des repères

A 2009 Design III / GEL-3004

XG

YG

XP

YP

OG

OP

Page 56: 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.

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

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

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

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

Page 59: 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.

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

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.