modelul de reprezentare a imaginilor image …users.utcluj.ro/~tmarita/svr/c1.2.pdf ·...
TRANSCRIPT
SVR Technical University of Cluj Napoca
Computer Science Department
MODELUL DE REPREZENTARE A IMAGINILOR
Image Representation Model
SVR Technical University of Cluj Napoca
Computer Science Department
Scop / aim:
prezentarea principalilor parametri ai imaginilor (image parameters) si ai sistemelor de
achiziţie (image acquisition systems)
principiile procesului de formare a imaginilor
Elementele de bază ale unei camere de luat vederi
SVR Technical University of Cluj Napoca
Computer Science Department
Parametrii dispozitivului senzorial (sensor parameters)
Dimensiuni standard ale senzorilor din camerele de luat vederi
Parametrii senzorului CCD/CMOS respectiv a imaginii în memorie
SVR Technical University of Cluj Napoca
Computer Science Department
Parametrii senzorului / senzor parameters:
Sx – lăţimea dispozitivului CCD [mm] (valorile standard sunt prezentate în figura de mai sus);
Sy – înălţimea dispozitivului CCD [mm] (valorile standard sunt prezentate în figura de mai sus);
Ncx – numărul elementelor senzoriale pe direcţia orizontală;
Ncy – numărul elementelor senzoriale pe direcţia verticală;
dx – distanţa dintre centrele a două elemente senzoriale consecutive pe direcţie orizontală:
dx = Sx/Ncx
dy - distanţa dintre centrele a două elemente senzoriale consecutive pe direcţie verticală:
dy = Sy/Ncy
Parametrii imaginii (din memorie) / image parameters:
Nfx – numărul de pixeli în direcţia orizontală, prin scalarea / eşantionarea unei linii de imagine orizontală de
către computer / framegrabber;
Nfy – numărul de pixeli în direcţia verticală
dpx – dimensiunea orizontală efectivă a unui pixel din memorie: dpx = dx* Ncx / Nfx;
dpy – dimensiunea verticală efectivă a unui pixel din memorie: dpy = dy* Ncy / Nfy;
Ncx / Nfx – factorul de scalare / eşantionare a liniilor de imagine orizontale.
SVR Technical University of Cluj Napoca
Computer Science Department
Formatul de reprezentare a imaginilor (image formats)
- rezolutia spatiala / spatial resolution : NX x NY (Width x Height)
- rezolutia / adâncimea de culoare / color depth := numarul de culori/nuanţe codificate intr-un pixel
n = 1, 4, 8, 16, 24, 32 …. Biti / pixel 2n culori / nuante
Bitmap Header
(LPBITMAPINFO)
Bitmap data (pixeli)
Width
Height
lpS
lpSrc
pixel linia i
coloana j
3 bytes
Bitmap Header
(LPBITMAPINFO)
LUT (Paleta de culori)
RGBQUAD (4 bytes):
R G B
Bitmap data (pixeli)
pixel
Width
Height
lpS
lpSrc
iColors = 2n
n = 1, 4 sau 8
(n – nr. biţi/pixel)
bmiColors
Structura fisier bitmap cu paleta de culori/nuante (1, 4, 8 biti/pixel) Structura fisier bitmap RGB24 (24 biti/pixel)
SVR Technical University of Cluj Napoca
Computer Science Department
Reprezentarea culorilor / nuanţelor
Modelul de culoare RGB
RGB Culoarea fiecărui pixel (atât pentru echipamentele de achiziţie – camere) cât şi pentru afişare (TV, CRT, LCD) se obţine prin combinaţia a trei culori primare: roşu, verde şi albastru
(Red, Green şi Blue)
spaţiu de culoare aditiv (R+G+B Alb)
Imagini “grayscale” /monochrome:
R = G = B (diagonal principala a cubului)
Modelul de culoare RGB mapat pe un cub. În acest exemplu fiecare culoare este
reprezentată pe câte 8 biţi (256 de nivele) (imagini bitmap RGB24). Numărul total de
culori este 28x28x28 = 224 = 16.777.216.
SVR Technical University of Cluj Napoca
Computer Science Department
Reprezentarea culorilor / nuanţelor
Modelul de culoare CMY
CMY: spaţiu de culoare complementar faţa de RGB folosit la dispozitive de imprimare color (plotere / imprimante)
CMY model diferential (“substractive”):
Alb = absenta componentelor de culoare
Negru = C + M + Y
Modelul de culoare CMYK
SVR Technical University of Cluj Napoca
Computer Science Department
PROCESUL DE FORMARE/ACHIZITIE A IMAGINILOR
Image Acquisition and Formation Process
SVR Technical University of Cluj Napoca
Computer Science Department
Tipuri de senzori / sensors
Senzori CCD (Charged Coupled Device) Senzori CMOS
SVR Technical University of Cluj Napoca
Computer Science Department
CMOS vs. CCD
TABLE 1
Comparison of CCD and CMOS Image Sensor Features
CCD CMOS
Smallest pixel size Single power supply
Lowest noise Single master clock
Lowest dark current Low power consumption
~100% fill factor for full-frame CCD X, Y addressing and subsampling
Established technology market base Smallest system size
Highest sensitivity Easy integration of circuitry
Electronic shutter without artifacts
SVR Technical University of Cluj Napoca
Computer Science Department
Senzori color (color sensors)
http://www.siliconimaging.com/RGB%20Bayer.htm
http://www.zeiss.de/c1256b5e0047ff3f/Contents-Frame/c89621c93e2600cac125706800463c66
SVR Technical University of Cluj Napoca
Computer Science Department
Decodificarea pattern-ului Bayer (Bayer pattern decoding)
Calitatea imaginii (Bayer pattern vs. 3CCD) ???
SVR Technical University of Cluj Napoca
Computer Science Department
Transferul imaginilor / image transfers Camera (iesire analogica/digitala) Frame Grabber (imagine digitala)
Standarde dedicate de transmisie digitala:
Dedicate
Camera Link: 1.2Gbps (base) ... 3.6Gbps (full)
RS 422 / EIA-644 (LVDS): 655Mbps
IEEE 1394: 400 Mbps / 800 Mbps (Firewire)
Universale
GigaE Vision: 1Gbps, (Gigabit Ethernet protocol), Cabluri low cost (CAT5e or CAT6), 100m distanta
USB 3.1 "SuperSpeed+": 10Gbps
USB 3.0 "SuperSpeed": 5Gbps
USB 2.0: 480 Mbps
USB 1.1 :12 mbps
SVR Technical University of Cluj Napoca
Computer Science Department
Procesul de formare al imaginii / image formation
Modelul cu „lentile subţiri” (Thin lense model)
Constrângerile modelului / model constraints [Trucco1998]:
1. Orice rază optică care intră prin lentilă paralelă cu axa optică, va trece pe cealaltă parte prin punctul
focal;
2. Orice rază optică care intră în lentilă trecând prin punctul focal va emerge paralelă cu axa optică;
3. Raza optică care intră în lentilă trecând prin centrul O al acesteia, nu îşi va schimba traiectorie la
ieşire. Acest tip rază se numeşte rază principală.
SVR Technical University of Cluj Napoca
Computer Science Department
Focalizarea imaginii / Image focusing
Obţinerea unei imagini focalizate:
1. Prin reducerea diametrului aperturii / diafragmei la un punct (camera aşa numită „pinhole): model teoretic
2. Prin introducerea unui sistem optic (obiectiv) compus din lentile, diafragme şi alte componente, proiectat pentru a
face ca toate razele optice care îşi au originea de la acelaşi punct 3D din scenă să conveargă într-un punct unic pe
planul imagine.
Cercul de confuzie / confusion circle (c)
Imagine defocalizata: proiectia cercului de confuzie pe planul imagine > 1 pixel;
Imagine focalizata: proiectia cercului de confuzie pe planul imagine < 1 pixel;
Adâncime de focalizare (depth of field): = intervalul de distnta (in jurul planului de focalizare) pentru care imaginea
este focalizata
SVR Technical University of Cluj Napoca
Computer Science Department
Modelul perspectivă al camerei (perspective / pinhole)
Apertura / diafragma sunt aproximate cu un punct (centrul de proiecţie) principiul coliniarităţii modelului cu lentile subţiri
(constrângerea 3)
Ecuaţiile fundamentale ale modelului perspectivă al camerei sunt [Trucco1998]:
Fundamental equations of the model:
Unde: [ XC, YC, ZC ] sunt coordonatele punctului P în sistemul de coordonate al camerei
[ x, y, -f ] sunt coordonatele punctului p în sistemul de coordonate al camerei
C
C
C
C
Z
Yfy
Z
Xfx
SVR Technical University of Cluj Napoca
Computer Science Department
Parametrii fizici ai camerelor (camera parameters)
Parametrii intrinseci / intrinsic parameters – descriu caracteristicile optice şi geometrice ale camerei
(caracteristicile interne ale camerei):
distanţa focală (focal distance)– distanţa dintre centrul optic al sistemului de lentile al obiectivului şi
planul imagine: f;
punctul principal (principal point)– coordonatele centrului real al imaginii (intersecţia axei optice a
obiectivului cu planul imagine) in coordonate imagine (pixeli) : (u0,v0);
coeficienţii de distorsiune radială şi tangenţială ai lentilelor obiectivului (radial and tangential distortion
coefficients).
SVR Technical University of Cluj Napoca
Computer Science Department
Transformarea de coordonate dintre sistemul de referinţă al camerei şi planul imagine
(projection / normalization) : P = [XC, YC, ZC]T [unit. metrice] p = [u, v]T [pix]
1. Transformarea P = [XC, YC, ZC]T p = [x, y, -f]T
Sistemul ecuaţiilor fundamentale ale modelului pinhole: pentru coordonate normalizate (cu 1/Z):
N
N
CC
CC
y
xf
ZY
ZXf
y
x
/
/
(1)
2. Transformarea coordonatelor punctului p din unităţi metrice [x, y]T in coordonate imagine [u, v]T [pix]
0
0
v
u
yD
xD
v
u
v
u
(2)
(1) + (2) ecuaţia de proiecţie:
11
N
N
y
x
Av
u
(3)
f – distanta focala [unit. metrice]
xN, yN - coordonate normalizate (cu 1/Z):
Du, Dv – coeficienţi de transformare unităţi metrice în pixeli:
Du = 1 / dpx; Dv = 1 / dpy;
100
0
0
0
0
vf
uf
A Y
X
matricea interna a camerei
fX – distanţa focală exprimată în unităţi de pixeli orizontali: dpx
fDff uX
fY – distanţa focală exprimată în unităţi de pixeli verticali: dpy
fDff vY
SVR Technical University of Cluj Napoca
Computer Science Department
Transformarea inversă din coordonatele imagine în sistemul de coordonate al camerei
(reconstruction): p = [u, v]T [pix] P = [XC, YC, ZC]T [unit. metrice]
11
1 v
u
Ay
x
N
N
(4)
OBSERVATIE: Cu o singura camera nu putem determina Z (adâncimea), doar coordonatele normalizate (ecuaţia dreptei
de proiecţie) – no depth recovery with monocular vision !!!:
C
CC
N
N
ZYc
ZX
y
x
/
/ (5)
Pentru determinarea adâncimii: minim 2 camere (sistem stereo / stereovision system).
SVR Technical University of Cluj Napoca
Computer Science Department
Modelarea distorsiunilor lentilelor (distortion modeling)
Distorsiunea radiala / radial distortion (erori de curbura a lentilelor)
Distorsiunea tangenţiala (erori de nealiniere a centrelor de curbura a lentilelor)
xypyrp
xrpxyp
y
xt
t
222
1
2221
2)2(
)2(2
Transformarea coordonatelor punctului p din unităţi metrice [x, y]T in coordonate imagine [u, v]T [pix]:
0
0
)(
)(
v
u
yyyD
xxxD
v
utr
v
tr
u
(6)
OBSERVATIE: Ec de proiecţie (6) devine neliniară !!!
Soluţia: corecţie distorsiuni pe imagine proiectie / reconstrucţie folosind modelul liniar.
...
...4
2
2
1
4
2
2
1
rkrky
rkrkx
y
xr
r r2 = x2 + y2;
k1, k2, … - coeficienţii de distorsiune radială
p1, p2 – sunt coeficienţii de distorsiune tangentiala.
SVR Technical University of Cluj Napoca
Computer Science Department
Ilustrarea efectului distorsiunii radiale: k1= -0.22267 k2= 0.05694 k3= -0.00009 k4= 0.00036 k5= 0.00000 Lentila Schneider, f=4.5 mm.
SVR Technical University of Cluj Napoca
Computer Science Department
Corecţia distorsiunilor lentilelor / distortion correction
Gradul de degradare al imaginilor datorat distorsiunii lentilelor este proporţional cu valoarea
coeficienţilor.
Valoarea acestor coeficienţi depinde de calitatea lentilelor, distanţa focală etc.
Ponderea cea mai mare în degradarea imaginii o au componentele radiale.
În tabelul următor se prezintă valorile medii ale acestor coeficienţi pentru obiectivele CCTV Pentax-
Cosmicar testate în diverse experimentele de calibrarea camerelor:
Distanţa focală [mm]
Coeficienţi de distorsiune
k1 k2 p1 p2
16 mm -0.1420 -0.1190 0.0004 0.0014
8.5 mm -0.2070 0.2780 0.0018 -0.0011
6.5 mm -0.2100 0.1200 0.0020 0.0007
Valori medii ale coeficienţilor de distorsiune obţinuţi prin calibrare pentru obiective CCTV Pentax-Cosmicar cu diverse distanţe focale.
SVR Technical University of Cluj Napoca
Computer Science Department
Efectul de degradare se manifestă prin deplasarea poziţiei punctelor proiectate pe imagine de-a lungul
unor direcţii radiale (cu centrul în punctul principal al imaginii) cu o valoare r=[x y]T Acest efect este
neglijabil pentru pixelii centrali şi se accentuează pentru pixelii de la periferia imaginii :
xypyrprkrky
xrpxyprkrkx
yy
xx
y
xtr
tr
2
22
1
4
2
2
1
22
21
4
2
2
1
2)2(
)2(2
(7)
Ilustrare a efectului distorsiunii lentilelor. Imaginile prezentate au fost obţinute făcând diferenţa între imaginea distorsionată şi imaginea corectată. Diferenţele apar cu tonuri de gri şi sunt mai accentuate In zonele cu muchii mai
depărtate de centrul imaginii. In zonele centrale diferenţele sunt aproape nule.
SVR Technical University of Cluj Napoca
Computer Science Department
Algoritmul de corecţie al distorsiunilor / distortion correction
Ideea care stă la baza algoritmului de corecţie este că, între pixelii celor cele două imagini (cei
distorsionaţi (x’, y’) = (x+x,y+y) şi cei ne-distorsionaţi/corectaţi (x, y)) există o corespondenţă biunivocă, astfel că pentru fiecare locaţie (x, y) din imaginea corectată (exprimată în sistemul de coordonate al camerei) îi va corespunde o valoare de intensitate de la locaţia (x’, y’) calculată cu formulele (7). Deoarece coordonatele (x’, y’) sunt valori flotante se va lua valoarea de intensitate interpolată de la această locaţie din imaginea achiziţionată (distorsionată).
Algoritmul de corecţie:
Pentru fiecare pixel de la locaţia “întreaga” (u,v) din imaginea corectată D:
Se calculează coordonatele (x, y) în sistemul de coordonate al camerei:
y
X
f
vvy
f
uux
0
0
(8)
Se calculează coordonatele corespunzătoare din imaginea distorsionată/initiala (S) în sistemul de
coordonate al camerei (x’, y’) = (x+x,y+y) cu ajutorul (7)
Pentru aceste coordonate distorsionate (x’, y’) se calculează coordonatele corespunzătoare în pixeli:
y
X
fyvv
fxuu'
0
'
'
0
'
(9)
SVR Technical University of Cluj Napoca
Computer Science Department
Se atribuie valorii intensităţii de la locaţia (u, v) din imaginea corectată D valoarea interpolată din imaginea distorsionată S de la locaţia (u’, v’):
)','(),( vuSvuD (10)
Metoda de interpolare folosită este cea bi-liniară care dă rezultate calitativ similare cu metoda de interpolare bi-cubică dar cu un efort computaţional mai scăzut.
Ilustrarea procesului de interpolare liniara a intensităţilor din imagine.
u0 = int(u’);
v0 = int(v’);
u1=u0+1;
v1=v0+1;
I0 = S(u0,v0))*(u1 – u’)
+ S(u0,v1))*(u’ - u0);
I1 = S(u0,v1))*(u1 – u’)
+ S(u1,v1))*(u’ - u0);
D(u,v)= I0 *(v1 – v’) + I1*(v’ - v0);
SVR Technical University of Cluj Napoca
Computer Science Department
Parametrii extrinseci (extrinsic parameters)
Poziţia şi orientarea (3D pose) sistemului de coordonate 3-D asociat camerei relativa la sistemul de
coordonate asociat lumii
Necesari pentru a transforma coordonatele unui punct din sistemul de coordonate al lumii in sistemul de
coordonatele al camerei şi invers)
Vectorul de translaţie T = [ Tx, Ty, Tz ]T ; (translation vector)
Vectorul de rotaţie r = [ Rx, Ry, Rz ]T sau matricea de rotaţie echivalentă
(rotation vector / matrix)
Rx – pitch angle; Ry – yaw angle; Rz – roll angle
În sistemele stereo cu mai multe camere, parametrii extrinseci ne permit de asemenea să exprimăm şi
relaţia spaţială dintre aceste camere (stereo system - relative camera parameters)
333231
232221
131211
rrr
rrr
rrr
R
SVR Technical University of Cluj Napoca
Computer Science Department
Maparea directă (din sistemul lumii în sistemul camerei) – direct mapping
Punct 3D: XXW = [ XW , YW , ZW ]T (sistemul de coordonate al lumii - WRF) XXC = [XC , YC , ZC]T (sistemul de
coordonate al camerei – CRF)
WCWWCC TXXRXX (5)
unde: TWC = [TX TY TZ]T – vectorul de translaţie din sistemul lumii în sistemul camerei
(pozitia centrului sistemului de coordonate al lumii in sistemul de coordonate al camerei);
RWC – matricea de rotaţie din sistemul lumii în sistemul camerei;
SVR Technical University of Cluj Napoca
Computer Science Department
Maparea inversa (din sistemul camerei în sistemul lumii) – inverse mapping
Punct 3D: XXC = [XC , YC , ZC]T (sistemul de coordonate al camerei – CRF) XXW = [ XW , YW , ZW ]T (sistemul de
coordonate al lumii - WRF)
)(1
WCCWCW TXXRXX
(6)
Matricea de rotaţie este ortogonală [Trucco1998]: 11 RRRRRR
TTT
CWCCWWCC
T
WCW TXXRTXXRXX )( (7)
unde: TCW = [TX TY TZ]T – vectorul de translaţie din sistemul camerei în sistemul lumii: WC
T
WCCW TRT
(pozitia centrului sistemului de coordonate al camerei in sistemul de coordonate al lumii);
RCW – matricea de rotaţie din sistemul camerei în sistemul lumii: T
WCCW RR
SVR Technical University of Cluj Napoca
Computer Science Department
Semnificatia elementelor matricii de rotatie (rotation matrix elements)
YW
Z
YW
Z
XW
Z
YW
Y
YW
Y
XW
Y
ZW
X
YW
X
XW
X
ZWYWXW
WC
nnn
nnn
nnn
rrr
rrr
rrr
nnnR
333231
232221
131211
(8)
where:
TXW
Z
XW
Y
XW
X
XW nnnn – vectorul normal corespunzator axei OXW a in sistemul de coordinate al camerei
TYW
Z
YW
Y
YW
X
YW nnnn – vectorul normal corespunzator axei OYW a in sistemul de coordinate al camerei
TZW
Z
ZW
Y
ZW
X
ZW nnnn – vectorul normal corespunzator axei OZW in sistemul de coordinate al camerei
YC
Z
YC
Z
XC
Z
YC
Y
YC
Y
XC
Y
ZC
X
YC
X
XC
X
ZCYCXCT
WCCW
nnn
nnn
nnn
rrr
rrr
rrr
nnnRR
332313
322212
312111
(9)
where:
TXC
Z
XC
Y
XC
X
XC nnnn – vectorul normal corespunzator axei OXC a in sistemul de coordinate al lumii
YTYC
Z
YC
Y
YC
X
YC nnnn – vectorul normal corespunzator axei OYC a in sistemul de coordinate al lumii
TZC
Z
ZC
Y
ZC
X
ZC nnnn – vectorul normal corespunzator axei OZC in sistemul de coordinate al lumii
SVR Technical University of Cluj Napoca
Computer Science Department
Mapare directă completa (3D world) (2D image) – folosirea matricii de proiectie
Matricea de proiectie (projection matrix):
WCWC TRAP | (10)
Punct 3D din lume de coordonate [ XW , YW , ZW ]
11
W
W
W
S
S
S
Z
Y
X
z
y
x
v
u
s P (11)
Obţinerea coordonatelor imagine 2D:
SS
SS
zy
zx
v
u
/
/
(12)
SVR Technical University of Cluj Napoca
Computer Science Department
Mapare directă completa (2D image) (3D world)
Metodă aproximativă de măsurarea a distantelor cu o camera mono (scenariu specific)
Se poate realiza in anumite conditii simplificatoare:
OW (originea sistemului de coordinate al lumii) este proiectia pe planul orizontal (sol/podea/drum) a centrului optic al camerei (OC)
OWZW si OCZC sunt coplanare
Inaltimea height si ungiul de inclinare (pitch) ale camerei sunt fixe si cunoscute (exemplu de scenariu specific pt. camera de supraveghere – monitorizarea traficului de pe autostrada/sosea)
Date de intrare
Parametrii intrinseci ai camerei:
fX = distanta focala in unitati de pixeli orizontali
fY = distanta focala in unitati de pixeli verticali
p0(u0, v0) = punctului principal
Parametrii extrinseci ai camerei
= unghiul de inclinare al camerei (pitch)
height = inaltimea camerei fata de planul orizontal
p1(u1,v1) = proiectia pe imagine a punctului curent (de masurat) P1(X,0,Z) din planul orizontal
p2(u2,v2) = proiectia pe imagine a unui punct P2(X,Y,Z) aflat la o inaltime Y deasupra punctului P1
Date de iesire Coordonatele 3D ale punctelor P1 si P2 in sistemul de coordonate al lumii .
SVR Technical University of Cluj Napoca
Computer Science Department
1. Se va realiza mai intai o proiectie laterala pe planul YWOWZW (side-view) a punctelor din scena (XW = 0) (fig. de mai jos). Punctul P1 se proiecteaza in P10, p1 se proiecteaza in p10, P2 se proiecteaza in P20 etc. Calculul unghiului facut de segmentul [OCP10] cu axa optica a camerei se obtine din relatiile trigonometrice scrise in triunghiul OCp10p0 :
Yf
vv 011tan (3)
Calculul adancimii Z al punctului P1 (respective P10) in sistemul de coordonate al lumii se deduce din triunghiul
OCOWP10 :
)tan(][ 10
heightPOZ W (4)
In mod anlogic se calculeaza coordonatele (inaltimea) punctului P2 (respective P20). Din triunghiul dreptungic
OCp20p0 se deduce:
Yf
vv 021tan (5)
Din triunghiul dreptungic OCY2P20 se deduce:
)tan(][][ 2 ZheightYOOOYY CWC (6)
SVR Technical University of Cluj Napoca
Computer Science Department
2. Offsetul lateral X al punctului P1 fata de axa OWZW se poate deduce realizand proiectia de sus (top view sau bird-eye view) a scenei pe planul orizontal XWOWZW :
Din asemanarea trunghiurilor dreptunghice OWp10p1 si OWP10P1:
ZZO
uu
ZO
POppPPX
WW
W
1
01
1
10101101
)( (7)
Lungimea segmentului [OWZ1] (unde Z1 este poriectia punctului p10) se deduce din proiectia laterala (side-view):
)cos()cos(
)cos(101011
YCW
fpOpYZO (8)
Din (7) si (8):
)cos()cos(
)( 01
Z
f
uuX
Y
(9)
Valoarea lui X se poate deduce si din vederea in perspectiva a scenei (prima figura de sus), scriind relatia de asemanare dintre triunghiurile
OCp10p1 si OCP10P1 rezultand relatia (10) care este echivalenta cu (9):
)cos()( 2201
Zheight
f
uuX
Y (10)
Nota: la camerele actuale se poate considera fx=fy=f [pixeli] !
SVR Technical University of Cluj Napoca
Computer Science Department
NOTIUNI ELEMENTARE DE STEROVIZIUNE
SVR Technical University of Cluj Napoca
Computer Science Department
STEROVIZIUNE (StereoVision)
Ec. fundamentale ale modelului pinhole:
Z
Xfx (1)
Z
Yfy
P(X,Y,Z) punct 3D in sist. coord. al camerei p(x,y,-f) proiecţia pe planul imagine Plecând de la (x, y) putem estima doar ecuaţia dreptei de proiecţie dar NU si adancimea Z !!!
Măsurarea lui Z Stereoviziune (minim 2 camere) Configuraţii sisteme stereo:
1. Canonica (cu axe paralele) - model teoretic imposibil de obtinut practic rectificarea imaginilor 2. Cu axe coplanare (neparalele) – model teoretic 3. Generala
SVR Technical University of Cluj Napoca
Computer Science Department
Modelul unui sistem de stereoviziune (binocular)
Setul complet al parametrilor unui sistem de stereoviziune:
Grup parametri Tip parametri Set parametri
Parametrii interni ai sistemului stereo
Parametrii intrinseci (un set / camera)
Punctele principale: PPL(x0L , y0L), PPR(x0R , y0R) Distanţa focală: fL(fXL, fYL), fR(fXR, fYR) Coeficienţii de distorsiune: - radială: (k1
L, k2L), (k1
R, k2R),
- tangenţială: (p1L, p2
L), (p1R, p2
R)
Parametrii extrinseci relativi (un set / sistem stereo)
CR
T
CLrel
CLCR
T
CLrel
RRR
TTRT )(
Parametrii externi ai sistemului stereo
Parametrii extrinseci absoluţi (un set / camera)
Pentru camerele individuale: Vectorii de translaţie: TCL, TCR Matricele de rotaţie : RCL, RCR Vectorii de rotaţie (se pot deduce din matricele de rotaţie) : rCL, rCR
Pentru sistemul stereo (stereo-rig): Vectorul de translaţie: TC-rig = TCL Matricea de rotaţie: RC-rig = RCL Vectorul de rotaţie: rC-rig = rCL
SVR Technical University of Cluj Napoca
Computer Science Department
Etapele procesului de stereoviziune
1. Realizarea sistemului stereo prin montarea a doua camere pe un suport rigid (stereo-rig), in configuraţia dorita
(posibila)
2. Calibrarea camerelor (parametrii intrinseci: f, punct principal; parametrii extrinseci: RCW, TCW).
3. Achiziţia de perechi imagini sincrone.
4. Rectificarea imaginilor (daca se doreşte reconstrucţie după modelul canonic).
5. Extragerea si selecţia de trasaturi de interes din ambele imagini (muchii verticale sau pixeli in cazul reconstrucţiei
dense.).
6. Realizarea corespondentei (matching) dintre trasaturile imaginii stânga si dreapta.
7. Calculul coordonatelor 3D ale punctului reconstruit in sistemul de coordonate al camerei/lumii.
Referinte stereoviziune [Pan1996] He-Ping Pan, “General Stereo Image Matching Using Symmetric Complex Wavelets”, Technology Park, Adelaide, Australia, 1996. [Ramesh1996] J. Ramesh, R. Kasturi, B. G. Schunk, “Machine Vision”, McGraw-Hill, Inc., 1996. [Trucco1998] E. Trucco, A. Verri , “Introductory techniques for 3D Computer Vision”, Prentice Hall, 1998.
SVR Technical University of Cluj Napoca
Computer Science Department
Reconstrucţie 3D in cazul canonic şi coplanar (canonic case)
Modelul stereo canonic (stânga). Ilustrare a procesului de proiecţie a unui punct 3D pe cele două planuri imagine după o
secţiune orizontală (dreapta).
Modelul canonic
d
bfZ
Z
bf
Z
XXf
Z
X
Z
Xfxxd
Z
Xfx
Z
Xfx
rl
r
l
21
2
2
1
1''
2
2'
1
1'
(2)
Modelul coplanar (cu axe neparalele)
)tan(
fd
bfZ (3)
SVR Technical University of Cluj Napoca
Computer Science Department
Reconstrucţie 3D în cazul general (general case)
D.p.d.v. geometric soluţia reprezintă mijlocul segmentului de lungime minimă ce uneşte cele doua drepte de proiecţie. Soluţia analitica: Rezolvarea sistemului de ecuaţii obţinut prin scrierea celor 2 ecuaţii de proiecţie
SVR Technical University of Cluj Napoca
Computer Science Department
Realizarea corespondenţei (corelaţiei) dintre trăsăturile pereche din cele două imagini stereo.
Acest proces poartă denumirea de stereo-corelaţie (stereo-matching) şi constă în punerea în
corespondenţă a unui punct din imaginea stângă PL cu corespondentul său din imaginea dreaptă PR,
unde PL şi PR sunt proiecţiile imagine ale aceluiaşi punct 3D PW. Există două abordări majore a
acestei probleme:
- reconstrucţia doar a unor trăsături de interes / feature/interest points (de exemplu puncte de
muchie / colturi)
- reconstrucţia tuturor punctelor din imagine (în măsura in care este posibil procesul de corelaţie
pentru un anumit punct) – reconstrucţie „densă”.
Reducerea spaţiului de căutare este o modalitate crucială care permite realizarea corespondenţei în
timp real atât prin algoritmi software cât şi hardware. În plus, se măreşte robusteţea procesului de
corelare prin reducerea fals-pozitivelor (prin limitarea spaţiului de căutare). Reducerea spaţiului de
căutare are la bază constrângerile impuse de geometria epipolară.
SVR Technical University of Cluj Napoca
Computer Science Department
Noţiuni de geometrie epipolara / epipolar geometry
- Planul format de punctul 3D PW şi centrele optice OL si OR (fig. 4.1.4) ale celor două camere se
numeşte plan epipolar (epipolar plane)
- Linia epipolară (epipolar line) este dreapta de intersecţie dintre planul epipolar şi planul imagine. Unui
punct 3D PW îi vor corespunde două linii epiploare: eL şi respectiv eR.
- Intersecţia dreptei ce trece prin cele două centre optice OL si OR (baseline-ul) cu cele două planuri
imagine se realizează în două puncte fixe (a căror poziţie depinde numai de parametrii interni ai
sistemului stereo) numite puncte epipolare (epipolar points) (câte unul pentru fiecare cameră).
- Toate dreptele epiploare ale unei camere se intersectează în punctul epipolar corespunzător.
SVR Technical University of Cluj Napoca
Computer Science Department
Principala constrângere a geometriei epipolare folosită la reducerea spaţiului de căutare în procesul de stereocorelaţie afirmă că, pentru fiecare punct PL(xL, yL) din imaginea stângă, corespondentul său din imaginea dreaptă PR(xR, yR) se va găsi pe linia epipolară corespunzătoare eR având următoarea ecuaţie (şi reciproc):
0 RRR cybxa
Parametrii liniei epipolare eR pot fi calculaţi cunoscând matricea fundamentală F (fundamental matrix) [Tru98], estimabilă dacă se cunosc parametrii interni ai sistemului stereo:
L
R
R
R
c
b
a
PF
unde :
1
L
L
L y
x
P - coordonatele omogene ale punctului PL;
11 L
T
R AEAF - matricea fundamentală (fundamental matrix);
SRE *LR - matricea esenţială; (essential matrix)
SVR Technical University of Cluj Napoca
Computer Science Department
RL AA , - matricele interne ale celor două camere (internal camera matricies)
CL
T
CRLR RRR - matricea de rotaţie relativă din sistemul camerei din stânga în sistemul camerei din
dreapta (relative rotation matrix)
)( LRL
T
ZYXLR TTT TTRT - este vectorul de translaţie relativă din sistemul camerei din stânga
în sistemul camerei din dreapta (relative translation vector)
0
0
0
xy
xz
yz
TT
TT
TT
S
Pentru modelul canonic (imagini rectificate / rectified images) problema reducerii spaţiului de căutare se simplifică semnificativ: perechile de linii epipolare eL şi eR devin coliniare (paralele cu axa orizontală a planului imagine).
SVR Technical University of Cluj Napoca
Computer Science Department
Procedura de stereocorelatie (stereo matching)
Reconstructie densa (dense stereo reconstruction) Codificare a distantelor prin culori: verde = aproape rosu = departe
Reconstructie bazata pe muchii (edge based stereo econstruction)
SVR Technical University of Cluj Napoca
Computer Science Department
Fereastra (grayscale) corelata din imaginea stanga
Zona de cautare a potriviri celei mai bune in imaginea dreapta
Fereastra (LOG) corelata din imaginea stanga
Imaginea de muchii (stanga) Left edge image (Canny)
Zona de cautare a potrivirri celei mai bune in imaginea dreapta
SVR Technical University of Cluj Napoca
Computer Science Department
2
2
2
2
),(),(),(
w
wi
w
wj
RRRLLLRR jyixIjyixIyxSAD
Funcţia de corelaţie (corelation function) Orice metrica de “distanta”: SAD, SSD, corelaţie normalizată, etc.
Detecţia minimului global al funcţiei de corelaţie (SAD)
Rafinarea poziţiei minimului global cu precizie de sub-pixel
SVR Technical University of Cluj Napoca
Computer Science Department
CALIBRAREA CAMERELOR (Camera calibration) Majoritatea metodelor folosesc un obiect de calibrare planar sau tridimensional cu geometrie cunoscută, şi pe care
pot fi identificate cu uşurinţă/precizie anumite puncte de control prin analiza vederilor achiziţionate ale acestui obiect.
Patern planar folosit pentru calibrarea
parametrilor intrinseci
Tinte in forma de X folosite la
calibrarea parametrilor extrinseci
SVR Technical University of Cluj Napoca
Computer Science Department
Procesul de estimare a parametrilor
Estimarea parametrilor interni şi externi se face prin minimizarea erorii totale dintre imaginile im ale punctelor de
control detectate din imaginea 2D şi proiecţiilor im__
ale punctelor de control 3D, calculate folosind modelul camerei care
include ca şi variabile /necunoscute parametrii de estimat:
| || |__
ii mm
Pentru n imagini date ale modelului (planului de calibrare) şi pentru fiecare m puncte de control al fiecărui model
presupunem că proiecţiile acestor puncte pe planul imagine sunt afectate de un zgomot identic şi uniform distribuit (de
obicei se consideră un zgomot gaussian cu media 0). Estimarea se poate realiza prin minimizarea sumei pătratelor
distanţelor dintre vectorii coordonatelor măsurătorilor şi modelului:
mˆ (A ,Ri ,ti ,Mj ) este proiecţia punctului Mj pe
imaginea i, iar mij sunt coordonatele detectate ale
proiecţiei punctului de control mi pe planul imagine i.
SVR Technical University of Cluj Napoca
Computer Science Department
Resurse pt. reconstructie 3D si calibrarea camerelor
Intel Open Computer Vision Library (OpenCV)
- resurse (cod sursa si biblioteci de funcţii pt Visual C++) pt. calibrarea camerelor (J.Y. Bouguet) si reconstrcutie 3D
http://docs.opencv.org/
Camera Calibration Toolbox for Matlab (J.Y. Bouguet)
- cel mai bun toolbox de calibrare a camerelor (model pinhole/perspectiva)
http://www.vision.caltech.edu/bouguetj/calib_doc/index.html#links
Alte resurse de calibrare:
http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/links.html
Calibrarea camerelor omni-directionale
http://www-sop.inria.fr/icare/personnel/Christopher.Mei/ChristopherMeiPhDStudentToolbox.html