procesarea imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/pi-curs04.pdf · procesarea...

34
Procesarea Digitală a Semnalelor și a Imaginii Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor Procesarea Imaginilor curs 4 – curs 4 – Universitatea Transilvania Brașov Facultatea de Inginerie Electrică și Știința Calculatoarelor Departamentul de Electronică și Calculatoare 2012.06.04 ș.l. dr. ing. Kertész Csaba-Zoltán

Upload: vocong

Post on 20-Feb-2019

262 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Procesarea Digitală a Semnalelor și a ImaginiiProcesarea Digitală a Semnalelor și a Imaginii

Procesarea ImaginilorProcesarea Imaginilor

– – curs 4 –curs 4 –

Universitatea Transilvania BrașovFacultatea de Inginerie Electrică și Știința CalculatoarelorDepartamentul de Electronică și Calculatoare

2012.06.04 ș.l. dr. ing. Kertész Csaba-Zoltán

Page 2: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Operații integraleOperații integrale

i

j

g i , j=O f , i , j ,

Page 3: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Operații integraleOperații integrale

● transformata unei imagini: la calculul noii valori a unui pixel al imaginii transformate contribuie valorile tuturor pixelilor din imaginea originală

● transformata Fourier bidimensională:

F u , v =∫−∞

∫−∞

f x , y e− j uxvy dx dy

f x , y =1

42 ∫

−∞

∫−∞

F u , v e j uxvy du dv

Page 4: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformări unitareTransformări unitare

● transformarea unitară se referă la o clasă de matrici unitare folosite pentru reprezentarea imaginilor într-o bază (de imagini)

● o matrice A de dimensiuni N×N este unitară dacă inversa ei este matricea A*T

● *T este transpusa complex conjugat● IN este matricea identitate

A⋅A−1=A⋅A∗T=A∗T⋅A=I N

I N=1 0 0 00 1 0 00 0 1 0⋮ ⋮ ⋮ ⋱ ⋮0 0 0 1

Page 5: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Cazul 1DCazul 1D

● pentru un semnal u(t) eșantionat, valorile semnalului pot fi aranjate într-un vector de dimensiune N

U=[u0

u1

⋮uN−1

]=[u0 u1uN−1]T

Page 6: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata unitară 1DTransformata unitară 1D

● transformata unitară este definită de o matrice A de N×N dimensiuni având proprietatea de unitaritate

● transformata vectorului U prin transformare definită de matricea A este vectorul V de dimensiune N, definit prin relaţia:

● ceea ce poate fi reprezentat matricial:

vk=∑n=0

N−1

akn⋅un , k=0, N−1

V =A⋅U

Page 7: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata inversăTransformata inversă

● transformata inversă ce permite recuperarea vectorului original, având în vedere proprietatea de unitaritate, este dată de relația:

● ceea ce poate fi reprezentat matricial:

un=∑k=0

N−1

vk⋅akn∗ , n=0, N−1

U=A∗T⋅V

Page 8: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Proprietăți ale transformatei unitareProprietăți ale transformatei unitare

● vectorul U poate fi scris ca o combinație liniară a coloanelor A*, ponderile fiind date de elementele vectorului V

● elementele vectorului V sunt coeficienții descompunerii vectorului U în baza formată din coloanele matricii A*T

● transformata unitară înseamnă scrierea vectorului U într-o altă bază

● transformata fiind unitară este echivalentă condiției de ortogonalitate asupra bazei

Page 9: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata unitară 2DTransformata unitară 2D

● pentru o imagine U = {um,n}, de dimensiune N×N, transformata unitară este definită de N2 de matrici de dimensiune N×N

● transformata directă:

● transformata inversă:

v k , l=∑m=0

N−1

∑n=0

N−1

um ,n⋅ak , l m , n , k , l=0, N−1

um,n=∑k=0

N−1

∑l=0

N−1

uk , l⋅ak , l∗ m,n , m ,n=0, N−1

Page 10: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata unitară 2DTransformata unitară 2D

● matricile ak,l

reprezintă un set de matrici de bază ortonormale

● condiția de ortonormalitate:

● o astfel de transformată este caracterizată de N4 coeficienți a

k,l, ceea ce înseamnă că calculul

transformatei este de complexitate O(N4)

∑m=0

N −1

∑n=0

N−1

ak , l m, n⋅ak ' , l '∗

m ,n=k−k ' , l−l '

