Analyse et Synthèse d`Images Formation des Images

Transcription

Analyse et Synthèse d`Images Formation des Images
Analyse et Synthèse d'Images
James L. Crowley
DEA ISC
1999/00
Séance 1 :
12 octobre 1999
Plan de la Séance :
Représentation et Formation d'Images
Formation des Images..................................... 2
La perception visuelle humaine.............................................2
La Rétine Humaine ..............................................................2
L'Horopteur :......................................................................4
Version et Vergence .......................................................5
Modèle de la Caméra ...........................................................6
Format Binaire (Bit Map et Pix Map)...................................7
La trame entrelaçais.............................................................8
Représentation en mémoire des images ..................................9
Modèle Mathématique de la Formation d'Image.....10
Les Repères ...................................................................... 10
Transformation rétine->image............................................ 11
Les coordonnées homogènes............................................... 12
Translation ....................................................................13
Rotation.........................................................................14
Usage des Coordonnées Homogènes en Robotique..............15
Description des transformations scène -> image.................... 16
Transformations scène -> rétine: le modèle Sténopé.............. 16
Resumé : Les transformations............................................. 20
Exercise ........................................................................... 23
Calibrage des caméras ...................................24
Calibrage par moindre de carrée......................................... 24
Calibrage à la référence scène............................................. 25
Détermination de la distorsion induit par la perspective......... 27
Représentation et Formation d'Images
Séance 1
Formation des Images
La perception visuelle humaine
Fovéa
αmin = 1 minute
Cornéa
L'oeil Humain est une sphere pilotable en θ, ϕ, et ψ.
L'image est detecté par les recepteurs dans le fovéa.
À une distance de 30 cm, 1 min d'arc est environ 0.0075 cm (0.003 inchs)
Ça correspond à un point ("dot") d'une imprimante à 300 ppp. (dots per inch).
La perception visuelle est une fonction logarithmique du contraste.
Si I o est le contraste minimale perceptible, le contraste apparente est
I1
L = log(I ).
o
L'acuité minimum de l'oeil humain est environ 1 minute d'arc.
Ça dépend du contraste.
La Rétine Humaine
Nerf Optique
Fovéa
(cônes)
Fovéa
Cornéa
Périphéríe
(bâtonnets)
Spectre de la lumière visible pour l'homme :
Le système humain est composé de bâtonnets et de cônes.
1-2
Représentation et Formation d'Images
Séance 1
Les bâtonnets sont responsables de la perception achromatique et des lumières
atténuées.
Ils sont formés d'une pigmentation, la rhodopsine, sensible à tout le spectre,
avec une sensibilité maximum de 510 nm (vert).
Ils sont dans la périphérie de la rétine, et donnent une perception de plus faible
résolution.
Les cônes sont responsables de notre vision chromatique.
Ils sont concentrés dans une zone appelée la fovéa.
Il y a trois sortes de cônes, distingués par leurs pigments :
cyanolabe α (445 nm),
chlorolabe β (535 nm), et
erythrolabe γ (570 nm)
1
Reponse
Relative
β
γ
0.5
α
λ
300
400
500
600
700
800 nm
La transformation entre stimuli de cônes et perception de couleur est un phénomène
de la perception humaine qui n'est pas encore bien modélisée.
1-3
Représentation et Formation d'Images
Séance 1
L'Horopteur :
∆ = +σ
Point de Fixation
∆ =0
∆ =–σ
B CD
Horopteur :
B
C
D
La locus des points dans la scène pour lesquels
la disparité est (proche de) zéro.
L'Horopteur est une sorte de Filtre. Il limite l'information traité.
Horopteur Géometrique :
F
Fixation
Point
P
Interest
point
2µ
Primary
Line of
Sight
Corresponding
Visual Rays
αl
Left
Retina
ηr
ηl
αr
Right
Retina
Fixation Center
Surface de disparité null: ηl = ηr
1-4
Représentation et Formation d'Images
Le cercle Vief - Muller :
Séance 1
Z
2η
η
η
αr
αl
x
Version et Vergence
Z
Z
2η
∆αl
∆αl
∆αr
αc
Version: ∆α l = ∆α r
∆αr
αc
x
Vergence
X
∆α L ≠ ∆α R
Le système de perception visuel humain est un système actif
qui intégre motricité, réaction et déliberation.
1-5
Représentation et Formation d'Images
Séance 1
Modèle de la Caméra
Modèle de la Caméra Géométrie Physique
Y
j
•
X
Z
Axe Optique
•
i
F
Objective
Rétine
Modèle Mathématique: Projection Centrale
Les coordonnées de l'image sont main gauche.
Y
i
P = (X , Ys , Z s)
s
s
Pc = (X c, Y c , Z c)
F
X
•
•
Z
Image
Objective
Axe Optique
Pi = (i, j)
=> (x r, y r, 0)
j
Affichage d'une image
Image
Ecran
1-6
Représentation et Formation d'Images
Séance 1
Format Binaire (Bit Map et Pix Map)
Pixel = Picture Element.
Une image est un tableau de pixels:
O
0
NCols-1
0
NRows-1
Question : Est-ce-que les pixels sont "carrés"?
Réponse : non. (Ça dépend de l'affichage).
Le nombre de pixels de l'image dépend de la matérielle.
Silicon Graphics : 768 colonnes x 576 lignes
VGA : 640 x 480
1-7
Représentation et Formation d'Images
Séance 1
La trame entrelaçais
A fin de minimisé les effets d'affichage, les images sont souvent affichées
(et acquises) en trame entrelaçais.
Lignes "paires".
•
••
0
2
4
NRows-2
Lignes "impaires".
•
••
1
3
5
NRows-1
Ceci peut avoir les effets néfastes pour la perception du mouvement.
1-8
Représentation et Formation d'Images
Séance 1
Représentation en mémoire des images
En mémoire, l'image est un tableau 1-D
0
1
2
•••
NRows-1
ptr
Le vecteur est créé par
unsigned char *image;
image = (unsigned char *) malloc(nRows * nCols * sizeof(char));
L'adresse d'un pixel à colone i, ligne j est :
ptr = (pixel *) sizeof(pixel) * (j . nCols + i);
Deux façons d'aceder au pixel à colone i, ligne j.
for(j=0; j < nRows; j++)
for(i=0; i < nCols; i++)
image[ptr++] = getPixel(i, j, image2, nCols, nRows);
Il est current de définir une procédure d'access "getPixel". Par exemple :
unsigned char getpixel( int i; int j; unsigned char *image; int nCols; int nRows; )
{
int ptr;
ptr = j * nCols + i;
if (ptr > nCols * nRows) return (Err);
else return( image[ptr]);
}
1-9
Représentation et Formation d'Images
Séance 1
Modèle Mathématique de la Formation d'Image
Modèle de la Caméra Géométrie Physique
Y
j
•
X
Z
Axe Optique
•
i
F
Objective
Rétine
Modèle Mathématique: Projection Centrale
Les coordonnées de l'image sont main gauche.
Y
i
P = (X , Y , Z s)
s
s
s
P = (X c, Yc , Z )
c
c
F
X
•
•
Z
Image
Objective
Axe Optique
Pi = (i, j)
=> (x r, y r, 0)
j
Les Repères
Coordonnées de la Scène :
s
Point Scène :
P = (xs, y s, z s)
Coordonnées de la Caméra :
c
Point Caméra :
P = (xc, y c, z c )
r
Point Rétine :
P = (xr , y r )
Coordonnées de l'Image :
i
Point Image :
P = (i, j)
1-10
Représentation et Formation d'Images
Séance 1
Une image, rendu par une numériseur, est un tableau de pixels:
O
NCols-1
0
0
NRows-1
Transformation rétine->image
Échantillonnage et Numérisation :
E
t
Les Paramètre Intrinsèque de la Caméra :
F :
Distance Focale
Ci, C j: Centre Optique de l'Image (en pixels)
Di, D j : Taille Physique d'un Pixel dans la Rétine (pixel/mm)
xr =
i – Ci
Di
yr = –
j – Cj
Dj
i = xr Di (mm . pixel/mm) + Ci (pixel)
j = –yr Dj (mm . pixel/mm) + Cj (pixel)
1-11
Représentation et Formation d'Images
Transformation entre repère de l'image et repère de la rétine :
i
P=
i
rC
Séance 1
r
P
 i   D i 0 C i   xr 
 j  =  0 –D j C j   yr 
 1 
   0
0 1   1 
ou bien:
w iP =
i
rC
w RP
 wi  D i 0 C i   wxr 
 wj =  0 –D j C j   wyr 
w 
   0
0 1   w 
Qu’est-ce que “w” ?
Les coordonnées homogènes
Problème :
Représenter les transformations entre des systèmes de coordonnées
avec une notation uniforme
Technique :
Coordonnées Homogènes
Outil de base en :
Principe :
Vision par Ordinateur
Graphisme 3-D
Robotique
Représentation d'une transformation d'ordre N
avec une Matrice de dimension N+1.
Coordonnées
Cartésiennes
Coordonnées
Homogènes
(x, y, z)
(x = wx/a, y = wy/a, z = wz/a)
(x, y, z, 1)
(wx, wy, wz, w) avec w = a
w est le paramètre d' "échelle".
w sert à rendre linéaires les transformations qui contiennent des divisions.
Dans les coordonnées homogènes, les translations, rotations, transformées affines et
perspectives sont représentées par les produits des matrices.
1-12
Représentation et Formation d'Images
Séance 1
Translation
Addition en espace cartésien
Multiplications en Coordonnées Homogènes
y1
(Tx, Ty)
01 x1
y2
x2
02
T est un vecteur (vecteur de translation) de P1 vers P2
i.e.
x2 = x1 + Tx
y2 = y1 + Ty
z2 = z1 + Tz
1 = 1
donc
2
P = 12T 1P
ou
x2
y2 =
z2 
1
Notation :
2
1T
1
0
0
0
0
1
0
0
0
0
1
0
T x
T y
T z
1 
x1
y1
z1 
1
= Transformation de repère 1 vers repère 2.
1-13
Représentation et Formation d'Images
Rotation
Séance 1
y
φ
θ
γ
x
z
Au tour de l'axe X :
Rx(θ)
 10
= 0
0
0
0
0
Cos(θ) -Sin(θ) 0
Sin(θ) Cos(θ) 0 
0
0
1
l'axe Y :
Ry(φ )
) 0
Cos(φ
0
1
=  -Sin(φ ) 0
 0 0
S i n (φ )
0
Cos(φ )
0
0
0
0 
1 
l'axe Z :
Rz(γ)
Cos(γ) -Sin(γ) 0
Sin(γ)
Cos(γ) 0
= 0
0
1
 0
0
0
0
0
0
1
En Générale :
T

=

R
0
0
0
Tx
Ty
Tz
1



1-14
Représentation et Formation d'Images
Usage des Coordonnées Homogènes en Robotique
3T
2
2
Séance 1
4
T3
Tr
R
Les articulations sont nommées 1 à 6.
Chaque articulation et modélisée par une rotation et une translation.
Expression d'un point dans la scène rX par rapport au pince eX
e
X=
e
5
4
3
2 1
r
5T 4 T 3 T 2 T 1 T r T X
ou plus généralement:
e
X=
e
r
rT X
(Repère "e" pour effecteur)
Transformer une point X r par rapport au base à
une point X e par rapport au effecteur
Pour la vision :
Paramètre Externe de la Caméra: ( csT )
Transformation entre les repère Caméra et les repère Scène
1-15
Représentation et Formation d'Images
Séance 1
Description des transformations scène -> image
w iP =
But :
i
s
sM P
Paramètres Extrinsèques de la Caméra :
Transformation entre repère Camera et repère Scène :
c
P =
c
s
sT P
w iP = ir C rc P cP
Paramètres Intrinsèques de la Caméra :
Matrice de Projection rc P du repère Caméra vers le repère Rétine
w RP =
R
c
cP P
Transformation entre repère image et repère caméra
w iP =
i
RC
w RP
Composition :
w iP = ir C rc P csT sP =
i
s
sM P
Transformations scène -> rétine: le modèle Sténopé
Projection des Points de la Scène vers la Rétine
(Dans le repère de la Rétine)
X
(xr)
•
•
F
Zc
(xc , zc)
Z
Dans le repère de la caméra :
(xc, y c, z c) : Point dans la scène
(xr , y r , 0) : Point dans la rétine
1-16
Représentation et Formation d'Images
Avec l’origine dans la rétine, par triangles semblables :
xr
Xc
=
F
(F + Z c)
=>
Séance 1
Xc F
xr = ( F + Z )
c
Équations de perspective: (centre dans la rétine)
Xc F
xr = (F+Z )
c
Yc F
yr = (F+Z )
c
zr = 0
Remarque : la présence de zc est nécessaire. (profondeur du point dans la scène)
Simplification : placer l’origine au point de projection :
xr Xc
F = Zc
=>
xr =
Xc F
Zc
yr Yc
F = Zc
=>
yr =
Yc F
Zc
zr = F
1-17
Représentation et Formation d'Images
Équations de Perspective en Coordonnées Homogènes
(avec l’origine au point de projection ) :
w x r = Xc
w y r = Yc
w zr = Z c
Zc
w= F
Séance 1
(mais on peut exclure zr)
et donc w RP = [wxr , wy r , w ] T
La transformation du repère Caméra vers le repère Rétine est :
w RP =
r
c
cP P
 wxr   0
 wyr  =


 w  0

et donc :
r
cP
1 0 0 0  xc
1 0 0  yc
1
z
0 F 0   c 
1
=




1 0 0 0
0 1 0 0
1
0 0 F 0 
Noter que rc P n'est pas réversible .
1-18
Représentation et Formation d'Images
Projection d'un point de la scène vers un point de l'image
=> w iP = ir C rc P csT sP =
Séance 1
i
s
sM P
Paramètres Extrinsèques de la Caméra: ( csT )
Transformation entre repère Camera et repère Scène :
c
P =
c
s
sT P
Paramètres Intrinsèques de la Caméra :
Transformation entre repère image et repère caméra
r
cP
du repère Caméra vers le repère Rétine
et
i
r C : du repère Rétine vers le repère Image
w iP = ir C w RP
w RP =
et
r
c
cP P
=> w iP = ir C rc P cP
P =
c
s
sT P
=> w iP = ir C rc P csT sP =
i
s
sM P
Dans le repère de la scène :
c
Projection inverse, du repère image vers le repère scène :
s
P=
c -1
sT
r -1
cP
i
-1
rC
w iP
Cependant, l'inversion de la transformation perspective rc P -1 implique la
connaissance de la profondeur, Zc, pour chaque pixel.
1-19
Représentation et Formation d'Images
Séance 1
Resumé : Les transformations
1) Transformation entre le repère Scène et le repère Caméra.
(Paramètre Externe de la Caméra )
c
c
s
sT P
P =
c
sT

=

R
0
0
0
Tx
Ty
Tz
1



2) La transformation du repère Caméra vers le repère Rétine est :
w RP =
r
cP
=




r
c
cP P
1 0 0 0
0 1 0 0
1
0 0 F 0 
3) Transformation entre repère de l'image et repère de la rétine :
Les Paramètre Intrinsèque de la Caméra :
F :
Distance Focale
Ci, C j: Centre Optique de l'Image (en pixels)
Di, D j : Taille Physique d'un Pixel dans la Rétine (pixel/mm)
i
P=
i
rC
r
P
 i   D i 0 C i   xr 
 j  =  0 D j C j   yr 
 1 
 
   0 0 1  1 
4) Projection d'un Point de la scène vers un point de l'image
w iP = ir C rc P csT sP =
i
s
sM P
1-20