A 20071Design III / GEL-21405 H06 Introduction à la vision artificielle Deuxième partie...

59
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ébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson

Transcript of A 20071Design III / GEL-21405 H06 Introduction à la vision artificielle Deuxième partie...

Page 1: A 20071Design 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ébert.

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

Page 2: A 20071Design 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ébert.

A 2007 2 Design III / GEL-21405 H05

Le robot utilise la vision pour percevoir l'environnement

Mise en contexte

Page 3: A 20071Design 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ébert.

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

Page 4: A 20071Design 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ébert.

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

Page 5: A 20071Design 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ébert.

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

Page 6: A 20071Design 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ébert.

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

Page 7: A 20071Design 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ébert.

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

Page 8: A 20071Design 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ébert.

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

Page 9: A 20071Design 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ébert.

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

Page 10: A 20071Design 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ébert.

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

Page 11: A 20071Design 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ébert.

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.

Page 12: A 20071Design 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ébert.

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

Page 13: A 20071Design 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ébert.

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

Page 14: A 20071Design 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ébert.

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

Page 15: A 20071Design 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ébert.

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

Page 16: A 20071Design 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ébert.

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

Page 17: A 20071Design 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ébert.

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

Page 18: A 20071Design 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ébert.

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

Page 19: A 20071Design 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ébert.

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

Page 20: A 20071Design 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ébert.

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

Page 21: A 20071Design 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ébert.

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

Page 22: A 20071Design 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ébert.

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

Page 23: A 20071Design 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ébert.

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 :

PEP T'

12EEEE NT

• On procède alors comme suit :

Page 24: A 20071Design 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ébert.

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

Page 25: A 20071Design 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ébert.

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

Page 26: A 20071Design 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ébert.

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

Page 27: A 20071Design 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ébert.

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

Page 28: A 20071Design 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ébert.

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

Page 29: A 20071Design 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ébert.

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)

Page 30: A 20071Design 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ébert.

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

Page 31: A 20071Design 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ébert.

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

Page 32: A 20071Design 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ébert.

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

Page 33: A 20071Design 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ébert.

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

Page 34: A 20071Design 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ébert.

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

Page 35: A 20071Design 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ébert.

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

Page 36: A 20071Design 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ébert.

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

Page 37: A 20071Design 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ébert.

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 :

Page 38: A 20071Design 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ébert.

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

Page 39: A 20071Design 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ébert.

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

Page 40: A 20071Design 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ébert.

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 …

Page 41: A 20071Design 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ébert.

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.

Page 42: A 20071Design 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ébert.

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

Page 43: A 20071Design 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ébert.

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

Page 44: A 20071Design 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ébert.

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

Page 45: A 20071Design 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ébert.

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

Page 46: A 20071Design 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ébert.

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

Page 47: A 20071Design 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ébert.

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

Page 48: A 20071Design 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ébert.

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

Page 49: A 20071Design 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ébert.

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:

Page 50: A 20071Design 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ébert.

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)

Page 51: A 20071Design 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ébert.

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

Page 52: A 20071Design 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ébert.

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

Page 53: A 20071Design 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ébert.

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

Page 54: A 20071Design 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ébert.

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

Page 55: A 20071Design 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ébert.

A 2007 55 Design III / GEL-21405 H05

Représentation des repères

Page 56: A 20071Design 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ébert.

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

Page 57: A 20071Design 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ébert.

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

Page 58: A 20071Design 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ébert.

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(

Page 59: A 20071Design 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ébert.

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