• Aucun résultat trouvé

Commande par vision

N/A
N/A
Protected

Academic year: 2022

Partager "Commande par vision"

Copied!
44
0
0

Texte intégral

(1)

Commande par vision

CHAPITRE 2 – ESTIMATION DE LA MESURE

[email protected]

(2)

Plan

  EsBmaBon de la mesure :

◦  Avec 4 points coplainaires

◦  Avec au moins 4 points non coplanaires

◦  Avec le Jacobien image

◦   Avec projecBon de marqueurs

◦   UBlisaBon d’OpenCV

(3)

EsFmaFon de pose

A parFr de 4 points coplanaires

  Soit la configuraBon suivante:

  La cible est consBtuée de 4 points P

0

, P

1

, P

2

, P

3

coplanaires dans (P

0

x y) où P

0

est l’origine de R

o

. Trouver M

co

, la matrice homogène de transformaBon entre R et R .

z x

y R c

M co x

z y

R o P 0

0

P

n

=

X

n

Y

n

0 1

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

(4)

EsFmaFon de pose

A parFr de 4 points coplanaires

  Soit le modèle d’une projecBon perspecBve:

z

n c

p

n

= K Π M

co o

P

n

avec

c

p

n

=

x

n

y

n

1

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

et

o

P

n

=

X

n

Y

n

Z

n

1

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

K =

G

x

0 u

0

0 G

y

v

0

0 0 1

⎜ ⎜

⎟ ⎟

et Π =

1 0 0 0 0 1 0 0 0 0 1 0

⎜ ⎜

⎟ ⎟

(5)

EsFmaFon de pose

A parFr de 4 points coplanaires   Si :

  Alors, en considérant pour simplifier que u 0 = v 0 = 0 : M

co

=

r

11

r

12

r

13

t

x

r

21

r

22

r

23

t

y

r

31

r

32

r

33

t

z

0 0 0 1

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

(6)

EsFmaFon de pose

A parFr de 4 points coplanaires   On obBent :

  En divisant tout par t z : x

n

= ( θ

1

X

n

+ θ

2

Y

n

+ θ

3

)

θ

7

X

n

+ θ

8

Y

n

+ 1 y

n

= ( θ

4

X

n

+ θ

5

Y

n

+ θ

6

)

θ

7

X

n

+ θ

8

Y

n

+ 1

⎪ ⎪

⎪ ⎪

(7)

EsFmaFon de pose

A parFr de 4 points coplanaires Avec :

Notes :

◦  G

x

et G

y

sont les grandissements suivant x et y du capteur.

◦  Ils dépendent de la taille du pixel.

◦   Ils sont égaux lorsque le pixel est carré.

◦   Ils permeZent d’obtenir une coordonnée dans l’image en pixels.

◦   On a :

θ

1

= r

11

G

x

t

z

θ

2

= r

12

G

x

t

z

θ

3

= t

x

G

x

t

z

! θ

8

= r

32

t

z

f f

(8)

EsFmaFon de pose

A parFr de 4 points coplanaires Il vient :

x

n

( θ

7

X

n

+ θ

8

Y

n

+ 1 ) = ( θ

1

X

n

+ θ

2

Y

n

+ θ

3

)

y

n

( θ

7

X

n

+ θ

8

Y

n

+ 1 ) = ( θ

4

X

n

+ θ

5

Y

n

+ θ

6

)

⎨ ⎪

⎩⎪

x

n

= ( θ

1

X

n

+ θ

2

Y

n

+ θ

3

) x

n

( θ

7

X

n

+ θ

8

Y

n

)

y

n

= ( θ

4

X

n

+ θ

5

Y

n

+ θ

6

) y

n

( θ

7

X

n

+ θ

8

Y

n

)

⎨ ⎪

⎩⎪

(9)

EsFmaFon de pose

A parFr de 4 points coplanaires

Sous forme matricielle :

(10)

EsFmaFon de pose

A parFr de 4 points coplanaires

En appliquant ceZe équaBon aux 4 points : x

0

y

0

! x

3

y

3

⎢ ⎢

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

⎥ ⎥

"#$

B

=

M

0

M

1

M

2

M

3

⎜ ⎜

⎜ ⎜

⎟ ⎟

⎟ ⎟

M8×8

" # % $ %

θ

1

θ !

8

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

"#$

