• Aucun résultat trouvé

M´ethodologie de r´esolution d’un probl`eme de g´eom´etrie de plusieurs vues pour la vision

sieurs vues pour la vision

2.4.1 Introduction

Le but de cette section est de donner les id´ees g´en´erales de la mani`ere d’analyser et de r´esoudre un probl`eme de g´eom´etrie de plusieurs vues pour la vision par ordinateur. Nous n’avons pas la pr´etention de fournir ici un guide m´ethodologique exhaustif. Nous cherchons plutˆot `a permettre au lecteur non sp´ecialiste de comprendre la d´emarche commun´ement adopt´ee dans ce domaine.

Par probl`eme de g´eom´etrie de plusieurs vues, nous entendons des probl`emes dont la formulation math´ematique fait intervenir la g´eom´etrie projective telle que nous l’avons pr´esent´ee auparavant. L’exemple typique est la reconstruction tridimensionnelle de sc`enes rigides. Nous illustrerons la suite de cette section avec cet exemple.

2.4.2 Rassembler les donn´ees

La premi`ere question `a se poser est : de quelles donn´ees dispose-t-on? Les donn´ees peuvent provenir de trois sources principales :

– Les images : il s’agit des images ou des vid´eos acquises, par une cam´era en mouvement, et dans lesquelles nous allons d´etecter des primitives 2D (points d’int´erˆet, points de fuite, lignes de fuite, IPC, ICA, etc.).

– La sc`ene : la sc`ene est-elle quelconque ou pr´esente-t-elle des particularit´es? La sc`ene poss`ede-t- elle des primitives g´eom´etriques particuli`eres, autres que des points (des plans, des droites, des quadriques, etc.)? Y a-t-il des angles ou des longueurs connus? Par exemple, les sc`enes acquises dans des environnements fabriqu´es par l’homme regorgent de plans orthogonaux.

– La cam´era : est-elle calibr´ee ? A-t-on utilis´e le zoom pendant l’acquisition ? L’autofocus est- il activ´e ? Le mouvement de la cam´era est-il particulier (un mouvement dans un plan, une translation, une rotation, etc.)?

2.4.3 Formuler le probl`eme

