modelul de reprezentare a imaginilor image …users.utcluj.ro/~tmarita/svr/c1.2.pdf ·...

51
SVR Technical University of Cluj Napoca Computer Science Department MODELUL DE REPREZENTARE A IMAGINILOR Image Representation Model

Upload: ngocong

Post on 07-Feb-2018

231 views

Category:

Documents


2 download

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

Domenii de utilizare

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 CAMEREI

Camera Model

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