Θ

d'où : Θ =M

1

B

(11)

EsFmaFon de pose

A parFr de 4 points coplanaires

En uBlisant le fait que r 11 2 + r 21 2 + r 31 2 = 1 :

On en déduit tous les termes de M . θ

1

t

z

G

x

⎝⎜

⎠⎟

2

+ θ

4

t

z

G

y

⎝ ⎜ ⎞

⎠ ⎟

2

+ ( ) θ

7

t

z 2

= 1

⇒ t

z

= 1

θ

1

G

x

⎝⎜

⎠⎟

2

+ θ

4

G

y

⎝ ⎜ ⎞

⎠ ⎟

2

+ θ

72

car t

z

> 0

(12)

EsFmaFon de pose

A parFr de 4 points coplanaires Conclusions :

◦  Méthode simple exploitant les propriétés de planéité de la cible.

◦  Le calcul implique l’inversion d’une matrice 8x8.

◦  Le calcul se fait en un nombre d’opéraBons fixe.

◦   CeZe méthode est sensible au bruit : il n’y a aucune garanBe que la matrice de rotaBon esBmée respecte les propriétés d’ortho-

normalité.

◦  PotenBellement, il faudrait normaliser ceZe matrice et rendre ses

lignes/colonnes perpendiculaires 2 à 2.

(13)

EsFmaFon de pose

A parFr d’au moins 4 points non coplanaires : POSIT

  Référence bibliographique :

D. DeMenthon et L. S. Davis, Model-Based Object Pose in 25 Lines of Code, Interna'onal Journal of Computer Vision, volume 15, pages 123 à 141, 1995.

  Méthode itéraBve, basée sur l’approximaBon de projecBon

orthographique.

(14)

EsFmaFon de pose

POSIT : définiFons

i j

k C f

O

Plan moyen

H

Z

0

u w v M

0

M

i

Plan image

M

co

R

c

R

o

(15)

EsFmaFon de pose

POSIT : définiFons

k C f

H

Z

0

u

w v M

0

M

i

P

i

N

i

p

i

m

i

m

0

(16)

EsFmaFon de pose

POSIT : objecFfs

  Soit :

M

co

=

o

i

u o

i

v o

i

w

Coord. de i

! ##

dans repère objet

" ## $

o

j

u o

j

v o

j

w

Coord. de j dans repère objet

! ## " ## $

o

k

u o

k

v o

k

w

ok=ooj

! ### " ### $

T

x

= x

0

Z

0

f T

y

= y

0

Z

0

f T

z

= Z

0

0 0 0 1

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎟ ⎟

⎟ ⎟

⎟ ⎟

⎟ ⎟

⎟ ⎟

avec :

c

m

0

= x

0

y

0

⎝ ⎜

⎠ ⎟

(17)

EsFmaFon de pose

POSIT : calculs

  Pour déterminer M co il suffit de :

◦  Déterminer les coordonnées dans R

o

de i et j

◦  Déterminer la profondeur Z

0

le long de l’axe opBque du plan moyen.

  Démontrer les relaBons suivantes : M

0

M

i

! !!!!! "

i f

Z

0

i = x

i

(1 + ε

i

) − x

0

(1) M

0

M

i

! !!!!! "

i f

Z

0

j = y

i

(1 + ε

i

) − y

0

(2)

avec

c

m = ⎡ x y f

T

et ε = 1

M M

! !!!!! "

i k

(18)

EsFmaFon de pose

POSIT : calculs

i j

k C f

O H

Z

0

u

w v M

0

M

i

P

i

N

i

p

i

m

i

m

0

Utiliser les triangles

Cm

i

O et N

i

P

i

M

i

(19)

EsFmaFon de pose

POSIT : calculs

  On a :   Avec :

  Les triangles C m i O et N i P i M i sont semblables dans le

rapport entre M i P i et C O . Ce rapport est égale à :

(20)

EsFmaFon de pose

POSIT : calculs

  On obBent :

  Produit scalaire par i :

  On obBent l’équaBon (1) :

  Le produit scalaire par j donne l’équaBon (2).

M

0

M

i

! !!!!! "

i f

Z

0

i = x

i

(1 + ε

i

) − x

0

avec ε

i

= 1

Z

0

! M !!!!!

0

M "

i

i k

(21)

EsFmaFon de pose

