Vous êtes sur la page 1sur 11

Vision par ordinateur 3-D

DEA IVR Examen du 19 mars 2003 Tous les documents sont autoris es

` partir de 2 vues 1 Reconstruction de points a


Consid erons deux images, compl` etement calibr ees (on conna t les deux matrices de projection), et les deux projet es dun point 3-D. La position du point 3-D peut normalement e tre reconstruite, par exemple par intersection des deux rayons de projection (cf. section 2.2 du manuscrit). (a) Pourtant, il existent des points 3-D qui ne peuvent pas e tre reconstruits de cette mani` ere (lintersection des rayons de projection nest pas unique). Lesquels ? (D ecrivez le lieu de ces points par rapport aux centres de projection des deux images). (b) Consid erez les deux sc enarios st er eo esquiss es sur la gure 1. Lexemple de gauche correspond a ` une cam era qui acquiert des images lors dun d eplacement en direction de son axe optique. Le cas de droite correspond plut ot a ` un d eplacement lat eral. Lequel des deux sc enarios vous semble plus appropri e pour effectuer des reconstructions 3-D, et pourquoi (donnez une r eponse br` eve, en vous r ef erant au constat fait ci-dessus, dans la question (a)) ?

F IG . 1 Gauche : deux images acquises par une cam era se d eplac ant le long de son axe optique. Droite : deux images acquises par une cam era se d eplac ant dans une direction lat erale.

` partir de plusieurs vues 2 Reconstruction 3-D a


Le but est de reconstruire des points 3-D, a ` partir de plusieurs vues compl` etement calibr ees (on conna t leurs matrices de projection). Pour reconstruire un point 3-D, on se basera, comme dhabitude, sur ses projet es dans les diff erentes images. En pratique, il peut arriver quun ou plusieurs projet es du point 3-D en question, ont e t e incorrectement d etermin es (par exemple lors de la mise en correspondance). La prise ` un r esultat en compte de ces mauvais points image pour la reconstruction 3-D peut donner lieu a mauvais. D ecrivez comment vous r esoudriez ce probl` eme (pensez a ` la section 5.2 du manuscrit estimation robuste) : esquissez tr` es bri` evement les e tapes de la m ethode que vous mettriez en uvre. D ecrivez comment vous e valueriez la qualit e dune solution hypoth etique, au sein de votre m ethode destimation robuste.

