78
Vision et Commande (partie I) De la vision artificielle aux asservissements visuels ENSPS 3ème année, option ISAV & Master IRIV-PARI (2009-2010) Christophe DOIGNON Maître de Conférences HdR ENSPS courriel : [email protected] site web : http://eavr.u-strasbg.fr/~christophe Tel : 03 68 85 43 41 (Bureau C418) Pôle API – ENSPS Boulevard Brant 67412 Illkirch, FRANCE

Vision et Commande (partie I) - unistra.fr

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vision et Commande (partie I) - unistra.fr

Vision et Commande (partie I)

De la vision artificielle aux asservissements visuels

ENSPS 3ème année, option ISAV & Master IRIV-PARI(2009-2010)

Christophe DOIGNON

Maître de Conférences HdR ENSPS

courriel : [email protected] site web : http://eavr.u-strasbg.fr/~christophe

Tel : 03 68 85 43 41 (Bureau C418) Pôle API – ENSPS Boulevard Brant 67412 Illkirch, FRANCE

Page 2: Vision et Commande (partie I) - unistra.fr
Page 3: Vision et Commande (partie I) - unistra.fr

Multiple view geometry in computer vision, Andrew Zisserman, Richard Hartley, Cambridge University Press, ISBN : 0-521-62304-9, 2000, 607 pages.

Introductory techniques for 3-D computer vision, Emanuele Trucco, Alessandro Verri, Prentice Hall, ISBN:0-13-261108-2, 1998, 330 pages

Geometric Invariance in Computer Vision, J. Mundy, A. Zisserman,MIT Press, ISBN: 0-262-13285-0, 1992, 540 pages

Computer and Robot Vision, R.M. Haralick, L.G. Shapiro, Addison-Wesley Publishing, 1992, 0-201-10877-1, (2 volumes), 1340 pages

Digital Image Processing, K. Castleman,Prentice Hall, ISBN: 0-13-211467-4, 1996, 650 pages

Handbook of Image and Video Processing, A. Bovik,Academic Press, ISBN:0-12-119790-5, 2000, 880 pages,

Image Analysis for the Biological Sciences, C.A. Glasbey and G.W. Horgan,Vic Barnett Editor,Wiley & Sons, ISBN:0-471-93726-6, 1995, 210 pages

Bibliographie

Page 4: Vision et Commande (partie I) - unistra.fr

PlanChapitre 0 : Introduction et applications

Chapitre 1 : Correspondance image – objet• Transformations géométriques linéaires • Modélisation des caméras• Estimation de pose

Chapitre 2 : Correspondance image – image• Géométrie épipolaire et stéréovision• Reconstruction 3-D

Chapitre 3 : Modélisation du mouvement• Analyse cinématique• Asservissements visuels basés image (2-D)• Asservissements visuels basés position (3-D)

Page 5: Vision et Commande (partie I) - unistra.fr

Chapitre 0

Introduction et applications

Page 6: Vision et Commande (partie I) - unistra.fr

Introduction La vision par ordinateur rend compte des relations associant la scène et les

images par l'emploi de capteurs visuels et de modèles mathématiques. Cette discipline s'intéresse aux traitements des images, à l'interprétation des informations visuelles et à leur utilisation. Les informations visuelles géométriques permettront d'établir un lien avec les asservissements visuels, par la prise en compte :

de la projection dans une image d’un élément de la scène,des relations entre différentes projections de la scène,de la reconstruction géométrique de scène à partir des projections dans plusieurs images.

Les applications sont variées. Leurs domaines sont majoritairement :

la localisation (recalage) et suivi visuel,la reconnaissance des formes,la modélisation d'un environnement,le contrôle dimensionnel, la vidéo-surveillance,la réalité augmentée et l'aide à la synthèse d’images.

Page 7: Vision et Commande (partie I) - unistra.fr

Introduction (suite)

Le recalage entre le capteur de vision (le plus souvent une caméra) et l'objet d'intérêt permet d'envisager une tâche de positionnement d'un système articulé, même si l'objet est en mouvement.

Page 8: Vision et Commande (partie I) - unistra.fr

Surveillance des carrefours, forêts et zones agricoles

Applications – 1

Page 9: Vision et Commande (partie I) - unistra.fr

Reconnaissance d’empreintes digitales : mise en forme

Applications – 2

Page 10: Vision et Commande (partie I) - unistra.fr

Inspection visuelle dynamique : détection de défauts

Applications – 3

CamérasLumière

Codeur Sens de défilement de la bande

Impact InsecteRaccord Tache

Page 11: Vision et Commande (partie I) - unistra.fr

Détection des mouvements de fluide

Applications – 4

Page 12: Vision et Commande (partie I) - unistra.fr

Supervision de produits convoyés - Contrôle de la qualité

Applications – 5

Page 13: Vision et Commande (partie I) - unistra.fr

Mosaïque d’images satellitales

Applications – 6

Page 14: Vision et Commande (partie I) - unistra.fr

Guidage par imagerie médicale (X TDM et US) : assistance au diagnostic et à la chirurgie

Applications – 7

Image fournie par une sonde USCoupe scanner CT

Page 15: Vision et Commande (partie I) - unistra.fr

Applications – 8

Examens médicaux par imagerie thermiqueExamens médicaux par imagerie thermique

Organe interne avec artère normale

Comparaison de la circulation du sangdans les jambes de deux patients

Organe interne avec artère obstruée

Page 16: Vision et Commande (partie I) - unistra.fr

Applications – 9

Vision active : Reconstruction 3-D des surfacesd'organes à l'aide de la lumière structurée

Page 17: Vision et Commande (partie I) - unistra.fr

Chapitre 1

Correspondance image – objet

Page 18: Vision et Commande (partie I) - unistra.fr