POSIT : calculs

  Les équaBons (1) et (2) peuvent s’écrire dans R o :

  Sous forme matricielle pour tous les n points M i :

  Avec :

o

( M

0

M

i

)

T o

I = ζ

i

avec

o

I = Z f

0

o

i et ζ

i

= x

i

( ) 1 + ε

i

x

0

o

( M

0

M

i

)

T o

J = η

i

avec

o

J = Z f

0

o

j et η

i

= y

i

( ) 1 + ε

i

y

0

A

o

I = xA

o

J = y

⎧ ⎨

A =

o

( M

0

M

1

)

T

!

o

( )

T

⎛ ⎜

⎜ ⎜

⎞ ⎟

⎟ ⎟ x ′ =

ζ

1

ζ !

⎡ ⎢

⎢ ⎢

⎤ ⎥

⎥ ⎥ y ′ =

η

1

η !

⎡ ⎢

⎢ ⎢

⎤ ⎥

⎥ ⎥

(22)

EsFmaFon de pose

POSIT : calculs

  Si on a au moins 4 points, la matrice A est de dimension 3×3 et est inversible. Si n>3 on uBlise la pseudo-inverse :

  Et on en déduit :   Et finalement :

o

I = B x

o

J = B y

⎧ ⎨

⎩ avec B = ( ) A

T

A

1

A

T

o

i =

o

I I

o

j =

o

J J

o

k =

o

i ×

o

j

T

z

= Z

0

= 2 f

I + J T

x

= x

0

Z

0

f T

y

= y

0

Z

0

f

(23)

EsFmaFon de pose

POSIT : algorithme

n nombre de points, A de dimension 3 × ( n − 1)

Calcul de B, pseudo-inverse de A . ε

i

= 0 ∀ i = 1 … n

IniBalisaBon

Calcul de la pose

o

I = B x

o

J = B y

o

i =

o

I I

o

j =

o

J J

o

k =

o

i ×

o

j Evaluation de x ′ et y ′ .

T

z

= Z

0

= 2 f ( I + J )

1

T

x

= x

0

Z f

0

T

y

= y

0

Z f

0

Mise à jour

ε = 1 ! !!!!! "

∀ = Arrêt si tous les ε

(24)

EsFmaFon de pose

POSIT : algorithme

i j

k C f

O

Plan moyen

H

Z

0

u w v M

0

M

i

Plan image

M

co

R

c

R

o

(25)

EsFmaFon de pose

POSIT : algorithme

k C f

Plan moyen

H

Z

0

u w v M

0

M

i

Plan image

M

co

R

o

(26)

EsFmaFon de pose

POSIT : définiFons

i j

k C f

O

Plan moyen

H

Z

0

u w v M

0

M

i

Plan image

M

co

R

c

R

o

(27)

EsFmaFon de pose

POSIT : algorithme

k C f

Plan moyen

H

Z

0

u w v M

0

M

i

Plan image

M

co

R

o

(28)

EsFmaFon de pose

POSIT : exercice

  Une caméra munie d'un objecBf de focale 1 cm a dans son champ de vision un objet consBtué de 4 points dont les

coordonnées dans le repère R o sont les suivantes :

x z y

z

x y M

2

M

1

M

0

M

3

R

o

R

c

M

co

? M

0

( 0 0 0 ) M

1

( 0.1 0 0 )

M

2

( 0 0.1 0 ) M

3

( 0 0 0.1 )

(29)

EsFmaFon de pose

POSIT : exercice

1.   Synthèse de l’image idéale

Calculer les coordonnées des projecBons des 4 points dans le plan image sachant que la matrice homogène de transformaBon entre la caméra et l’objet est égale à :

2.   Retrouver M co avec POSIT

Retrouver M

co

à parBr de l’image idéale synthéBsée en 1.

M

co

=

1 0 0 0.15 0 0 − 1 0.1 0 1 0 0.3 0 0 0 1

⎜ ⎜

⎜ ⎜

⎟ ⎟

⎟ ⎟

(30)

EsFmaFon de pose

POSIT : exercice

1.   Synthèse de l’image idéale

2.  ApplicaBon de POSIT

(31)

EsFmaFon de pose

POSIT : exercice

  IniBalisaBon de ε i à 0

  ItéraBon 1 :

(32)

EsFmaFon de pose

POSIT : exercice

  ItéraBon 1 :