k−k ' , l−l ' ={1, k=k ' şi l=l '0, altfel

Page 11: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Separabilitatea transformatei unitareSeparabilitatea transformatei unitare

● complexitatea calculului transformatei poate fi redusă la O(N3) în ipoteza separabilității transformării

● o transformare este separabilă, dacă elementele ak,l(m,n) ce o definesc pot fi scrise ca produs de alte două elemente, grupate după perechi de indici:

● unde matricile A = {a(k,m)} și B={b(l,n)} sunt și ele unitare

ak , l m ,n=ak m⋅bl n=a k ,m⋅bl , n

A⋅A∗T=A∗T⋅A=I N B⋅B∗T=B∗T⋅B=I N

Page 12: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata unitară separabilăTransformata unitară separabilă

● în ipoteza separabilității transformata devine:

● ceea ce poate fi scris matricial ca:

v k ,l =∑m=0

N−1

∑n=0

N−1

ak ,m⋅um,n⋅b l , n ,

um,n=∑k=0

N−1

∑l=0

N−1

a∗k ,m⋅v k , l⋅b∗l , n ,

V =A⋅U⋅BT

U=A∗T⋅V⋅B∗

Page 13: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Implementare practicăImplementare practică

● în practică se folosesc transformate separabile pentru care B=A, astfel transformata devine:

● respectiv, matricial:

v k ,l =∑m=0

N−1

∑n=0

N−1

ak ,m⋅um,n⋅a l , n ,

um,n=∑k=0

N −1

∑l=0

N−1

a∗k ,m⋅v k , l⋅a∗l , n ,

V =A⋅U⋅AT

U=A∗T⋅V⋅A∗

Page 14: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Proprietățile transformatei unitareProprietățile transformatei unitare

● o transformare unitară conservă energia semnalului u (dată de norma la pătrat)

● pentru majoritatea transformatelor unitare folosite în practică energia semnalului tinde să fie distribuită neuniform în spațiul transformării

● entropia unui semnal discret cu valori aleatoare se conservă printr-o transformare unitară

● coeficienții în spațiul transformatei sunt decorelați sau aproape decorelați

Ev=∥v∥2=v ∗T⋅v= A u∗T⋅A u=

=u∗T A∗T A u=u∗T⋅u=∥u∥2=Eu

Page 15: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Proprietățile transformatei unitareProprietățile transformatei unitare

● transformata poate fi utilizată pentru compresie, prin faptul că compactează energia într-un număr dat de coeficienți, care sunt în același timp decorelaţi

● transformata optimă din punctul de vedere a compresiei (compactare maximă, decorelare completă) este transformata Karhunen-Loève

● această transformată nu poate fi utilizată în practică pentru că depinde de conținutul imaginii și nu este separabilă

Page 16: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Fourier DiscretăTransformata Fourier Discretă

● transformata Fourier discretă astfel definită nu este unitară

v k =∑n=0

N−1

un⋅e− j2

knN , k=0, N−1

un=1N∑k=0

N−1

v k ⋅ej2

knN , n=0, N−1

Page 17: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

TFD unitarăTFD unitară

● pentru ca transformata Fourier discretă se devină unitară trebuie folosit următoare relație:

● astfel matricea transformării devine:

v k =1

N∑n=0

N −1

un⋅e− j2

knN , k=0, N−1

un=1

N∑k=0

N−1

v k ⋅ej2

knN , n=0, N−1

f k , n=1

Ne

− j2knN , k ,n=0, N−1

Page 18: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Fourier BidimensionalăTransformata Fourier Bidimensională

● transformata Fourier bidimensională în ipoteza unei transformate unitare separabile poate fi scris ca:

● sau matricial:

v k , l =1N∑m=0

N−1

∑n=0

N−1

u m,n⋅e− j2

kmlnN

um ,n=1N∑k=0

N−1

∑l=0

N−1

v k , l⋅ej2

kmlnN

V =F⋅U⋅FU=F∗⋅V⋅F∗

Page 19: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Fourier BidimensionalăTransformata Fourier Bidimensională

Page 20: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Cosinus DiscretăTransformata Cosinus Discretă

● transformata cosinus discretă este o transformată unitară separabilă, definită de matricea C = {c(k,n)}

c(k ,n)={1

√N, k=0,n=0, N−1

√ 2N

cos(2n+1)π k

2N, k=1, N−1 ,n=0, N−1

Page 21: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Cosinus DiscretăTransformata Cosinus Discretă

● TCD este definită prin relația:

● unde:

v k =k ∑n=0

N−1

uncos2n1 k

2N, k=0, N−1

un=∑k=0

N−1

k v k cos2n1 k

2N, n=0, N−1

0=1N

, k= 2N

, k=1, N−1

Page 22: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Cosinus DiscretăTransformata Cosinus Discretă

● relația matricială:

● matricea C are proprietatea că C = C*, elementele sale fiind numere reale

● transformata cosinus nu este partea reală a transformării Fourier

● transformata cosinus compactează spectrul spre origine

V =C⋅U⋅CT

U=CT⋅V⋅C

Page 23: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Cosinus DiscretăTransformata Cosinus Discretă

Page 24: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Compresia JPEGCompresia JPEG

● dezvoltat de Joint Photographic Expert Group● este o metodă de compresie cu pierderi, care

permite înlăturarea anumitor detalii din imagine pentru a realiza o rată de compresie cât mai mare

● folosește transformata cosinus discretă pentru a compacta energia

● JPEG2000 folosește transformata wavelet, care permite reducerea artefactelor la margini

Page 25: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Pașii compresiei JPEGPașii compresiei JPEG

● reprezentarea culorilor din imagine este convertită din reprezentare RGB în reprezentare YCbCr (luminanță + două canale de crominanță)

● rezoluția canalelor de crominanță este redusă (ochiul uman percepe mai bine variații mici de luminanță decât variații mici în culoare)– acești 2 pași sunt opționali

Page 26: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Pașii compresiei JPEGPașii compresiei JPEG

● imaginea este împărțită în blocuri de 8×8 pixeli și fiecărui bloc este aplicat transformata cosinus discretă

● amplitudinile componentelor din spectru (blocul transformat) sunt cuantizate– ochiul uman este mai sensibil la variații de luminanță și

culoare pe arii mari, și mai puțin la variații mari de frecvență înaltă, de aceea amplitudinile frecvențelor mai înalte sunt cuantizate la o rezoluție mai mică

● asupra blocurilor rezultate se aplică o compresie fără pierderi (gen Hufman)

Page 27: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Împărțire în blocuriÎmpărțire în blocuri

● transformata cosinus este realizată pe blocuri de 8×8 pixeli

● canalul de luminanță este împărțită în blocuri de 8×8

● canalele de crominanță pot fi împărțite în blocuri de 8×8 sau 16×16 (caz în care se va decima blocul la 8×8 pixeli)

● valorile din aceste blocuri sunt convertite în gama [-128,127]

Page 28: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Transformata Cosinus DiscretăTransformata Cosinus Discretă

● se aplică transformata cosinus discretă asupra blocului, dat de formula

v k , l =k l∑m=0

7

∑n=0

7

um, n cos[8 m12 k ]cos[8 n

12 l]

α(x)={√18

, dacă x=0

√ 28

, altfel

Page 29: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

DCT pe 8×8 pixeliDCT pe 8×8 pixeli

● cei 64 de pixeli ai transformatei cosinus discrete vor reprezenta frecvențele spațiale:

Page 30: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

CuantizareaCuantizarea

● cuantizarea permite reducerea preciziei de reprezentare a frecvențelor înalte, astfel reducând cantitatea datelor

● a matrice de cuantizare tipică (din standardul JPEG) este:

[16 11 10 16 24 40 51 6112 12 14 19 26 58 60 5514 13 16 24 40 57 69 5614 17 22 29 51 87 80 6218 22 37 56 68 109 103 7724 35 55 64 81 104 113 9249 64 78 87 103 121 120 10172 92 95 98 112 100 103 99

]

Page 31: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

ExempluExemplu

[−30 −24 −24 −32 −36 −38 −33 −32−38 −32 −28 −30 −38 −59 −57 −57−57 −63 −63 −42 −48 −69 −69 −69−63 −75 −77 −69 −69 −77 −75 −75−77 −77 −83 −75 −83 −83 −83 −83−77 −83 −83 −83 −83 −71 −83 −86−83 −75 −78 −83 −77 −75 −77 −77−86 −86 −86 −86 −77 −86 −83 −83

]

[−11 −17 −18 −11 −8 −5 −4 −3

4 5 4 3 2 1 1 11 2 2 1 1 0 0 00 1 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0

] [−181 −182 −185 −177 −181 −197 −198 −199

53 54 57 60 47 31 38 3914 27 31 14 21 18 23 245 11 9 −4 −8 16 10 90 −3 −6 −8 −7 −4 4 61 −1 −3 −4 1 8 9 9

−1 −10 −9 −1 0 4 0 −1−6 1 −2 5 1 −2 1 3

]

Page 32: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Codarea entropicăCodarea entropică

● este o compresie fără pierderi● se rearanjează pixeli într-o ordine în „zig-zag”, după

care se realizează o compresie RLE (run lenght encoding) și o codare Hufman

Page 33: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Caracteristici ai compresiei JPEGCaracteristici ai compresiei JPEG

● rata de compresie mare– depinde de conținutul imaginii: variațiile lente din

imagine pot fi comprimate mai bine decât variațiile bruște

– depinde de matricea de cuantizare aleasă: cu cât cuantizăm în mai puține nivele cu atât crește compresia imaginii

● la valori mari a ratei de compresie apar artefacte în imagine datorate cuantizării excesive, ce se manifestă în pierderea detaliilor de frecvență înaltă

Page 34: Procesarea Imaginilor - curs 4etc.unitbv.ro/~csaba.kertesz/pds/curs/PI-curs04.pdf · Procesarea Digitală a Semnalelor și a Imaginii Procesarea Imaginilor – curs 4 – Universitatea

Artefacte de compresieArtefacte de compresie