Ministère de l’Enseignement Supérieur,
de la Recherche Scientifique et de la Technologie
Université de La Manouba
Ecole Nationale des Sciences de l’Informatique
Sujet
Résumé des cours de la première année du Mastère Image « Vision et Techniques 3D, Reconnaissance de formes, Ateliers d’imagerie 1 & 2 »
Réalisé par
Groupe Mastère Image - 1ère année
Supervisé par
Pr. Faouzi GHORBEL
Année universitaire 2008 - 2009
Ce travail a été réalisé par :
Abdelhakim LIMEM « [email protected] »
Dalel BOUSLIMI « [email protected] »
Ghassen BOUSSELMI « [email protected] »
Haithem BOUSSAID « [email protected] »
Hajer FRADI « [email protected] »
Ibtissem BEN OTHMAN « [email protected] »
Majdi JRIBI « [email protected] »
Mariem SOLTANI « [email protected] »
Mariem CHEIKHROUHOU « [email protected] »
Mohamed DEBBABI « [email protected] »
Mohamed Amine MEZGUICH « [email protected] »
Mohamed Nadhir KHEMAKHEM « [email protected] »
Nabila TAYARI « [email protected] »
Olfa BELGUITH « [email protected] »
Sabra MABROUK « [email protected] »
Saima BEN HADJ « [email protected] »
Sarra BEN AZZOUZ « [email protected] »
Sawsen BEN NASR « [email protected] »
Wième GADACHA « [email protected] »
Wissal DRIRA « [email protected] »
Yosra REKIK « [email protected] »
Remerciements
Au terme de ce travail, nous tenons à remercier tous ceux qui ont contribué à la réalisation de ce travail.
Au premier rang, nous tenons à exprimer notre plus grande gratitude et respect à notre professeur Faouzi GHORBEL. Nous le remercions pour nous avoir assisté tout au long de l’élaboration de ces projets et de nous avoir fait profiter de son inestimable expérience et de ses précieux conseils.
Nous voudrons aussi remercier tous les membres du pôle GRIFT du laboratoire Cristal pour nous permettre d’assimiler les connaissances nécessaires pour la réalisation de ces projets.
Nous aimerons bien également adresser nos plus vifs remerciements et transmettre l’expression de notre reconnaissance à ceux qui n’ont pas épargné un effort pour accomplir ce travail collectif.
Table des matières
I Calibration d’une caméra
1 Mise en contexte
1.1 Les dioptres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Dioptre plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Dioptre sphérique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Exemple de l’oeil humain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Description de l’oeil humain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 L’oeil théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Géométrie et calibration des caméras
2.1 Problèmes posés
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Rappel sur l’algèbre linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Quelques notions utiles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Transformations linéaires
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.1 Cas général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.2 Homothétie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.3 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2.4
Symétrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Transformations affines (Rotations affines) . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3.1 Coordonnées homogènes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3.2 Plan projectif
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Calibrage d’une caméra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
9
10
10
10
11
11
11
12
13
13
14
14
15
15
15
15
16
16
18
19
20
3 Calibrage stéréoscopique
23
3.1 Définition de la stéréoscopie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.2 Descriptif du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.3 Mise en correspondance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.3.1 Droite épipolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.3.2 Définition de l’épipole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.3.3 Rectification épipolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.3.4 Capteurs stéréoscopiques actifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.3.4.1 Calibrage d’un capteur actif
. . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.3.4.2
Limites du capteur actif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
II Moments géométriques
4 Reconnaissance de formes en utilisant les moments géométriques
35
36
4.1 Les moments géométriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1.1 Principe de la méthode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1.2 Définition des moments géométriques
. . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.1.3 Présentation de l’application réalisée . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
III Algorithme EM (Expectation - Maximization)
5 L’algorithme EM Expectation-Maximization
40
41
5.1 Présentation Générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.1.1 Utilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.1.2 Critères d’utilisation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.1.3 Présentation générale
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.1.3.1 Phases de l’algorithme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.1.3.2 Condition d’arrèt
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.1.3.3 Entrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5
5.1.3.4
Sorties
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.2 La Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.3 Utilité de l’algorithme EM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.3.1 Explication du théorème de l’histogramme : . . . . . . . . . . . . . . . . . . . . . . . .
43
5.3.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.1.2 Théorème de l’histogramme : . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.2 Convergence de l’algorithme EM :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.3.3 Utilité de l’estimation par l’algorithme EM :
. . . . . . . . . . . . . . . . . . . . . . .
44
5.3.3.1 Régle de Bayes :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.4 Les formules utilisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.4.2 Exécution sur machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
IV La méthode de FISHER
6 Réduction des dimensions avec la méthode de Fisher
47
48
6.1 Analyse Discriminante de Fisher
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
6.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
6.1.2 Critère de Fisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
6.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6.3 Comparaison avec l’ACP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
Table des figures
1.1 Diptre plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Dioptre sphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Coupe horizontale schématique de l’oeil humain . . . . . . . . . . . . . . . . . . . . . . . . . .
10
11
11
1.4 L’oeil théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.1 Exemple d’une symétrie par rapport à un plan . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Le modèle géométrique d’une caméra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Projection de la mire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Modélisation d’un capteur stéréoscopique passif . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Le calibrage stéréoscopique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Publicité
3.3 La géométrie d’un capteur stéréoscopique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Les deux faisceaux des lignes épipolaires et les deux épipoles . . . . . . . . . . . . . . . . . . .
3.5 La rectification épipolaire ramène le capteur stéréo dans une configuration telle que les lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
épipolaires sont parallèles aux axes Fyet F (cid:48) y(cid:48)
3.6 Le principe de rectification épipolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Une image rectifiée s’obtient en appliquant à la caméra correspondante une rotation spatiale.
3.8 Un capteur actif muni d’une caméra et d’un plan de lumière . . . . . . . . . . . . . . . . . . .
3.9 Une configuration montrant un cas typique de la limite d’utilisation d’un capteur actif. . . . .
3.10 Le faisceau laser étant conique, il y a des problèmes d’imprécision lorsque le faisceau rencontre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
une discontinuité de l’objet observé.
3.11 Le faisceau laser a un angle d’incidence proche de 90°, mesuré par rapport à la normale de la . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
surface mesurée.
16
20
21
23
24
25
26
27
28
29
31
33
34
34
4.1
interface initiale de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
7
4.2 Un cas où il y a correspondnce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.3 Un exemple où il n’y a pas de correspondance entre les deux images
. . . . . . . . . . . . . .
39
5.1 Histogramme d’un échantillon Gaussien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2
Interface graphique de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
6.1 Variables explicatves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6.2 Représentation des données en 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
6.3 Représentation des données sur le plan (x,y) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
6.4 Représentation des données sur le plan de projection . . . . . . . . . . . . . . . . . . . . . . .
51
Première partie
Calibration d’une caméra
9
Chapitre 1
Mise en contexte
Introduction
Dans ce chapitre, nous allons rappeler les différents types de dioptres dans un premier lieu avant de représenter l’exemple de l’oeil humain et ses différentes caractéristiques.
1.1 Les dioptres
Dans cette section, nous allons rappeler les différents types de dioptres ainsi que leurs différentes caractéris- tiques.
1.1.1 Dioptre plan
La figure 1.1 représente un dioptre plan caractérisé par les deux angles « i » et « r » et les deux indices « n1 » et « n2 » tel que : n2.sin(i) = n2.sin(r).
Figure 1.1 – Diptre plan
10
1.1.2 Dioptre sphérique
La figure 1.2 représente un exemple de dioptres sphériques.
Figure 1.2 – Dioptre sphérique
1.2 Exemple de l’oeil humain
1.2.1 Description de l’oeil humain
A titre de rappel, voici une coupe horizontale schématique de l’oeil (Extrait de Optique Physiologique tome 1 Y. Le GRAND Ed. Masson).
Figure 1.3 – Coupe horizontale schématique de l’oeil humain
11
1.2.2 L’oeil théorique
Dans environ trois cas sur quatre, avec une approximation acceptable, l’oeil est stigmatique. Il se comporte dans ces cas comme un système centré.
Pour étudier l’optique de cet oeil, les chercheurs ont été amenés à définir un modèle théorique de l’oeil. Nous choisirons dans notre étude le modèle d’oeil théorique de Y. Le GRAND. C’est un oeil formé de dioptres sphériques centrés sur un même axe. Le cristallin réel inhomogène est remplacé par un cristallin théorique homogène, de géométrie identique et d’indice tel que sa vergence soit la même. Cet oeil théorique est un oeil normal : la proximité du conjugué de la rétine est égale à 0.5 d’environ (vérification que vous pourrez faire à partir des caractéristiques de l’oeil théorique).
Les caractéristiques géométriques de cet oeil figurent sur le schéma suivant (côtés en mm) (Figure 1.4).
Q’ est le centre de rotation de l’oeil sur lequel nous reviendrons.
Figure 1.4 – L’oeil théorique
La pupille est pratiquement tangente à la face antérieure du cristallin (la distance iris - cristallin étant de l’ordre de 0,04 mm).
Les indices des milieux transparents retenus sont :
– pour la cornée : ............................. 1,377 – pour l’humeur aqueuse :.................. 1,337 – pour le cristallin théorique :............. 1,42 – pour le corps vitré :........................ 1,336
Conclusion
Dans ce chapitre, nous avons décrit les différents types de dioptres ainsi que les différents composants de l’oeil humain.
12
Chapitre 2
Géométrie et calibration des caméras
Introduction
Dans ce chapitre nous allons brièvement décrire le modèle géométrique associé au processus de saisie d’image à laide d’une caméra. Ce modèle est caractérisé par un certain nombre de paramètres que nous allons estimer par étalonnage ou calibration ou calibrage. Les paramètres d’une caméra ou paramètres intrinsèques seront estimés en même temps que les paramètres extrinsèques soit les paramètres qui lient un repère associé à la caméra au repère associé à l’objet étalon. Nous allons étudier en détail un modèle projectif de caméra. Nous allons voir par la suite qu’il existe un modèle simplifié -affine- qui peut être utile dans certaines configurations. Nous allons ensuite proposer une technique de calibration d’une caméra linéaire (une barette CCD). Il est utile de signaler que lorsqu’on calibre une caméra, on s’intéresse à la modélisation de l’ensemble de la caméra et du convertisseur analogique digital. Si on change de convertisseur ou de caméra, il faut alors recalibrer l’ensemble.
Ensuite, nous allons décrire un capteur comportant deux caméras (capteur stéréoscopique) et nous allons préciser quelques propriétés de ce capteur qui nous permettrons de faciliter la tâche de mise en correspondance. Un capteur compose de deux caméras est un capteur tridimensionnel puisqu’il nous permet par triangulation passive de calculer la distance d’un objet au capteur. Nous allons étudier également un capteur tridimensionnel à triangulation active ainsi qu’une technique d’étalonnage d’un tel capteur.
2.1 Problèmes posés
Lors de la calibration de caméras, plusieurs problèmes sont rencontrés :
– La mise en correspondance. – Savoir les positions relatives des caméras. – Les distorsions : – géométriques – ...
13
2.2 Rappel sur l’algèbre linéaire
2.2.1 Quelques notions utiles
Orthogonalité soit A une matrice orthogonale.
Aorthogonal =⇒A−1 = tA
=⇒ A.tA = I
Si A =
alors :
U1 U2 U3
A.tA =
−→ −→ ||U1||2 −→ −→ U3 U1. U1. U2 −→ ||U2||2 −→ −→ −→ U2. U1 U2. U3 −→ −→ −→ −→ ||U3||2 U2 U3. U1 U3.
Donc, ||
−→ U1|| = ||
−→ U2|| = ||
−→ U3|| et par la suite les vecteurs sont orthonormés 2 à 2.
Notations M (n, m) : l’espace vectoriel des matrices de n lignes et m colonnes.
(M (n, n), +, .) : l’espace vectoriel sur R tel que : dim(M (n, n)) = n2.
Ensemble des matrices orthogonales : Θ(3,R) = {A ∈ MR(3, 3)/tA.A = A.tA = I3}.
Déterminant Soient A et B deux matrices telles que :
A : matrice de n lignes et m colonnes.
B : matrice de m lignes et p colonnes.
Lorsque A = B, on obtient :
det(A.B) = det(A.tA)
= (det(A))2
= ±1
tel que :
det(A.tA) = 1 dans le cas d’une rotation.
det(A.tA) = −1 dans le cas d’une symétrie.
Lorsqu’on a une base directe, det(A.tA) = 1.
14
Remarques importantes – L’ensemble des espaces vectoriels de dimension 1 est l’ensemble des droites passant par l’origine. – L’image d’un connexe est un connexe. – La topologie du groupe de rotation est la topologie du cercle. – Quelle est la dimension du groupe de rotation ? – O(3,R)n’est pas un espace vectoriel car les relations ne sont pas linéaires (||U1||2 = 1). – Le groupe orthogonal est de dimension 3. – detest une fonction de R9vers R. – Les fonctions multi-linéaires alternées sont continues. – La moyenne de deux matrices orthogonales n’est pas orthogonale.
2.2.2 Transformations linéaires
2.2.2.1 Cas général
Soit le système linéaire suivant :
x(cid:48) = a1.x + b1.y + c1.z
y(cid:48) = a2.x + b2.y + c2.z
z(cid:48) = a3.x + b3.y + c3.z
Ce système peut être représenté sous forme de matrice.
=
x(cid:48) y(cid:48) z(cid:48)
a1 a2 a3
b1 b2 b3
c1 c2 c3
∗
x y z
2.2.2.2 Homothétie
L’homothétie ou facteur d’échelle est caractérisée par le rapport α.
Sous forme matricielle, l’homothétie de rapport αdans R3sera notée comme suit :
0 α 0 0 α 0 0 α 0
2.2.2.3 Rotation
Décomposition d’une rotation Une autre représentation des rotations est celle utilisant une décompo- sition de la matrice de rotation en trois matrices de rotation autour de chacun des trois axes.
15
Ces trois matrices sont :
La matrice ((cid:60)) sera donnée par :
(cid:60)x =
(cid:60)y =
(cid:60)y =
1 0 0
0
0
cos α − sin α cos α sin α
cos β 0
0 1 − sin β 0
sin β 0 cos β
cos γ − sin γ cos γ sin γ 0 0
0 0 1
((cid:60)) = (cid:60)z.(cid:60)y.(cid:60)x
et les trois angles α, β et γ s’appellent les angles d’Euler d’après le mathématicien Leonhard Euler (1707 - 1783) qui a étudié les lois régissant les déplacements des solides.
2.2.2.4 Symétrie
Nous allons étudier l’exemple de la symétrie par rapport à un plan.
Figure 2.1 – Exemple d’une symétrie par rapport à un plan
2.2.3 Transformations affines (Rotations affines)
Soit le système (*) suivant :
x(cid:48) = x + a1
y(cid:48) = y + a2
z(cid:48) = z + a3
16
Soit f une fonction linéaire.
f est linéaire si et seulement si :
Soient :
Donc :
On a :
∀α, u, v f (αu + v) = αf (u) + f (v)
u =
Publicité
x1 y1 z1
et v =
x2 y2 z2
u + v =
x1 + x2 y1 + y2 z1 + z2
f (u + v) =
f (u) + f (v) =
x1 + x2 + a1 y1 + y2 + a2 z1 + z2 + a3
x1 + x2 + 2 ∗ a1 y1 + y2 + 2 ∗ a2 z1 + z2 + 2 ∗ a3
f (u + v) (cid:54)= f (u) + f (v).
Donc, la fonction f n’est pas linéaire. Et par la suite, elle représente une transformation affine qui est la composée d’une transformation linéaire et d’une translation.
Analytiquement,
x(cid:48) = a1.x + b1.y + c1.z + x0
y(cid:48) = a2.x + b2.y + c2.z + y0
z(cid:48) = a3.x + b3.y + c3.z + z0
En notation matricielle, le système précédent sera donné par :
=
x(cid:48) y(cid:48) z(cid:48)
a1 a2 a3
b1 b2 b3
(cid:124)
∗
c1 c2 c3 (cid:123)(cid:122)
x y z
+
(cid:125)
(cid:124)
x0 y0 z0 (cid:123)(cid:122)
(cid:125)
Transformation linéaire Translation
17
Exemples de transformations linéaires – Rotation – Symétrie – Translation
– Facteur non uniforme s’écrivant en notation matricielle sous la forme :
α 0 0 0 β 0 γ 0 0
Définitions – Déplacement : Rotation + Translation. – Anti-déplacement : Symétrie + Translation.
2.2.3.1 Coordonnées homogènes
Translation en coordonnées homogènes La translation se représente en coordonnées homogènes sous la forme :
x(cid:48) y(cid:48) z(cid:48) 1
=
1 0 0 1 0 0 0 0
0 x0 y0 0 z0 1 1 0
∗
x y z 1
=
x + x0 y + y0 z + z0 1
Transformation affine en coordonnées homogènes Une transformation affine sera notée en coordon- nées homogènes sous la forme :
x(cid:48) y(cid:48) z(cid:48) 1
=
a1 a2 a3 0
b1 b2 b3 0
c1 x0 y0 c2 z0 c3 1 0
∗
x y z 1
Définition On appelle transformation homographique 3D vers 3D, l’application suivante :
sx(cid:48) sy(cid:48) sz(cid:48) s
=
m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 m34 m41 m42 m43 m44
∗
x y z 1
D’où,
sx(cid:48) = m11.x + m12.y + m13.z + m14
sy(cid:48) = m21.x + m22.y + m23.z + m24
sz(cid:48) = m31.x + m32.y + m33.z + m34
s = m41.x + m42.y + m43.z + m44
18
Donc, on obtient le système (**) suivant :
x(cid:48) = m11.x+m12.y+m13.z+m14 m41.x+m42.y+m43.z+m44
y(cid:48) = m21.x+m22.y+m23.z+m24 m41.x+m42.y+m43.z+m44
z(cid:48) = m31.x+m32.y+m33.z+m34 m41.x+m42.y+m43.z+m44
s = m41.x + m42.y + m43.z + m44
Remarque : Homographie à deux variables très utile en reconstruction car utile pour les projections).
f (x) = a∗x+b
c∗x+d = y : homographie à 2 variables (Elle est
Maintenant, on va éliminer la troisième composante du système (**) précédent.
On obtient, sous forme matricielle,
sx(cid:48) sy(cid:48) s
=
m11 m12 m13 m14 m21 m22 m23 m24 m41 m42 m43 m44
∗
x y z 1
Essayons, donc, de transformer le résultat déjà obtenu sous forme linéaire.
Pour cela, il faut déterminer s.
Relation d’équivalence Soit (cid:60) une relation d’équivalence.
Donc,
– (cid:60) est réflexive : ∀x, x(cid:60)x. – (cid:60) est symétrique : ∀x, y, x(cid:60)y=⇒ y(cid:60)x. – (cid:60) est transitive : ∀x, y, z, x(cid:60)y et y(cid:60)z=⇒ x(cid:60)z.
2.2.3.2 Plan projectif
Remarque – Droite projective : P 1(R) = R2 \ {0} | (cid:60)∗ représente l’ensemble des droites passant par l’origine.
Définition On appelle espace projectif réel (respectivement complexe) de dimension n qu’on note par :
P n(R) = Rn+1 \ {0} | (cid:60)∗ (respectivement P n(C) = Cn+1 \ {0} | (cid:60)∗)
19
Plan projectif réel
P 2(R) = R3 \ {0} | (cid:60)∗
P 3(R) = R4 \ {0} | (cid:60)∗−→ P 2(R) = R3 \ {0} | (cid:60)∗ (plan projectif réel).
x y z s
−→
∗
x y 1
(cid:124)
m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 m34 m41 m42 m43 m44 (cid:123)(cid:122)
∗
x y z s
(cid:125)
M
Remarque L’homographie 3D - 2D décrit les projections.
GLP (2, 3) (cid:51) M avec GLP :Group Linear Projective.
La figure 2.2 représente le modèle géométrique d’une caméra montrant ainsi l’homographie 3D - 2D.
Figure 2.2 – Le modèle géométrique d’une caméra
Le point P = (x1, y1, d) situé dans le plan de l’image virtuelle représente la projection du point Q = (X, Y, Z)sur ce plan ce qui explique le passage du 3D au 2D.
Publicité
2.3 Calibrage d’une caméra
Pour calibrer une caméra, il faut déterminer tout d’abord ses paramètres.
Pour cela, nous allons utiliser l’équation suivante en coordonnées homogènes :
=
su sv s
m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33 m34 m41 m42 m43 m44
∗
X Y Z 1
20
On peut écrire les coordonnées image d’un point de la scène. On obtient donc :
u = m11x+m12y+m13z+m14 m31x+m32y+m33z+m34
v = m21x+m22y+m23z+m24 m31x+m32y+m33z+m34
Notons au passage que ces deux équations décrivent la droite passant par le centre de projection et le point image (u, v), dans le repère mire soit la droite passant par F et b sur la figure suivante.
Figure 2.3 – Projection de la mire
Le principe de calibrage d’une caméra se présente par le fait qu’un point B dont les coordonnées sont exprimés dans le repère mire se projette en b dont les coordonnées sont exprimés dans le repère image.
Cette droite s’appelle également la droite de vue associée à un point image de coordonnées (u, v). Pour évaluer les coefficients de la matrice M , il suffit d’écrire ce système d’équations pour les points de la mire pour lesquels on mesure la projection dans l’image. Chaque point (Xi, Y i, Zi) se projetant en (ui, vi) fournit deux équations. Ces équations sont linéaires par rapport aux coefficients de la matrice. Il faut donc au moins 6 points pour déterminer les 12 coefficients de la matrice M qui nous intéresse.
Les équations u et v peuvent se réécrire comme une combinaison linéaire des mij :
Xi.m11 + Yi.m12 + Zi.m13 + m14 − ui.Xi.m31 − ui.Yi.m32 − ui.Zi.m33 = ui.m34
Xi.m21 + Yi.m22 + Zi.m23 + m24 − vi.Xi.m31 − vi.Yi.m32 − vi.Zi.m33 = vi.m34
On obtient donc 2n équations pour n points et on peut écrire ces équations sous forme matricielle (les indices indiquent la taille des matrices) :
K2n∗11.x11 = u2n
21
Soit, plus précisément :
Xi Yi Zi 0 0 0
0
... 1 0 0 Xi Yi Zi ...
0
0 −uiXi −uiYi −uiZi 1 −viXi −viYi −viZi
∗
m11 m12 m13 m14 m21 m22 m23 m24 m31 m32 m33
... uim34 vim34 ...
=
Utilisation de la contrainte m34 = 1 Le système défini par l’équation :
est un système homogène.
K2n∗11.x11 = u2n
Afin d’obtenir une solution non triviale, il faut fixer un des coefficients mij. On choisit m34 = 1 ce qui revient à diviser tous les coefficients de la matrice par m34 et à déterminer les paramètres de la caméra à un facteur près. On peut remarquer que m34 n’est autre que la composante en z du vecteur de translation entre le référentiel mire et la référentielle caméra et qu’on peut facilement s’arranger pour que cette composante ne soit pas nulle.
Conclusion
Dans ce chapitre, nous avons décrit les deux types de transformations (linéaire et affine) ainsi que la géométrie d’une caméra.
22
Chapitre 3
Calibrage stéréoscopique
Introduction
La vision par ordinateur prône comme objectif parmi d’autres la reconstruction d’une structure 3D à partir de la capture d’images. Partant de ce fait, la stéréoscopie prend en compte pour réaliser cette finalité l’utilisation de deux caméras. En fait, dans cette partie, on se propose à partir du modèle de projection de chacune des deux caméras ainsi que la transformation géométrique entre ces deux caméras de retrouver les coordonnées spatiales d’un point P ayant comme données ses projections sur les deux images des caméras.
3.1 Définition de la stéréoscopie
On nomme par système stéréoscopique l’utilisation de deux caméras pour obtenir deux projections différentes d’un même point.
Et, le calibrage stéréoscopique consiste à calculer la matrice de transformation entre le repère de la caméra gauche et celle de droite.
Voici une modélisation de ce genre de système :
Figure 3.1 – Modélisation d’un capteur stéréoscopique passif
23
3.2 Descriptif du problème
Le calibrage stéréoscopique consiste à calculer la matrice de transformation entre le repère de la caméra gauche et celle de droite qu’on notera par As.
En fait comme le montre le schéma ci-dessus, chacune des deux caméras lui est reliée un repère.
On considère un point P dont on cherche les coordonnées spatiales et dont les projections sur les deux plans sont p et p’.
Ce point P se trouve en réalité à l’intersection de la droite passante par le centre focal (F) de la caméra gauche et le point p. et celle passante par le centre focal (F’) et le point p’.
Et le problème en tant que tel sera de pouvoir calculer cette intersection.
Pour cela, il va falloir exprimer les deux équations de ces deux droites dans le même repère.
La matrice As ou encore matrice de transformation entre la caméra gauche et la caméra droite.
Et cette transformation est composée de trois rotations et de trois translations.
Figure 3.2 – Le calibrage stéréoscopique
Dans le but de calibrer ce système, on doit :
– calibrer chaque caméra par rapport à une mire unique, cela nous permet de déterminer les deux matrices
de projection perspective relative aux deux caméras.
– extraire les paramètres intrinsèques et extrinsèques de chaque caméra. – construire avec les paramètres extrinsèques les deux matrices Ad et Ag telles que Ad représente la trans- formation du repère mire au repère de la caméra droite et Ag représente la transformation du repère mire au repère de la caméra gauche. – calculer As : As = Ad(Ag) − 1
La matrice As est de cette structure :
As =
r11 r21 r31
r12 r22 r32
r13 r23 r33
bx by bz
On note également le vecteur b = (bxbybz) le vecteur de translation transformant F en F (cid:48).
24
3.3 Mise en correspondance
Nous nous proposons dans cette partie d’établir une mise en correspondance entre les points de l’image de gauche et celle de droite.
Figure 3.3 – La géométrie d’un capteur stéréoscopique
Ce schéma présente :
– Un point P de la scène 3D. – Un point p (resp. p0) qui correspond à la projection de P dans l’image gauche (resp. de droite). – Le centre focal F de la caméra gauche. – Le centre focal F0 de la caméra de droite.
En pratique, nous avons accès aux deux images gauche et droite et nous disposons du point p. Nous cherchons à savoir quel est le point p0de l’image de droite correspondant à p.
On se place dans le repère caméra et donc à partir d’un point pixel image de coordonnées u et v, on peut reconnaître ses coordonnées caméra tel que :
= C −1.
= C (cid:48)−1.
x y 1
x(cid:48) y(cid:48) 1
u v 1
u(cid:48) v(cid:48) 1
Avec (x, y, z) les coordonnées par rapport à la caméra gauche et (x(cid:48), y(cid:48), z(cid:48)) les coordonnées par rapport à la caméra de droite.
Tout en ayant que ces coordonnées sont reliés par la formule suivante :
X (cid:48) Y (cid:48) Z (cid:48) 1
X Y Z 1
= As.
25
On considère les coordonnées de p dans l’image gauche sont (x, y, 1) tel que : x = X Z coordonnées de p(cid:48) dans l’image gauche sont (x(cid:48), y(cid:48), 1) avec :
et y = Y Z
. De même, les
x(cid:48) = X (cid:48)
Z(cid:48) = r11.X+r12.Y +r13.Z+bx r31.X+r32.Y +r33.Z+bz
Ces formules se simplifient en considérant les relations : X = x.Z, Y = y.Z et p =t (x y 1).
x(cid:48) = Z.r1.p+bx Z.r3.p+bz
y(cid:48) = Z.r2.p+by Z.r3.p+bz
Par ceci, on peut exprimer la position d’un point de l’image de droite en fonction de son correspondant dans l’image gauche, des paramètres du capteur et de la profondeur Z du point P .
En fait, cette équation décrit le lieu des points de l’image de droite pouvant correspondre à un point p de l’image gauche. Il y a pour chaque point de l’image gauche une telle ligne épipolaire (et réciproquement pour chaque point de l’image de droite il y a une ligne épipolaire gauche).
Passons à caractériser la notion d’épipole et de droites épipolaires.
3.3.1 Droite épipolaire
La droite épipolaire est définie dans un système stéréoscopique et par rapport à un point donné de l’image gauche ou droite.
L’équation de cette droite s’obtient en éliminant Z entre les deux dernières équations et on obtient :
(bz.r2.p − by.r3.p).x(cid:48) + (bx.r3.p − bz.r1.p).y(cid:48) = bx.r2.p − by.r1.p
Il est facile de remarquer que toutes ces lignes épipolaires droites forment un faisceau et le point commun de toutes ces lignes s’appelle l’épipole droit et il est facilement obtenu en remplaçant Z par 0. Ce qui nous donne les coordonnées de l’épipole droit dans le repère de droite comme suit :
x
(cid:48)
e = bx bz
(cid:48)
e = by y bz
Figure 3.4 – Les deux faisceaux des lignes épipolaires et les deux épipoles
26
3.3.2 Définition de l’épipole
Toutes les lignes épipolaires droites (respectivement gauches) forment un faisceau et elles convergent vers un point commun appelé épipole droit (respectivement gauche) comme le montre la figure 10.
Si nous considérons le point e de coordonnées (tx, ty, tz, 1). Nous remarquons que e est une solution de l’équation de la droite de l’épipole quelque soit le point p. e n’est autre que l’épipole.
3.3.3 Rectification épipolaire
La rectification épipolaire consiste à disposer les deux caméras de telle façon que leurs axes optiques z et z(cid:48) sont parallèles et lorsque la droite F F (cid:48) est confondue avec les axes horizontaux y et y(cid:48) des deux caméras. C’est-à-dire, les droites épipolaires doivent être parallèles. De cette manière, la matrice de transformation relative de la caméra gauche par rapport à la caméra de droite devient :
A =
1 0 0 0
0 1 0 0
0 0 1 0
0 b 0 1
Dans ce cas, l’équation d’une ligne épipolaire droite devient tout simplement :
x(cid:48) = x
Ce qui explique le fait que les lignes épipolaires deviennent parallèles, à un point de l’image de gauche se trouvant sur la ligne x correspond la ligne x’ de l’image de droite. Et que par conséquent, les deux épipoles sont à l’infini. Et qui est bien illustré par la figure 3.5.
Figure 3.5 – La rectification épipolaire ramène le capteur stéréo dans une configuration telle que les lignes épipolaires sont parallèles aux axes Fyet F (cid:48) y(cid:48)
27
Dans cette configuration, les deux épipoles sont rejetés à l’infini.
Le principe de la rectification épipolaire s’illustre comme suit :
– un point P de la scène se projette en p et p(cid:48) sur les images initiales et en q et q(cid:48) sur les images rectifiées. La reconstruction de point P peut être faite à partir de p et p(cid:48), soit à partir de q et puisque les centres de projections restent les mêmes, on peut noter que les paramètres intrinsèques de la projection ne sont pas modifiés. Ce qui change est la relation spatiale entre le repère de calibrage et la caméra. La transformation entre les deux positions de la caméra est une rotation dans l’espace.
La figure 3.6 illustre le principe de la rectification épipolaire.
Figure 3.6 – Le principe de rectification épipolaire
Soit (O, X, Y, Z) le repère de la mire. En se plaçant dans le repère de calibrage, nous obtiendrons après application de la calibration du capteur stéréo, les transformations A et A(cid:48) du repère de calibrage vers les repères des caméras gauche et droite.
A =
(cid:19)
(cid:18) (cid:60) t 1 0
A(cid:48) =
(cid:18) (cid:60)(cid:48) 0
(cid:19)
t(cid:48) 1
Chacune de ces transformations se décompose d’une rotation et d’une translation.
La figure 3.7 illustre comment obtenir l’image rectifiée.
28
Figure 3.7 – Une image rectifiée s’obtient en appliquant à la caméra correspondante une rotation spatiale.
Dans ce que suit, nous terminerons la transformation de repère de calibrage au repère de la caméra gauche dans sa position rectifiée. Etant donné que F est l’origine du repère de la caméra gauche, on aura alors :
Respectivement, pour la caméra de droite :
Ainsi, on a la direction de F F (cid:48) :
−−→ OF + t = 0
(cid:60).
−−→ OF (cid:48) + t(cid:48) = 0
(cid:60)(cid:48).
−−→ F F (cid:48) =
−−→ OF (cid:48) −
−−→ OF
= (cid:60)−1.t − (cid:60)(cid:48)−1.t(cid:48)
Publicité
Cette droite n’est pas modifiée lors de la rectification. Choisissons les axes des caméras rectifiées. Pour la caméra de gauche ces axes sont Fx1, Fy1et F z1. L’axe Fy(cid:48) doit être parallèle à la droite F F (cid:48). On obtient donc po