(33)

EsFmaFon de pose

POSIT : exercice

  ItéraBon 2 :

o

I =

4.32 ⋅ 10

−2

− 5.85 ⋅ 10

−4

− 3.97 ⋅ 10

−3

⎢ ⎢

⎥ ⎥

o

J =

3.97 ⋅ 10

−3

− 3.9 ⋅ 10

−4

− 3.333 ⋅ 10

−2

⎢ ⎢

⎥ ⎥

o

i =

0.996

− 1.35 ⋅ 10

−2

− 9.14 ⋅ 10

−2

⎢ ⎢

⎥ ⎥

o

j =

0.118

− 1.16 ⋅ 10

2

− 0.993

⎢ ⎢

⎥ ⎥

o

k =

1.123 ⋅ 10

2

0.998

− 0.997 ⋅ 10

3

⎢ ⎢

⎥ ⎥

Z

0

= 0.26

ε

1

= 4.74 ⋅ 10

−3

ε

2

= 0.377

ε

3

= − 3.84 ⋅ 10

3

(34)

EsFmaFon de pose

POSIT : exercice

  ItéraBon 5 :

o

I =

3.33 ⋅ 10

−2

− 2.56 ⋅ 10

−4

2.11 ⋅ 10

−5

⎢ ⎢

⎥ ⎥

o

J =

− 2.17 ⋅ 10

−5

− 1.7 ⋅ 10

−4

− 3.333 ⋅ 10

−2

⎢ ⎢

⎥ ⎥

o

i =

0.99997

− 7.68 ⋅ 10

−3

6.33 ⋅ 10

−4

⎢ ⎢

⎥ ⎥

o

j =

− 6.5 ⋅ 10

−4

− 5.11 ⋅ 10

3

− 0.99999

⎢ ⎢

⎥ ⎥

o

k =

1.123 ⋅ 10

2

0.998

− 0.997 ⋅ 10

3

⎢ ⎢

⎥ ⎥

Z

0

= 0.3002

ε

1

= 2.56 ⋅ 10

−3

ε

2

= 0.333

ε

3

= − 1.7 ⋅ 10

3

(35)

EsFmaFon de pose

POSIT : exercice

  Arrêt à l’itéraBon 5 :

  On retrouve à 10 -4 près les termes de M co qui nous avait servie à calculer l’image idéale de l’objet.

T

x

= x

0

Z

0

f = 5 ⋅ 10

3

⋅ 0.3002

0.01 = 0.1501 T

y

= y

0

Z

0

f = 0.1001 T

z

= Z

0

= 0.3002 R

co

=

0.99997 − 7.68 ⋅ 10

−3

6.33 ⋅ 10

−4

− 6.5 ⋅ 10

−4

− 5.11 ⋅ 10

−3

− 0.99999 7.69 ⋅ 10

3

0.99995 − 5.12 ⋅ 10

3

⎜ ⎜

⎟ ⎟

(36)

EsFmaFon de pose

Pose relaFve

  EsBmer la pose relaBve entre 2 images :

◦  Tâche de suivi de cible

◦  Faible erreur de suivi

◦  p

*

pose désirée

◦   p pose courante

◦   Trouver e = p - p

*

p

p

*

R

c

e

R

c*

R

o

(37)

EsFmaFon de pose

Pose relaFve

  Soit :   Avec :

  Soit :   Avec :

F ! = L

F

C

c

F ! vitesse des primitives dans l'image

L

F

matrice d'interaction (Jacobien image) C

c

torseur cinématique de R

c

!

e = L

e

C

c

L le Jacobien de la pose

(38)

EsFmaFon de pose

Pose relaFve

  On obBent :

  ApproximaBon au 1 er ordre :   Avec :

!

e = L

e

L

+F

F ! avec L

+F

= ( ) L

TF

L

F 1

L

TF

eL

e

L

+F

( FF

*

) pour F F

*

petit.

F

*

les primitives en p

*

F les primitives en p

(39)

EsFmaFon de pose

Pose relaFve

  Si les primiBves sont les coordonnées x i y i de n points (pix) :

L

F

=

G

x

Z

1

0 x

1

Z

1

x

1

y

1

G

y

G

x2

+ x

12

G

x

y

1

G

x

G

y

0 − G

y

Z

1

y

1

Z

1

G