Chapitre 1 : Correspondance image – objet 1.1 Transformations géométriques linéaires

Transformationseuclidiennes Similitudes Transformations

affines

Transformationsprojectives

Page 19: Vision et Commande (partie I) - unistra.fr

3 (3)Projectif 1-D(homographique)

2 (2)Affine 1-D

1 (2)Euclidien 1-D

Transformations(en coordonnées homogènes)

Degrés de liberté (nb de points définissant une base)

Espaces

w [x '1 ]=[1 t x

0 1 ][x1 ]

w [x '1 ]=[a 11 a 12

a 21 1 ][x1 ]

Géométrie mono-dimensionnelle

w [x '1 ]=[a 11 a 12

0 1 ][x1 ]

P3

P1

P2

Q1 Q

2Q

3

Page 20: Vision et Commande (partie I) - unistra.fr

Géométrie bi-dimensionnelle

P3

P1

P2

P4

Q1 Q

2

Q4

Q3

Page 21: Vision et Commande (partie I) - unistra.fr

6 (3 non colinéaires)

Affine 2-D

8 (4, aucun triplet colinéaire)

Projectif 2-D(homographique)

4 (3 non colinéaires)

Similitude 2-D

3 (3 non colinéaires)

Euclidien 2-D

Transformations(en coordonnées homogènes)

Degrés de liberté (nb de points définissant une base)

Espaces

w [x 'y '1 ]=[a 11 a 12 a 13

a 21 a 22 a 23

a 31 a 32 a 33][xy1 ]=[ A t

v T a 33 ]xy1 ¿

Géométrie bi-dimensionnelleR=[r11 r12

r 21 r 22 ]

w[x 'y '1 ]=[sr 11 sr12 t xsr 21 sr 22 t y0 0 1 ][xy1 ] ,RT R= I ,det R =1

w [x 'y '1 ]=[r11 r12 t xr 21 r22 t y0 0 1 ][xy1 ], RT R= I ,det R =1

w [x 'y '1 ]=[a11 a12 a13

a21 a22 a23

0 0 1 ][xy1 ] ,

Page 22: Vision et Commande (partie I) - unistra.fr

Géométrie tri-dimensionnelle

P3

P1

P4

P5

P2

Q2

Q1

Q3

Q4

Q5

Page 23: Vision et Commande (partie I) - unistra.fr

12 (4 non coplanaires)Affine 3-D

15 (5, aucun quadruplet coplanaire)

Projectif 3-D(homographique)

7 (4 non coplanaires)Similitude 3-D

6 (4 non coplanaires)Euclidien 3-D

Transformations (en coordonnées homogènes)

Degrés de liberté (nb de points définissant une base)

Espaces

Géométrie tri-dimensionnelle

w [x 'y 'z '1 ]=[

a 11 a 12 a 13 a 14

a 21 a 22 a 23 a 24

a 31 a 32 a 33 a 34

a 41 a 42 a 43 a 44]⋅[xyz1 ]

¿

w [x 'y 'z '1 ]=[ R t0T 1 ]⋅[xyz1 ] ,RT R= I ,det R =1

w[x 'y 'z '1 ]=[s R t0T 1 ]⋅[xyz1 ], RT R= I ,det R =1

w [x 'y 'z '1 ]=[a11 a12 a13 a14

a21 a22 a23 a24

a31 a32 a33 a34

0 0 0 1]⋅[xyz1 ],

Page 24: Vision et Commande (partie I) - unistra.fr

La géométrie projective est le support mathématique permettant l’étude des relations géométriques en vision par ordinateur. En particulier, deux types de transformations projectives sont souvent employées :

1) La projection perspective (ou projection centrale) qui est une transformation linéaire d’un espace projectif Pn vers un espace projectif Pn-1

(exemple de P3 vers P2 ):

w⋅[x 'y'1 ]=[1 0 0 00 1 0 00 0 1 0 ]⋅[xyz1 ]

P

Q

C

P =w⋅[xyz1]

Q = w⋅[x 'y '1 ]

Q : Projection perspective de P

Page 25: Vision et Commande (partie I) - unistra.fr

2) L’homographie (ou collinéation) qui est une transformation linéaire bijective d’un espace projectif Pn vers lui-même.

(exemple de P2 vers P2 avec det(H) non nul) :w⋅[x 'y'1 ]=[h11 h12 h13

h21 h22 h23

h31 h32 h33]⋅[xy1 ]

P (appartenant à un plan: scène plane)

Ql

Qr

Cl

Cr

Qr : Projection perspective de P

Image Il

Ql : Projection perspective de P

Image IrHomographie H

lr induite

par le plan contenant P

Page 26: Vision et Commande (partie I) - unistra.fr

Une homographie de Pn a (n+1)x(n+1)-1 degrés de liberté et peut être déterminée à partir de la correspondance entre n+2 couple de points.

Une base projective de Pn est constituée de n+2 points, tout ensemblede n+1 de ces points étant linéairement indépendant.

Les points à l’infini de Pn sont les points dont la (n+1) ième coordonnée (homogène) est nulle:

Une transformation affine transforme un point à l’infini en un autre point à l’infini. Une transformation projective peut transformer un point à l'infini en un point situé à une distance finie.

Remarques

x 1 , x 2 , . . . , x n ,0

Page 27: Vision et Commande (partie I) - unistra.fr

[A tvT a33 ]⋅xy0=Axy vT xy

Exemples de transformations affines 2-D :

Exemples de transformations projectives 2-D :

[A t0T 1 ]⋅xy0 =Axy 0

Page 28: Vision et Commande (partie I) - unistra.fr

Parmi les grandeurs suivantes, quelles sont celles qui sont invariantespar transformations euclidienne, affine ou projective :

1) le parallélisme,2) l'ntersection de deux droites,3) le barycentre,4) la distance euclidienne,5) le birapport (rapport anharmonique)6) le produit scalaire,7) le point d'inflexion sur une courbe.