` une droite dans limage 3 Calcul du plan dinterpr etation associ ea


Consid erons une image, dans laquelle une droite a e t e extraite. Nous souhaitons d eterminer le lieu de tous les points 3-D, dont les projet es se trouvent sur cette droite. Ces points-l` a forment en effet un plan etation ), comme cest esquiss e sur la gure 2. Le but de cette question (souvent appel e plan dinterpr est de trouver les coordonn ees de ce plan. Explications : une droite, dans un plan 2-D, peut e tre d ecrite par un vecteur-3 . Pour tout point 2-D (en coordonn ees homog` enes) qui se trouve sur , nous avons la relation
. un plan, en 3-D, peut e tre repr esent e de mani` ere analogue, par un vecteur-4 cette fois-ci. Tel que, pour tout point 3-D  sur le plan, nous avons  . Donnez une formule pour calculer ce vecteur (les coordonn ees du plan), a ` partir de la droite dans limage, et de la matrice de projection  de cette image.

F IG . 2 Une droite dans une image et le plan dinterpr etation associ e (en 3-D).

4 Syst` eme de reconstruction 3-D bas e sur un laser et une cam era
Nous voulons construire un syst` eme de reconstruction 3-D bas e sur un laser et une cam era. Plus concr` etement, nous consid erons un laser qui permet de balayer une sc` ene plan par plan. Limage sur la partie gauche de la gure 3 montre un exemple, dun plan laser qui est projet e sur un objet a ` reconstruire. Le plan laser coupe la surface de lobjet le long dune courbe de relief . Supposons quon lme lobjet avec une cam era. La projection de la courbe de relief, dans limage, peut e tre tr` es facilement extraite (par exemple simplement en d eterminant tous les pixels rouges). Le but est de reconstruire la courbe de relief originale, en 3-D. Pour ce faire, nous pouvons supposer de conna tre : la matrice de projection de la cam era, donc sa position et orientation dans lespace 3-D et ses param` etres intrins` eques ; les coordonn ees du plan laser en 3-D. (a) D ecrivez comment on pourra reconstruire la courbe de relief en 3-D a ` partir de ces donn ees. (b) Certaines positions de la cam era (en fait, de son centre de projection) ne permettront pas deffectuer cette reconstruction. Lesquelles ? (c) Ci-dessus, nous avons consid er e le probl` eme de la reconstruction dune seule courbe de relief de lobjet. Si lon effectue des balayages successifs, en projetant des plans laser dans diff erentes directions (cf. la partie droite de la gure 3), on pourra alors reconstruire lobjet entier. Vu le constat fait dans la question (b), o` ua ` peu pr` es placeriez-vous la cam era (par rapport au laser dans la partie droite de la gure 3) ?
Objet

F IG . 3 Gauche : courbe de relief sur lobjet. Droite : Balayage successif par des plans laser.

5 Une question sur des points de fuite


Consid erons une image dun rectangle (cf. la gure 4). Nous pouvons calculer les points de fuite  associ es aux deux directions principales du rectangle.



et

Le but de cette question est de calculer le point de fuite qui est associ ea ` la direction orthogonale au plan du rectangle (ce point de fuite est tr` es utile dans certains algorithmes de reconstruction 3-D). 3

Pour ce faire, nous disposons de la matrice  des param` etres intrins` eques de la cam era qui a acuis limage, ainsi que des coordonn ees de  et  dans limage. Donnez donc une formule pour le calcul du point de fuite recherch e. Conseils : pour deux vecteurs-3 qui repr esentent des directions orthogonales, leurs produit scalaire sannule ; un vecteur-3 qui est orthogonal a ` deux vecteurs donn es, peut e tre calcul e comme le produit vectoriel de ces deux vecteurs ; Pour toute matrice 
 et tous vecteurs-3  et  , nous avons la r` egle : !#"$ !%"%'&( )$*+" .

q1 q2

F IG . 4 Image dun rectangle et points de fuite.

6 Syst` eme de reconstruction 3-D utilisant une table tournante


Il existe des syst` emes de reconstruction 3-D comme illustr e sur la gure 5 : un objet a ` reconstruire est plac e sur une table tournante et des images de lobjet sont prises par une cam era, pour diff erentes positions (en effet, angles de rotation) de la table. Le but de cette question est de trouver des moyens pour calculer la pose de la cam era, par rapport a ` la table tournante (cette information peut ensuite e tre utilis ee par des algorithmes de reconstruction 3-D). Nous supposons que les param` etres intrins` eques de la cam era sont connues. Pour vos solutions aux questions suivantes, vous e tes compl` etement libre de proposer de placer des objets de votre choix, sur la table tournante, et den acqu erir un nombre quelconque dimages que vous jugez n ecessaires (images acquises pour diff erents angles de rotation de la table). Par exemple, vous pouvez, si vous voulez, placer un pattern comportant des points ou des droites ou tout autre motif . . . En plus, nous supposons que la table tournante est instrument e, cest-` a-dire que nous pouvons en commander des rotations dangle pr ecis. Dans la suite, nous essayerons de calculer diff erentes entit es g eom etriques qui sont li ees a ` la pose de la cam era par rapport a ` la table tournante. (a) Proposez une m ethode pour calculer la droite de fuite du plan de la table tournante, dans limage (la droite de fuite dun plan est la droite form ee par tous les points de fuite qui sont associ es aux directions de droites dans le plan) ; 4

(b) Proposez une m ethode pour calculer le point de fuite associ ea ` laxe de rotation de la table tournante ; (c) Proposez une m ethode pour calculer le projet e du centre de rotation de la table tournante (intersection de laxe et du plan de la table) ; (d) Proposez une m ethode pour calculer la pose compl` ete de la cam era par rapport au rep` ere de coordonn ees d eni comme suit (cf. la gure 6) : lorigine est dans le centre de rotation, laxe des , correspond a ` laxe de rotation ; quant aux axes des - et . , ils se trouvent dans le plan de la table, mais leur orientation est arbitraire.

F IG . 5 Table tournante et quelques e quippements associ es.


Axe de rotation

Plan de la table

Centre de rotation

F IG . 6 Explications.

7 Combiner une cam era afne avec une cam era perspective
Consid erons lapplication suivante de reconstruction 3-D : nous prenons une image dun b atiment (gure 7, partie gauche) que nous voulons reconstruire. Par chance, nous disposons dun plan du b atiment (gure 7, partie droite). Evidemment, ce plan pourra nous aider pour la reconstruction 3-D. On peut, en effet, consid erer un tel plan comme une image du b atiment, acquise par une cam era afne situ ee sur la verticale. Cette cam era (imaginaire) peut e tre d ecrite par la matrice de projection suivante :

1243

/0

3
5

56

Quant a ` la cam era (bien r eelle) qui a acquis limage montr ee sur la gure 7, il sagit dune cam era perspective et on la d ecrira par la matrice de projection habituelle :

7890:<;>=

?A@CB

Si lon connaissait   , on pourrait reconstruire des points du b atiment comme avec nimporte quel paire dimages (` a partir de DFEF7 et des points image correspondants). Dans la suite, nous supposons que  est connue, mais que la position @ et lorientation : de la cam era perspective sont inconnues. Le but de cette question est de les calculer. Nous supposons dans la suite que nous pouvons e tablir sufsamment de correspondances de points entre les deux images (par exemple, en les cliquant a ` la main). (a) Donnez les coordonn ees du centre de projection de la cam era afne



(b) Calculez l epipole dans limage de la cam era afne (projetez le centre de projection de la cam era perspective, dans la cam era afne). Est-ce que vous pouvez donner une simple interpr etation de l epipole, par rapport au plan du b atiment ? (c) Consid erons un point
era afne (le plan du b atiment). Donnez EJI7E " dans limage de la cam une param etrisation des points 3-D sur le rayon de projection associ ea ` ; (d) Donnez une expression de la matrice fondamentale entre la cam era afne et celle perspective (en termes de  , : et @ ). Conseils : La formule (4.2) donn ee dans la section 4.2 du manuscrit, nest pas applicable ici ! Pourtant, vous pouvez par exemple essayer de d eriver la matrice fondamentale de mani` ere analogue a ` ce qui a e t e fait pour cette formule (4.2). Pour toute matrice K) et tous vecteurs-3  et  , nous avons la r` egle : !#"$ !+"4'&( )$L%" .

HG

(e) Expliquez comment on peut calculer @ et question (d), et de la connaissance de  .

a ` partir de la matrice fondamentale obtenue dans la