y2

+ y

12

G

y

x

1

y

1

G

x

x

1

G

y

G

x

! ! ! ! ! !

G

x

Z

n

0 x

n

Z

n

x

n

y

n

G

y

G

x2

+ x

n2

G

x

y

n

G

x

G

y

0 − G

y

Z

n

y

n

Z

n

G

y2

+ y

n2

G

y

x

n

y

n

G

x

x

n

G

y

G

x

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎜ ⎜

⎟ ⎟

⎟ ⎟

⎟ ⎟

⎟ ⎟

⎟ ⎟

⎟ ⎟

F =

x

1

y

1

! x

n

y

n

⎢ ⎢

⎢ ⎢

⎢ ⎢

⎥ ⎥

⎥ ⎥

⎥ ⎥

(40)

EsFmaFon de pose

Pose relaFve

  Si les angles sont exprimés avec la représentaBon angle/

axe :

L

e

= R

c*c

0 0 L

θu

⎝ ⎜

⎠ ⎟

⎟ avec e = t

c*c

θ u

⎣ ⎢

⎦ ⎥

L

θu

= I

3

− θ

2 ⎡⎣ ⎤⎦ u

×

+ 1 − sinc θ sinc

2

θ

2

⎜ ⎜

⎟ ⎟

⎡⎣ ⎤⎦ u

×

2

et ⎡⎣ ⎤⎦ u

×

=

0 − u

z

u

y

u

z

0 − u

x

u

y

u

x

0

⎜ ⎜

⎜⎜

⎟ ⎟

⎟⎟

(41)

EsFmaFon de pose

Pose relaFve

  Dans ce cas :   D’où :

◦  Adapté au suivi de cible car e est maintenu peBt par l’asservissement visuel.

◦   Rapide car la pseudo-inverse peut être calculée au préalable.

◦   Imprécis quand e augmente.

L

e

⎯ →

e

⎯⎯

0

I

6

eL

+F

( FF

*

) pour F F

*

petit.

(42)

EsFmaFon de pose

Pose relaFve : exemple

  Soit :

  Qui correspond à :

  On obBent alors:

t

c*c

= ⎡ 0.1 0 0

⎣ ⎤

T

, θ = 0.1 rad et u = ⎡ 1 0 0

⎣ ⎤

T

F

*

= ⎡ 500 333 833 333 375 250 500 0

⎣ ⎤

T

F = ⎡ 173.3 448.7 519.9 448.7 128.9 359.3 167.5 100.3

⎣ ⎤

T

L

+F

( FF

*

) = 0.099 0.002 0.002 0.102 0.986 0.06 ⎡ − 0.15

⎣ ⎤

T

⎣ ⎢

⎦ ⎥

T

(43)

EsFmaFon de pose

UFlisaFon de marqueurs lumineux : exemple Pro file d e l a su rf ace d e l a scè ne Faisceau LASER

Plan image d

z f

x

p

x

On a donc : x

p

= f x

z = f d

z d'où : z = f d x

p

Il est possible de connaître la profondeur de la scène.

(44)

EsFmaFon de POSE

UFlisaFon d’OpenCV

  FoncBon solvePnP :

◦  Paramètres :

◦  Coordonnées des points de l’objet

◦  Coordonnées des points dans l’image

◦  Paramètres intrinsèques de la caméra

◦  Algorithme uBlisé (3 possibilités)

◦  Valeurs retournées :

◦  Vecteur de translaBon

◦  Vecteur de rotaBon en uBlisant la représentaBon angle / axe

Références

Documents relatifs

Ici encore nous éloignerons à l'infini, dans une di- rection fixée arbitrairement, le point e et le plan e, et, sur cette direction ûxe^ nous distinguerons les deux sens -f- r, — f,

Lire les coordonnées des points A, B et C dans le..

Déterminer les coordonnées du milieu du

b ) Déterminer une équation cartésienne de cet ensemble. b ) Déterminer une équation cartésienne de

Calculer les coordonnées du centre de symétrie W du parallélogramme ABCD.. Montrer que le triangle OMN est isocèle

[r]

Calculer les coordonnées de → AB.. Calculer les coordonnées de I milieu

(miroir) , la lumière de la flamme semble provenir de la bougie éteinte placée de façon symétrique car la bougie éteinte coïncide avec l'image de la bougie allumée.