Le cours (partie 1) est disponible ici - AVR
Le cours (partie 1) est disponible ici - AVR
Le cours (partie 1) est disponible ici - AVR
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Vision et Commande (<strong>partie</strong> I)De la vision artif<strong>ici</strong>elle auxasservissements visuelsENSPS 3ème année, option ISAV & Master IRIV-PARI(2009-2010)Christophe DOIGNONMaître de Conférences HdR ENSPScourriel : c.doignon@unistra.frsite web : http://eavr.u-strasbg.fr/~christopheTel : 03 68 85 43 41 (Bureau C418)Pôle API – ENSPS Boulevard Brant 67412 Illkirch, FRANCE
BibliographieMultiple 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 pagesGeometric Invariance in Computer Vision, J. Mundy, A. Zisserman,MIT Press, ISBN: 0-262-13285-0, 1992, 540 pagesComputer and Robot Vision, R.M. Haralick, L.G. Shapiro,Addison-Wesley Publishing, 1992, 0-201-10877-1, (2 volumes), 1340 pagesDigital Image Processing, K. Castleman,Prentice Hall, ISBN: 0-13-211467-4, 1996, 650 pagesHandbook 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
PlanChapitre 0 : Introduction et applicationsChapitre 1 : Correspondance image – objet• Transformations géométriques linéaires• Modélisation des caméras• Estimation de poseChapitre 2 : Correspondance image – image• Géométrie épipolaire et stéréovision• Reconstruction 3-DChapitre 3 : Modélisation du mouvement• Analyse cinématique• Asservissements visuels basés image (2-D)• Asservissements visuels basés position (3-D)
Chapitre 0Introduction et applications
IntroductionLa vision par ordinateur rend compte des relations associant la scène et lesimages par l'emploi de capteurs visuels et de modèles mathématiques. Cettediscipline s'intéresse aux traitements des images, à l'interprétation desinformations visuelles et à leur utilisation. <strong>Le</strong>s informations visuellesgéométriques permettront d'établir un lien avec les asservissements visuels, parla 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 dansplusieurs images.<strong>Le</strong>s applications sont variées. <strong>Le</strong>urs 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)<strong>Le</strong> recalage entre le capteur de vision (le plus souvent une caméra) et l'objetd'intérêt permet d'envisager une tâche de positionnement d'un systèmearticulé, même si l'objet <strong>est</strong> en mouvement.
Applications – 1Surveillance des carrefours, forêts et zones agricoles
Applications – 2Reconnaissance d’empreintes digitales : mise en forme
Applications – 3LumièreCamérasCodeurSens de défilement dela bandeRaccord Impact TacheInsecteInspection visuelle dynamique : détection de défauts
Applications – 4Détection des mouvements de fluide
Applications – 5Supervision de produits convoyés - Contrôle de la qualité
Applications – 6Mosaïque d’images satellitales
Applications – 7Coupe scanner CTImage fournie par une sonde USGuidage par imagerie médicale (X TDM et US) :assistance au diagnostic et à la chirurgie
Applications – 8Organe interne avec artère obstruéeComparaison de la circulation du sangdans les jambes de deux patientsOrgane interne avec artère normaleExamens médicaux par imagerie thermique
Applications – 9Vision active : Reconstruction 3-D des surfacesd'organes à l'aide de la lumière structurée
Chapitre 1Correspondance image – objet
Chapitre 1 : Correspondance image – objet1.1 Transformations géométriques linéairesTransformationseuclidiennes Similitudes TransformationsaffinesTransformationsprojectives
Géométrie mono-dimensionnelleEspacesEuclidien 1-DDegrés de liberté (nb de pointsdéfinissant une base)1 (2)Transformations(en coordonnées homogènes)w[ x '1 ] = [ 1 t x0 1 ][ x 1 ]Affine 1-D2 (2)w[ x '1 ] = [ a 11a 120 1 ][ x 1 ]Projectif 1-D(homographique)3 (3)w[ x '1 ] = [ a 11a 12a 211 ][ x 1 ]P 1P 2Q 1 Q2Q 3P 3
Géométrie bi-dimensionnelleP 2P Q 1 1 Q 2Q 4P P4 3Q 3
EspacesGéométrie bi-dimensionnelleDegrés de liberté (nb de pointsdéfinissant une base)Transformations(en coordonnées homogènes)R=[ r 11 r 12r 21r 22]Euclidien 2-DSimilitude 2-DAffine 2-D3(3 non colinéaires)4(3 non colinéaires)6(3 non colinéaires)w[x 'y '1w[x 'y '1]=[r 11r 12t xr 21r 22t yy R0 0 1][x1], T R= I ,det R =1]=[sr 11sr 12t xsr 21sr 22t yy R0 0 1][x1], T R= I ,det R=1w[x 'y '1]=[a 11a 12a 13a 21a 22a 23y0 0 1][x1],Projectif 2-D(homographique)8(4, aucun triplet colinéaire)w[x 'y '1]=[a 11a 12a 13a 21a 22a 23ya 31a 32a ][x133]=[ A tv Tya 33]x1¿
Géométrie tri-dimensionnelleQ 1P 2P 1P Q 53Q 2P 5 P 4Q 4Q 3
Géométrie tri-dimensionnelleEspacesEuclidien 3-DSimilitude 3-DAffine 3-DProjectif 3-D(homographique)Degrés de liberté (nb depoints définissant une base)6 (4 non coplanaires)7 (4 non coplanaires)12 (4 non coplanaires)15 (5, aucun quadrupletcoplanaire)Transformations(en coordonnées homogènes)'y 'w[x ]=[ R tz '1w[x 'y 'z '10 T 1 ] ⋅[xyy'w[x']=[ s R tz '1w[x 'y 'z '1z10 T 1 ] ⋅[xy]=[a 11a 12a 13a 14a 21a 22a 23a 24a 31a 32a 33a 34a 41a 42a 43a 44¿z1]=[a 11a 12a 13a 14a 21a 22a 23a 24a 31a 32a 33a 340 0 0 1], R T R= I ,det R =1], R T R= I ,det R =1]⋅[xy],z1]⋅[x]yz1
La géométrie projective <strong>est</strong> le support mathématique permettant l’étude desrelations géométriques en vision par ordinateur. En particulier, deux types detransformations projectives sont souvent employées :1) La projection perspective (ou projection centrale) qui <strong>est</strong> une transformationlinéaire d’un espace projectif P n vers un espace projectif P n-1(exemple de P 3 vers P 2 ):w⋅[x 'y'1]=[1 0 0 00 1 0 00 0 1 01]]⋅[xyzQ = w⋅[x 'y '1]PQP = w⋅[xyz1]CQ : Projection perspective de P
2) L’homographie (ou collinéation) qui <strong>est</strong> une transformation linéaire bijectived’un espace projectif P n vers lui-même.(exemple de P 2 vers P 2 avec det(H) non nul) :w⋅[x 'y'1]=[h 11h 12h 13h 21h 22h 23h 31h 32h 331]]⋅[xyP(appartenant à un plan: scène plane)Image I lQ lHomographie H lrinduitepar le plan contenant PQ rImage I rC lC rQ l: Projection perspective de PQ r: Projection perspective de P
Remarques Une homographie de P n a (n+1)x(n+1)-1 degrés de liberté et peut êtredéterminée à partir de la correspondance entre n+2 couple de points. Une base projective de P n <strong>est</strong> constituée de n+2 points, tout ensemblede n+1 de ces points étant linéairement indépendant. <strong>Le</strong>s points à l’infini de P n sont les points dont la (n+1) ième coordonnée(homogène) <strong>est</strong> nulle:x 1, x 2, ..., x n,0 Une transformation affine transforme un point à l’infini en un autre point àl’infini. Une transformation projective peut transformer un point à l'infini en unpoint situé à une distance finie.
Exemples de transformations affines 2-D :[At0 T 1 ] ⋅xy0=A x y0Exemples de transformations projectives 2-D :[A t] v T a 33⋅xy0=A x yv T x y
ExerciceParmi 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.
1.2 Modélisation des caméras<strong>Le</strong>s 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.<strong>Le</strong>s 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.
Synoptique générale de l’acquisition d’images
• Modèle perspectifLa 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) :x c=[ ⋅x o cu]⋅x cx0 u c0y c R 1] t y o z yv1=[G c0 G yv c0z c z c 0 T z o0 0 1 01 1 1• 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).CCentre optiqueQPlan imageaxe optiquePobjetScène
• Modèle perspectif (suite)<strong>Le</strong>s principales hypothèses sous lesquelles ce modèle <strong>est</strong> 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<strong>Le</strong>s paramètres G x, G y, u cet v csont les paramètres intrinsèques au systèmede vision matrice K.uvx0 u c0 G yv c1=[G ]0 0 1⋅u sv sK1G x =s x f /l xG y= f /l yz cu sv s1=[1 0 0 00 1 0 00 0 1 0]⋅x cy c z c1La transformation rigide entre un repère lié à l'objet solide et le repère lié à la caméra<strong>est</strong> une transformation euclidienne (rotation et translation) : les paramètres extrinsèques.
• Modèle perspectif (suite)Effets non-linéaires :• ils sont essentiellement dus à la forte courbure aux bordsdes lentilles de l’objectif,• plus la longueur focale <strong>est</strong> faible, plus ces effets sont significatifs Distorsion radiale (modèle de R. Tsaï, JRA 1987) :u s=u dD xv s=v dD yavec : D x =u d κ 1 r2 κ 2r 4 .. .D y=v d κ 1r 2 κ 2r 4 ... et :r = u d 2 v d2
• Modèle perspectif (suite)
Exercice1) Déterminer la relation géométrique entre un objet monodimensionnelrepré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,P 1P 2P 0Q 0C- 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 image2) 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.
Exercice1) 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 sauvegarderl'image au format : 768 (H) x 572 (V) pixels.2) Donner une <strong>est</strong>imation des valeurs approximatives pour ledécentrage (éléments non-diagonaux non nuls de K) ?
1.3 Estimation de la pose (Recalage 2-D/3-D rigide)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 M co(3x4) possède 11composantes. 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.w⋅uv K⋅[ R t ]1= La transformation M co(avec t z> 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).M co⋅x oy o z o 1
• Problème inverse à partir du modèle perspectif (1) : cas planUne homographie H = (h ij) de plans existe entre des points coplanaires de l’objetet le plan image. Elle <strong>est</strong> totalement déterminée, à un facteur d'échelle près (h 33peut ê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 :xw⋅uv1=H⋅ oy o 1= K⋅[ R t ]M co[1 0 00 1 00 0 0]x o y o 0 0 11Il s’agit de déterminer R = (c 1, c 2, c 3) et t connaissant les composantes de K :H=K⋅ [ c 1c 2t ]etc 3=c 1∧c 2
• Problème inverse à partir du modèle perspectif (2) : cas plan1) Chaque correspondance de points (P i/ Q i) fournit deux équations du type :[ −x i−y i−1 0 0 0 u ix iu iy i] [⋅h = −u ii]0 0 0 −x i−y i−1 v ix iv iy i−vm iTavec le vecteur des inconnues h suivant :h=h 11h 12h 13h 21h 22h 23h 31h 32 Tk iLa solution par la méthode des moindres carrés <strong>est</strong> directe :h = M T M −1 M T k avec M= m T 1, m T 2,.. ., m T n TM #k = k 1 T ,k 2 T ,. .. ,k n T Tetsi on dispose de 4 couples de points objets/images, au moins.
• Problème inverse à partir du modèle perspectif (3) : cas plan2) On en déduit que : et donc on en tire R et t[exercice : faire le calcul] [ c 1c 2t ] = K −1 HPb : H <strong>est</strong> définie à un facteur d’échelle près, on peut normaliser c 1ou c 2, mais la matrice R obtenue n’<strong>est</strong> pasforcément une matrice de rotation car la condition d'orthonormalitén'<strong>est</strong> pas assurée :R T R≠Isolution alternative : décomposer R en valeurs singulières (SVD) etforcer celles-ci à 1.
Chapitre 2Correspondance image – image
2.1 Géométrie épipolaire et stéréovisionContrainte de planarité : Théorème de Longuet-Higginsl : caméra de gaucher : caméra de droiteo : objet<strong>Le</strong>s trois vecteurs C rQ r, C lQ let t rl=C rC l, sont coplanaires :Ce plan <strong>est</strong> appelé plan épipolaire. det C rQ rt rlR rl⋅C lQ l =0
Théorème de L-H : matrice essentielle (2)C rQ r⋅t rl∧ R rl⋅C lQ l=0En notant par [R rl,t rl] le mouvement euclidien entre deux points de vues, ondéfinit la matrice essentielle E par :C rQ r⋅E⋅C lQ l=0etE =s k t rl⋅R rls k t rl=[0 −t zt yt z0 −t x−t yt x0 ]• <strong>Le</strong>s composantes de la matrice essentielle contiennent des informations exclusivement surles paramètres extrinsèques, entre les deux points de vues.• la planarité <strong>est</strong> traduite par la singularité de la matrice essentielle : det(E) =0,• le rang de E <strong>est</strong> égal à 2,• la matrice essentielle <strong>est</strong> définie à un facteur d’échelle près,• les valeurs des coordonnées homogènes des points Q sont exprimées en mètres.
Théorème de L-H : matrice essentielle E (3)ExerciceA partir du calcul de E.E T , (ou E T .E), proposer une méthode permettantde déterminer les solutions pour la direction du vecteur de translation t rletmontrer que la matrice essentielle possède deux valeurs singulièresidentiques non nulles.ExerciceProposer une méthode permettant de déterminer les solutionspossibles pour la matrice de rotation R rl, à partir de la connaissancede la matrice essentielle E et de l'<strong>est</strong>imation de t rl.
• Géométrie épipolaire (1)Notation : les projections perspectives π r(droite) et π l(gauche) peuventêtre représentées par des matrices (3x4) réelles π ret π ltelles que :s l ⋅Q l= l⋅P / Rcl s r ⋅Q r= r⋅P / Rcr 0 0 0 l= K l⋅[1 0 1 0 0 ]= [ K l0 3 ]0 0 1 00 0 0 r=K r⋅[1 0 1 0 0 ]= [ K r0 3 ]0 0 1 0K ret K lsont des matrices (3x3) réelles triangulaires supérieures contenantles valeurs des paramètres intrinsèques aux caméras de centres optiquesC ret C l.llx0 u cK l=[G ]rrx0 u cl l0 G yv cK r=[G ]r r0 G yv c0 0 1 0 0 1
• Géométrie épipolaire (2) : matrice fondamentale Fl Ql=FQ ll Q r=F T Q rQ r T l Q l=Q r T F Q l=0Q l T l Q r=Q l T F T Q r=0La contrainte épipolaire permet d'établir la relation entre un point et une droite.En effet, elle formalise la relation entre le point Q lde l’image I let une droite l Qldel’image I rappelée droite épipolaire du point Q lpassant par l’épipole e r(projectionsur I rdu centre optique C l) et sur laquelle se trouve le point Q r(et donc Q rTl Ql=0).Cette relation <strong>est</strong> représentée globalement par une matrice (3x3),F, appelée matricefondamentale et qui caractérise projectivement le couple d'images (I r, I l).
• Géométrie épipolaire (3) : matrice fondamentale FLien avec la matrice essentielle : D’après les notations précédentes, on a :s r ⋅Q r=K r⋅ [ I 3×3 0 3 ] P / R c r =K r [R rlt rl ]P / R c l =s r ⋅Q r=s r K rR rlK l −1 s l Q lK rt rl≡ H ∞⋅Q le ravecH ∞≡K rR rlK l−1ete r≡K r⋅t rlL’équationQ r≡ H ∞⋅Q le rs’appelle l'équation de la disparité(entre les deux points de vues).H ∞<strong>est</strong> l’homographie du plan à l’infini (cas des objets à l’infini),e r<strong>est</strong> un vecteur représentant l’épipole dans l’image I r, c’<strong>est</strong>-à-dire laprojection perspective du centre C ldans l’image I r.En fait, cette projection <strong>est</strong> la suivante :
• Géométrie épipolaire (4) : matrice fondamentale FK r⋅[I 3×30 3 ]C l= K r [R rlt rl ]C l / R cr/ R cl=K rt rl≡e rCar : e r≡K rt rl <strong>est</strong> le centre de projection de C l.De manière similaire, e représente l’épipole dans l’image I l.l≡K lt lrs r ⋅Q T re r∧Q r = 0= s r ⋅Q T r[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 T l⋅H T ∞⋅s k e re r∧e r]⋅Q r= s r s l ⋅Q T l⋅H T ∞⋅s k e r⋅Q rF ≡ −s k e r⋅H ∞F ≡ K r −T ⋅E⋅K l−1(en utilisant la propriété suivante : sk M⋅u =det M ⋅M −T ⋅sk u ⋅M −1 )
• Géométrie épipolaire (5) : matrice fondamentale FRemarques :• la matrice fondamentale F contient les informations projectives desdeux points de vues selon la relation quadratique suivante :Q r T ⋅F⋅Q l=0• la planarité <strong>est</strong> traduite par la singularité de la matrice fondamentale,det F =0• le rang de F <strong>est</strong> égal à 2 (elle possède donc 7 degrés de liberté),la matrice fondamentale <strong>est</strong> définie à un facteur d’échelle près.• les coordonnées homogènes des points Q ont comme unité le pixel.
• Géométrie épipolaire (6) : matrice fondamentale FEstimation 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 <strong>est</strong> dès lors très imprécise).Une méthode très commune consiste à décomposer la matrice fondamentaleF <strong>est</strong>imé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é :Q r T ⋅F⋅Q l = 0<strong>est</strong> appliquée pour chaque couple depoints en correspondance dans les deux images.
• Géométrie épipolaire (7) : matrice fondamentale FEn notant par les vecteurs colonnes de F,f = f 1Tf 2Tf 3T Tl’identité précédente s’écrit (en chaque point Q=(u,v,1) T ) :U i T ⋅f =0oùU i T =u i l u iru i l v iru ilv i l u irv i l v irv ilu irv ir1 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 F 33= 1,…) :U n⋅f =0où U n<strong>est</strong> une matrice réelle de dimensions (nx9) de rang au pluségal à 8 :U n=U 1U 2.. . U n T
• Géométrie épipolaire (8) : matrice fondamentale F[ 10 0]• Etape 2) SVD(F) :F =U⋅D⋅V Tavec 0 200 0 3On choisit alors une matrice diagonale D’ telle que :[ 10 0]D ' = 0 200 0 0et la matrice fondamentale retenue <strong>est</strong> F' :F ' =U⋅D ' ⋅V T D =
ExerciceEn pratique, pour obtenir des matrices bien conditionnées, il <strong>est</strong> nécessairede normaliser les données. L'exercice présent propose une méthode de normalisationutile pour l'<strong>est</strong>imation de la matrice fondamentale.Déterminer les matrices nécessaires pour normaliser (translation et facteurd'échelle) les composantes de U npréalablement à l’utilisation del’algorithme des 8 points.(sugg<strong>est</strong>ion : étant donné un ensemble de n points Q i= (u i,v i,1) T ,déterminer :u=∑iu i/n, v=∑ v i/ n eti∑ u i−u 2 v i−v 2id =n2puis la matrice (3x3) N, telle que :N⋅Q i= Q iavecQ i=[u i−u / d v i−v / d 1 ] T
2.2 Reconstruction 3-DObjectif : Déterminer les coordonnées spatiales des points de la scène àun facteur d’échelle près lorsque la direction de t rlet R rlont été <strong>est</strong>iméesau préalable :On calcule tout d’abord la composante de chaque point .Sa projection Q dans l’image de gauche <strong>est</strong> telle que :l= u l , v l ,1 Tz c r P / Rcrz c l Q l=K l [I 3×30 3T] ⋅P / Rcl r T 3⋅ P / Rcr −t ⋅Q = K R T rl l l rl P −t / Rcr rlentre autre, pour la première composante de , on a :r T 3⋅ P / Rcr −t rl ⋅ul =[1 0 0 ]⋅K lR T rl⋅ P −t =k T / Rc rl 1l⋅R T rl⋅ P −t / Rc rlr rQ lTk 1let <strong>est</strong> la première ligne de K l.
• Reconstruction 3-D (2)D’où :r T 3⋅ z c r K −1 rQ r−t rl⋅u l =k T 1l⋅R T rl⋅ z c r K −1 rQ r−t rlpuis :z c r k T 1l⋅R T rl−u l r T 3⋅K −1 rQ r= k T 1l⋅R T rl−u l r T 3⋅t rlet finalement :z c r = k T 1l⋅R T rl−u l r T 3⋅t rl k T 1l⋅R T rl−u l r T 3⋅K −1 r⋅Q rOn en déduit alors les autres coordonnées deP / Rcrpar la relation :K r⋅P / Rcr =z c r Q r
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<strong>est</strong> de rang < 8 : c’<strong>est</strong> une dégénérescence qui ne permet pasla 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:s l ⋅Q l=K l⋅[ I 3×3 0 3]⋅P / Rcl [ I 3×3 0 3] T ⋅K l −1 ⋅s l ⋅Q l=[ I 3×3 0 3] T [ I 3×30 3]⋅P / Rcl 0 0 00 1 0 0=[1 0 0 1 00 0 0 0−[0]⋅P / Rcl =P 0/ Rc =Pl 0−C / Rcl l / Rcl 1]/ Rc l
Cas particulier : scène 2-D (2)s r ⋅Q r=K r⋅[ I 3×30 3]⋅P / Rcr R= K r⋅[ I 3×30 3]⋅[rlt rl] 0 0 0 1 ⋅{[ I 3×30 3] T ⋅K −1 ls l 0⋅Q l[0]}01s rs l⋅Q =K ⋅R ⋅K −1 ⋅Qr r rl l l 1 s K ⋅t l r rl(on retrouve l’équation de disparité)<strong>Le</strong>s points de la scène sont dans un plan, d'équation :et par conséquent, ils vérifient :=[ z oT−d ] / Rcl T ⋅P / R c l =0 =s l z o T K l −1 ⋅Q l−d1/s l = z o T K l −1 ⋅Q l/d
Cas particulier : scène 2-D (3)Finalement :s rs l⋅Q r = K r ⋅[ R rl 1 d t rl ⋅ zo T ]⋅K l −1 ⋅Q let l’homographie de plan H <strong>est</strong> :H≡K r⋅[ R rl 1 d t rl ⋅ zo T ]⋅K l−1Thomas Huang (1992) a déterminé toutes les solutions possiblespour le mouvement euclidien R rl, t rlen analysant les valeurs propresde G :10 0G =K −1 r⋅H⋅K l=U⋅[ 0 20 ]⋅V T0 0 3
Chapitre 3Modélisation du mouvement
3.1 Analyse cinématiqueUne analyse cinématique <strong>est</strong> envisageable lorsque la cadence des acquisitionsd’images <strong>est</strong> 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 (2)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 (3)L'objectif de toute procédure de suivi (visuel) ou d'asservissement (visuel) <strong>est</strong>de minimiser une erreur e(t) qui <strong>est</strong> définie par :e(t) = s(m(t),a) – s* .<strong>Le</strong> 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* <strong>est</strong> la référence,c'<strong>est</strong>-à-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 c<strong>est</strong> la vitesselinéaire instantanée de l'origine du repère de la caméra et ω c<strong>est</strong> la vitesseangulaire instantanée du repère de la caméra.
3.1 Analyse cinématique (4)La relation entre ds/dt et le torseur cinématique τ c<strong>est</strong>L s<strong>est</strong> appelée la matrice d'interaction de s. C'<strong>est</strong> une matrice réelle dedimensions (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 L e= L s.ė = L e cṡ = L s cEn recherchant par exemple à imposer un comportement exponentieldécroissant de l'erreur (de/dt = - λ e, λ réel positif, ou matrice positive),on obtient+ c= − L ee où L e<strong>est</strong> la pseudo-inversede la matrice L e, c'<strong>est</strong>-à-dire : L e+= (L eTL e) -1 L eT, quand L e<strong>est</strong> de rang 6.Comme il n'<strong>est</strong> pas possible en pratique de connaître parfaitement L eou L e+,une <strong>est</strong>imation d'une de ces deux matrices <strong>est</strong> employée (notation ^).La loi de commande cinématique réelle qui en résulte <strong>est</strong> doncoù c= − L e eou c= − L e e
3.2 Asservissement visuel 2-DLa 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 coordonnéesimage 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 (R c) lié à la caméra enDérivée de la projection perspectivemouvement. Par la suite, par souci de simpl<strong>ici</strong>té, nous considérerons une matriceK = I (matrice identité).ż[ c [uv ]z c1˙u˙v0]=K⋅[ẋ c ]ẏ c ż c
La variation dP/dt étant égale àà l’origine de (R c) expriméedans le repère (R c)) , on a :V PRc / Rc (vitesse du point P par rapport=[z c ˙Q 1 0 −u] 0 1 −v ⋅K⋅V P R / R c cD’autre part, par rapport à un repère galiléen (R f) d’origine O f, supposons quele repère de la caméra (R c), d’origine C soit animé de la vitesse (linéaire)de translation v cet de la vitesse de rotation ω c(R c)Cv c= V R f / R c(R o) c= cf / R c(R f)Configuration géométrique pour la commanded'un robot manipulateur par un asservissementvisuel embarqué (eye-in-hand)
Si le point P <strong>est</strong> fixe dans ce repère [ V Renvironnement statique]falors en employant la loi de composition des vitesses, il vientV PR f = R V P/ Rc cf R f / R f =0= V R cP V C/ Rc R f / Rc cf / R c ∧CP / R cou simplement˙ CP = −v c− c×CPP / R f =0 v c= V R favecC / R cIl vient alorsfinalement :˙Q = L q cavec c= cf / R cL q= 1z c1 0 −u 0 1 −v ⋅K⋅[−I 3x3s k CP ]• Dans la matrice d'interaction (2x6) L qdu point Q apparaît la “profondeur»z (c) du point 3-D P (duquel il <strong>est</strong> issu) par rapport à l'origine du repère caméra.• Pour commander toutes les composantes du torseur cinématique, au moinstrois points sont nécessaires (k >= 6).
Si K = I, on a :[−10z c L q=−10z c u]u v −1u 2 vz c v1v 2 −u v −uz c • La présence de z (c) dans les composantes de L qrelatifs à la vitesse detranslation nécessite que cette grandeur soit <strong>est</strong>imée ou approchée. Il s'ensuitque l'on ne dispose généralement que d'une <strong>est</strong>imation de L q. Trois stratégiessont communément employées :• L q<strong>est</strong> mise à jour à chaque acquisition d'une nouvelle image• L q<strong>est</strong> maintenue constante et égale à la matrice d'interaction pour lasituation désirée q*L q=L q∗• L q<strong>est</strong> une combinaison linéairedes deux premières stratégies :L q=1/2 L qL q∗L q =L q
ExerciceOn considère un robot (flexible aux articulations) et constitué de deux axes de rotation parallèles(voir figure ci-dessous).<strong>Le</strong> corps terminal peut être asservi en position, soit à l'aide de codeursincré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 capteurvisuel <strong>est</strong> de même direction que la normal au plan de travail (x,y)). Dans le cas où unasservissement visuel <strong>est</strong> envisagé, un ensemble de marqueurs rouges a été collé sur le premiercorps et un ensemble de marqueurs bleus a été collé sur le deuxième corps. <strong>Le</strong> système de visionrapide <strong>est</strong> constitué d'un objectif, d'une caméra CMOS matr<strong>ici</strong>elle numérique au format camera-linket les relations géométriques entre la scène et l'image sont représentées par une transformationperspective exacte (sans distorsion),dont la matrice des paramètres intrinsèques <strong>est</strong> l'identité.1) Sachant qu'une matrice de rotation 3-D, R, telle queR T = (r 1, r 2, r 3), <strong>est</strong> orthonormale et <strong>est</strong> reliée à lavitesse de rotation instantanée Ω par :avecs k []= d RdtR Ts k []=[0 − z y z0 − x− y x0 ]système mécanique articulé dont les corpssont repérés par des marqueurs colorés
Exercice (suite)2) Montrer que : 3.=[ṙ T r 2 xṙ T 1r 3 yṙ T 2r 1]=[ ]R zi=[x i1−x i20x i2x i100 0 1]Chaque marqueur-pastille P ik à une coordonnée homogène [ λ ik 1] T sur le corps i, par rapport à uneorigine arbitraire O i sur le corps i en considérant que les corps 1 et 2 du système mécanique sontdes segments de droites indépendants et rigides contenant respectivement n 1 et n 2 marqueurspastillealignés. Montrer que l'orientation R i (ou le vecteur x i =( x i1 , x i2 ,0) T unitaire) et la position(vecteur t i = (t x i,t y i,t z )) du corps i, par rapport au repère de la caméra d'origine C et exprimées dans lerepère de la caméra (R c ) sont reliées aux coordonnées Q ik=(u ik,v ik) du centre des projections dansl'image de chaque marqueur-pastille P ik (le plan image étant parallèle au plan de travail, la distanceinter-plan <strong>est</strong> représentée par la composante t z , constante strictement positive).Indiquer cetterelation.Combien de marqueur-pastilles P ik 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 (R c ) ?Indiquer alors une méthode permettant de déterminer x i ett I = (t x i,t y i,t z ).projections des marqueurs-pastille du corps Isur le plan image.
Exercice (fin)3) En dérivant l'expression obtenue à la qu<strong>est</strong>ion précédente, montrer que pour un petit mouvementde chaque marqueur-pastille P ik , on a :[k˙u i]k˙v = 1 [ it z1 0 − k ix i2] 0 1 k ix i1⋅[V x]V y zoùṫ =ṫ xṫ y0 T =V xV yV 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*odu capteur de vision (repère R c*) par rapport à un objet d'intérêt (ou cible) dansla scène 3-D (repère R o). <strong>Le</strong> vecteur s doit donc contenir <strong>ici</strong> des informationspurement 3-D.(Ro) : repère de la cible(objet d'intérêt)(Rc) : repère caméraen configuration actuelle(Rc * ) : repère caméraen configuration désirée
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 levecteur r tel que R = exp(sk(r)), c'<strong>est</strong>-à-dire :θ : angle de rotationu : vecteur unitaire(portant la directioninstantanée de rotation)r= u ,=acos[ 1 2 r 11 r 22 r 33 −1]32−r 23u=[signr r −cos]111−cossignr 13−r r −cos22311−cossignr 21−r r −cos33121−cosOn peut alors définir s = (t co,θ u) et s * = (t c*o,(θ u) * ) où (θ u) * correspond à R co * .
Schéma de commande cinématique : R = R c*c= R c*oR oc, alors θ u <strong>est</strong> un vecteurqui représente l'orientation relative entre l'orientation actuelle et l'orientation désirée.On peut alors définir s = (t co,θ u) et s * = (t c*o,0) . e = (t co- t c*o, θ u ) et la matriced'interaction (6x6) <strong>est</strong>[L e= −I s k t3 co]0 L uet où L θ us'exprime de la manière suivante :L u= I 3− 2Donc, on aura finalementsinc sk u 1−sinc 2 u2sk 2 c= − L −1 eec'<strong>est</strong>-à-direv c= − [t c∗o−t co sk t co u] c= − u[L −1 e= −I 3sk t co L u −1]0 L u −1
• Matrice d'interaction en stéréovision (1)La matrice d’interaction d’un système stéréo <strong>est</strong> formée de deux matricesd’interaction classique L ret L let le vecteur s des grandeurs à asservir <strong>est</strong>formé par les coordonnées des primitives géométriques considérées pourles deux images :s k=[Q rkQ kl]rkdtṡ k=[dQdQ kldt]=[ L r]klL k⋅V C rR / R f c r c f / R r c¿rExprimée par rapport à une des deuxcaméras (<strong>ici</strong> Cr).La matrice L obtenue<strong>est</strong> (de dimensions (4n x 6)) :L=[L 1 r T , L 1 l T , ... , L n r T ,L n l T ] TD’autre part, la contrainte épipolaire doit être satisfaite pour tout point P k,(k=1,...,n). cela se traduit par la minimisation des scalaires h k:h k=Q k r T ⋅F⋅Q kl
• Matrice d'interaction en stéréovision (2)<strong>Le</strong> problème précédent de minimisation peut être re-écrit en utilisant nmultiplicateurs de Lagrange :C = 1 2 s −s * T s −s * λ T hoùeth= h 1, ... ,h n Ts= u 1 r ,v 1 r ,u 1 l , v 1 l ,. .. ,u n r , v n r ,u nl,v n l TRemarques :• Dans le cas d’un système multi-caméras (non stéréovision), il faut re-calculerla matrice fondamentale à chaque itération et retrouver de manière unique lemouvement entre les caméras.• Dans tous les cas, l’asservissement visuel doit garder les objets considérés dela scène visibles par l’ensemble des capteurs.