Exercice

Page 29: Vision et Commande (partie I) - unistra.fr

Les modèles physiques des capteurs de vision prennent en considération :

• les éléments photo-sensibles (CMOS/CCD) des caméras,• l’optique de l’objectif,• l’électronique d’acquisition (filtrage analogique,CAN, échantillonnage,…)• les effets non linéaires.

Les modèles mathématiques proposés pourrendre compte de l'information visuelle géométrique sont basés sur :

• la projection perspective,• les projections para-perspective, ortho-perspective et perspective faible• la distorsion radiale.

1.2 Modélisation des caméras

Page 30: Vision et Commande (partie I) - unistra.fr

Synoptique générale de l’acquisition d’images

Page 31: Vision et Commande (partie I) - unistra.fr

• Modèle perspectif

La relation géométrique entre une scène 3-D et un plan image la pluscourante (issue des modèles de lentilles minces) repose sur l'emploide la projection perspective (projection centrale) :

• une translation 3-D, une rotation 3-D (objet caméra)• une projection perspective canonique (caméra image)• une transformation affine ( image pixel : matrice triangulaire).

C Q

Centre optique

PPlan image

Scène

objetaxe optique

x c

yc

z c

1=[R t0T 1 ]⋅x

o

y o

z o

1z c uv1=[G x 0 uc 0

0 Gy vc 00 0 1 0 ]⋅x

c

y c

z c

1

Page 32: Vision et Commande (partie I) - unistra.fr

• Modèle perspectif (suite)Les principales hypothèses sous lesquelles ce modèle est validesont les suivantes :

• conditions de Gauss (inclinaison faible et rayons paraxiaux)• lumière monochromatique,• image plane,• plan image perpendiculaire à l’axe optique de l’objectif

Les paramètres Gx, Gy, uc et vc sont les paramètres intrinsèques au systèmede vision matrice K.

La transformation rigide entre un repère lié à l'objet solide et le repère lié à la caméraest une transformation euclidienne (rotation et translation) : les paramètres extrinsèques.

Gx=sx f / l xG y= f / ly

z c us

v s

1 =[1 0 0 00 1 0 00 0 1 0 ]⋅x

c

yc

z c

1uv1=[Gx 0 uc

0 G y vc0 0 1 ]

K

⋅us

v s

1

Page 33: Vision et Commande (partie I) - unistra.fr

Effets non-linéaires :

• ils sont essentiellement dus à la forte courbure aux bords des lentilles de l’objectif,• plus la longueur focale est faible, plus ces effets sont significatifs

Distorsion radiale (modèle de R. Tsaï, JRA 1987) :

us=udDx

vs=vdD y

avec :Dx=ud κ1r

2κ2 r4. . .

D y=vd κ1 r2κ2 r

4 . . . et :r=ud

2vd2

• Modèle perspectif (suite)

Page 34: Vision et Commande (partie I) - unistra.fr

• Modèle perspectif (suite)

Page 35: Vision et Commande (partie I) - unistra.fr

Exercice

1) Déterminer la relation géométrique entre un objet mono-dimensionnel représenté par n points colinéaires P

i, i=1,..n

dans une scène 3-D et son image :

- a) la relation projective entre la droite supportantles points et le plan image,

- b) relation métrique (pour un objet rigide) entre unrepère lié à l'objet et un repère lié à la camérasupposée calibrée.

Plan image

2) Combien faut-il mettre de couples n de points (objet/image)en correspondance pour déterminer l'orientation et la positionde l'objet mono-dimensionnel (caméra supposée calibrée) ? Justifier.

P0

Q0

C

P2

P1

Page 36: Vision et Commande (partie I) - unistra.fr
Page 37: Vision et Commande (partie I) - unistra.fr

Exercice

1) Déterminer les valeurs approximatives des éléments diagonaux de lamatrice K des paramètres intrinsèques pour un système de vision composé :

- d'une caméra JAI CV-A50 (voir doc.),- d'un objectif de longueur focale fixe f =16 mm- d'une carte d'acquisition CCIR sur PC permettant de sauvegarder

l'image au format : 768 (H) x 572 (V) pixels.

2) Donner une estimation des valeurs approximatives pour ledécentrage (éléments non-diagonaux non nuls de K) ?

Page 38: Vision et Commande (partie I) - unistra.fr

Cela consiste à déterminer les paramètres extrinsèques (R et t) à partir desdonnées de l’image et d’un modèle géométrique de l’objet perçu (et ensupposant que les paramètres intrinsèques sont connus).

localisation 3-D de l’objet rigide (et opaque) perçu.

La matrice réelle Mco

(3x4) possède 11 composantes. Sans tenir compte de sadécomposition spécifique, il faudrait sixcorrespondances entre les points de l’objet etles points images pour déterminer cette matrice.

La transformation Mco (avec tz > 0) peut être déterminée à partir d'un plus petitnombre de correspondances si on tient compte de sa décomposition .

Un cas particulier très usuel : l’objet contient n points coplanaires=> homographies de plans (appelées aussi homographies 2-D).

w⋅uv1 =K⋅[R t ]M co

⋅ x o

yo

zo

1

1.3 Estimation de la pose (Recalage 2-D/3-D rigide)

Page 39: Vision et Commande (partie I) - unistra.fr

• Problème inverse à partir du modèle perspectif (1) : cas plan

Une homographie H = (hij) de plans existe entre des points coplanaires de l’objetet le plan image. Elle est totalement déterminée, à un facteur d'échelle près (h33

peut être pris à 1), par la correspondance de ces points avec leurs projectionsdans l’image. En représentant le plan objet par l'équation z(o) = 0, on a :

Il s’agit de déterminer R = (c1, c2, c3) et t connaissant les composantes de K :