F IG . 7 Image perspective du b atiment.

` partir de 2 vues Solution Question 1 Reconstruction a


Explication : les deux rayons de projection de tels points sont confondus. Donc, lintersection nest pas unique et ces points ne peuvent e tre reconstruits.

(a) Il sagit de tous les points qui se trouvent sur la droite qui lie les deux centres de projection.

(b) Dans le premier sc enario, la droite qui lie les deux centres de projection coupe les plans image dans leur milieu. Donc, des points 3-D qui sont sur cette droite peuvent bien e tre observ es dans les images, mais ne pourront pas e tre reconstruits. Dans le deuxi` eme sc enario par contre, la droite coupe les plans image dans des points a ` linni. Par cons equent, aucun point dint er et qui aura e t e extrait dans un des plans image, ne peut correspondre a ` un point sur cette droite 3-D. Donc, tous les points 3-D dont des correspondances sont disponibles, peuvent e tre reconstruits. Sous ce point de vue, le deuxi` eme sc enario est donc pr ef erable.

` partir de plusieurs vues B Solution Question 2 Reconstruction a


On pourra appliquer une m ethode robuste. Puisque deux points image sont en g en eral sufsant pour reconstruire le point 3-D, on pourra utiliser le sch ema du RANSAC, en tirant al eatoirement des couples de points image. Pour chaque couple, on reconstruit un point 3-D, avec une m ethode quelconque (par exemple celle donn ee lors du cours). Ensuite, il faudra e valuer la qualit e de ce point 3-D hypoth etique. Un des moyens le plus simple est le suivant. Comme nous connaissons toutes nos matrices de projection, nous pouvons projeter le point 3-D sur les images. Nous pouvons ensuite calculer la distance de chaque point projet e, du point image mesur e (qui fait partie des donn ees du d epart). Comme mesure de qualit e de notre point 3-D, nous pouvons par exemple calculer le nombre dimages dans lesquelles la distance e voqu ee est inf erieure a ` un seuil. Ou bien, calculer la m ediane des distances. Le point 3-D qui aura le meilleur score, sera nalement retenu.

Solution Question 3 Plan dinterpr etation

Regardons la d enition du plan : il contient tous les points 3-D droite . Cest le cas pour  , si :

, dont les projet es se trouvent sur la

/'"%

Nous cherchons un plan

, qui contient tous ces points, donc :

MN"% POQ R
Nous pouvons identier par 9S  , ou bien :

T

(ce qui est bien un vecteur-4, comme il se le doit pour un plan). 7

Solution Question 4 Laser

(a) Pour chaque point (pixel) sur une courbe dans limage, nous pouvons tracer le rayon de projection en 3-D, et le couper avec le plan laser (dont la position est connu). Ceci donne lieu a ` un point 3-D. Ainsi, nous pouvons reconstruire des points sur la courbe de relief. (b) Le sch ema de reconstruction dun point 3-D, esquiss e ci-dessus, ne donne pas une solution unique, si et seulement si le rayon de projection se trouve dans le plan laser. Ceci est exactement le cas si le centre de projection de la cam era se trouve dans le plan laser (dans le plan inni qui contient les rayons laser). (c) Le laser peut balayer un certain volume dans lespace 3-D. Le centre de projection de la cam era devrait e tre plac ea ` lext erieur de ce volume. Par rapport au sch ema de la gure 3, nous mettrions la cam era au-dessus du laser (dans le sens de la verticale).

E Solution Question 5 Points de fuite


Nous reconstruisons dabord les deux points a ` linni en 3-D, qui sont associ es a ` A et  :

LVU   U

 W  &7 X D Y W  &7 X  Y

Ces points repr esentent des directions. Nous cherchons le point a ` linni qui repr esente la direction qui est orthogonale aux deux autres. Il est calcul ea ` laide du produit vectoriel :

[ZU W ;  &7X D B $ ;  &7X  B Y


Nous utilisons la formule donn ee dans l enonc e, pour simplier lexpression :

D$<C"  Z U\W  D Y
Nous pouvons projeter le point sur limage, ce qui donne nalement le point recherch e:

Z8U] DD$<^"
F Solution Question 6 Table tournante
Beaucoup de solutions sont possibles. Par exemple, pour (a), nous pouvons placer un objet rectangulaire sur la table, et extraire les points de fuite, puis la droite de fuite dans limage. La question (b) peut en effet e tre r esolue avec la solution de la question 5. Les trois premi` eres questions concernent des sous-probl` emes de la question (d). Nous donnons alors une m ethode simple pour (d). Nous plac ons un petit objet (par exemple un petit cercle noir sur blanc, imprim e sur du papier) sur la table. Nous supposons dans la suite que dans limage, cet objet peut e tre extrait et repr esent e par un point (typiquement, le centre de lellipse, qui est limage du cercle). 8

Nous prenons es avoir tourn e la 3F_ alors trois images : une dans la position originale. La deuxi` 3F_ eme apr` es, et la troisi` eme apr` es une deuxi` eme rotation de degr es. Les trois positions table par degr de lobjet sont e quidistantes du centre de rotation. Soit ` la distance (inconnue pour linstant). Nous pouvons choisir les axes des - et . librement. Faisons le choix suivant (cest un choix parmi dautres) : la premi` ere position de lobjet est suppos ee se trouver sur laxe des - . Donc, nous pouvons maintenant e tablir les coordonn ees 3-D des trois positions :

