600 likes | 1.03k Views
IMBUNATATIREA IMAGINILOR. CUPRINS NOTIUNI INTRODUCTIVE MARIMI STATISTICE EXTINDEREA CONTRASTULUI TEHNICI DE MODIFICARE A HISTOGRAMEI MARIREA CLARITATII IMAGINILOR. NOTIUNI INTRODUCTIVE
E N D
CUPRINS NOTIUNI INTRODUCTIVE MARIMI STATISTICE EXTINDEREA CONTRASTULUI TEHNICI DE MODIFICARE A HISTOGRAMEI MARIREA CLARITATII IMAGINILOR
NOTIUNI INTRODUCTIVE Principalul obiectiv al metodelor de imbunatatire a imaginilor („image enhancement”): rezultatul obtinut prin imbunatatirea unei imagini sa fie mai adecvat decat imaginea originala pentru o aplicatie specifica. O anumita metoda nu este utilizabila in orice aplicatie ! Exemplu: o metoda utilizata in imbunatatirea unei radiografii medicale nu poate fi utilizata pentru corectarea unei imagini transmise din spatiul cosmic de catre o nava de cercetare. Metodele discutate in continuare: -metode din domeniul frecventa (bazate pe modificarea transformatei Fourier a unei imagini); -metode din domeniul spatial (actioneaza asupra planelor de imagine originale, modificand chiar pixelii imaginii).
La baza tehnicilor din domeniul frecventa: teorema convolutiei. Fie g(x,y) o imagine formata din convolutia unei imagini f(x,y) si un operator invariant pozitional h(x,y) (rezultatul operatorului depinde numai de valoarea lui f(x,y) intr‑un punct dat al imaginii si nu de pozitia punctului): g(x,y) = h(x,y) * f(x,y) Astfel, din teorema convolutiei se obtine urmatoarea relatie din domeniul frecventa: G(u,v) = H(u,v) F(u,v) unde G, H, F sunt transformatele Fourier ale functiilor g, h, f. Transformata H(u,v) se mai numeste si functia de transfer a procesului. Numeroase metode de imbunatatire si restaurare a imaginilor se bazeaza pe aceste ecuatii.
Intr‑o problema tipica de imbunatatire a imaginilor, este data functia f(x,y), iar scopul, dupa calcularea lui F(u,v), este gasirea lui H(u,v) astfel incat imaginea obtinuta: g(x,y) = fourier -1 { H(u,v) F(u,v) } evidentiaza anumite caracteristici ale imaginii initiale f(x,y). Tehnicile din domeniul spatial se bazeaza pe manipularea nivelurilor de gri sau a culorilor imaginii originale, in functie de criteriile alese pentru imbunatatire.
Operatiile de imbunatatire se pot clasifica in urmatoarele categorii: • -operatii punctuale (pentru fiecare pixel se calculeaza noua valoare numai pe baza valorii sale initiale). Aici pot fi considerate si operatiile de pseudocolorare, prin care o imagine este afisata cu o paleta de culoare modificata. • -operatii locale (sau de vecinatate): noua valoare a fiecarui pixel este obtinuta din valoare initiala a pixelului repectiv si din valorile pixelilor dintr-o vecinatate. • -operatii globale: noua valoare a fiecarui pixel este calculata in functie de valorile tuturor pixelilor imaginii.
O prelucrare simpla a nivelurilor de gri: operatia punctuala, in care valoarea fiecarui pixel de coordonate (x,y) se calculeaza numai pe baza valorii sale initiale. Se mai numeste transformarea scarii de gri sau mapare. Cel mai simplu caz: transformarea de prag, in care este aplicata o functie de tip treapta. Pentru fiecare pixel daca valoarea sa este sub o valoare de prag aleasa, atunci in imaginea rezultata pixelul primeste valoarea 0, altfel primeste valoarea maxima (de exmplu 255, pentru codificare pe 8 biti).
MARIMI STATISTICE Descrierile statistice ale imaginilor utilizeaza: Functia de distributie a probabilitatii, notata P(a), este probabilitatea ca o stralucire (valoarea unui pixel) aleasa din regiune sa fie mai mica sau egala cu o valoare data a. Pe masura ce a creste de la -∞ la +∞, P(a) creste de la 0 la 1. Functia P(a) este monoton crescatoare si dP/da≥0. Functia de densitate a probabilitatii. Probabilitatea ca o stralucire dintr-o regiune sa fie cuprinsa intre a si a+Δa, data fiind functia de distributie a probabilitatii P(a), poate fi exprimata prin p(a)Δa, unde p(a) este functia de densitate a probabilitatii reprezentata prin relatia:
Exista relatia: Deoarece P(a) este o functie monoton crescatoare sunt adevarate relatiile: Functia de densitate a probabilitatii pentru stralucire este estimata frecvent prin numararea aparitiilor fiecarei valori in regiunea respectiva => histograma h[a]. Histograma poate fi apoi normalizata, astfel incat intreaga arie de sub histograma este 1. Rezulta relatia:
Functia de distributie a probabilitatii stralucirii pentru o imagine si histograma stralucirii nenormalizata pentru aceeasi imagine:
Stralucirea medie a unei regiuni este definitaca media de selectie a stralucirii pixelilor in cadrul acelei regiuni. Media ma a stralucirii pentru Λ pixeli din cadrul regiunii R este data de relatia: O varianta a acestei relatii se bazeaza pe histograma stralucirii nenormalizate, h(a)=Λp(a), cu valori discrete ale stralucirii:
Deviatia standard de selectie reprezinta o estimare a deviatiei standard a stralucirii in cadrul regiunii R continand Λ pixeli: iar utilizand formula histogramei: Deviatia standard sa reprezinta o estimare a distributiei de probabilitate a stralucirii de baza.
Coeficientul de variatie este adimensional si se defineste prin relatia: Procentajul (p%) unei distributii a stralucirii este definit ca aceea valoare a a stralucirii astfel incat: Se pot distinge trei cazuri speciale frecvent utilizate in prelucrarile de imagini (vezi figura precedenta): -0% este valoarea minima in regiune; -50% este valoarea mediana; -100% este valoarea maxima.
Raportul semnal/zgomot (SNR- Signal to Noise Ratio) poate avea mai multe definitii. Zgomotul este caracterizat prin deviatia sa standard sn. Semnalul poate fi caracterizat diferit. Daca se cunoaste faptul ca semnalul se gaseste intre doua limite amin≤ a≤ amax atunci raportul semnal/zgomot (semnal marginit) este definit: Daca semnalul nu este marginit, dar are o distributie statistica (semnal stohastic) atunci se cunosc doua alte definitii: (S&N interdependent) (S&N independent)
O alta definitie pentru raportul semnal/zgomot considera f imaginea originala (corecta) si g imaginea rezultata din f peste care s-a suprapus un zgomot aditiv si a carei calitate trebuie determinata: Se mai utilizeaza de asemenea pentru determinarea calitatii unei imagini raportul semnal de varf / zgomot (PSNR - Peak Signal to Noise Ratio):
eroarea patratica medie (MSE - Mean Squared Error): si eroarea medie absoluta (MAE - Mean Absolute Error):
O categorie importanta de operatii la nivel de punct este bazata pe histograma imaginii sau a unei regiuni. Dintre aceste operatii fac parte: -extinderea contrastului („contrast stretching”); -egalizarea histogramei; -filtrarile minima, medie si maxima.
EXTINDEREA CONTRASTULUI De multe ori o imagine achizitionata nu beneficieaza prin valorile stralucirii de intreaga gama pusa la dispozitie de sistem (vezi figura precedenta cu histograma). Solutie: extinderea histogramei peste intregul interval de valori intre 0 si 2B-1 (B este numarul de biti pe care se reprezinta fiecare pixel) => se asocieaza valoarea minima (valoarea de 0%) la stralucirea 0, iar valoarea maxima (valoarea de 100%) la stralucirea 2B-1. Transformarea corespunzatoare este data de relatia: unde a[m,n] si b[m,n] sunt valorile stralucirii inainte si respectiv dupa operatia de extindere a contrastului intr-un punct de coordonate (m,n).
O exprimare mai generala este data de: Este o formulare mai generala decat cea precedenta, caci valorile pentru plow% si phigh% se pot alege (de exemplu: plow%=5% si phigh%=95%). Pentru plow%=0% si phigh%=100% se obtine solutia precedenta.
Exemplu: imbunatatirea contrastului unei imagini. Fie r si s niveluri de gri oarecare din imaginea initiala, respectiv din imaginea rezultata, cu relatia s=T(r). Daca functia T(r) are forma din figura (a) aplicarea acestei functii asupra imaginii initiale va produce o noua imagine avand un contrast marit, prin micsorarea stralucirii nivelurilor sub un prag m si marirea stralucirii nivelurilor deasupra pragului m. In cazul limita pentru o functie T(r) ca in figura (b) rezultatul transformarii va fi o imagine binivel.
O operatie punctuala de modificare a contrastului, care asocieaza o valoare a nivelului de gri r la o noua valoare s, printr-o functie s=T(r), cu r apartinand intervalului [0; 2B− 1] trebuie sa indeplineasca urmatoarele conditii: • - transformarea T sa pastreze gama admisibila de valori ale imaginii, deci 0 ≤ T(r) ≤ 2B-1; • - transformarea T sa fie monoton crescatoare sau monoton descrescatoare pentru a pastra ordinea intre nivelurile de gri.
Modificarea liniara a contrastului Tehnica de modificare liniara a contrastului: transformare liniara pe portiuni: unde T1, T2, α si β sunt parametri de control si sunt grupati cate doi, definind punctele (T1,α) si (T2,β), impreuna cu punctele fixe (0, 0) si (L − 1, L − 1) => trei segmente ce apar în formula, unde L=2B. Este o operatie punctuala care transforma valoarea r a fiecarui pixel in noua valoare s. Transformarea poate fi facuta în doua moduri: -se repeta calculul din formula pentru fiecare pixel al imaginii; -se calculeaza noile valori ale contrastului de la început pentru toate nivelurile de gri posibile (între 0 si L−1) si apoi aceste modificari se aplica imaginii.
Pseudocolorarea Pseudocolorarea: tehnica care permite scoaterea in evidenta a unor zone cu anumite valori de gri prin modificarea paletei de culori cu care imaginea este afisata (reprezentata). Afisarea anumitor niveluri de gri se face prin utilizarea unor culori. Problema este asemanatoare cu modificarea contrastului: se aplica o functie s=T(r), pentru toate valorile (sau pentru unele valori) r apartinand imaginii initiale => se pot pune in evidenta anumite zone de interes intr-o imagine cu niveluri de gri, zone care altfel ar putea fi distinse mai greu de ochiul uman. Se poate aplica si imaginilor color (colorare falsa – „false coloring”): intr-o imagine color anumite culori sunt inlocuite cu altele, in acelasi scop, de a permite o mai usoara observare a unor detalii.
TEHNICI DE MODIFICARE A HISTOGRAMEI Pentru a compara doua sau mai multe imagini pe baza unui anumit criteriu, (exemplu textura), este necesar mai intai sa se normalizeze histogramele acestora la o histograma standard, mai ales atunci cand imaginile au fost achizitionate in conditii diferite. Cea mai utilizata tehnica de normalizare a histogramei: egalizarea histogramei se incearca modificarea histogramei prin utilizarea unei functii s=T(r), intr-o histograma constanta pentru toate valorile de stralucire, ceea ce corespunde unei distributii de stralucire in care toate valorile sunt egal probabile. Din pacate, pentru o imagine oarecare se poate numai aproxima acest rezultat ! Pentru o functie convenabila T se poate stabili urmatoarea relatie intre functia de densitate de probabilitate de intrare, functia de densitate de probabilitate de iesire si functia T: distributia de probabilitate trebuie sa fie aceeasi, Ps(s)=Pr(r).
Functia T este derivabila si dT/dr≥0. Pentru egalizarea histogramei se doreste ca ps(s)=constant, ceea ce inseamna ca: unde P(r) este functia de distributie a probabilitatii. Functia de distributie a probabilitatii cuantizata, normalizata de la 0 la 2B-1 reprezinta tabela de translatare necesara pentru egalizarea histogramei. In figura (a) este prezentata o imagine originala, in figura (b) apare imaginea prelucrata prin extinderea histogramei, iar in (c) se poate vedea rezultatul egalizarii histogramei.
Fie variabila r nivelul de gri al pixelilor din imaginea care trebuie imbunatatita. Pentru simplificare, se va presupune ca valorile pixelilor au fost normalizate, astfel incat: 0 r 1 unde r=0 nivelul de negru, iar r=1 nivelul de alb. Pentru orice r in intervalul [0,1] se studiaza transformarea: s = T(r) care produce un nivel s pentru fiecare nivel r din imaginea originala. Se presupune ca functia de transformare data prin aceasta ecuatie satisface conditiile: a) T(r) este monoton crescatoare in intervalul 0 r 1. b) 0 T(r) 1 pentru 0 r 1. Conditia a) impune ordinea de la negru la alb in scara de niveluri de gri, iar conditia b) garanteaza o transformare consistenta cu intervalul de valori ale pixelilor imaginii.
O transformare inversa de la s inapoi la r: r = T-1(s) 0 s 1 unde se presupune ca T-1(s) satisface de asemenea conditiile a) si b). Nivelurile de gri dintr‑o imagine sunt cantitati aleatoare in intervalul [0,1]. Presupunand ca sunt variabile continue, nivelurile de gri ale imaginii initiale si respectiv ale imaginii transformate pot fi caracterizate prin functiile densitate de probabilitate pr(r) si respectiv ps(s). Functia densitate de probabilitate caracterizeaza luminozitatea unei imagini. Astfel, o imagine cu functia densitate din figura (a) este intunecata, iar o imagine cu functia densitate din figura (b) este luminoasa.
Din teoria probabilitatilor: daca functiile pr(r) si T(r) sunt cunoscute, iar T-1(s) satisface conditia (a), atunci functia densitate de probabilitate pentru nivelurile de gri este data de relatia: (functia densitate de probabilitate a imaginii transformate depinde de functia densitate de probabilitate a imaginii initiale si de functia de transformare). Tehnicile de imbunatatire a imaginii care se discuta in continuare se bazeaza pe modificarea aparentei unei imagini prin controlarea functiei de densitate de probabilitate a nivelurilor de gri utilizand functia de transformare T(r).
Egalizarea histogramei Se considera functia de transformare denumita functia de distributie cumulativa (FDC) a lui r (notata P(r) in paragraful de definitie a marimilor statistice), care satisface conditiile (a) si (b) precedente. Derivand in ambii membri ai ecuatiei precedente in raport cu r se obtine: ds/dr = pr(r) si inlocuind apoi in relatia pentru ps(s) rezulta: care este o functie de densitate de probabilitate uniforma in intervalul de definitie a variabilei transformate s. De notat ca acest rezultat este independent de functia de transformare inversa. Utilizarea unei functii de transformare egala cu distributia cumulativa a lui r va produce o imagine ale carei niveluri de gri vor avea o densitate uniforma.
Pentru a fi utile in prelucrarile de imagini digitale: conceptele de mai sus trebuie reformulate intr‑o forma discreta. Deoarece nivelurile de gri au valori discrete, probabilitatile vor fi date de relatia: pr(rk) = nk / n 0 rk 1 k=0,1,...,L‑1 unde L este numarul de niveluri de gri, pr(rk) este probabilitatea nivelului k, nk este numarul de aparitii ale nivelului in imagine si n este numarul total de pixeli din imagine. O reprezentare grafica a lui pr(rk) in raport cu rk se numeste histograma, iar tehnica utilizata pentru a obtine o histograma uniforma se numeste egalizarea histogramei sau liniarizarea histogramei.
Forma discreta a ecuatiei pentru seste: unde 0 ≤ rk ≤ 1, indexul k = 0, 1, 2, ... , L-1 si 0 ≤ sk ≤ 1, iar transformata inversa este reprezentata de: rk = T -1(sk) 0 sk 1 unde ambele functii T(rk) si T -1(sk) se presupune ca satisfac conditiile (a) si (b). De notat faptul ca functia de transformare poate fi calculata direct din imaginea initiala utilizand ecuatia pentru sk de mai sus. Valorile sk vor fi scalate pana la valoarea L-1 (exemplu 255) si rotunjite la cel mai apropiat intreg, astfel incat valorile de iesire ale acestei transformari vor fi cuprinse intre 0 si 255. Discretizarea si rotunjirea valorilor sk la cel mai apropiat intreg vor conduce la faptul ca imaginea rezultata nu va avea o histograma perfect uniforma.
Specificarea directa a histogramei In anumite situatii este de dorit sa se specifice o anumita histograma particulara capabila sa evidentieze un anumit nivel de gri dintr‑o imagine. Reconsiderand situatia corespunzatoare unei imagini continue, fie pr(r) si pz(z) functiile de densitate de probabilitate originala si respectiv, dorita. Se presupune ca mai intai o imagine data va fi egalizata ca histograma prin ecuatia: Daca imaginea dorita este disponibila, nivelurile sale pot fi de asemenea egalizate utilizand functia de transformare:
Procesul invers, z=G -1(v), va furniza nivelurile dorite. Aceasta, evident este o formulare ipotetica deoarece nivelurile z sunt exact ceea ce se incearca sa se obtina. De notat totusi ca ps(s) si pv(v) vor fi densitati uniforme identice deoarece rezultatul final al ecuatiei pentru s este independent de densitatea din interiorul integralei. Aceste aspecte sunt prezentate in schema urmatoare:
Astfel, in loc sa se utilizeze v in procesul invers, se vor utiliza nivelurile uniforme s obtinute din imaginea originala, nivelurile rezultate z = G -1(s) vor avea functia de densitate de probabilitate dorita. Presupunand ca G -1(s) este o functie (cu valori singulare) => procedura: (1) Se egalizeaza nivelurile imaginii originale utilizand ecuatia pentru s. (2) Se specifica functia densitate dorita si se obtine functia de transformare G(z) cu ecuatia pentru v. (3) Se aplica functia de transformare inversa z=G -1(s) nivelurilor obtinute la pasul (1). Aceasta procedura va furniza o versiune prelucrata a imaginii originale unde noile niveluri de gri sunt caracterizate prin densitatea specificata pz(z).
Metoda specificarii histogramei implica doua functii de transformare, T(r) si G ‑1(s) este foarte simplu sa se combine ambii pasi de imbunatatire intr‑o singura functie care va furniza nivelurile dorite pornind cu pixelii originali. Din cele de mai sus rezulta ca : z = G -1(s) Substituind ecuatia pentru sin ecuatia precedenta rezulta functia de transformare combinata: z = G -1[T(r)] Implicatia ecuatiei: o imagine nu necesita sa fie egalizata din punct de vedere al histogramei in mod explicit. Tot ceea ce se cere este ca T(r) sa fie determinata si sa fie combinata cu functia de transformare inversa. Pentru variabile continue, o problema complicata este obtinerea functiei inverse in forma analitica. In cazul discret aceasta problema este simplificata de faptul ca numarul de niveluri de gri este redus si este fezabila calcularea si memorarea cate unei mapari pentru fiecare valoare posibila de pixel.
Exemplu. Se considera o imagine 64x64 pixeli cu 8 niveluri avand histograma data in figura, pentru care se cunosc valorile:
Aplicand functia de transformare se obtin valorile: s0 = T(r0) = pr(r0) = 0.19 s1 = T(r1) = pr(r0) + pr(r1) = 0.44 s2 = T(r2) = pr(r0) + pr(r1) + pr(r2) = 0.65 s3 = 0.81 s4 = 0.89 s5 = 0.95 s6 = 0.98 s7 = 1.00 Deoarece sunt permise numai opt valori, egal distantate, fiecare valoare obtinuta din transformare trebuie asignata la valoarea valida cea mai apropiata, obtinandu-se valorile: s0 = 1/7 s1 = 3/7 s2 = 5/7 s3 = 6/7 s4 = 6/7 s5 = 1 s6 = 1 s7 = 1
In acest moment fiecare nivel rk se mapeaza in nivelul sk, dar exista numai cinci valori distincte pentru nivelurile de gri ale histogramei egalizate: r0 → s0 = 1/7 → s0 r1 → s1 = 3/7 → s1 r2 → s2 = 5/7 → s2 r3 → s3 = 6/7 ┐ r4 → s4 = 6/7 ┘ → s3 r5 → s5 = 1 ┐ r6 → s6 = 1 │ → s4 r7 → s7 = 1 ┘ Prin renotare se obtin valorile: s0 = 1/7 s1 = 3/7 s2 = 5/7 s3 = 6/7 s4 = 1
Deoarece r0 = 0 s-a mapat in s0 = 1/7 rezulta ca exista 790 de pixeli cu aceasta noua valoare. Analog exista 1023 de pixeli cu valoarea s1 = 3/7, 850 de pixeli cu valoarea s2 = 5/7. Deoarece nivelurile r3 si r4 s-au mapat in s3 si s4, renotat cu s3 = 6/7, exista 656 + 329 = 985 de pixeli cu aceasta noua valoare. Analog, deoarece nivelurile r5, r6 si r7 s-au mapat in s4 = 1, exista 245 + 122 + 81 = 448 de pixeli cu aceasta valoare. Se obtine histograma:
Este de dorit sa se transforme histograma astfel incat sa se obtine forma data in figura. Valorile din histograma specificata sunt date in urmatorul tabel:
Primul pas in procedura este sa se obtina maparea egalizarii de histograma. Prin metoda precedenta s‑au obtinut urmatoarele rezultate:
In continuare, utilizand ecuatia skse calculeaza functia de transformare: obtinand urmatoarele valori: v0=G(z0)=0.00 v4=G(z4)=0.35 v1=G(z1)=0.00 v5=G(z5)=0.65 v2=G(z2)=0.00 v6=G(z6)=0.85 v3=G(z3)=0.15 v7=G(z7)=1.00 Functia de transformare:
Pentru a obtine nivelurile z se aplica inversa transformarii G de mai sus nivelurilor egalizate histogramic sk. Deoarece se lucreaza cu valori discrete este necesar sa se faca o aproximare in cadrul maparii inverse. De exemplu, valoarea cea mai apropiata lui s0=1/7=~0.14 este G(z3)=0.15, sau utilizand inversa G -1(0.15)=z3. Astfel s0 este mapat in nivelul z3. Utilizand aceasta procedura se obtine urmatoarea mapare: s0=1/7 → z3=3/7 s1=3/7 → z4=4/7 s2=5/7 → z5=5/7 s3=6/7 → z6=6/7 s4=1 → z7=1 Asa cum este aratat in ecuatia z = G -1[T(r)]aceste rezultate pot fi combinate cu cele ale egalizarii de histograma, obtinand urmatoarea mapare directa: r0=0 → z3=3/7 r4=4/7 → z6=6/7 r1=1/7 → z4=4/7 r5=5/7 → z7=1 r2=2/7 → z5=5/7 r6=6/7 → z7=1 r3=3/7 → z6=6/7 r7=1 → z7=1
Redistribuind pixelii in acord cu aceste mapari si impartindu‑i cu n=4096 rezulta histograma din figura. Valorile sunt listate in tabelul urmator:
Etapele de calcul sunt prezentate pe scurt in urmatoarea schema: -se doreste transformarea: rk → sk, unde functiile de densitate de probabilitate sunt:
(cu o anumita densitate de probabilitate) Histograma rezultata nu este apropiata de cea dorita !Eroarea: transformarea este garantata in cazul continuu, dar pe masura ce numarul de niveluri descreste, eroarea intre histograma specificata si cea rezultata, creste. => Dar chiar si in astfel de conditii, in multe situatii se obtin imbunatatiri de histograme deosebit de utile !
MARIREA CLARITATII IMAGINILOR Tehnicile de marire a claritatii ("sharpening") sunt utile in primul rand pentru a evidentia contururile intr‑o imagine. Exista metode atat in domeniul spatial cat si in cel de frecventa. Marirea claritatii prin diferentiere Operatia de mediere a pixelilor in cadrul unei regiuni are ca efect pierderea detaliilor unei imagini. Deoarece medierea este analoaga unei integrari, este de asteptat ca diferentierea sa aibe un efect opus. Metoda utilizata cel mai frecvent pentru diferentierea unei imagini este gradientul. Fiind data o functie f(x,y) gradientul lui f in punctul de coordonate (x,y) este definit ca un vector: ┌ ┐ │δf/δx│ G[f(x,y)] = │ │ │δf/δy│ └ ┘