et c 3=c 1∧c 2

w⋅uv1=H⋅ x o

yo

1 =K⋅[R t ]M co [1 0 0

0 1 00 0 00 0 1 ]x

o

yo

1

H=K⋅[c 1 c 2 t ]

Page 40: Vision et Commande (partie I) - unistra.fr

• Problème inverse à partir du modèle perspectif (2) : cas plan

1) Chaque correspondance de points (Pi / Qi ) fournit deux équations du type :

avec le vecteur des inconnues h suivant :

La solution par la méthode des moindres carrés est directe :

avec et

si on dispose de 4 couples de points objets/images, au moins.

[−xi −y i −1 0 0 0 ui xi ui yi0 0 0 −xi −y i −1 vi x i v i y i ]

miT

⋅h = [−ui

−v i ]k i

h=h11 h12 h13 h21 h22 h23 h31 h32T

h = MTM −1MTM #

k M=m1T , m2

T , . . . , mnT T

k= k1T , k 2

T , . . . , k nT T

Page 41: Vision et Commande (partie I) - unistra.fr

• Problème inverse à partir du modèle perspectif (3) : cas plan

2) On en déduit que : et donc on en tire R et t

[exercice : faire le calcul]

Pb : H est définie à un facteur d’échelle près,

on peut normaliser c1 ou c2 , mais la matrice R obtenue n’est pasforcément une matrice de rotation car la condition d'orthonormalitén'est pas assurée :

solution alternative : décomposer R en valeurs singulières (SVD) etforcer celles-ci à 1.

[c 1 c 2 t ]=K −1H

RT R≠I

Page 42: Vision et Commande (partie I) - unistra.fr
Page 43: Vision et Commande (partie I) - unistra.fr

Chapitre 2

Correspondance image – image

Page 44: Vision et Commande (partie I) - unistra.fr

Contrainte de planarité : Théorème de Longuet-Higgins

Les trois vecteurs CrQr , ClQl et trl =CrCl, sont coplanaires : Ce plan est appelé plan épipolaire. det CrQr t rl Rrl⋅C lQl =0

l : caméra de gaucher : caméra de droiteo : objet

2.1 Géométrie épipolaire et stéréovision

Page 45: Vision et Commande (partie I) - unistra.fr

Théorème de L-H : matrice essentielle (2)

• Les composantes de la matrice essentielle contiennent des informations exclusivement surles paramètres extrinsèques, entre les deux points de vues.• la planarité est traduite par la singularité de la matrice essentielle : det(E) =0,• le rang de E est égal à 2,• la matrice essentielle est définie à un facteur d’échelle près,• les valeurs des coordonnées homogènes des points Q sont exprimées en mètres.

s k t rl =[ 0 −t z t yt z 0 −t x−t y t x 0 ]

En notant par [Rrl,trl] le mouvement euclidien entre deux points de vues, on définit la matrice essentielle E par :

et

CrQr⋅ t rl∧Rrl⋅C lQl =0

CrQr⋅E⋅C lQ l=0 E=s k t rl ⋅R rl

Page 46: Vision et Commande (partie I) - unistra.fr

A partir du calcul de E.ET, (ou ET.E), proposer une méthode permettantde déterminer les solutions pour la direction du vecteur de translation trl etmontrer que la matrice essentielle possède deux valeurs singulièresidentiques non nulles.

Théorème de L-H : matrice essentielle E (3)

Proposer une méthode permettant de déterminer les solutionspossibles pour la matrice de rotation Rrl , à partir de la connaissancede la matrice essentielle E et de l'estimation de trl.

Exercice

Exercice

Page 47: Vision et Commande (partie I) - unistra.fr

Notation : les projections perspectives πr (droite) et πl (gauche) peuventêtre représentées par des matrices (3x4) réelles πr et πl telles que :

Kr et Kl sont des matrices (3x3) réelles triangulaires supérieures contenantles valeurs des paramètres intrinsèques aux caméras de centres optiques Cr et Cl.

l=K l⋅[1 0 0 00 1 0 00 0 1 0 ]=[K l 0 3 ]

s l⋅Ql=l⋅P / Rc l

r=K r⋅[1 0 0 00 1 0 00 0 1 0 ]=[K r 0 3 ]

K l=[G xl 0 uc

l

0 G yl vc

l

0 0 1 ]

• Géométrie épipolaire (1)

s r⋅Qr=r⋅P / Rcr

K r=[Gxr 0 uc

r

0 G yr vc

r

0 0 1 ]

Page 48: Vision et Commande (partie I) - unistra.fr

La contrainte épipolaire permet d'établir la relation entre un point et une droite.En effet, elle formalise la relation entre le point Ql de l’image Il et une droite lQl del’image Ir appelée droite épipolaire du point Ql passant par l’épipole er (projectionsur Ir du centre optique Cl) et sur laquelle se trouve le point Qr (et donc Qr

T lQl =0).

Cette relation est représentée globalement par une matrice (3x3),F, appelée matricefondamentale et qui caractérise projectivement le couple d'images (Ir, Il).

lQ r=F T Q r

Q lT lQ r

=Q lT F TQ r=0

lQ l=FQ l

Q rT lQ l

=Q rT F Q l=0

• Géométrie épipolaire (2) : matrice fondamentale F

Page 49: Vision et Commande (partie I) - unistra.fr

Lien avec la matrice essentielle : D’après les notations précédentes, on a :

avec et

L’équation s’appelle l'équation de la disparité (entre les deux points de vues).

H∞ est l’homographie du plan à l’infini (cas des objets à l’infini),er est un vecteur représentant l’épipole dans l’image Ir, c’est-à-dire laprojection perspective du centre Cl dans l’image Ir.En fait, cette projection est la suivante :

Q r≡ H∞⋅Q le r

