95
Traitement des Images II Jean-Luc Baril [email protected] http://jl.baril.u-bourgogne.fr/ Licence 3 Semestre 1 Université de Bourgogne

Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 2: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Plan du cours

Chapitre I • Qu’est ce que la vision?

+ Vision humaine

+ Vision par ordinateur

• Rappels d’optique géométrique (Foyer, lentilles)

• Instruments optiques (œil, caméra, app. Photo)

Chapitre 2

• Problème général de la vision du relief

+ Cas où on dispose d’une seule image

+ Cas où on dispose de plusieurs images

+ Bilan des différents domaines de vision

Page 3: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Plan du cours

Chapitre 3

• Cas élémentaire de stéréovision

+ Le calibrage : phase 1

+ L’appariement : phase 2

+ La triangulation : phase 3

Chapitre 4 • Cas général de la stéréovision

+ Le calibrage

+ L’appariement

+ La triangulation

+ Deux exemples

Page 4: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1. Qu'est-ce que la vision ?

1.1. La vision humaine.

1.1.a. Définition.

vision = vue + perception

Page 5: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.1.b. Les quatre fonctions de la vision humaine.

•Vision des formes (1 oeil ~ 2 yeux).

•Vision des distances (1 oeil << 2 yeux) -> ce qui nous

intéresse dans ce cours.

•Vision des couleurs (1 oeil ~ 2 yeux).

•Vision des mouvements (1 oeil << 2 yeux).

Page 6: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2. La vision par ordinateur.

1.2.a. Définition.

On essaie de reproduire la vision humaine pour

donner de l'autonomie à un robot équipé de 2

caméras

Page 7: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2.b. Les différents domaines de la vision par ordinateur.

•Reconnaissance des formes (1 image ~ 2 images)

•Reconnaissance du relief (1 image << 2 images) objet de ce cours.

•Couleur (1 image ~ 2 images)

•Mouvement (1 image << 2 images)

1.3. Vision humaine et vision par ordinateur.

La vision humaine est :