LV 1aa [c

1aa ^ 5b 2 `6b 3

[Zc
Ces valeurs sont bas ees sur :

_ ^ 5b  ? e ` d 2 f _6b g`ed 3 _ 5^bb 1aa  ? e ` d f 2 _6 ? h`ed 3 f? eprq _ md ? e f prq _ ? yd

ikjml 3_ ltsvu F no m ikjml 3F_ m no ltsvu _xw n _xw n

Nous avons donc trois points 3-D, et leurs projections, et pouvons alors d ej` a calculer la pose de la cam era (avec lalgorithme donn e dans le manuscrit). Trois points sont le minimum pour ce faire. Comme il peut y avoir plusieurs solutions, nous pourrions appliquer notre sch ema de mani` ere a ` cr eer plus de points, et utiliser une autre m ethode de calcul de pose. Par exemple, en effectuant trois rotations de zg n , nous obtenons 4 points, qui forment un carr e. Il reste linconnue ` dans le sch ema ci-dessus. Elle d etermine en effet lunit e (ou l echelle) du rep` ere 3-D dans lequel nous travaillons (et 3 dans lequel la pose est calcul e). Si lunit e na pas dimportance, on peut . Sinon, on pourra placer un objet de dimensions connues (par exemple simplement supposer que `* une r` egle) sur la table, et den prendre une image, ce qui permettra de remonter a ` ` (nous omettons les d etails sur comment faire pour effectuer le calcul).

G Solution Question 7 Cam era afne + cam era perspective


(a)

1aa ^ 5b 2 6b 3
(cest le noyau de

 ).
9

(b)

12/{ 65 { @ 3   W Y 3
Nous pouvons observer que le point image a les m emes coordonn ees - et . que le centre de projection en 3-D. Lafchage du point image sur le plan du b atiment indiquera alors la position horizontale de la cam era.

(c) Tous les points

1aa G 5^bb 2/| 6 |}I |

pour tout

(d) Le rayon de projection associ ea ` est engendr e par exemple par le centre de projection de la cam era afne :

et pour tout | e de v erier. ~ , se projetent sur , comme il est ais

1aa ^ 5b 2 6b   U 3

et nimporte quel point de la question (c). Prenons le point avec

1aa G 5^bb 2 6 [U I 3


Nous pouvons l ecrire ainsi :

et |

1aa 3 2 [U 12 65  : 3 ] 1243 ]:

5^b 3 6 b 3

Nous projetons

<

et

[

sur la cam era perspective, ce qui donne :

DU U
La droite passant par

{ 56 ? { ? { ? Z

%

et



est calcul ee par le produit vectoriel, et en appliquant la formule 10

donn ee dans l enonc e, nous obtenons :

U  $L  U U U

12 65 0:/" &( 3 $ 12 3 3 ?  &( : 12 3 3 ?  &( : 12 3 12 3 ? ? 3

5 { 56 6' ? { ? { ? Z 65 21 3 { 56 3 ? {  ? { ? Z { 56 { ?  3 { 65 { ?  3 { 65 { ? 

12 12 3

Nous identions nalement la matrice fondamentale :

(e) Connaissant  , nous pouvons calculer

9 &( :

U  U9: 

Le noyau de est donn e par ^E gE . Nous pouvons donc extraire @ , a ` lexception de sa coordonn ee , , qui ne peut pas e tre calcul ee. Quant a ` : , consid erons ses 3 colonnes :

{ { 3

:< ;mVxxZFB Si lon ins` ere ceci dans la d enition de , on obtient : 12 3 { 56 ? { 3 { { U9: ?  U ;x ?  ^ ? txFB
Les deux premi` tre extraites des deux premi` eres eres colonnes de : peuvent donc directement e colonnes de (il faut juste calculer le bon facteur scalaire avec lequel multipler et qui fasse que ces colonnes soient de norme 1). La troisi` eme colonne de : est ensuite calcul ee par le produit vectoriel des deux premi` eres. Cf. la section sur lestimation du mouvement dans le manuscrit.

11