Le probl`eme pos´e, qui exprime ce que l’on veut obtenir, doit ˆetre formul´e comme un probl`eme de g´eom´etrie de plusieurs vues. Cette ´etape a pour but d’identifier les primitives g´eom´etriques que nous devons calculer. Par exemple, il faut transformer une phrase telle que (( je veux un mod`ele 3D (disons sans texture pour simplifier) de l’ext´erieur de ce bˆatiment )) en une phrase telle que (( je veux reconstruire des points 3D d’int´erˆet dans un espace euclidien )).

Des conditions peuvent ˆetre impos´ees sur la r´esolution du probl`eme. Y a-t-il une contrainte sur la dur´ee de la r´esolution (contrainte sur le temps de calcul) ? L’application doit-elle ˆetre temps-r´eel ? Quelles sont les ressources mises `a notre disposition (puissance de calcul, m´emoire, carte graphique, etc.)? La proc´edure doit-elle ˆetre automatique, semi-automatique ou manuelle? Autrement dit, dans quelle mesure tol`ere-t-on une intervention humaine?

2.4.4 Exprimer les contraintes

Une fois les donn´ees identifi´ees, nous pouvons formuler des contraintes g´eom´etriques. Par exemple, un mouvement particulier de cam´era donnera des contraintes sur la pose de la cam´era (Ri | ti)

correspondant `a chaque vue. Si la distance focale ne varie pas (pas de zoom pendant l’acquisition), alors nous pouvons ´ecrire αj = α, ∀j = 1,...,N. Si la sc`ene contient des sph`eres (ou plus g´en´eralement

des quadriques), alors nous savons que se forment dans les images des ellipses (ou plus g´en´eralement des coniques), que nous pouvons d´etecter, puis utiliser comme primitives g´eom´etriques d’int´erˆet, pour la mise en correspondance par exemple.

Pour extraire les contraintes g´eom´etriques contenues dans les images, il faut principalement : – d´etecter les primitives g´eom´etriques (par exemple des points d’int´erˆet) ;

– mettre les primitives en correspondance ;

– estimer les transformations utiles (homographies, matrices fondamentales, etc.) ;

– formuler les contraintes math´ematiques qui font intervenir les inconnues et des donn´ees connues ou calcul´ees.

2.4.5 R´esoudre les ´equations

Lorsque nous avons suffisamment d’´equations pour estimer les inconnues (le probl`eme est alors bien pos´e), nous pouvons r´esoudre le probl`eme `a l’aide d’outils math´ematiques. Selon la complexit´e des ´equations pr´esentes, on peut classer le probl`eme en trois grandes cat´egories :

1. Probl`eme avec solution directe : soit le syst`eme est constitu´e d’´equations dont certaines sont non lin´eaires et il poss`ede une solution analytique, soit la r´esolution n´ecessite de r´ealiser des ´etapes suppl´ementaires, telle qu’une d´ecomposition matricielle (en plus ´eventuellement de r´esoudre un syst`eme lin´eaire ou non lin´eaire avec solution analytique). Il est fr´equent que ces ´etapes conduisent `a plusieurs solutions (une bonne et des mauvaises solutions). Ces ambigu¨ıt´es peuvent en g´en´eral ˆetre lev´ees avec des hypoth`eses ou des informations suppl´ementaires.

2. Probl`eme lin´eaire : toutes les ´equations sont lin´eaires. Il suffit de r´esoudre un syst`eme du type AX = B, o`u X est le vecteur des inconnues et A et B sont constitu´es des donn´ees. En g´en´eral, le syst`eme est surd´etermin´e et nous cherchons alors le vecteur X qui minimise la somme des carr´es des r´esidus des ´equations. La d´ecomposition en valeurs singuli`eres (SVD) est un bon outil pour la r´esolution de tels probl`emes.

3. Probl`eme non lin´eaire : ce cas est le plus d´elicat. En effet, trouver la solution d’un syst`eme form´e par des ´equations, dont certaines sont non lin´eaires, g´en´eralement surcontraint et sans solution directe, constitue un probl`eme d’optimisation non lin´eaire. En d’autres termes, il faut minimiser une fonction de coˆut non lin´eaire. Il est courant de choisir la somme des carr´es des r´esidus des ´equations du syst`eme comme fonction de coˆut.

2.4.6 Interpr´eter les r´esultats

Dans certaines disciplines, un effort est n´ecessaire pour interpr´eter et utiliser les r´esultats math´ematiques. Ce n’est pas le cas en vision par ordinateur puisque la r´esolution math´ematique des ´equations nous apporte des entit´es g´eom´etriques qui sont souvent directement reli´ees `a l’applica- tion vis´ee. Ainsi, pour r´ealiser une reconstruction 3D, les entit´es g´eom´etriques issues de la r´esolution des ´equations sont souvent un ensemble de points 3D euclidiens. Ces points peuvent directement ˆetre import´es dans un logiciel de mod´elisation 3D. Selon les besoins, des ´etapes suppl´ementaires peuvent avoir lieu : extrapolation de points manquants, calcul d’un maillage, plaquage de textures, etc. Nous consid´erons g´en´eralement que ces tˆaches sortent du cadre de la g´eom´etrie de plusieurs vues.

La question que l’on peut se poser apr`es la r´esolution des ´equations est : (( a-t-on obtenu un r´esultat satisfaisant ? )) Par exemple, (( les points 3D obtenus sont-ils satisfaisants? )) G´en´eralement, un algo- rithme de vision par ordinateur impliquant la g´eom´etrie de plusieurs vues peut ˆetre ´evalu´e de plusieurs mani`eres :

– en testant l’algorithme sur des donn´ees synth´etiques. Il s’agit par exemple de g´en´erer des images de synth`ese `a partir d’une sc`ene mod´elis´ee par nos soins et d’une cam´era dont tous les param`etres sont connus. Ces donn´ees sont souvent appel´ees (( v´erit´e terrain )) et permettent de valider l’algorithme dans des conditions contrˆol´ees (niveau de bruit connu dans les images, absence de d´eformation g´eom´etrique, etc.).

– en ´evaluant quantitativement le r´esultat. Il est souvent possible de mesurer des quantit´es et de les comparer `a des valeurs connues. C’est le cas de la mesure, dans une sc`ene reconstruite dans l’espace euclidien, d’angles ou de longueurs connues (comme des angles droits).

– en jugeant qualitativement (visuellement) le r´esultat. Si le mod`ele 3D obtenu `a partir des points 3D reconstruits poss`ede l’aspect requis pour l’application, alors nous pouvons dire que le r´esultat est satisfaisant.

Si le r´esultat n’est pas satisfaisant, nous pouvons distinguer deux cas de figure :

1. le r´esultat est aberrant (il n’est pas du tout en accord avec ce `a quoi nous nous attendions). Plusieurs hypoth`eses sont `a consid´erer :

– la r´esolution des ´equations est erron´ee. Dans le cas d’un probl`eme d’optimisation, l’algo- rithme de minimisation de la fonction de coˆut a pu converger vers un minimum local ou a mˆeme pu diverger. Nous discuterons de cette possibilit´e dans les chapitres suivants. – les donn´ees sont insuffisantes pour r´esoudre le probl`eme. Nous pouvons citer le cas d’une

s´equence de mouvements critiques, c’est-`a-dire une s´equence d’image n’apportant pas suf- fisamment d’informations pour r´esoudre les ´equations. Avec une telle s´equence, il est im- possible de calibrer la cam´era, de calculer une reconstruction ou bien d’effectuer une recti- fication euclidienne. Nous traiterons ce point dans le chapitre 5.

2. le r´esultat n’est pas aberrant mais la qualit´e visuelle n’est pas satisfaisante. Pour d´eterminer d’o`u provient le manque de pr´ecision du r´esultat, chaque ´etape de la m´ethode doit ˆetre re- mise en cause. Les donn´ees sont-elles de mauvaise qualit´e? Les images sont-elles trop bruit´ees ou souffrent-elles de d´eformations g´eom´etriques ? Les hypoth`eses formul´ees (pour simplifier le probl`eme par exemple) sont-elles trop fortes ? Dans ce cas, il peut ˆetre utile d’en relˆacher cer- taines et de r´esoudre `a nouveau le probl`eme, en s’aidant de la solution approximative d´ej`a obtenue. Il arrive que la sc`ene poss`ede des caract´eristiques qui compliquent certaines tˆaches comme la mise en correspondance. C’est le cas des surfaces homog`enes ou des surfaces qui ne sont pas lambertiennes.