• ce qui motive les recherches en vision par ordinateur ("si l'homme y

parvient ...") ;

• le modèle de vision vers lequel la vision par ordinateur essaie de

tendre, car :

• l'oeil est une caméra très performante ;

• le cerveau est un ordinateur très performant.

Décomposition en deux étapes de la vision

• : formation d'images numériques

• : interprétation d'images numériques

Page 8: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2. Rappels d'optique géométrique.

2.1. Les trois types d'objets vis-à-vis de la réémission de la lumière.

•Objet transparent ou "réfractant" :

•Objet parfaitement "réfléchissant" :

•Objet parfaitement "diffusant" :

Page 9: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.2. Le stigmatisme : propriété fondamentale no 1.

2.2.a. Montage optique usuel.

Tous les rayons réémis qui entrent dans le système optique en ressortent,

après quelques réfractions, et se croisent en un même point Ai.

Cette propriété fondamentale s'appelle le "stigmatisme".

S'il y a stigmatisme, il y a une bijection entre les points de l'espace objet

et les points de l'espace image.

Page 10: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.3. La formation des images.

2.3.a. Grandissements.

•Grandissement transversal au point Ao :

•Grandissement axial au point Ao :

0 0

i iA Bgt

A B

0 0

i iACga

A C

Page 11: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.3.b. Où placer le récepteur ?

Si l'objet est plan :

Sinon

Page 12: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2ga gt

2.3.c. Relation entre ces deux grandissements : propriété

fondamentale no 2.

Les deux grandissements sont liés par la relation fondamentale suivante :

Cette relation est à la base de la formation des images car :

Donc, un objet non plan a une image quasi-plane, et il suffit de placer le

récepteur dans ce quasi-plan, et on aura une image quasiment nette de

l'objet.

Si , alors 1gt 1ga

gtgt

Page 13: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Il y a alors bijection entre points objets visibles et points du plan image :

On dit "qu'on perd une dimension" ou "qu'on passe du 3D au 2D".

La reconnaissance du relief consiste à réaliser l'opération inverse de

la formation des images : on souhaite "retrouver la 3ème dimension", ou

encore "passer du 2D au 3D".

Page 14: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.4. Points particuliers d'un instrument optique.

Pour tout instrument d'optique, il existe différents types de points

remarquables :

•Les foyers (sur l'axe optique).

•Les points nodaux (sur l'axe optique).

•Les plans principaux.

2.4.a. Foyers.

Page 15: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.4.b. Points nodaux.

Page 16: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.4.c. Plans principaux.

Remarque :

Page 17: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.4.d. Distance focale.

Page 18: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3. Quelques instruments d'optique usuels.

3.1. L'oeil.

3.2. Appareil photographique et caméra CCD (Coupled Charge

Device).

3.2.a. Schéma.

Page 19: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2.b. Les objectifs.

Dans un appareil photographique, l'instrument d'optique est en fait

l'objectif, composé de 7, 8 ou 9 lentilles, qui est mobile par rapport au

plan du récepteur. Le réglage de cette position s'appelle la "mise au

point" ("autofocus" = mise au point automatique).

Remarque :

Dans l'appareil, la mise au point s'effectue sans changer la focale,

contrairement à l'oeil. La distance focale standard est de 50 mm, le

grandissement transversal < 1.

3.2.c. Cas particuliers d'objectifs.

Zoom : objectif à distance focale variable, qui change sans changer

la mise au point (assez compliqué à réaliser en respectant cette

contrainte) ;

Téléobjectif : pour une scène éloignée, on veut un grandissement

grand. Il faut donc augmenter la distance focale .

Page 20: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2.d. Les récepteurs.

•Appareil photo : film photo -> signal analogique.

•Caméra CCD : réseau de cellules photosensibles -> signal discret

Ei,j >= 0 ("niveau de gris") si image noir et blanc. Si image en

couleurs, 3 "canaux" : RVB.

Page 21: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Dorénavant, nous ne nous intéresserons plus qu'à la reconnaissance

du relief d'une scène à partir d'une ou de plusieurs images

(numériques) de cette scène.

Les images seront supposées représentées en niveaux de gris (allant du

noir au blanc).

Soit une image ayant M lignes et N colonnes. Chaque pixel de l'image a

un niveau de gris Ei,j tel que :

• pour i appartenant à [1,M] et j à [1,N], Ei,j est positif ou nul ;

• Ei,j est de type integer, float, double, ...

Chapitre 2

Problème général de la vision du relief.

Page 22: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1. Problème général de la vision du relief.

1.1. Les trois éléments en présence.

•Scène (ou objet) dont on veut connaître le relief.

•Sources lumineuses.

•Appareil photo (ou observateur).

Page 23: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2. But de la reconnaissance du relief.

On suppose que l'image est nette (c'est-à-dire qu'elle ne

présente pas de flou de mise au point), et on veut connaître le

relief de la partie de la scène à la fois éclairée par les sources

lumineuses et visible par l'appareil photo (ou par

l'observateur).

En général, on ne connaît ni la position, ni les caractéristiques

photométriques des sources lumineuses.

Page 24: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2. Cas où on ne dispose que d'une seule image.

Ce cas est celui de la "monovision".

2.1. Formulation du problème.

On cherche à calculer z pour tout point de l'image. En fait, on

calcule z à une constante additive près

Page 25: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.2. Les différentes méthodes.

On peut utiliser différents critères :

• flou de la mise au point : marginal ;

• texture : champ d'application limité ;

• ombres portées : marginal ;

• contours : marginal ;

• ombres propres : cas le plus général ("shape from

shading").

Ces méthodes présentent toutes un problème majeur :

beaucoup d'hypothèses leur sont nécessaires, et elles sont donc

peu fiables. Elles ne sont pas utilisées industriellement (par

exemple en robotique). Toutes les méthodes utilisées en

robotique utilisent plusieurs images.

Page 26: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3. Cas où on dispose de plusieurs images.

Différentes situations sont possibles :

•Cas 1 : la scène et l'appareil sont fixes, les sources

lumineuses se déplacent ("stéréophotométrie").

•Cas 2 : les sources lumineuses et l'appareil sont fixes, la

scène se déplace ("mouvement").

•Cas 3 : la scène et les sources lumineuses sont fixes,

l'observateur se déplace ("stéréovision").

Page 27: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.1. Cas 1 : stéréophotométrie.

On prend une photo avec une source lumineuse S1, puis une

photo avec une source lumineuse S2, etc... La scène est fixe.

Exemple de la Lune :

Problème :

Si la scène bouge, ce qui est souvent le cas en robotique, il

faut prendre deux photos simultanément avec deux

éclairages différents, ce qui n'est pas toujours facile à

réaliser.

Page 28: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2. Cas 2 : mouvement.

On prend plusieurs photos successives d'une scène mobile,

mais cela ne rajoute pas beaucoup d'information vis-à-vis de la

reconnaissance du relief. Il présente cependant un point

commun avec la vision du relief, car il faut réaliser la mise en

correspondance d'un même point physique sur une séquence

d'images :

Problème :

Le but n'est pas le calcul du relief, mais celui du

mouvement. Le cas 2 correspond donc à l'analyse du

mouvement en monovision.

Page 29: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2. Cas 3 : stéréovision.

On change la position de la caméra entre les différentes prises

de vue. On peut aussi utiliser plusieurs caméras et prendre les

photos simultanément, ce qu'on ne pouvait pas faire dans les

cas 1 et 2. Cela est d'ailleurs nécessaire pour l'analyse du

mouvement en stéréovision.

En général, on se trouve dans l'un des deux cas suivants :

•2 caméras : stéréovision binoculaire ;

•3 caméras : stéréovision trinoculaire.

Page 30: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Difficultés :

•Si on utilise plusieurs caméras, elles ne sont pas

caractérisées par les mêmes paramètres (exemples :

ga, gt,…..).

•Phase 1 = calibrage : il faudra maîtriser les

paramètres des caméras.

•Phase 2 = appariement : mise en correspondance

des pixels correspondant à un même point physique

(comme en vision du mouvement).

•Phase 3 = triangulation : calcul du relief d'une

paire de pixels appariés.

La phase la plus difficile à réaliser est la phase 2. Nous

y reviendrons dans le chapitre 3.

Page 31: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Chapitre 3 :

Cas élémentaire de stéréovision

Nous appelons "stéréovision" la reconnaissance du relief à partir de

plusieurs images d'une même scène, vue sous différents angles.

Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc à

des paires d'images, formées d'une image "gauche" et d'une image

"droite" (remarquer la similarité avec la vision humaine).

La stéréovision s'effectue en trois étapes successives :

calibrage + appariement + triangulation

1 2 3

La phase la plus difficile est la phase 2. C'est aussi celle qui varie le plus

d'une méthode à l'autre. Les phases 1 et 3 sont purement géométriques,

contrairement à la phase 2 qui utilise les niveaux de gris Ei,j des deux

images.

Page 32: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1. Cas élémentaire de stéréovision.

Ce cas survient lorsqu'on n'utilise qu'une caméra, ce qui

impose à la scène d'être statique.

L'intérêt de n'utiliser qu'une caméra est que les paramètres de

la caméra sont les mêmes entre les images gauche et droite.

En d'autres termes, la phase de calibrage est nettement

simplifiée.

Dans le cas général, par contre, ces paramètres diffèrent, et

doivent être déterminés les uns par rapport aux autres.

Page 33: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.1. Réalisation pratique.

Page 34: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2. Correspondance entre points objets et pixels d'une

image.

Si l'image est nette, la correspondance entre les points objets

et les pixels des images peut être considérée comme la

succession de :

•Une homothétie de rapport gt (éventuellement négatif)

et de centre O ;

•Une projection sur le plan du récepteur ;

Page 35: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2. Le calibrage : phase 1.

Il va être très simple ici.

2.1. Relation mathématique entre points objets et pixels.

Soit un point objet visible sur les deux images.

On cherche .

Une remarque évidente est que :

(3.1)

Page 36: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc
Page 37: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Si on sait calculer xgp , on aura xd

p en remplaçant - par . •Calcul de xg

p :

Donc :

Or ce produit scalaire est la coordonnée de le long de Ogxg , c'est-

à-dire que :

(3.2)

Page 38: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

•De la même manière :

(3.2 bis)

•Bilan :

(3.3)

(3.3 bis)

Page 39: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.2. Détermination des paramètres de calibrage.

Calibrer consiste à déterminer les coefficients permettant de

calculer Ig et Id pour tout point objet .

D'après les relations (3.3) et (3.3 bis), il y a dans notre cas

deux paramètres à déterminer : et .

2.2.a. Détermination de .

D'après (3.3) et (3.3 bis), est un facteur d'échelle,

dont on observe toujours la présence en stéréovision. C'est

même le seul paramètre de calibrage qui apparaisse dans

tous les cas.

Page 40: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.2.b. Détermination de .

L'angle ne dépend pas des caractéristiques

internes de la caméra. Pour cette raison, on dit

que est un paramètre "extrinsèque" de

calibrage.

Soit un point objet pour lequel on connaît :

•les coordonnées Xp, Yp et Zp ;

•les points images correspondants Ig et Id.

On a donc :

Page 41: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Le produit du membre gauche de (3.4) par le membre droit de (3.5) est

égal au produit du membre droit de (3.4) par le membre gauche de (3.5),

ce qui donne, en divisant à gauche et à droite par -2 :

(3.6)

Cette équation se réécrit :

(3.6 bis)

Dans (3.6) ou (3.6 bis), seul est inconnu.

Page 42: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

II.2.c. Nombre d'angles solutions de l'équation (3.6)

Remarque :

Comme est forcément différent de 0 (sinon, les deux

images seraient identiques !) et différent de (sinon,

aucun point ne serait visible simultanément sur les

deux images !), alors et .

Si et , alors, d'après la remarque

précédente et les équations (3.4) et (3.5), on voit

que et . On peut donc,

dans ce cas, transformer (3.6) de la manière suivante :

(3.7)

Résolution graphique de (3.7) :

Page 43: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Cette résolution graphique montre qu'il y a deux solutions

en : . Mais, comme , il est clair que les deux

angles sont égaux modulo , c'est-à-dire qu'il y a une

solution unique à (3.7), donnée par exemple par :

(3.8)

Page 44: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

•Si Xp = 0 et Zp = 0, les équations (3.4) et (3.5) ne donnent aucune

information sur . Un tel point P n'est donc pas utile pour le calcul

de .

•Si Xp = 0 et , l'équation (3.5) donne :

Cette équation permet la détermination de , mais elle fait

intervenir . Il est préférable d'éviter cette situation pour qu'une

erreur sur le calcul de n'engendre pas une erreur sur le calcul

de .

•Si et Zp = 0, l'équation (3.4) donne :

Ce cas est similaire au précédent.

Page 45: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3. L'appariement : phase 2.

L'appariement ou "mise en correspondance" est la phase du

traitement la plus difficile, car elle n'est pas purement

géométrique. Cette phase fait appel aux niveaux de gris des

deux images, contrairement aux phases 1 et 3, dans lesquelles

on n'a jamais à utiliser les niveaux de gris Egi,j et Ed

k,l .

Nous allons commencer par comparer les niveaux de gris de

deux pixels appariés.

Page 46: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.1. Comparaison des niveaux de gris de deux pixels

appariés.

On dit que deux pixels Igi,j et Id

k,l sont appariés s'ils

correspondent au même point physique P de la scène. Pour

trouver de telles paires à partir de la donnée de deux images,

on ne peut que chercher une similarité entre les niveaux de

gris Egi,j et Ed

k,l correspondant à ces deux pixels :

Page 47: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

En fait, P ne réémet pas la même énergie lumineuse dans toutes les

directions, ce qui signifie que Egi,j et Ed

k,l ne sont pas égaux. On voit

aussi que si diminue, les valeurs Egi,j et Ed

k,l se rapprochent.

De toutes façons, on aura beaucoup de paires erronées si on se contente

d'apparier un pixel Igi,j avec le pixel Id

k,l qui a le niveau de gris Edk,l le

plus proche de Egi,j .

Pour cette raison, on va comparer non pas un pixel de l'image gauche

avec un pixel de l'image droite, mais un pixel de l'image gauche et son

voisinage, avec un pixel de l'image droite et son voisinage. C'est ce

qu'on appelle la "corrélation".

Page 48: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2. Corrélation entre deux pixels et leurs voisinages.

Un pixel Igi,j de l'image gauche et un pixel Id

k,l de l'image

droite sont corrélés si les niveaux de gris ont des valeurs

similaires au voisinage de ces deux pixels.

Attention :

La corrélation n'a rien à voir avec la convolution ni avec la

covariance.

Page 49: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2.a. Définition du voisinage : fenêtre de corrélation.

On peut chercher la corrélation entre deux pixels et leurs

voisinages avec une taille de voisinage plus ou moins

importante. On appelle ce voisinage la "fenêtre de

corrélation".

• prendre la même fenêtre de corrélation sur l'image gauche

et l'image droite ;

• prendre une fenêtre de corrélation connexe (en un seul

morceau) ;

• la fenêtre de corrélation contient le pixel qu'on cherche à

apparier.

Exemples :

Page 50: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2.b. Mesure de corrélation euclidienne.

Il existe différentes méthodes pour mesurer numériquement la

corrélation. La plus élémentaire est la mesure de corrélation

euclidienne. Avec une fenêtre de corrélation 3 x 3, elle s'écrit :

Avec l'exemple précédent :

=> pixels "fortement corrélés".

=> pixels "très faiblement corrélés".

Plus la mesure de corrélation euclidienne entre deux pixels et

leurs voisinages est faible, plus ces pixels sont corrélés. Cela

nous procure une méthode d'appariement.

Page 51: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.3. Méthode d'appariement.

Rappel :

Dans le cas où nous nous sommes placés, nous avons vu

que ygP = yd

P. Ceci signifie que deux pixels appariés se

trouvent forcément sur des lignes de même numéro : cette

propriété est la traduction de la "contrainte épipolaire".

Exemple :

En fait, on se limite aux pixels pour lesquels la fenêtre de corrélation est

entièrement contenue dans l'image. Cela élimine les candidats situés sur

les bords.

Page 52: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.3.a. Appariement d'un pixel de l'image gauche.

Soit Igi,j un pixel de l'image gauche tel que la fenêtre de

corrélation soit contenue dans l'image gauche. On cherche à

apparier Igi,j. Les candidats sont les pixels Id

i,l pour lesquels la

fenêtre de corrélation est contenue dans l'image droite. On

apparie Igi,j avec le pixel Id

i,l pour lequel la mesure de

corrélation euclidienne est minimale.

Remarques :

•Il peut y avoir des erreurs d'appariement.

•Dans le cas exceptionnel où plusieurs candidats donnent la

même mesure de corrélation minimale, on ne se détermine

pas, puisqu'on court le risque d'effectuer un appariement

erroné.

Page 53: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.3.b. Appariement d'un pixel de l'image droite.

On a privilégié les pixels de l'image gauche sans raison. On

peut donc réaliser la même opération pour les pixels de l'image

droite. Si Igi,j a été apparié avec le pixel Id

i,l , il se peut très

bien que lors de l'opération inverse, Idi,l ne soit pas apparié

avec Igi,j.

Exemple :

Page 54: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Chaque simple flèche noire désigne un appariement unilatéral,

c'est-à-dire n'ayant pas débouché sur la formation d'une paire.

Les doubles flèches roses indiquent les paires formées d'un

pixel de l'image gauche et d'un pixel de l'image droite, c'est-à-

dire les paires apparaissant dans les deux appariements : ces

paires vérifient ce qu'on appelle la "contrainte d'unicité".

Dans notre exemple, après application de la contrainte

d'unicité, il ne reste plus que 11 paires (sur les 16 possibles).

Page 55: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.3.c. Conclusion.

Cette méthode d'appariement consiste à mettre en bijection nb

pixels de l'image gauche (nb < N x M) avec nb pixels de

l'image droite.

Un certain nombre de pixels restent non appariés, en

particulier sur les bords. Cela n'est pas un problème, et nous

verrons plus loin comment traiter ces pixels non appariés.

Un problème plus important est celui des appariements

erronés, que nous allons évoquer dans le paragraphe suivant.

Page 56: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.4. Appariements erronés.

Avec la méthode que nous venons de voir, il est possible de

traiter un couple de deux images quelconques :

=> couples de pixels appariés ????!!!!!

Page 57: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc
Page 58: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Il se peut très bien qu'un pixel correspondant à une des zones non

visibles sur une des images ait été apparié. Il faut éliminer si possible un

tel appariement, puisqu'il est forcément erroné.

Pour ce faire, nous introduisons un seuil S, et considérons que deux

niveaux de gris Egi,j et Ed

i,l sont "proches" si et seulement si :

(3.9)

avec :

Page 59: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Exemple : Egi,j = 12

Si S = 0,1 , alors parmi ces valeurs entières de Edi,l , seules

5 sont considérées comme "proches" de Egi,j : 10, 11, 12, 13

et 14.

Comme la similarité entre deux pixels est jugée sur les

voisinages de ces deux pixels, on va considérer que deux

pixels (Igi,j , I

di,l ) forment une paire acceptable si (avec une

fenêtre 3 x 3) :

Page 60: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Il est possible de montrer qu'une condition suffisante pour

que cette inégalité soit vérifiée s'écrit :

(3.10)

Les paires de pixels ne vérifiant pas cette égalité sont rejetées

car trop suspectes. Ceci revient à imposer une contrainte de

seuil.

Page 61: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Les trois contraintes que nous avons citées (épipolaire,

d'unicité et de seuil) fournissent un ensemble de paires de

pixels (Igi,j , I

di,l ) assez bon en général.

Il subsistera des erreurs dans le cas d'un motif périodique ou

presque périodique.

Exemple 1 :

Page 62: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Sur le schéma précédent, le tableau de gauche correspond à la

phase d'appariement des pixels de l'image gauche et le tableau

de droite correspond à la phase d'appariement des pixels de

l'image droite.

En appliquant les contraintes d'unicité et de seuil (avec S = 1),

il ne reste que les 11 paires suivantes :

Page 63: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Or, on aurait plutôt tendance à penser que deux pixels formant

une paire ont des numéros de colonnes identiques :

Il existe deux améliorations possibles à la méthode

d'appariement décrite dans les paragraphes précédents :

•la contrainte d'ordre ;

•l'étude de la courbe de corrélation.

Page 64: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.5.a. Contrainte d'ordre.

Soit (Igi,j1, I

di,l1 ) et (Ig

i,j2, Idi,l 2) deux paires de pixels, vérifiant

les trois contraintes citées précédemment (épipolaire, d'unicité

et de seuil).

On impose en plus au produit (j2 - j1) x (l2 - l1) d'être

supérieur ou égal à 0. Considérons l'exemple suivant :

Exemple 2 :

Si un pixel Igi,j1 est à gauche d'un pixel Ig

i,j2 sur l'image gauche,

alors Idi,l1 doit être à gauche de Id

i,l 2 sur l'image droite : c'est la

contrainte d'ordre.

Page 65: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Dans l'exemple 2, la figure de droite présente deux paires qui

ne vérifient pas cette contrainte.

Remarque :

La contrainte d'ordre est parfois fausse. Par exemple :

Dans la pratique, on cherchera à respecter cette contrainte en

éliminant un minimum de paires. Dans l'exemple 1, il suffit

d'enlever 2 paires pour respecter la contrainte d'ordre : (Igi,2 ,

Idi,8) et (Ig

i,3 , Id

i,9). Mais cela ne change pas les appariements

erronés. Que faire ?

Page 66: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.5.b. Étude de la courbe de corrélation.

Pour chaque pixel à apparier, on trace une courbe avec, en abscisse, les

indices de colonnes des candidats et, en ordonnée, les mesures de

corrélation. Pour le pixel Igi,2 situé sur la ligne i et la colonne 2, sur

l'image gauche de l’exemple 1, voici la courbe obtenue

Exemple :

La courbe présente bien un minimum absolu unique égal à 0, mais

plusieurs minima relatifs. On a été trop affirmatif en choisissant l = 8.

On peut prendre en compte les candidats pour lesquels la corrélation

est inférieure ou égale à 2 (seuil S' = 2). Dans ce cas, il reste 3 pixels

candidats situés sur les colonnes suivantes : l = 2, 8 et 14.

Page 67: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Deux attitudes sont possibles :

•méthode "peureuse": s'il existe plusieurs candidats, on n'en choisit

aucun => pixel non apparié (problème déjà évoqué) ;

•méthode "hardie" : on cherche à vérifier à la fois la contrainte

d'ordre et à réaliser un maximum d'appariements, en choisissant un

candidat qui ne correspond pas forcément au minimum absolu

(algorithme relativement complexe).

On obtiendra, avec l'exemple 1 (S' = 2) :

•Par la méthode "peureuse" :

Il ne reste que 3 couples, ce qui n'est pas très satisfaisant.

Page 68: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

•Par la méthode "hardie" :

Avec cette méthode, il reste 9 appariements, dont 6 faux, ce qui n'est

pas satisfaisant non plus !

Page 69: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Changeons le seuil : les candidats retenus sont maintenant ceux pour

lesquels la corrélation est inférieure ou égale à S' = 10.

•Par la méthode "peureuse" : il ne reste aucun appariement ;

•Par la méthode "hardie" :

•Au maximum, on peut réaliser 14 appariements (on ne pourrait pas

en réaliser plus), qui sont tous exacts qui plus est !

Page 70: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.5.c. Conclusions sur ces améliorations.

•Les méthodes d'appariement ressemblent souvent à de la "cuisine".

Suivant la valeur du seuil S', on obtient par la méthode "hardie" :

•si S' = 2 : 9 appariements , dont 6 faux ;

•si S' = 10 : 14 appariements exacts.

•Par ailleurs, ces méthodes sont beaucoup plus complexes

à mettre en oeuvre que la méthode décrite précédemment

(avec les trois contraintes initiales).

•Passons maintenant à la phase 3 de triangulation, la plus

facile.

Page 71: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

4. La triangulation : phase 3.

On suppose que :

•Les paramètres et sont connus (phase 1) ; *

•Un certain nombre de paires de pixels (Igi,j , I

di,l ) ont été déterminées

(phase 2).

4.1. Expression mathématique.

Soit une paire de pixels appariés (Igi,j, I

di,l ). Le point P= (Xp,Yp,Zp)

correspondant à cette paire vérifie les trois équations suivantes :

(3.11)

Les deux dernières équations constituent un système linéaire de deux

équations à deux inconnues : Xpet Zp. Calculons son déterminant

Page 72: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Comme et , il s'ensuit que , donc que le système est

un système de Cramer :

Page 73: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

soit encore :

(3.12)

(3.13)

4.2. La disparité.

Dans (3.13) apparaît la différence :

appelée disparité d'un couple de pixels.

On voit que l'altitude d'un point P est

proportionnelle à la disparité du couple de

pixels qui lui est associé.

Page 74: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Dans le chapitre 3, nous nous sommes placés dans un cas de stéréovision

élémentaire. Nous allons reprendre différents points du chapitre 3, et

donner leur généralisation. Nous conclurons en donnant quelques

exemples de stéréovision utilisés dans le milieu industriel.

1. Cas général de la stéréovision. 1.1. Description du montage général.

On souhaite connaître Z pour chaque point de la scène, éclairé et visible

sur ces deux images numériques stéréoscopiques.

Page 75: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Il y a en général deux caméras distinctes. Les repères des caméras ne

sont pas liés au repère OXYZ. Pour passer de OXYZ à Ogxgygzg, ou à

Odxdydzd, il faut donc effectuer :

•Une translation •Une rotation dans R3 (définie par 3 angles) :

Page 76: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2. Correspondance entre points objets et pixels d'une image.

On suppose que les images sont nettes.

À ce niveau, on a fait dans le chapitre 3 l'hypothèse simplificatrice

suivante :

•Homothétie de rapport et de centre O ;

•Projection sur le plan du récepteur.

Cette hypothèse est fausse. En fait, il s'agit d'une projection perspective

et non, comme on l'avait supposé, d'une projection orthogonale.

Page 77: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2.a. Centre optique d'une caméra.

Page 78: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

C'est équivalent à :

Page 79: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

1.2.b. Projection perspective.

Pour trouver le pixel I correspondant à un point objet P, on prend

l'intersection de la droite PN avec un plan obtenu par translation de D le

long de l'axe optique du plan de la rétine.

On appelle pour cette raison N (point nodal objet) le centre optique de la

caméra, noté C.

Cette transformation est appelée projection perspective. Une propriété

élémentaire de la projection perspective est qu'entre deux segments

identiques, le segment le plus proche de la caméra a une image plus

grande :

Page 80: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Exemple d'un cube :

Les propriétés de la projection perspective (exemple : point de

fuite) sont nombreuses et compliquées. Nous n'en parlerons

pas dans ce cours (voir un cours de DEA sur la "géométrie

projective").

Page 81: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2. Le calibrage.

2.1. Relation mathématique entre points objets et pixels.

On s'intéresse par exemple à l'image gauche.

Page 82: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.1.a. Translation + rotation.

(4.1)

Il faut connaître 6 paramètres (3 angles pour la matrice M, 3 coordonnées

pour le vecteur ), appelés "paramètres extrinsèques" de la caméra.

Page 83: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.1.b. Projection perspective.

Les expressions de xI et de yI en fonction de x, y et z sont les

suivantes :

(4.2)

(4.3)

Page 84: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.1.c. Discrétisation.

Si O correspond à (i0, j0), alors I correspond à (i, j) tel que :

(4.4)

(4.5)

Problème :

Les formules (4.4) et (4.5) ne sont pas linéaires en x, y et z,

contrairement à (4.1). La projection perspective n'est donc pas

linéaire, contrairement à la projection orthogonale.

Page 85: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Astuce :

On utilise de nouvelles coordonnées, appelées "coordonnées

projectives", définies par :

(4.6)

(4.7)

(4.8)

Remarques :

•Ces définitions sont linéaires en x, y, z.

•6 paramètres intrinsèques

Page 86: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.1.d. Conclusion : matrice perspective.

Grâce aux calculs précédents :

où N est une matrice 3 x 3.

Page 87: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

On l'écrit plutôt :

(4.9)

où T est une matrice à 3 lignes et 4 colonnes, appelée "matrice

perspective" de la caméra. Ses 12 coefficients dépendent des 12

paramètres de la caméra :

•6 paramètres extrinsèques ;

•6 paramètres intrinsèques.

Par ailleurs :

(4.10)

(4.11)

Page 88: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Remarque :

donc on obtient le même couple (i,j).

Cela signifie que T est déterminable à un facteur près. On peut fixer un

coefficient à 1 :

Il ne reste que 11 coefficients inconnus, dépendant des 12 paramètres de

la caméra.

Page 89: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

2.2. Détermination des paramètres de calibrage.

On doit déterminer les 12 paramètres de la caméra.

En général, on se contente de déterminer la matrice T (c'est-à-dire 11

coefficients) pour chaque caméra.

Il suffit de connaître 6 points Pk de la scène, leurs coordonnées ,

et les pixels qui leur sont associés.

On peut montrer que ces points ne doivent pas tous être coplanaires.

À l'IRIT, on utilise une grille de calibrage, sur laquelle il est facile de

prendre des repères :

Page 90: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3. L'appariement.

3.1. La contrainte épipolaire :

cas général.

Si on cherche le pixel Id correspondant à un pixel Ig de l'image gauche,

on peut dire que Id appartient nécessairement à une droite de l'image

droite, appelée "droite épipolaire" associée à Ig, et qui est l'intersection

du plan IgCgCd et de l'image droite.

Comme il y a symétrie entre les deux images, on construit ainsi des

paires de droites épipolaires, qui passent toutes par un des épipôles Eg et

Ed.

Page 91: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Dans la pratique :

•On commence par calculer la position des épipôles Eg et Ed.

•Ensuite, pour un pixel Ig par exemple, on calcule un pixel Id situé sur

la droite épipolaire associée à Ig.

•On cherche ensuite à apparier Ig avec un pixel de cette droite

épipolaire, en utilisant :

•la corrélation ;

•la contrainte d'unicité ;

•la contrainte de seuil ;

•et parfois la contrainte d'ordre.

Page 92: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

3.2. Appariement dense et appariement non dense.

Lors des séances de TP :

Grâce à la texture, il est possible d'effectuer un

appariement dense. En revanche, si l'image n'est pas

texturée, ce quotient peut être très faible.

Page 93: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

Exemple :

Entre ces deux images, on peut mettre en correspondance :

•Les angles A1, A2, A3, A4, A5, A6.

•Les arêtes A1A2, A1A3, A2A4, A3A4, A1A5, A2A6, A5A6.

L'appariement réalisé est un appariement non dense.

En général, on apparie les contours, les arêtes, les angles, lorsqu'on fait

de l'appariement non dense.

La tendance actuelle est d'effectuer plutôt de l'appariement dense, car les

performances des calculateurs ne cessent d'augmenter.

Page 94: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

4. La triangulation.

On a les relations suivantes :

(4.12)

(4.13)

Page 95: Traitement des Images II - u-bourgogne.frplusieurs images d'une même scène, vue sous différents angles. Dans ce cours, nous nous limitons à la stéréovision binoculaire, donc

On sait qu'un point P = correspond à cette paire de pixels, en

coordonnées projectives. On veut connaître X, Y et Z.

Le système composé des équations (4.12) et (4.13) a une solution et une

seule : P, le point cherché. L'expression mathématique des coordonnées

de P est un peu complexe, et nous ne la donnerons pas ici.

Dans le prochain paragraphe, nous allons citer deux exemples de

stéréovision provenant du milieu industriel.