s r⋅Q r=K r⋅[I 3×3 0 3 ]P / R c r=K r [R rl t rl ]P / R c l

=

s r⋅Q r=s rK rR rl K l−1 s lQ lK r t rl ≡H∞⋅Q le r

H∞≡K r R rl K l−1 er≡K r⋅t rl

• Géométrie épipolaire (3) : matrice fondamentale F

Page 50: Vision et Commande (partie I) - unistra.fr

s r⋅Q rT e r∧Q r = 0

= s r⋅Q rT [s k e r ⋅Q r ]

= s r s l⋅H∞⋅Q le r T⋅[s k e r ⋅Q r ]

= [s r s l⋅Q lT⋅H∞

T⋅s k e r e r∧e r ]⋅Q r

= s r s l⋅Q lT⋅H∞

T⋅s k e r ⋅Q r

K r⋅[I3×3 03 ]C l / Rcr =Kr [Rrl t rl ]C l / Rcl

=K r t rl≡er

Car : est le centre de projection de Cl.

De manière similaire, représente l’épipole dans l’image Il.

sk M⋅u =det M ⋅M−T⋅sk u ⋅M−1

F ≡−s k e r ⋅H∞

(en utilisant la propriété suivante : )

• Géométrie épipolaire (4) : matrice fondamentale F

F ≡ K r−T⋅E⋅K l

−1

e r≡K r t rl

e l≡K l t lr

Page 51: Vision et Commande (partie I) - unistra.fr

Remarques :

• la matrice fondamentale F contient les informations projectives des deux points de vues selon la relation quadratique suivante :

• la planarité est traduite par la singularité de la matrice fondamentale,

• le rang de F est égal à 2 (elle possède donc 7 degrés de liberté),

la matrice fondamentale est définie à un facteur d’échelle près.

• les coordonnées homogènes des points Q ont comme unité le pixel.

QrT⋅F⋅Ql=0

• Géométrie épipolaire (5) : matrice fondamentale F

det F =0

Page 52: Vision et Commande (partie I) - unistra.fr

Estimation linéaire de la matrice fondamentale : algorithme des 8 points.

Une résolution linéaire sous contrainte de normalisation ne permet pasde rendre compte de la singularité de F a priori, dès que du bruit apparaîtsur la localisation des points image (on a alors det(F) ≠0 et la déterminationdes épipoles est dès lors très imprécise).Une méthode très commune consiste à décomposer la matrice fondamen-tale F estimée linéairement à partir de l'algorithme des 8 points en valeurssingulières et à forcer la plus petite valeur singulière à 0.

• Etape 1) L’identité : est appliquée pour chaque couple de

points en correspondance dans les deux images.

Q rT⋅F⋅Ql = 0

• Géométrie épipolaire (6) : matrice fondamentale F

Page 53: Vision et Commande (partie I) - unistra.fr

En notant par les vecteurs colonnes de F,

l’identité précédente s’écrit (en chaque point Q=(u,v,1)T) :

Si n correspondances existent entre les images, on a n (n > 7)équations de ce type et on obtient un système linéaire homogène,qu’il convient de normaliser (||F|| = 1 ou F33 = 1,…) :

où Un est une matrice réelle de dimensions (nx9) de rang au pluségal à 8 :

U iT=ui

luir ui

l vir ui

l vilui

r vilv i

r vil ui

r vir 1

f= f 1T f 2T f 3

T T

U iT⋅f =0

U n=U1 U2 . . . U n T

U n⋅ f =0

• Géométrie épipolaire (7) : matrice fondamentale F

Page 54: Vision et Commande (partie I) - unistra.fr

• Etape 2) SVD(F) : avec

On choisit alors une matrice diagonale D’ telle que :

et la matrice fondamentale retenue est F' :

D ' = [1 0 00 2 00 0 0 ]

F '=U⋅D'⋅V T

D = [1 0 00 2 00 0 3

]F=U⋅D⋅V T

• Géométrie épipolaire (8) : matrice fondamentale F

Page 55: Vision et Commande (partie I) - unistra.fr

En pratique, pour obtenir des matrices bien conditionnées, il est nécessairede normaliser les données. L'exercice présent propose une méthode de nor-malisation utile pour l'estimation de la matrice fondamentale.

