Vision et Commande (partie I) - unistra.fr
Transcript of 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
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
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)
Chapitre 0
Introduction et applications
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.
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.
Surveillance des carrefours, forêts et zones agricoles
Applications – 1
Reconnaissance d’empreintes digitales : mise en forme
Applications – 2
Inspection visuelle dynamique : détection de défauts
Applications – 3
CamérasLumière
Codeur Sens de défilement de la bande
Impact InsecteRaccord Tache
Détection des mouvements de fluide
Applications – 4
Supervision de produits convoyés - Contrôle de la qualité
Applications – 5
Mosaïque d’images satellitales
Applications – 6
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
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
Applications – 9
Vision active : Reconstruction 3-D des surfacesd'organes à l'aide de la lumière structurée
Chapitre 1
Correspondance image – objet
Chapitre 1 : Correspondance image – objet 1.1 Transformations géométriques linéaires
Transformationseuclidiennes Similitudes Transformations
affines
Transformationsprojectives
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
Géométrie bi-dimensionnelle
P3
P1
P2
P4
Q1 Q
2
Q4
Q3
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 ] ,
Géométrie tri-dimensionnelle
P3
P1
P4
P5
P2
Q2
Q1
Q3
Q4
Q5
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 ],
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
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
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
[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
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
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
Synoptique générale de l’acquisition d’images
• 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
• 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
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)
• Modèle perspectif (suite)
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
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) ?
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)
• 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 ]
• 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
• 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
Chapitre 2
Correspondance image – image
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
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
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
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 ]
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
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
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
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
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
En notant par les vecteurs colonnes de F,
l’identité précédente s’écrit (en chaque point Q=(u,v,1)T) :
où
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
• 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
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
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
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
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
(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)
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)
Chapitre 3
Modélisation du mouvement
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
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)
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)
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
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 ]
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)
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
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∗
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 ]
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.
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 :
où
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
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
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 ,
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
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)
Le problème précédent de minimisation peut être re-écrit en utilisant n multiplicateurs de Lagrange :
où
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)