Déterminer les matrices nécessaires pour normaliser (translation et facteurd'échelle) les composantes de Un préalablement à l’utilisation del’algorithme des 8 points.(suggestion : étant donné un ensemble de n points Qi = (ui,vi,1)T,déterminer :

, et

puis la matrice (3x3) N, telle que :

avec

d=∑iui−u 2v i−v 2

n2

Qi=[ui−u / d vi−v / d 1 ]T

v=∑ivi /nu=∑

iui /n

N⋅Qi= Qi

Exercice

Page 56: Vision et Commande (partie I) - unistra.fr

Objectif : Déterminer les coordonnées spatiales des points de la scène àun facteur d’échelle près lorsque la direction de trl et Rrl ont été estiméesau préalable :

On calcule tout d’abord la composante de chaque point .

Sa projection dans l’image de gauche est telle que :

entre autre, pour la première composante de , on a :

et est la première ligne de Kl.

z cr

r3T⋅P / Rcr

−t rl ⋅ul=[1 0 0 ]⋅K l Rrl

T⋅ P / Rc r−t rl =k1l

T⋅RrlT⋅P / Rc r

−t rl

k1lT

P / Rc r

z cl Q l=K l [I 3×3 03

T ]⋅P / Rcl

Ql

r3T⋅P / Rcr

−t rl ⋅Q l=K l RrlT P / Rcr

−t rl

Ql= ul , vl ,1 T

2.2 Reconstruction 3-D

Page 57: Vision et Commande (partie I) - unistra.fr

D’où :

puis :

et finalement :

On en déduit alors les autres coordonnées de

par la relation :

z cr =

k1lT⋅Rrl

T−u l r3T ⋅t rl

k1lT⋅Rrl

T−ul r3T ⋅K r

−1⋅Qr

z cr k1l

T⋅RrlT−u l r3

T ⋅K r−1Qr= k1l

T⋅RrlT−ul r 3

T ⋅t rl

P / Rc r

K r⋅P / Rcr=z

cr Qr

• Reconstruction 3-D (2)

r3T⋅ z

cr K r−1Qr−t rl ⋅u

l=k1lT⋅Rrl

T⋅ z cr K r

−1Qr−t rl

Page 58: Vision et Commande (partie I) - unistra.fr

Cas particulier : scène 2-D (1)

Lorsque les points de la scène sont coplanaires ou quasiment (profondeurdes objets d’intérêt de la scène très faible devant la distance caméra-objet),la matrice U

n est de rang < 8 : c’est une dégénérescence qui ne permet pas

la détermination de la matrice fondamentale F. En fait, il existe dans ce casune homographie 2-D entre les plans. A partir de la projection perspectived’un point dans l’image de gauche, on a:

[ I 3×3 03 ]T⋅K l

−1⋅sl⋅Q l=[ I 3×3 03 ]T [ I 3×3 03 ]⋅P / Rcl

=[1 0 0 00 1 0 00 0 1 00 0 0 0 ]⋅P / Rcl

=P / Rcl −[0001 ]/ Rcl =P / Rc l

−C l / Rcl

s l⋅Ql=K l⋅[ I 3×3 03 ]⋅P / Rcl

Page 59: Vision et Commande (partie I) - unistra.fr

(on retrouve l’équation de disparité)s r

s l⋅Q r=K r⋅R rl⋅K l

−1⋅Q l1s lK r⋅t rl

sr⋅Qr=K r⋅[ I 3×3 03 ]⋅P / Rcr

=K r⋅[ I 3×3 03 ]⋅[ Rrl t rl0 0 0 1 ]⋅[ I 3×3 03 ]

T⋅K l−1 s l⋅Q l[0001 ]

Les points de la scène sont dans un plan, d'équation :et par conséquent, ils vérifient :

T⋅P / R c l=0=s l z o T K l

−1⋅Q l−d

=[ zo −d ] / Rc l

T

1/s l= zo T K l−1⋅Q l /d

Cas particulier : scène 2-D (2)

Page 60: Vision et Commande (partie I) - unistra.fr

Finalement :

et l’homographie de plan H est :

Thomas Huang (1992) a déterminé toutes les solutions possiblespour le mouvement euclidien Rrl, trl en analysant les valeurs propresde G :

G=K r−1⋅H⋅K l=U⋅[1 0 0

0 2 00 0 3

]⋅V T

s r

s l⋅Qr=K r⋅[Rrl

1dt rl⋅ z

oT ]⋅K l−1⋅Q l

H≡K r⋅[Rrl1dt rl⋅ z

o T ]⋅K l−1

Cas particulier : scène 2-D (3)

Page 61: Vision et Commande (partie I) - unistra.fr

Chapitre 3

Modélisation du mouvement

Page 62: Vision et Commande (partie I) - unistra.fr

Une analyse cinématique est envisageable lorsque la cadence des acquisitionsd’images est rapide vis-à-vis des mouvements des objets de la scène perçue.Dans le cas où des variables à asservir sont dans l'espace, ce sont les variationsinfinitésimales de l'orientation et de la position du capteur visuel qui constituentl’information pertinente. A partir d'une configuration 3-D de référence (orientationet translation) on peut construire un asservissement visuel 3-D entre le capteur etl'objet d'intérêt (position-based visual servoing).

Dans le cas où des variables à asservir sont dans l’image, ce sont les variationsinfinitésimales des images qui constituent l’information pertinente. A partir d'uneimage de référence, on peut construire un asservissement visuel 2-D(ou référencé image) (image-based visual servoing).

Il existe aussi des techniques utilisant à la fois des variables 2-D et 3-D : ce sontles techniques hybrides.

3.1 Analyse cinématique

Page 63: Vision et Commande (partie I) - unistra.fr

Lorsque des primitives géométriques simples (points, droites, coniques,moments géométriques,…) sont extraites de l’image par segmentation,une matrice d’interaction leur seront associées, matrice provenant directementdu calcul d'un jacobien lors d'une modélisation cinématique. Si les indicesvisuels sont iconiques (niveau pixels), on recherchera une vitesse apparentedans l’image ou flot optique, permettant également d'élaborer un suivi visuel(visual tracking).

3.1 Analyse cinématique (2)

Page 64: Vision et Commande (partie I) - unistra.fr

L'objectif de toute procédure de suivi (visuel) ou d'asservissement (visuel) estde minimiser une erreur e(t) qui est définie par :

e(t) = s(m(t),a) – s* .

Le vecteur m(t) représente un ensemble de mesures issues de l'image acquise.Ces mesures sont alors employées pour calculer k indices visuels (commedes coordonnées image) formant le vecteur s(m(t),a) et dans lequel le vecteura contient des paramètres relatifs à certaines informations sur le système devision (comme les paramètres intrinsèques) ou en rapport avec des grandeursgéométriques caractéristiques de l'objet d'intérêt, s'il y en a. s* est la référence,c'est-à-dire un vecteur regroupant les indices visuels désirés.

L'analyse cinématique consiste alors à relier les variations de s et la vitesse dela caméra. Comme nous considérons que des mouvements de rigides, celle-cipeut être représentée par un torseur cinématique τ

c = (v

c,ω

c), où v

cest la vitesse

linéaire instantanée de l'origine du repère de la caméra et ωc est la vitesse

angulaire instantanée du repère de la caméra.

3.1 Analyse cinématique (3)

Page 65: Vision et Commande (partie I) - unistra.fr

La relation entre ds/dt et le torseur cinématique τc est où

Ls est appelée la matrice d'interaction de s. C'est une matrice réelle de

dimensions (k x 6). Pour une cible (ou objet d'intérêt) fixe, la référencen'évolue pas [ds*/dt = 0] et on a :

et donc Le= L

s .

En recherchant par exemple à imposer un comportement exponentieldécroissant de l'erreur (de/dt = - λ e, λ réel positif, ou matrice positive),on obtient

où Le

+ est la pseudo-inversede la matrice L

e, c'est-à-dire : L

e+ = (L

eT L

e)-1 L

eT , quand L

e est de rang 6.

Comme il n'est pas possible en pratique de connaître parfaitement Leou L

e+ ,

une estimation d'une de ces deux matrices est employée (notation ^).La loi de commande cinématique réelle qui en résulte est donc

ou

3.1 Analyse cinématique (4)

c =− Le e

s = L sc

e = Lec

c =− Le e

c =− Le e

Page 66: Vision et Commande (partie I) - unistra.fr

La matrice d’interaction représente la relation géométrique entre des variationsdans l’image de primitives géométriques (ou indices visuels) et le torseurcinématique lié au solide en mouvement (caméra, objet de la scène, organeterminal d’un robot,…). Par la suite, nous nous limiterons à établir la relationentre les variations des coordonnées de points de l’image et les composantesdu torseur cinématique lié à la caméra en utilisant le modèle de la projectionperspective que l’on dérive.

En ce qui concerne les points comme primitives géométriques, à unevariation dQ = (du,dv)T des coor-données image entre deux instants t ett’=t+dt, correspond une variation descoordonnées du point 3-D de la scènedP=(dx(c) ,dy (c),dz (c))T exprimée dansle repère (Rc) lié à la caméra en Dérivée de la projection perspective

mouvement. Par la suite, par souci de simplicité, nous considérerons une matriceK = I (matrice identité).

3.2 Asservissement visuel 2-D

z c [uv1 ]z c [uv0 ]=K⋅[xc

y c

z c ]

Page 67: Vision et Commande (partie I) - unistra.fr

La variation dP/dt étant égale à (vitesse du point P par rapportà l’origine de (Rc) expriméedans le repère (Rc)) , on a :

z c Q=[1 0 −u0 1 −v ]⋅K⋅V R c

P / R c

D’autre part, par rapport à un repère galiléen (Rf) d’origine Of, supposons que le repère de la caméra (Rc), d’origine C soit animé de la vitesse (linéaire)de translation v

c et de la vitesse de rotation ω

c

V Rc

P / Rc

v c = V R f

C / R c

c = cf / R c

(Rf)

(Ro)

(Rc)

Configuration géométrique pour la commanded'un robot manipulateur par un asservissement

visuel embarqué (eye-in-hand)

Page 68: Vision et Commande (partie I) - unistra.fr

Si le point P est fixe dans ce repère [ environnement statique]

alors en employant la loi de composition des vitesses, il vient

ou simplement avec

Il vient alorsfinalement :

• Dans la matrice d'interaction (2x6) Lq du point Q apparaît la “profondeur»

z(c) du point 3-D P (duquel il est issu) par rapport à l'origine du repère caméra.

• Pour commander toutes les composantes du torseur cinématique, au moins trois points sont nécessaires (k >= 6).

V R f

P / Rc = Rcf V R f

P / R f =0=V Rc

P / Rc V R f

C / Rc cf / Rc

∧CP / Rc

V R f

P / R f =0

v c = V R f

C / R c

c = cf / R c

˙CP =−v c − c×CP

Q = Lq c

Lq =1z c 1 0 −u

0 1 −v ⋅K⋅[−I3x3s k CP ]

avec

Page 69: Vision et Commande (partie I) - unistra.fr

Si K = I, on a :

• La présence de z(c) dans les composantes de Lq relatifs à la vitesse de

translation nécessite que cette grandeur soit estimée ou approchée. Il s'ensuitque l'on ne dispose généralement que d'une estimation de L

q. Trois stratégies

sont communément employées :

• Lq est mise à jour à chaque acquisition d'une nouvelle image

• Lq

est maintenue constante et égale à la matrice d'interaction pour la situation désirée q*

• Lq est une combinaison linéaire

des deux premières stratégies :

Lq = [−1z c 0uz c u v −1u 2 v

0 −1z c

vz c 1v 2 −u v −u ]

Lq =Lq

Lq =1/2 Lq

Lq∗

Lq =Lq∗

Page 70: Vision et Commande (partie I) - unistra.fr

On considère un robot (flexible aux articulations) et constitué de deux axes de rotation parallèles (voir figure ci-dessous).Le corps terminal peut être asservi en position, soit à l'aide de codeurs incrémentaux situés sur chaque articulation, soit par l'emploi d'un système de vision rapide placé perpendiculairement à l'espace (plan) de travail du robot (autrement dit, l'axe optique du capteur visuel est de même direction que la normal au plan de travail (x,y)). Dans le cas où un asservissement visuel est envisagé, un ensemble de marqueurs rouges a été collé sur le premier corps et un ensemble de marqueurs bleus a été collé sur le deuxième corps. Le système de vision rapide est constitué d'un objectif, d'une caméra CMOS matricielle numérique au format camera-link et les relations géométriques entre la scène et l'image sont représentées par une transformation perspective exacte (sans distorsion),dont la matrice des paramètres intrinsèques est l'identité.

1) Sachant qu'une matrice de rotation 3-D, R, telle que

RT = (r1, r2, r3 ), est orthonormale et est reliée à la

vitesse de rotation instantanée Ω par :

avec

Exercice

système mécanique articulé dont les corpssont repérés par des marqueurs colorés

s k []=d RdtR T

s k []=[ 0 −z y

z 0 −x

−y x 0 ]

Page 71: Vision et Commande (partie I) - unistra.fr

2) Montrer que : .

Chaque marqueur-pastille Pik à une coordonnée homogène [ λik 1]T sur le corps i, par rapport à une origine arbitraire Oi sur le corps i en considérant que les corps 1 et 2 du système mécanique sont des segments de droites indépendants et rigides contenant respectivement n1 et n2 marqueurs-pastille alignés. Montrer que l'orientation Ri (ou le vecteur xi =( xi1 , xi2 ,0)T unitaire) et la position (vecteur t i= (txi,tyi,tz)) du corps i, par rapport au repère de la caméra d'origine C et exprimées dans le repère de la caméra (Rc) sont reliées aux coordonnées Qik=(uik,vik) du centre des projections dans l'image de chaque marqueur-pastille Pik (le plan image étant parallèle au plan de travail, la distance inter-plan est représentée par la composante tz , constante strictement positive).Indiquer cette relation.

Combien de marqueur-pastilles Pik faut-il installer au moinssur le corps i pour déterminer la position et l'orientation dece corps rigide par rapport au repère de la caméra (Rc) ?

Indiquer alors une méthode permettant de déterminer xi et t I = (txi,tyi,tz).

Exercice (suite)

=[r3T r2r1T r3r2T r1

]=[x

y

z] R i=[x i1 −x i2 0

x i2 x i1 00 0 1 ]

projections des marqueurs-pastille du corps Isur le plan image.

Page 72: Vision et Commande (partie I) - unistra.fr

3) En dérivant l'expression obtenue à la question précédente, montrer que pour un petit mouvement de chaque marqueur-pastille Pik , on a :

Exercice (fin)

[u ik

v ik ]= 1t z [1 0 −i

k x i2

0 1 ik x i1

]⋅[V x

V y

z] t=t x t y 0 T=V x V y V z

T

Page 73: Vision et Commande (partie I) - unistra.fr

3.3 Asservissements visuels 3-DOn souhaite imposer une orientation désirée R

co* et une position désirée t

co* = t

c*o

du capteur de vision (repère Rc*) par rapport à un objet d'intérêt (ou cible) dans

la scène 3-D (repère Ro). Le vecteur s doit donc contenir ici des informations

purement 3-D.

(Ro) : repère de la cible(objet d'intérêt)

(Rc*) : repère caméra en configuration désirée

(Rc) : repère caméra en configuration actuelle

Page 74: Vision et Commande (partie I) - unistra.fr

Représentation vectorielle d'une rotation 3-D : Ceci nous permettra de calculerfacilement le vecteur s. A partir d'une matrice de rotation R= (r

ij), on définit le

vecteur r tel que R = exp(sk(r)), c'est-à-dire :

θ : angle de rotationu : vecteur unitaire(portant la directioninstantanée de rotation)

On peut alors définir s = (tco

,θ u) et s* = (tc*o

,(θ u)*) où (θ u)* correspond à Rco

* .

=acos [ 12r11r22r33−1]

u=[sign r32−r23r11−cos1−cos

sign r13−r31r 22−cos1−cos

sign r21−r12r33−cos1−cos]

r=u ,

Page 75: Vision et Commande (partie I) - unistra.fr

Schéma de commande cinématique : R = Rc*c

= Rc*o

Roc

, alors θ u est un vecteurqui représente l'orientation relative entre l'orientation actuelle et l'orientation désirée.

On peut alors définir s = (tco

,θ u) et s* = (tc*o

,0) . e = (tco

- tc*o

, θ u ) et la matriced'interaction (6x6) est

et où Lθ u

s'exprime de la manière suivante :

Donc, on aura finalement

c'est-à-dire

L u = I 3 −2

sk u 1− sinc

sinc22 sk u2Le = [−I3 s k t co

0 Lu ]

c =− uLe

−1= [−I3 sk t co Lu−1

0 L u−1 ]vc =− [t c∗o−t co sk t co u]

c =− Le−1 e

Page 76: Vision et Commande (partie I) - unistra.fr

La matrice d’interaction d’un système stéréo est formée de deux matrices d’interaction classique Lr et Ll et le vecteur s des grandeurs à asservir est formé par les coordonnées des primitives géométriques considérées pour les deux images :

L=[L1r T ,L1

l T , . . . ,Lnr T , Ln

l T ]T

Exprimée par rapport à une des deux caméras (ici Cr).La matrice L obtenueest (de dimensions (4n x 6)) :

s k=[dQkr

dtdQk

l

dt]=[Lk

r

Lkl ]⋅V R f

C r / R cr

c r f/ R c r

¿

D’autre part, la contrainte épipolaire doit être satisfaite pour tout point Pk ,(k=1,...,n). cela se traduit par la minimisation des scalaires hk :

sk=[Qkr

Qkl ]

hk=Qkr T⋅F⋅Qk

l

• Matrice d'interaction en stéréovision (1)

Page 77: Vision et Commande (partie I) - unistra.fr

Le problème précédent de minimisation peut être re-écrit en utilisant n multiplicateurs de Lagrange :

et

Remarques :

• Dans le cas d’un système multi-caméras (non stéréovision), il faut re-calculer la matrice fondamentale à chaque itération et retrouver de manière unique le mouvement entre les caméras.• Dans tous les cas, l’asservissement visuel doit garder les objets considérés de la scène visibles par l’ensemble des capteurs.

C=12s−s * T s−s *λ T h

s= u1r , v1

r , u1l , v1

l , . . . , unr , vn

r , unl , vn

l T

h= h1 , . . . , hn T

• Matrice d'interaction en stéréovision (2)

Page 78: Vision et Commande (partie I) - unistra.fr