Procesarea Imaginilor statice in condiții de ploaie [309525]

Universitatea Tehnică “Gheorghe Asachi” [anonimizat]: Student: [anonimizat]. Iulian Ciocoiu Știrbăț Ștefan

Universitatea Tehnică “Gheorghe Asachi” [anonimizat]: Student: [anonimizat]. Iulian Ciocoiu Știrbăț Ștefan

Cuprins

Capitolul I

1. Introducere

2. Algoritmi de baza in descompunerea imaginilor

3. Dicționarul in procesarea imaginilor

Capitolul II: Partea Teoretică

1. Kang

2. Huang

3. Son

Capitolul III: Partea experimentală

1. Metode de procesare si indici de calitate

2. Kang

3. Huang

4. Son

5. Concluzie

Rezumat:

Fotografia sau imaginile reprezinta un interes pentru omenire de aproape 200 [anonimizat] a avut loc prima incercare de fotografiere. De atunci si pana astazi lumea imaginilor printate si mai apoi digitale a cunoscut o evolutie majora si a [anonimizat], la comunicare si pentru bucuria personala a fiecaruia de a iti pastra amintirile in format vizual. [anonimizat], [anonimizat].

Pe masura ce tehnologia si tehnicile de capturarea si procesare a [anonimizat] a [anonimizat], [anonimizat] a continuat sa evolueze astfel cu fiecare problema aparuta acest domeniu a mai facut in pas in fata.

Lucrarea abordeaza o problema particulara a [anonimizat]. [anonimizat], in cazul imaginilor statice aceasta problema devine mai complicata.

In primul capitol sunt prezentate informatii generale despre “lumea imaginilor” si a procesarii acestora si sunt prezentate pe scurt principalele metode de inalaturare a [anonimizat].

In al doilea capitol analizeaza sumar cele trei propuneri de algoritmi care sunt dezbatute in aceasta lucrare: Kang, [anonimizat] o retea neurala cu învațare profundă. [anonimizat] a ajunge la rezultatul dorit

In al treilea capitol analizam partea experimentala a lucrarii, [anonimizat] o [anonimizat].

Capitolul I

1. Introducere

2. Algoritmi de baza in descompunerea imaginilor

3. Dicționarul in procesarea imaginilor

Procesarea Imaginilor statice in condiții de ploaie

Introducere

Odata cu evolutia tehnologiei si patrunderea ei in tot mai multe activitati au aparut si nevoi noi, procesarea imaginilor fiind una dintre nisele care se utilizeaza pe scara din ce in ce mai larga. Inlaturarea ploii, ninsorii sau cetei din imagini sau secvente video sunt extrem de importante in multe aplicatii cum ar fi: supravegherea video, sistemele de transport, echipamentele militare cat si pentru uz zilnic, cum ar fi fotografiile personale. In cazul algoritmilor de procesare a secventelor video avem posibilitate corelarii spatio/temporale intre cadre successive, studierea unor imagini statice color sau in tonuri de gri este de cele mai multe ori mai dificila, aceea in acest caz cercetarile sunt relative recenta.

Diversitatea abordărilor propuse este semnificativă, incluzând o bogată colecție de algoritmi de „denoise” a imaginilor. Multe soluții se bazează pe principii de codare redusa, folosind o pereche de dicționare învățate pentru a reprezenta componentele "ploaie" și "non-rain" ale unei imagini. O altă linie recentă de cercetare utilizează arhitecturi de învățare profundă. Printre abordările alternative se numără mijloacele non-locale, filtrarea ghidată sau modelele de amestecuri gaussiene, în mod obișnuit augmentate de constrângeri suplimentare legate de sparile, discriminabilitatea sau proprietățile geometrice ale componentelor. Raportat
performanțele, utilizând atât imagini sintetice, cât și reale, nu indică un câștigător clar, deoarece calitatea vizuală a rezultatelor deranjate variază în mare măsură în ceea ce privește conservarea detaliilor de fundal și persistența dungilor reziduale de ploaie. Mai mult decât atât, soluțiile existente diferă semnificativ în ceea ce privește complexitatea calculată, necesitatea operațiunilor pre / post-procesare și posibila extindere a secvențelor video.

Ploaia formează structuri pe imagini. Aceasta înseamnă că ploaia poate împiedica algoritmii de vizualizare pe calculator (de exemplu, detectarea feței / mașinii / semnului, simplitatea vizuală, parsarea scenei, etc.) să funcționeze eficient . Cei mai multi algoritmi de vizualizare depind de anumite caracteristici, cum ar fi histograma orientată pe gradienti (HOG). Acesti descriptori sunt conceputi pe baza mărimii și orientarii gradientului și prin urmare, structurile cu ploaie pot avea efecte negative asupra functiei care evidentiaza caracteristicile. Din acest motiv, îndepărtarea ploii este un instrument necesar. Îndepărtarea ploii poate păstra detaliile obiectelor din imagine, astfel acest tip de program poate fi folosit pentru a „curata” imaginea de ploaie si a putea pune in evidenta ceea ce ne intereseaza in imagine. In ultima vreme a devenit o problemă serioasa în industria de vehicule autonome. Pentru a realiza acest lucru, vremea rea, inclusiv ploaia, zăpada sau ceață trebuie să fie luate în considerare. Prin urmare, algoritmi de vedere la nivel scăzut al computerului, cum ar fi îndepărtarea ploii și a fumului, sunt esențiale în mașinile inteligente. În general, softul de eliminare a stropilor de ploaie mai întâi detectează anumite tipuri de structuri de imagine și apoi elimină structurile detectate din imaginile de intrare. Prin urmare, metode de eliminare a ploii pot fi aplicate unor probleme similare ce apar in prelucrarea imaginilor. De exemplu abordările de îndepărtare a ploii pot fi utilizate pentru textura, dungi, efecte de cascadă sau alte tipuri de obiecte îndepărtare.

În majoritatea cazurilor, structurile de ploaie pot fi descrise prin marginile verticale și diagonale. Cu toate acestea, în unele cazuri, structurile de ploaie apar cu alte tipuri de modele. Având în vedere o imagine de ploaie de intrare, mai multe abordări pot fi luate în considerare pentru a elimina structurile de ploaie. Prima abordare este utilizarea directă a algoritmilor convenționali de eliminare a texturilor. Analiza morfologica a componentelor(MCA) și variația totală relativă (RTV) sunt metode sofisticate pentru a elimina texturile. Algoritmul MCA utilizează dicționare bazate pe parametri, care indică vectorii de bază ai transformării discrete de cosinus (DCT) și a transformării wavelet curvelet (CWT). Diferitele tipuri de dicționare DCT și CWT pot face diferența între piesele texturate și cele fără textură. Mai ales, CWT poate detecta structurile anizotropice și curbele / marginile netede, în timp ce DCT poate reprezenta modele periodice. Cu toate acestea, nu sa dovedit că cele două dicționare parametrice sunt încă eficiente pentru a separa texturile de ploaie de imaginile de ploaie de intrare.

Având în vedere diversitatea morfologică a diferitelor părți vizuale, MCA urmărește descompunerea imaginii în componente separate utilizând dicționarele atomice distincte, incoerente, dintre atomi (care poate fi fixat sau învățat din datele disponibile). Este așa presupune că fiecare componentă (strat) de imagine poate fi redusă aproximat utilizând un dicționar specific (depășit). Dacă combinând toate aceste dicționare distincte într-unul global, este probabil că fiecare dicționar individual va reprezenta slab numai componenta / stratul pentru care a fost proiectat, în timp ce eșuează pentru a reprezenta în mod eficient un alt conținut în imaginea dată. Metoda a fost utilizată cu succes semnificativ în general scopul imaginii denoising și inpainting. Progrese bazate pe abordările de obicei suferă de oversmoothing in regiunile fara ploaie. Mai mult decât atât, ele au o eficiență limitată când porțiuni din fundal prezinta forme sau orientari similare cu stropii de ploaie.

MCA se bazeaza pe descompunerea unei imagini si utilizeaza caracteristicile imaginilor ce urmeaza a fi descompuse, acest tip de algoritm asociaza fiecare nivel morfologic unui dictionar. Pentru descompunerea imaginii se presupune ca o imagine de intrare I reprezinta defapt o suma de S straturi.

I=Sum(I(s)), S=1…..n

Pentru a descompune I în I (s),s = 1,2, … k, MCA minimizează iterativ următoarea funcție energetica:

Unde: θ(k) reprezinta coeficientul de imprastiere al I(s), iar τ este un parametru de regularizare, E(k) este functia de energie in acord cu dictionarul D(s) (local sau global).

În mod obișnuit, pentru a descompune o imagine în componente geometrice și texturate, funcțiile tradiționale de bază, cum ar fi wavelets sau curvelets, sunt utilizate ca dicționar pentru reprezentarea componentei geometrice, în timp ce funcțiile bazate pe DCT sunt utilizate ca dicționar pentru reprezentarea componenta texturală a imaginii.

Algoritmul de tip MCA functioneaza iterativ interpretand fiecare componenta I(s) in doi pasi: in prima faza actualizeaza coeficientul de imprastiere si in a doua faza actualizeaza componenta I(s).

De exemplu daca descompunem o imagine oarecare I in două componente, S1 si S2, un pas important al MCA este acela ca se vor construi doua dictionare separate pentru fiecare componenta, astfel cele doua dictionare ar trebui sa fie diferinta unul fata de celalalt, astfel dictionarul pentru S1 poate contine informatii despre coeficientul de imprastierea(sparse) pentru aceasta componenta dar nu va contine informatii pentru S2, acest lucru se aplica si reciproc.

Codarea rara este o tehnică de reprezentare a unui semnal în ceea ce privește o combinație liniară compactă a unui set de semnale de bază dintr-un dicționar. O lucrare de pionierat în reprezentarea redusă a imaginii a arătat că câmpurile receptive ale celulelor simple din cortexul vizual primar al mamiferelor pot fi caracterizate ca fiind localizate spațial, orientate și cu bandă. S-a demonstrat că o strategie de codare care maximizează reducerea este suficientă pentru a ține cont de proprietățile de mai sus și că un algoritm de învățare care încearcă să determine coduri lineare rare pentru scenele naturale va dezvolta o familie completă de câmpuri receptive localizate, orientate și bandă.

Algoritmul MCA este folosit si implementat in mai multe programe de tip rain removal, fiecare avand ceva diferit sau specific. Abordarile acestui algoritm sunt diverse si fiecare este eficient in unele cazuri si ineficient in altele, de la abordari cu dicționare prestabilite la soft-uri care isi construiesc singure dictionarele. In continuare in acest al doilea capitol vom analiza pe scurt mai multe soft-uri care se concentreaza pe indepartarea stropilor de ploaie din imagini statice, urmand ca in capitolul urmator sa urmarim mai in detaliu cum functioneaza fiecare soft. Vom denumi softurile dupa numele celor care le-au creat.

Fig 1

a)Diagrama bloc a metodei propuse pentru indepartarea stropilor de ploaie

b) Ilustrația metodei propuse bazată pe două dicționare locale învățate

Capitolul II

1. Kang

2. Huang

3. Son

Algoritmul Kang

Primul algortim propus ia in considerare eliminarea benzii de ploaie pe bază de imagine unică propusă, în care îndepărtarea stratului de ploaie este formulată ca o problemă de descompunere a imaginii. În aceasta metoda, imaginea ploii de intrare este mai întâi descompusă în componentele LF și HF utilizând filtrul bilateral, unde cele mai elementare informații vor fi păstrate în partea LF, în timp ce dungile de ploaie și cele de margine / textură vor fi incluse în partea HF a imaginii (Fig(2) a si b). Apoi, se realizeaza descompunerea imaginii bazată pe MCA pe partea HF care poate fi descompusă în continuare în componenta cu ploaie (Fig.2 (c)) și componenta geometrică (nonrain) (Fig.2 (d)). În pasul de descompunere a imaginii, un dicționar
învățat din exemplele de instruire extrase din partea HF a imaginii în sine poate fi împărțită în două sub-dicționare prin efectuarea unui cluster al atomilor de dicționar pe bază de caractere HOG. Apoi, efectuăm o codare redusa(sparse conding) bazată pe cele două subdictionare pentru a realiza descompunerea imaginilor pe bază de MCA, unde se poate obține componenta geometrică din componenta HF, urmată de integrarea cu componenta LF a imaginii pentru a obține rezultatul dorit, cele fara stropii de ploaie, așa cum este ilustrat în figura 2 (e) și (f), ca rezultat, formulam problema îndepărtării stratului de ploaie pentru imagine ca o problemă de descompunere a imaginii bazată pe codare imprastiata, după cum urmează:

Algoritmii MCA tradiționali folosesc de obicei un dicționar global fix bazat pe wavelets / curvelets pentru a reprezenta componenta geometrică a unei imagini. Pentru a reprezenta componenta texturală a unei imagini, se utilizează fie un dicționar global (DCT global) sau un local (local DCT). În plus, un dicționar învățat poate fi utilizat și pentru a reprezenta componenta texturală. Cu toate acestea, pentru a descompune o imagine în componentele geometrice și texturate, selectarea dicționarelor și reglarea parametrilor aferenți pare să fie foarte empirică. Misiunea selectarii unui dictionar fix pentru dungile de ploaie nu este una usoara datorita varietatii sale. Mai mult, învățarea unui dicționar pentru a reprezenta componenta texturală presupune de obicei ca un set de patch-uri exemplare pentru textura care urmează să fie reprezentata sa poata fi cunoscute în prealabil sau extrase dintr-o imagine care se descompune ea însăși. Chiar si asa in practica nu este atat de usor de selectat automat patch-ul potrivit, cum stropii de ploaie acopera majoritatea regiunilor, componentele geometrice si cele de ploaie sunt majoritatea amestecate. Un dictionar fix invatat poate reprezenta doar o mica masura componenta geometrica a imaginii ceea ce nu este eficient si nici avantajos, ar fi mai util invatat un dictionar baza pe patchurile extrase din componenta in timp real.

Fig (3) Imaginea de intrare cu ploaie

Fig(2)

componenta de joasa frecvența; (b) Ieșirea filtrului bilateral

(c)componenta cu ploaie; (d) componenta geometrică

(e) Fig(3) filtrată cu metoda Kang; (f) Fig(3) filtrată cu metoda Kang cu DE

Desi algoritmul MCA este folosit cu succes pentru descompunerea imaginilor in mai multe elemente este dezavantajat de utilizarea unui dictionar fix facandu-l ineficient, astfel s-au cautat solutii pentru rezolvarea unor astfel de probleme. Prin urmare, decat sa folosim un dictionar bine stabilit dinainte, este mai indicat sa folosim o metoda care isi extrage singura dictionarul din imaginea de intrare.

Astfel diferit de traditionalul MCA care foloseste dictionare fixe, vom aborda si subiectul unui dictionar invatat automat de catre program direct de la imaginea de intrare. Mai precis softul va invata un dictionar bazat pe componenta de frecventa inalta (HF) a imaginii de intrare. Odata ce un astfel de dictionar e identificat, ne ramane task-ul de a identifica automat componentele care corespunz zgomotului (ploii in cazul nostru), astfel incat sa putem face reconstructia imaginii.

In primul rand extragem de la componenta de inalta frecventa(IHF) un set de patch-uri(yk) suprapuse ca exemple de invatare pentru dictionarul DHF.

unde: θk reprezinta coeficientul de imprastiere al yk iar lambda este parametrul de regularizare.

Acest soft implementeaza un algoritm eficient de invatare a unui dictionar pentru rezolvarea formulei de mai sus si obtinerea dictionarului DHF, ca cel ilustrat in figura de mai jos:

Fig(3) Dictionarul este extras din componenta HF, Fig(2b)

Observăm că atomii care formează pot fi împărțiți în două clustere (subdictionare) pentru reprezentarea componentelor geometrice și a ploii. Intuitiv, caracteristica cea mai importantă pentru un atom de ploaie poate fi extrasă prin intermediul "gradientului imaginii". În metoda propusă, vom folosi descriptorul HOG pentru a descrie fiecare atom din. Metoda HOG este descrisă în cele ce urmează. Ideea de bază a lui HOG este că aspectul și forma obiectului local pot fi, de obicei, bine caracterizate prin distribuirea gradientilor de intensitate locală sau a direcțiilor de margine, fără a cunoaște cu precizie gradientul corespunzător sau pozițiile muchiilor. Pentru extragerea HOG dintr-o imagine aceasta poate fi divizata in mai mai multe regiuni sau celule mai mici. Pentru fiecare celula, peste pixelii acesteia se poate acumula fie directia gradientului fie orientarea marignilor.

Dupa extragerea HOG pentru fiecare atom din DHF vom aplica un algortim care sa clasifice toti atomii din acest dictionar in doua clustere D1 si D2 pe baza descriptorilor HOG. Prin aceasta procedura vom identifica care din clustere contine atomii de ploaie si care cotine atomii fara ploaie(non rain).

Pe de alta parte chiar daca metoda propusa de invatara automata a unui dictionar poate fi pe deplin autonoma fara ca sa fie nevoie de probe suplimentare de pregatire, performanta despcomunerii poate fi imbunatatita prin colecatarea unui set de patch-uri ca exemplu din componenta HF a unor imagini nonrain de pregatire pentru formarea unu dictionar extins.

In figura de mai jos putem observa in partea superioara componenta HF a opt imagini non rain, iar in partea inferioara un dictionar extins.

Pe scurt pentru inlaturarea stropilor de ploaie algoritmul face urmatorii pasi:

1) Aplica filtru bilateral pentru obtinerea componentelor LF si HF a imagini cu ploaie I

2) Extrage un set de patch-uri yk din IHF, aplica metoda autonoma de invatare a dictionarului pentru algoritmul de „codare imprastiata“ pentru rezolvarea ecuatiei:

3) Extrage HOG si clasifica toti atomii in doua clustere

4) Identifica cele doua clustere ca fiind doua sub-dictionare, unul din ele cu component rain iar celalalt non-rain

5) Aplica MCA prin executarea unui algoritm de potrivire ortogonala pentru rezolvarea:

Formula 5.1

6) Reconstructia fiecarui patch pentru recuperarea fie componentei geometrice fie a componentei cu ploaie, pe baza coeficientilor extrasi la pasul 5

7) Rezultarea imagini fara ploaie a imaginii de inceput I, ca fiind INR=ILF + IHF(G)

Algoritmul Huang

Algoritmul Huang de indepartarea a stropilor de ploaie se bazeaza pe o invatare autonoma pentru descompunerea imaginilor si este aplicabil imaginilor statice, acesta se bazeaza de asemenea ca algoritmul de mai sus pe MCA.

În această lucrare, se propune un cadru de descompunere a imaginii bazat pe auto-învățare. Metoda propusă identifică componentele imaginii bazate pe similaritatea semantică și astfel poate fi aplicată cu ușurință aplicațiilor de scoatere a zgomotului din imagini.

Spre deosebire de descompunerea imaginilor cu ajutorul unor dictionare preinvatate aceasta metoda propune auto-invatarea dictionarului direct din imaginea de intrare, după observarea atomilor din dicționar cu frecvență spațială mare (adică, modele de zgomot potențial), avansăm algoritmul de clustering nesupravegheat de propagare a afinității fără cunoașterea prealabilă a numărului de clustere, ceea ce ne permite să identificăm în mod automat atomii dicționarului care corespund modelelor de zgomot nedorite . Ca rezultat, eliminarea acestui zgomot de la intrare imaginea poate fi realizată prin realizarea unei reconstrucții a imaginii fără a folosi atomii dicționarului asociat. Din explicația de mai sus, se poate observa că aceasta metoda propusă nu necesită niciun fel de date externe de formare a imaginii și nu este necesară nici o interacțiune cu utilizatorul sau cunoștințe anterioare. Prin urmare, metoda poate fi considerată o abordare nesupervizată. Și, după cum se confirmă prin experimente, metoda poate fi aplicată direct unei singure imagini de intrare și rezolvarea problemelor de imagine unică a dungilor de ploaie și eliminarea zgomotului gaussian. Metoda propusă ne permite să descompunem o imagine de intrare și să observăm reprezentarea ei fără a fi nevoie ca programul sa invete din datele de instruire pre-colectate.

.

Fig 4. Ilustratie descompunerii imagini de intrare pe cadre,

dupa îndepărtarea componentei de frecvență joasa din imaginea de intrare I, softul învată

dicționarul DH pentru a reprezenta componenta de HF. Atomii dicționarelor sunt grupați in K clustere create dupa similaritațile atomilor din acealsi cluster.

Figura prezintă cadrul propus pentru descompunerea imaginilor. După cum se arată în această figură, abordăm această problemă rezolvând sarcina învățării dicționarului pentru reprezentarea redusă a imaginii, urmată de învățarea componentelor imaginii contextuale. În timp ce prima intenționează să reconstruiască o imagine de intrare folosind tehnici de reprezentare redusă, aceasta din urmă va fi utilizată pentru a identifica componentele cheie ale imaginii pe baza informațiilor lor contextuale (și astfel poate fi aplicată în scopul de denoise).

Primul pas in metoda propusa este acela de a separa componenta de frecventa inalta IH de componenta de frecventa joasa IL, deoarece cele mai nedorite componente de zgomot cum ar fi stropii de ploaie se gasesc in aceste tipuri de componente. Ca sa ajungem la I=IL+IH se folosesc trei filtre trece jos sau avem varianta tehnicilor de îndepartare a zgomotului cum ar fi: bilateral, K-SVD si BM3D in stadiul de preprocesare. Acest filtre pot fi inlocuite cu filtre trece banda daca se cunoaste frecventa zgomotului de interes.

In aceeasi nota cu am spus mai sus la algoritmul Kang este mai avantajos folosirea unui dictionar invatat automat din imaginea de intrare, astfel si acest algortim aplica aceeasi teorie de invatare a unui dictionar bazat pe componenta de frecventa inalta a imaginii de intrare. Odata ce un asemenea dictionar este observat si invatat ramane de identificat componentele nedorite care corespund zgomotului astfel incat la reconstructia imaginii sa nu se foloseasca acele componente nedorite, astfel la acest algortim problema de rezolvat se pune la fel ca mai sus cu urmatoarea formula:

Se cunoaste faptul ca atomii nu sunt neaparat diferiti unul de celalalt mai ales intr-un dictionar prea mare pentru o reprezentare redusa. Astfel dupa modelul MCA, algoritmul separa atomii in doua grupuri diferite, astfel atomii dintr-un anumit grup sunt similari. Astfel, va fi posibil să se determine grupul (și componentele acestuia) asociate cu zgomotul de interes, iar sarcina de scoatere a stropilor de ploaie din imagini poate fi realizată prin realizarea reconstrucției imaginii fără a utiliza acele componente nedorite.

După gruparea automată a atomilor din dicționarul extras M în diferite clustere K, putem obține componente de imagine IkH asociate fiecărui cluster. Adică, patch-ul din p al IkH se calculează unde este un vector ale cărui intrări nonzero sunt numai cele asociate cu atomii din clusterul k. Fiecare componentă de imagine IkH poate fi considerată asociată cu un anumit tip de informație de context, așa cum este prezentat în figura 1. Aceasta completează sarcina de descompunere a imaginii. În sectiunea experimentala vom discuta modul în care aplicăm acest cadru propus pentru două sarcini de indepartare a zgomotului, în care trebuie să fie identificate și îndepărtate automat portiunile de ploaie și zgomotul gaussian.

Fig 5. Exemple de derivare al IH din imaginea de intrare I folosint diferite tehinici de filtrare trece jos. Versiunea filtrată IL din imaginea de intrare folosint filtrarea bilaterală, K-SVD si BM3D sunt prezentate in (a), (b), (c), iar versiunile care corspund acestora pentru IH=I-IL sunt prezentate in (d), (e), (f);

Algoritmul Son

In cazul algoritmilor precedenți am discutat în general un tip de abordare în ceea ce priveste îndepartarea stropilor de ploaie din imagini statice, respectiv despre algoritmul conventional de îndepartare a texturilor, mai exact despre analizarea morfologică a componentelor (MCA), mai exista tot in aceeași familie de algoritmi si variația relativa total (RTV), acestea doua fiind metode sofisticate de indepartarea a texturilor.

In cadrul algoritmului Son vom aborda și un al doilea tip. A doua abordare este de a descrie trăsăturile structurilor de ploaie și apoi de a scoate structurile de ploaie din imaginile de intrare cu model de ploaie. Pentru a detecta structurile de ploaie, caracteristicile ploii artizanale pot fi proiectate pe baza unei forme eliptice sau a unei vizibilități ridicate și a unei saturații scăzute. După detectarea regiunilor de ploaie printr-un descriptor de caracteristici lucrate manual, structurile de ploaie pot fi îndepărtate prin filtrarea nelocală sau prin inamovire prin imagine. Cu toate acestea, tendința recentă este de a adopta abordarea de învățare prin reprezentare (de exemplu, învățarea dicționarului sau învățarea profundă ), în loc să proiecteze caracteristici artizanale. Învățarea prin reprezentare poate extrage automat funcții utile din datele brute și a demonstrat performanțe puternice pentru restaurarea imaginilor și problemele de clasificare a imaginilor. Din acest motiv, învățarea prin reprezentare a înlocuit designul tradițional elaborat manual. În urma acestei tendințe, învățarea dicționarului online a fost utilizată pentru a reprezenta structurile de imagine de ploaie și de ploaie într-o imagine de intrare. În această metodă, pentru a separa partea dicționarului de ploaie de întregul dicționar, a fost utilizat descriptorul caracteristicilor HOG realizat manual, presupunând că structurile de ploaie au marginile verticale și diagonale cu variații mari. Cu toate acestea, structurile de ploaie nu sunt limitate doar la marginile verticale și diagonale cu variații mari. Prin urmare, descriptorul HOG are o capacitate limitată de a clasifica partea dicționarului ploaie din dicționarul întreg învățat. Chiar dacă această metodă poate duce la creșterea performanțelor de îndepărtare a ploii atunci când structurile de ploaie sunt îndepărtate, este posibilă și îndepărtarea detaliilor obiectului. Pentru a depăși acest dezavantaj, adâncimea câmpului (DOF) poate fi considerată ca reprezentând aproximativ regiunile fără ploaie. Cu toate acestea, DOF este, de asemenea, o caracteristică realizată manual. Mai mult decât atât, utilizarea DOF nu este principalul algoritm pentru îndepărtarea ploii pe bază de coduri rare. Mai degrabă, este considerată o etapă de pre-procesare care poate fi aplicată oricăror algoritmi de îndepărtare a ploii. De fapt, pot fi utilizați și alți algoritmi de saliență vizuală în locul DOF. Recent, a fost prezentată o metodă mai elegantă de îndepărtare a ploii, bazată pe codificarea discriminativă, subțire. Ideea cheie a acestei lucrări este de a face codurile rare de ploaie și dictionarele non-ploaie exclusiv reciproce. Cu toate acestea, exclusivitatea reciprocă perfectă nu poate fi garantată pentru unele imagini de ploaie cu structuri similare între ploaie și obiecte, ceea ce conduce la rezultate nesatisfăcătoare

În această lucrare, rețeaua neuronală convoluționară (CNN) a fost utilizată pentru a mapa patch-uri corupte pe patch-urile curate într-o manieră controlata. Cu toate acestea, această metodă nu poate fi aplicată direct la îndepărtarea ploii. În cazul imaginilor cu ploaie, nu este ușor de colectat perechile de patch-uri corupte și curate, deoarece este necesara o metodă controlata. De asemenea, structurile de ploaie au o varietate de forme în mărime și formă și astfel cartografia directă de la patch-urile corupte la cele curate poate să nu funcționeze corect deoarece procesul de detectare a ploii și procesul de îndepărtare a ploii sunt încorporate în modelul CNN. Cu toate acestea, caracteristicile ploii învățate prin CNN pot fi utilizate pentru detectarea ploii într-o manieră necontrolata, ceea ce necesită un clasificator suplimentar (de exemplu, regresia logistică sau mașina de suport) și apoi procesul de îndepărtare a ploii, cum ar fi filtrarea non-locală pentru a îndepărta structurile de ploaie.

Învățarea dicționarului online necesită un descriptor HOG realizat manual pentru a separa partea dicționarului de ploaie de dicționarul întreg. Cu toate acestea, descriptorul HOG nu poate modela diverse tipuri de structuri de ploaie, deci în această lucrare se adoptă învățarea dicționarului offline. Adică, dicționarul ploaie este învățat din imaginile de antrenament ploaie, nu din imaginea ploii de intrare. Cu toate acestea, chiar și imaginile de formare a ploii pot include și zonele care nu sunt acoperite de ploaie. Prin urmare, în această lucrare, imaginile mascate sunt generate manual și apoi utilizate în timpul dicționarului offline, învățând să indice zonele de ploaie. Prin aceasta, dicționarul ploaie învățată poate reprezenta diferite tipuri de structuri de ploaie. De asemenea, dicționarul non-rain este învățat separat din imagini de antrenament naturale. Presupunând că sunt date dictionarele cu ploaie și ploaie, îndepărtarea ploii poate fi obținută prin forțarea codurilor rare ale dicționarului de ploaie să fie vectori zero, după cum urmează:

unde Ri indica operatorul care extrage patch-ul dintr-o imagine de intrare cu ploaie (x) la pozitia de pixel „i”. Daca x este imaginea vector cu o marime M x 1 si dimensiunea patch-ului este m x m, atunci matricea Ri va fi m*m x M ca dimensiune, caracterele mici indica vectori iar cele cu litere mari matrici. D reprezinta dictionarul in care fiecare coloana vector corespunde vectorului de baza care este numit semnal-atom. Dictionarul este format ca in cazurile de mai sus din componenta cu ploaie si fara ploaie. Mai mult, ploaia poate fi indepartata prin atribuirea de zerouri vectorului cu cod redus αr, astfel producand un patch de indepartare a ploii, care este reprezentat de Dn αn. Ideal dictionarul de ploaie Dr ar trebui folosit doar la reconstructia structurilor cu stropi de ploaie. In orice caz dictionarul atribuit ploii Dr poate reconstrui structurile fara stropi de ploaie. Deoarece atomii de semnal ai lui ai dictionarelor cu ploaie si fara ploaie pot avea cateva corelatii, atomii de semnal similari din cele doua dictionare pot fi selectati printr-un algoritm de potrivire a urmariri (matching pursuit algorithm). Prin urmare pentru patch-urile fara ploaie, abordarea pentru indepartarea stropilor de ploaie care forteaza codul redus αr sa fie un vector nul, poate duce la pierderea detaliilor si a marginilor obiectelor. In figura de mai jos avem un exemplu de acest tip, pierderea claritatii detaliilor si a marginilor apare in jurul umarului si in regiunea fetei mai exact in jurul ochiului. Aceasta observatia arata ca este necesara o contracție a codului redus αr in regiunile fara ploaie.

Fig (6) In stânga putem observa imaginea de intrare iar in dreapta imaginea dupa procesarea ei cu pierderea contrastului si a claritații marginii obiectelor

Scopul nostru principal este de a micșora codurile rare ale dicționarelor de ploaie și de ploaie. Pentru a reusi acest lucru va fi creata o mapa contractata normalizata [0-1] si apoi multiplicata cu codurile reduse ale patch-urilor de ploaie de intrare.

Modelul de indepartare a stropilor de ploaie ale acestui algoritim este descris de urmatoarea formula:

unde f reprezinta functia ce contracție iar simbolul “;” is folosit pentru a crea in nou rand in vector sau matrice. Acest model foloseste o functie liniara de contracție, f(αi)=si αi, unde si reprezinta o valoare scalara pentru contracția codurilor reduse. Ecuatia de mai sus ne arata ca patch-ul ploios de intrare Rix poate fi inlocuit de o combinatie liniara a dictionarului D si de codurile reduse contractate αis pentru obtinerea unui patch fara componenta de ploaie.

Fig(6) Fig(7)

In stânga avem imaginea cu ploaie iar In stânga avem dicționarul componentei cu

in dreapta imaginea cu dungile de ploaie mascate ploaie iar in dreapta dicționarul nonrain

În încheierea parții teoretice privind algorimul Son, descriem pe scurt cum lucrează algoritmul cu învatare profundă propus pentru îndepartarea stropilor de ploaie:

Intrare: Imaginea cu ploaie x si dicționarul cu cele două componente, cu ploaie si fara ploaie

Iesire: Imaginea fara ploaie, y

-Inițializare:

– Se genereaza harta de contrație.

– Se cauta corelatia matricii C, matricea care corelează cele doua dicționare

– Inițializarea parametrilor

– Inițializarea vectorului p și a matricii Q

– Indepărtarea stropilor de ploaie

For i….->

– Se aplică OMP pentru fiecare patch de intrare Rix

– Se calculeaza valoare de contrație

– Se obține αri

– Se obține αni

– Se contruiește patch-uri fara ploaie

– Se face update vectorului p si matricii Q

end For

– Se realizeaza media patch-ului pentru obținerea imagini fara ploaie

Capitolul III

Partea experimentala

1.

2.

3.

Capitolul. 3 (Partea experimentala)

1. Metode de procesare si indici de calitate

In acest ultim capitol vom analiza rezultatele experimentale ale fiecarui soft in parte, vom putea observa capacitatile fiecarui soft in general dar și pe cazuri in care doar o parte din ele vor putea performa rezonabil asftel încat sa fim satisfăcuți, deoarece niciunul nu seamănă cu altul ne vom putea da seama mai bine despre diferența dintre un dicționar învațat dinainte sau unul învațat din imaginea de intrare, vom analiza si observa de ce un dicționar extins este mai eficient de cele mai multe ori sau ce efect asupra randamentului dat de algoritm il are o rețea neurala.

De cele mai multe ori ne vom folosi de anumiti parametri pentru a evalua calitativ imaginile de la iesire, prin comparație cu cele de la intrare.

1)Fidelitatea informațiilor vizuale (VIF) este un indice de evaluare a calității imaginii de referință, bazat pe statisticile naturale ale scenei și pe noțiunea de informație despre imagine extrasă de sistemul vizual vizual. Acesta a fost dezvoltat de Hamid R Sheikh și Alan Bovik de la Laboratorul de Inginerie Imagistică și Video de la Universitatea din Texas, Austin în 2006 și s-a dovedit a se corela foarte bine cu aprecierea umană a calității. Acesta este implementat în nucleul sistemului de monitorizare a calității video Netflix VMAF, care controlează calitatea imaginii tuturor videoclipurilor codate de către Netflix. Aceasta reprezintă aproximativ 35% din consumul de bandă de bandă din S.U.A. și un volum tot mai mare de videoclipuri transmise la nivel global.

2) Raportul semnal-zgomot, adesea abreviat PSNR, este un termen de inginerie pentru raportul dintre puterea maximă posibilă a unui semnal și puterea de corupere a zgomotului care afectează fidelitatea reprezentării sale. Deoarece multe semnale au un domeniu dinamic foarte larg, PSNR este de obicei exprimat în termeni de scală logaritmică a decibeliilor.

3) Indicele de similaritate structurală (SSIM) este o metodă de estimare a calității percepute a televiziunii digitale și a imaginilor cinematice, precum și a altor tipuri de imagini și clipuri video digitale. Prima versiune a modelului a fost dezvoltată la Laboratorul de Inginerie Imagistică și Video (LIVE) de la Universitatea din Texas, Austin și a fost dezvoltată în colaborare cu Laboratorul de Viteză Computațională (LCV) de la Universitatea din New York.

SSIM este folosit pentru măsurarea asemănării dintre două imagini. Indicele SSIM este o metrică de referință completă; cu alte cuvinte, măsurarea sau predicția calității imaginii se bazează pe o imagine inițială necomprimată sau fără distorsiuni ca referință. SSIM este conceput pentru a îmbunătăți metodele tradiționale, cum ar fi raportul semnal-zgomot (PSNR) și eroarea medie pătrată (MSE).

Diferența față de alte tehnici menționate anterior, cum ar fi MSE sau PSNR, este că aceste abordări estimează erori absolute; pe de altă parte, SSIM este un model bazat pe percepție, care consideră degradarea imaginii ca schimbare percepută a informațiilor structurale, încorporând în același timp fenomene perceptuale importante, incluzând atât mascarea luminanței, cât și termenii de mascare a contrastului. Informațiile structurale reprezintă ideea că pixelii au interdependențe puternice, mai ales când sunt aproape spațial. Aceste dependențe conțin informații importante despre structura obiectelor în scenă vizuală. Mascarea luminanței este un fenomen prin care distorsiunile imaginii (în acest context) tind să fie mai puțin vizibile în regiunile strălucitoare, în timp ce mascarea contrastului este un fenomen prin care distorsiunile devin mai puțin vizibile acolo unde există o activitate semnificativă sau "textura" în imagine.

De asemenea dupa cum văzut si în capitolul II, metodele despre care discutăm se folosesc in special la preprocesare de anumite soft-uri de “denoise” cunoscute deja de mai mult timp în acest domeniu, astfel ca vom spune cate ceva despre fiecare algortim de acest gen pentru a avea o imagine mai clara.

1) K-SVD este un algoritm de învățare a dicționarului pentru crearea unui dicționar pentru codare rară, printr-o abordare de descompunere a valorii singulare. K-SVD este o generalizare a metodei clustering k-mean și funcționează alternând iterativ între codarea rar a datelor de intrare bazate pe dicționarul curent și actualizarea atomilor din dicționar pentru a potrivi mai bine datele. K-SVD poate fi găsită pe scară largă în aplicații cum ar fi procesarea imaginilor, prelucrarea audio, biologia și analiza documentelor.

2) BM3D presupune “Blocarea potrivirii și filtrarea 3D” (BM3D) adică este un algoritm de potrivire a blocurilor 3-D utilizat în principal pentru reducerea zgomotului în imagini. Fragmentele de imagine sunt grupate împreună pe baza similarității, dar spre deosebire de gruparea standard de k-mijloace și de asemenea metode de analiză a clusterului, fragmentele imaginii nu sunt neapărat disjuncte. Acest algoritm de potrivire a blocurilor este mai puțin exigent la calcul și este util mai târziu în etapa de agregare. Fragmentele au totuși aceeași dimensiune. Un fragment este grupat dacă diferențele sale cu un fragment de referință scad sub un prag specificat. Această tehnică de grupare se numește potrivire a blocurilor, de obicei este utilizată pentru a grupa grupuri similare în diferite cadre ale unui videoclip digital, pe de altă parte BM3D poate grupa macroblocuri într-un singur cadru. Toate fragmentele de imagine dintr-un grup sunt apoi stivuite împreună pentru a forma forme cilindrice 3D.

3) Un filtru bilateral este un filtru neliniar, de conservare a marginilor și de reducere a zgomotului pentru imagini. Acesta înlocuiește intensitatea fiecărui pixel cu o valoare medie ponderată a valorilor intensității de la pixelii din apropiere. Această greutate se poate baza pe o distribuție Gaussiană. În mod esențial, greutățile depind nu numai de distanța pixelilor euclidiani, ci și de diferențele radiometrice (de exemplu, diferențele de interval, cum ar fi intensitatea culorii, distanța de adâncime etc.). Acest lucru păstrează marginile ascuțite.

2.Kang

Deoarece nu putem găsi altă abordare bazată pe un singur cadru, pentru a evalua performanța algoritmului propus, mai întâi comparăm metoda propusă cu metoda de filtrare trece jos sau filtrul bilateral, care a fost aplicat pe scară largă și au fost cercetate recent în prelucrarea imaginilor, cum ar fi scoaterea zgomotului din imagini. În plus, pentru a demonstra că metodele existente de diminuare a imaginii nu pot aborda bine problema îndepărtării ploii bazate pe imagine unică, comparăm de asemenea metoda propusă cu metoda de denoise a imaginii bazată pe învățarea dicționarului K-SVD și o reprezentare redusă.

Nu am dispus de imagini naturale realizate pe timp de ploaie care sa fie potrivite pentru ceea ce se discută in aceasta lucrare, astfel că vom apela la cateva imagini sintetice create special pentru această temă, practic acestea sunt fotografii realizate într-un contexct fara ploaie si sunt modificate aplicându-se peste ele stropi de ploaie “sintetici”, prin editarea imaginilor, li se mai adaugă un strat pe deasupra. Pentru a evalua calitatea imagini procesate de catre soft în comparațtie cu imaginea introdusă la intrare in acest caz ne vom folosi de VIF cu un interval intre 0 si 1, acest indice s-a dovedit a fi unul foarte eficient si este folosit pe o scară largă.

Imaginile de ploaie sintetizate pe care le vom folosi au fost generate fie prin adăugarea de dungi de ploaie în Fig. 8 (a), utilizând software-ul Photoshop, sau imaginile de ploaie prestate în Fig. 9-11 au fost generate printr-o tehnică de redare fotorealistică descrisă în cele ce urmează. Mai exact au fost creatre printr-un model de apariție a lungimii de ploaie care captează interacțiunile complexe dintre direcția de iluminare, direcția de vizionare și forma oscilantă a unei picături de ploaie. Acest model este construit pe baza unui model de oscilație a picăturilor de ploaie, care a fost dezvoltat în domeniul științelor atmosferice. Parametrii de oscilație au fost determinați empiric prin măsurarea aparențelor de ploaie sub o gamă largă de condiții de iluminare și de vizionare. Pe baza acestor parametri, s-au obținut dungi de ploaie cu variații ale aspectului de dungă în ceea ce privește direcțiile de iluminare și vizionare. Trebuie mentionat faptul ca acest lucru nu inseamna ca avem informatii disponibile in avans despre picaturile de ploaie create astfel.

Parametri folosiți in această metodă sunt setați dupa cum urmeaza. Filtrul bilateral folosit unde deviațiile standard de domeniu-spatial și de domeniu intensitate sunt setate la 6 și, respectiv 0,2, pentru a ne asigura că putem îndeparta cât mai mulți stropi de ploaie din imagine. Pentru pasul de invatare al dictionarului, s-a folosit o implementare eficienta cu un parametru λ de regularizare caruia ii este atribuita valoare 0.15, care este de asemenea sugerat pentru codare rara in unele articole de specialitate. Pentru test al unei imagini in tonuri de gri de dimensiune N1xN2 = 256×256 am avut urmatoarele variabile:

-Dimensiunea patch-ului – N1xN2=16×16

-Numarul patch-urilor de antrenament P=(N1-sqrt(n)+1)x(N2-SQRT(n) +1)

-Dimensiunea dictionarului m=1024

-Numarul de iteratii de antrenament setat la 100.

De asemenea s-a utilizat un algortim OMP (orthogonal matching pursuit ) eficient cu un numar de coeficienti diferiți de 0 de maximum 10, acest 10 reprezentand parametrul L din formula 5.1, cu cat L este mai mic cu atat complexitatea computationala este mai mica si invers.

Fig 8. (a) imaginea originala fara ploaie; (b) imaginea „a” cu ploaie adaugata; (c) imaginea “b” filtrata cu filtru bilateral (VIF=0.31); (d) Componenta de inalta frecventa a lui “b”; (e) subdictionarul de ploaie a lui “d”; (f) subdictionarul geometric a lui “d”; (g) componenta de ploaie a lui “d”; (h) componenta geometrica a lui “d”; (i) imaginea cu stropii de ploaie indepartati din imaginea “b” prin metoda propusa (VIF=0.53); (j) imaginea cu stropi de ploaie indepartati din imaginea “b” prin metoda propusa cu DE (VIF=0.57).

Descriptorul HOG folosit are dimensiunea fiecarei caracteristici setata la 81. Pentru evaluarea perfomanțelor metodei propuse cu dicționar extins, s-au colectat mai multe patch-uri de antrenament extrase din componentele de înaltă frecvența a 8 imagini fara ploaie. Spre deosebire de parametri de mai sus doar numarul te interații de antrenament s-a schimbat, acesta dublandu-se si ajungand la 200. Procesul de invatare a dicționarului extins are loc doar o data iar cele 8 imagin de antrenament si DE sunt prezentate in figura de mai jos:

Fig (9); (a) Componenta de frecvența înaltă a celor 8 imagini de antrenament

Fig (9); (b) Dicționarul extins învățat

In continuare vom compara metoda Kang cu metoda K-SVD bazate pe scoaterea zgomotului din imagini, in care doar un singur dicționar e folosit pentru partea de codare rară, pe baza ipotezei că abaterea standard a zgomotului care se presupune a fi distribuită Gaussian, poate fi cunoscută în prealabil. Metoda K-SVD folosita este setata astfel, dimensiunea patch-ului va fi 8×8, dimensiuea dicționarului 256 și vom avea 15 iterații de antrenament.

De obicei in acest gen de aplicații valoarea deviației standard nu este cunoscută . Pentru a o estima, pentru o imagine redata originala se calculează deviația pentru fiecare componenta de ploaie in parte ca fiind valoarea inițiala, în timp ce pentru o imagine de ploaie naturală se folosește componenta ploaie obținută prin metoda Kang pentru a estima valoarea inițială. Apoi, se regleaza manual valoarea în jurul valorii inițiale pentru a ne asigura că majoritatea dungilor de ploaie din imaginea ploii pot fi îndepărtate.

Rezultatele obtinute prin filtrarea bilaterala si metoda K-SVD si Kang fara dicționarul extins sunt evidențiate in figurile de mai jos. Rezultatele simularii dovedesc faptul că atat filtrul bilateral cat si metoda K-SVD pot îndeparta cu succes stropii de ploaie, totusi atat metoda K-SVD cat si filtrarea bilaterala pierd foarte mult din detaliile imagini, in timp ce metoda analizată Kang îsi îndeplineste foarte bine sarcina principală, aceea de a îndeparta ploaia din imagini dar in acelasi timp conservă și pastrează cele mai multe detalii dinafara ariei componentei de ploaie, astfel imbunatațind semnificativ calitatea vizuala a imaginii de ieșire. Se poate observa ca de obicei K-SVD nu poate realiza un rezultat extraordinar în îndepartarea stropilor de ploaie. In primul rand dicționarul extras din imagini naturale fara ploaie de obicei poate conține dungi de ploaie destul de bine reprezentați iar aceste dungi au de multe ori un conținut similar cu multe alte detalii din componenta fara ploaie. Ca un efect al acestui lucru, componenta de ploaie nu va fi neglijata iar algoritmul își va face treaba asupra ei, însa când componenta fara ploaie este foarte între-patrunsă cu cea de ploaie poate aparea acest efect. Eliminând coeficienți non-zero se va elimina atât din componenta de ploaie cât și din cea fara ploaie, rezultatul fiind o imagine serios afectată făcându-și apariția efectul de blur. Un al doilea motiv pentru care K-SVD nu este o metoda ideala este că schema K-SVD presupune că unele cunoștințe despre statisticile de zgomot sunt cunoscute în avans, astfel încât eroarea de reconstrucție să fie bine limitată, însă aceasta presupunere nu este neaparat adevarată pentru ca in astfel de aplicații este greu de estimat o astfel de variabilă.

Spre deosebire de K-SVD, metoda Kang pornește de la persupunerea ca dungile de ploaie sunt de obicei coerente într-o imagine și ca diferă destul de mult fața de componenta geometrică în majoritatea parților imaginii. Din aceasta cauza Kang utilizează doua dicționare separate care învața atât atomii de ploaie cat si cei fara nonrain de la imaginea de intrare pentru codarea rara a componentelor cu ploaie si fara ploaie ale imaginii. De asemenea metoda Kang este concepută dupa presupunerea ca imaginile de intrare conțin deja cele mai bune patch-uri de ploaie pentru antrenamentul atomilor de ploaie si in aceeasi idee conțin si caracteristica de gradient ale patch-urilor de ploaie prezintă statistici similare in ceea ce priveste magnitudinea si direcțiile gradientului, cum ar fi de exemplu caracteristica HOG.

Fig 10. (a) imaginea originala fara ploaie; (b) imaginea „a” cu ploaie adaugata; (c) imaginea “b” filtrata cu filtru bilateral (VIF=0.29); (d) Imaginea procesată prin metoda K-SVD VIF=0.38 ; (e) Procesare prin metoda propusă VIF=0.56; (f) Metoda Kang cu DE, VIF=0.60;

In urma comparațiilor se poate observa ca metoda propusă poate conduce la un rezultat cu o calitate a imagini mai înaltă daca folosim un dicționar extins dar în acelasi timp va crește si complexitatea computaționala a codarii rare datorita sau din cauza faptului ca dimensiunea dicționarului extins este mai mare. Motivul pentru ca o procesare care conține un dicționar extins oferă o calitate vizuale superioră este acela ca acesta conține mai multi atomi de tip „nonrain” pentru codarea rară pentru a reconstrui imaginea cu cât mai multe detalii. În unele cazuri rare, cu toate că dicționarul extins nu poate îmbunătăți calitatea vizuală a unor patch-uri de ploaie, deoarece utilizarea poate duce eventual la texturi nearmonioase. Motivul principal este că este un dicționar mult mai bogat, învățat de mai multe patch-uri de imagine nonrain și poate fi folosit pentru a recupera speculativ unele informații de textură din spatele dungilor de ploaie din imaginea de ploaie în timp ce se aplică descompunerea imaginii MCA. Rețineți că valorile coerenței reciproce dintre cele două sub-dicționare se situează de obicei în intervalul de [0,6, 0,9], care nu este foarte aproape de zero. Motivul principal este că cele două subdiscriminare utilizate în metoda propusă sunt generate dintr-un singur dicționar învățat bazat pe o grupare bazată pe o singură caracteristică (HOG).

Fig 11. (a) imaginea originala fara ploaie; (b) imaginea „a” cu ploaie adaugata; (c) imaginea “b” filtrata cu filtru bilateral (VIF=0.21); (d) Imaginea procesată prin metoda K-SVD VIF=0.21 ; (e) Procesare prin metoda propusă VIF=0.36; (f) Metoda Kang cu DE, VIF=0.38;

Tabel cu coeficienți VIF pentru figurile 8, 10 si 11

In urma rezultatelor experimentale ale algoritmului Kang se poate trage concluzia că aceasta metoda își indeplineste destul de bine scopul mai ales având in vedere faptul ca nu dispune de parametri spațio-temporali. Softul Kang este bazat pe descompunerea imaginilor prin analiza morfologică a componentelor, rezolvarea problemei se face prin codare rară și învațare automată de dicționar. Avantajul este ca nu sunt necesare template-uri predefinite pentru pasul de învațare al dicționarului. De asemenea algoritmul ofera posibilitate folosirii unui dicționar extins însușit prin antrenarea cu niște fara ploaie imagini dedicate, de obicei din acestea se extrag atomi nonrain, iar acest lucru foloșeste la reconstrucția imaginii la final, astfel cu ajutorul acestui dicționor extins se pierd mai putine detalii, iar imaginea de iesire beneficiază de o calitate mai bună asa cum am observat si mai sus.

a) Imagine naturala b)Imaginea naturala

dupa filtrarea prin softul Kang

3. Huang

Vom evalua performanța acestui algoritm prin încercarea a doua task-uri simple, îndepartarea ploii din imagini si îndepartarea zgomotului, mai exact discutam despre scoaterea acestuia cu zgomot Gaussian. Vom considera dimensiunea patch-ului 16×16 pixeli, M=1024, iar parametrul λ va fi 0.15 in timp ce valorea maxima de codare rara pentru algoritmul OMP va fi de 10. Pentru tehnicile de preprocesare a filtrarii trece jos, vom avea deviații de intensitate si in domeniul spatial pentru filtrarea bilaterală ca fiind 0.2 si respectiv 6. Imaginile din experimentele noastre vor avea la fel ca mai sus dimensiunea 256×256.

La fel ca mai sus vom testa algoritmul cu ajutorul unor imagini sintetice, iar rezultatul algoritmului Huang le vom compara cu rezultatele filtrarii bilaterale, K-SVD si B3MD, iar de aceasta data vom apela la alt indicator de calitate in locul VIF, mai exact PNSR. Variația standard va fi setată la o valoare mare, mai exact 25 pentru K-SVD si 35 pentru algoritmul BM3D. Exista posibilitatea ca in timpul preprocesarii, aceasta valoare mare a deviației sa permită îndepartarea unor structuri de înalta frecventa si inclusiv sa elimine stropi de ploaie din componenta de frecvență joasa a imagini de intrare, din păcate este destul de imposibil de realizat un parametru atat de exact încat sa se elimine doar structurile de ploaie.

BM3D presupune “Blocarea potrivirii și filtrarea 3D” (BM3D) adică este un algoritm de potrivire a blocurilor 3-D utilizat în principal pentru reducerea zgomotului în imagini. Fragmentele de imagine sunt grupate împreună pe baza similarității, dar spre deosebire de gruparea standard de k-mijloace și de asemenea metode de analiză a clusterului, fragmentele imaginii nu sunt neapărat disjuncte. Acest algoritm de potrivire a blocurilor este mai puțin exigent la calcul și este util mai târziu în etapa de agregare. Fragmentele au totuși aceeași dimensiune. Un fragment este grupat dacă diferențele sale cu un fragment de referință scad sub un prag specificat. Această tehnică de grupare se numește potrivire a blocurilor, de obicei este utilizată pentru a grupa grupuri similare în diferite cadre ale unui videoclip digital, pe de altă parte BM3D poate grupa macroblocuri într-un singur cadru. Toate fragmentele de imagine dintr-un grup sunt apoi stivuite împreună pentru a forma forme cilindrice 3D.

Mai jos veți gasi un tabel cu valorile PSNR ale diferitelor metode bazate pe filtrarea bilaterală pe 3 imagini de ploaie diferite. Din acest tabel, vedem că metoda propusă a atins cele mai ridicate sau comparabile valori PSNR între diferite abordări. Pentru a arăta că nu limităm folosirea filtrării bilaterale ca algoritm LPF, vom aplica în continuare K-SVD sau BM3D în etapa de preprocesare și vom compara rezultatele eliminării ploii cu utilizarea acestor doi algoritmi de denoising direct. Se poate observa că metoda propusă a îmbunătățit în mod clar valorile PSNR decât acești doi algoritmi de denoizare de ultimă oră.

Unul dintre avantajele Huang este acela ca in metoda de preprocesare putem folosi diverse tipuri de algorim, astfel stim dupa cum am spus mai sus că există fel si fel de tipuri de algoritmi care pot fi potriviți in unele situatii si nepotriviți in altele, astfel acest avantaj ne poate usura munca.

Pentru a evalua calitativ performanța, vom discuta cateva exemple de îndepărtare a ploii. Pentru a vizualiza mai bine și a compara rezultatele, Fig. 12 prezintă imagini de eliminare a ploii în imagini în nuanțe de gri. Se poate observa că, deși metodele Bilateral, K-SVD și BM3D au reușit să elimine cele mai multe dungi de ploaie, aceste tehnici de denoizare ignoră în mod inevitabil detaliile imaginii (de exemplu, părți de frecvență înalte). În timp ce daca aplicam aceste tehnici în faza de preprocesare a LPF, reusim să identificăm / recuperăm cu succes cele mai multe detalii ale imaginii non-ploaie, obținând astfel o calitate vizuală îmbunătățită.

Fig (12) a) Eliminarea ploiii pe baza similarităților descoperite; b) Filtrare bazată pe MCA; c) Ieșirea filtrarii bilaterale; d)Metoda Huang cu filtru bilateral; e) K-SVD; f)Huang cu K-SVD g) BM3D; h) Huang cu BM3D

Merită menționat faptul că, deși abordarea propusă bazată pe MCA a eliminat cu succes cele mai multe dungi de ploaie fără o degradare semnificativă a calității imaginii, părțile componentelor non-ploaie au fost, de asemenea, eliminate din cauza partiționării dicționarului prin algoritmul K-mean clustering. În timp ce metoda noastră anterioară bazată pe context a produs rezultate comparative de eliminare a ploii, este necesară o realizare a unei segmentări a imaginii constrânsă în context pe imaginile de intrare și, astfel, crește semnificativ costurile de calcul.

În plus, realizăm experimente de denoizare a imaginilor unice pe imagini ploioase din lumea reală. Din aceste două exemple de mai jos, se poate observa că abordarea noastră a produs rezultate satisfăcătoare de îndepărtare a ploii pe imagini din lumea reală cu scene ploioase. Observăm că, deși filtrarea bilaterală a reușit să elimine tiparele de frecvență spațiale înalte, cum ar fi dungile de ploaie, păstrând în același timp muchiile în figura de mai jos, o mare parte din detaliile imaginii au fost, de asemenea, eliminate. Ca rezultat, este preferabilă o abordare bazată pe auto-învățare,

Imaginea de intrare Stropi de ploaie Imaginea Originala

B3MD Bilateral

K-SVD

Mai sus sunt prezentate mai multe versiuni ale aceleasi imaigni, avem imaginea originala fara ploaie color, avme componenta sintetica care simuleaza stropii de ploaie si imaginea sintetica de intrare in algortim compusă din imaginea originala peste care este suprapusă componenta sintetică cu dungile de ploaie. In faza de denoise am procesat aceasta imagine cu un cu trei modalitați de preprocesare diferite, B3MD, KSVD si Bilateral, fara a genera zgomot Gaussian in plus.

Putem observa că cel mai puțin in ceea ce priveste îndepartarea stropilor de ploaie cu ajutorul algoritmului B3MD a reusit un rezultat destul de slabuț însa spre deosebire de celalte doua metode a reusit sa conserve cel mai bine detaliile imaginii, mai exact la reconstrucție a reusit sa oferte o claritate cat mai bună a marginilor obiectelor din imagine si de asemenea un contrast mai bun, mai ales fața de filtrul bilateral.

Filtrul bilateral a ajutat algorimul propus sa îsi îndeplinească cel mai bine scopul pentru care a fost creat, a reusit sa îndeparteze cel mai mult din dungile de ploaie, lasând o imagine sufient de satisfăcătoare, însa spre deosebire de B3MD a pierdut ceva mai mult din detaliile imaginii, a pierdut atât din contrast lasând in urma o imagine mai albicioasa cât si din detaliile care evidențiaza marginile obiectelor, iar în unele zone a aparut o ușoara senzație de blur.

Ultima metodă de preprocesare K-SVD, pare nepotrivită pentru integrarea ei intr-un astfel de soft, aleasă de preprocesare a generat la iesire o imagine neclară, blurată, cu un contrast bun însa a pierdut destul de mult din detaliile imaginii, inclusiv marginile imaginii sunt destul de mult afectate definite. În cazul algoritmului K-SVD se poate observa cel mai bine că aportul adus de catre metoda Huang nu este suficient daca algortimul de preprocesare nu este potrivit, deoarece o imagine preprocesată cu K-SVD are cel mai slab rezultat fața de celalte doua, imaginea fiind mult blurată iar dungile de ploaie nu au fost suficient de mult șterse de pe imagine pe cât ne-am dori.

În cadrul algoritmului Huang, filtrul bilateral reușește generarea unui rezultat destul de bun. In tabelul de mai jos urmarim si situația rezultatelor din punct de vedere numeric, cu ajutorul a trei metode de comparare a rezultatelor de la iesire fața de imaginea de intrare.

Din tabel observăm ca toate cele trei metode numerice de compararea a imaginilor de intrare si ieșire ne transmit acelasi lucru in ceea ce priveste cea mai buna metoda de preprocesare, aceasta fiind cea prin filtrarea bilaterala, în timp ce pe locul doi se claseaza B3MD la un scor numeric relativ bun, aproape la mijlocul diferentei dintre cele doua. Dupa cum ne-am dat seama înca de la vizualizarea imaginilor de mai sus filtrul bilateral are scorul cel mai bun, oferind cea mai bună imagine de iesire, în cazul KSVD la fel ca in cazul celorlalte două rezultatul nu este o surpriză, lucrurile fiind clare înca de la prima vedere a imaginilor.

Totusi deși tendința filtrarii bilaterale de a uniformiza uneori stropii de ploaie cu fundalul imagini are avatanje mai ales când este folosită in tandem cu scoaterea a câtor mai mulți stropi de ploaie din imaini, există riscul ca în unele imagini blurarea sa fie prea evidenta astfel încat imaginea rezultate sa nu ne fie folositoare, si sa preferem rezultatul obtinut cu ajutorul KSVD chiar daca are mai multe dungi de ploaie, dar rezultatul ar fi mai calitativ din punct de vedere al calitații.

In imaginile de mai jos urmarim pașii prin care trece o imagine de la intrare pana la iesire inclusiv urmarim fazele intermediare de filtrare si extragere a dicționarelor, procesarea de mai jos este efectuată cu K-SVD.

Vom aborda metoda Huang si din punct de vedere al eliminarii zgomotului din imagine, discutam despre zgomot de tip Gaussian. Vom adauga manual zgomotul, lui sigma îi vom atribui valoarea 25 pentru imaginile de intrare fara zgomot pe care le vom testa în cele ce urmeaza. De reținut este faptul ca daca acest coeficient sigma este cunoscut dinainte, ne-am putea aștepta rezultate cât mai bune de la algoritmi K-SVD si BM3D. Totuși vom presupune ca acest parametru nu este cunoscut și îi vom atribui lui sigma valoarea 35 pentru ambele metoda. Similar scenariilor de îndepartare a ploii, acest lucru ne-ar permite sa eliminam modele de frecvența înalta, inclusiv zgomot Gaussian din componenta de frecvența redusă a imaginii de intrare.

BM3D Bilateral

KSVD

Observăm ca zgomotul si ploaia au fost cel mai bine eliminate de catre algoritmul BM3D lasând o imagine de ieșire mai mult decât satisfacatoare, acest rezultat ne oferă confirmarea că este de luat in considerare varianta unei abordări in care pentru scăpa de dungile de ploaie, avem posibilitatea mai întâi să adaugam manual zgomotul Gaussian si sa ne folosim de BM3D. In ceea ce priveste celelalte doua metode, rezultatele sunt sub așteptări, este adevarat că s-a eliminat destul de mult din stropii de ploaie însă în cazul K-SVD imaginea a pierdut din calitate si este foarte pixelata în timp ce în cazul filtrării bilaterale imaginea s-a blurat suficient de mult.

In acest subcapitol am prezentat algoritmul Huang de îndepartarii a ploii printr-o descompunere a imaginii bazate pe învățare pentru denoizarea imaginii unice. Cadrul propus mai întâi observă atomii din dicționar din imaginea de intrare pentru reprezentarea imaginii. Componentele imaginii asociate cu diferite informații de context vor fi învățate automat din gruparea atomilor dicționarului derivat, care nu au nevoie de cunoștințe anterioare privind tipul de imagini și de colecția de date de antrenament de imagine. Pentru a aborda sarcina de denoise a imaginii, metoda propusă este capabilă să identifice componentele imaginii care corespund tiparelor de zgomot nedorite. Simularile pe două tipuri de zgomot, cu zgomot structurat și nestructurat a imaginii au confirmat că aceasta metodă poate fi folosita cu succes de cele mai multe ori, calitatea rezultatelor fiind una rezonabilă, însă trebuie să luăm in considerare faptul că această metodă este cu concepte relativ de bază, nu este o metodă complexa, iar utilizarea ei nu necesită nici foarte mult timp si nici foarte multe resurse.

4. Son

Vom face mai multe experimente si simulari pe baza algorimului Son. In prima fază vom discuta despre cum abordarea contractării poate afecta vizual imaginea pentru fiecare αri si αni, apoi vom vizualiza diferenta dintre metoda propusa de catre Son si metodele asa zis convenționale. Bineînteles ca vom parcurge etapele procesarii cu scopul ca la final sa evaluăm calitatea imaginilor.

In imaginea de mai jos care este ilustrata si mai sus se pot observa doua situații diferite, în figura 13a putem observa abordarea de contrație propusă pentru codare rară αri=0, iar în figura 13b se ilustreaza imaginea dupa procesarea ei, fara dungile de ploaie, cu modelul de contrație propus siαri. Pentru Fig 13a, am discutat deja mai sus în partea teoretica cu privirea la pierderea detaliilor în ceea ce privește marginile obiectelor din jurul umărului, de asemenea observăm o pierdere a contrastului și a detaliilor și in jurul feței. Utilizarea abordării propuse pentru siαri poate reduce calitatea mariginilor obiectelor dar îmbunătăți contrastul si detaliile feței, acest lucru poate fi observat in 13b. In imaginea de mai jos ce ilustrează harta de contrație vom observa că aceasta are valori ma mari in jurul umărului. Putem spune ca in aceste regiuni codarea rară a lui αri poate fi considerată ca fiind siαri= αri, astfel codarea rară a dicționarului de ploaie poate fi folosit pentru reprezentarea umărului cu ajutorul codării rare a dicționarului non-rain, acest lucru ne ajută deoarece putem evita pierderea detaliilor marginilor si păstram structura imaginii.

Imaginea originala Harta contractării

Fig. 13

Indepărtarea ploii cu αri=0 Indepărtarea ploii cu modelul

propus siαri

Urmează să comparăm vizual calitatea imaginilor. Vom discuta mai multe situații, între metode convenționale si metoda propusă Son. Luăm in considerare inclusiv imaginile folosite pentru antrenarea dicționarelor. Vom observa că metoda de îndepartarea a texturilor RTV poate fi o soluție viabila în funcție de structura ploii, de preferat este ca dungile de ploaie sa fie destul de subțiri, dacă acestea sunt mai groase, stropii de ploaie ocupă o arie mai mare pe imagine, este posibil ca algoritmul RTV sa nu poate face diferența intre structurile de ploaie si celelalte obiecte din imagine, deci poate aparea un fenomen nedorit și anume ca algorimul RTV să elimine atât ploaia cât și alte structuri din imagine.

Imaginea originală Imaginea procesată cu algoritmul RTV

Imaginea originală Imaginea procesată cu algoritmul RTV

În cele două exemple de mai sus se observă destul de clar limitările algoritmului RTV, imaginea a doua având ploaia mult mai pronunțată astfel rezultatul este unul nedorit, imaginea fiind mai mult stricată, spre deosebire de prima imagina în care rezultatul este unu acceptabil.

În cazul metodei convenționale de codare rară situația este puțin diferită, aceasta poate îndeparta atât structuri fine cât și structuri mai lungi, cu cât descriptorul HOG mai bine reprezentat pentru ambele tipuri de ploaie cu atât metoda codării rare poate să îndeparteze mai bine atat dungile fine cat si cele mai lungi de ploaie, există situații în care acest tip de codare rară poate funcționa mai bine decât metoda Son. Putem observa acest lucru în exemplul de mai jos, de asemenea algoritmul RTV s-a descurcat similar cu metoda Son în acest caz. Dacă ar trebui să alegem o variantă procesată dintre cele de mai jos, consider că metoda propusă Son ar fi cea mai indicată, aceasta a pastrat cel mai bine detaliile structurilor, chiar dacă in cazul anumitor stropi de ploaie s-a descurcat ceva mai slab decât ceilalti doi algoritmi acei cațiva stropi mai proeminenți ramași nu putem spune că ne deranjeaza foarte mult.

Imaginea originala Algoritmul RTV Metoda codării rare Metoda Son

In cazul codării rare descriptorul HOG poate pierde din reprezentare când se face separarea dicționarelor, între cel cu ploaie si cel fara ploaie, astfel putem observa în imaginea de mai sus, ca acest algoritm a pierdut foarte mult din detalii, pentru a evita asemenea situații metoda discutată, Son, colecteaza informații din imagini mascate cum am arătat într-un exemplu mai sus, astfel urmând ca algoritmul sa învete singur acest lucru reprezinta marele avantaj deoarece algoritmul poate reprezenta cu acuratețe ploaia. Totusi acest tip de abordare are slabiciunea că învață un dicționar care reprezintă partea ploioasa dar nu și partea fara ploaie, nu poate reprezenta structurile obiectelor din imagine, astfel uneori harta generată poate avea erori. Pe baza unei hărți de contracție induse de harta erorilor, codul rar al dicționarelor cu ploaie și fara ploaie poate fi utilizat pentru a reprezenta structurile din în regiunile care nu sunt acoperite de ploaie. Se foloșeste o astfel de abordare pentru a se putea descrie mai clar structurile din imagini in regiunlie fara ploaie. Un lucru interesant în cadrul Son este acela că poate face diferența între structurile de ploaie și alte structuri cu picaturi aparute în imagini ( de exemplu stropii formați cand calcăm într-o balta), acest lucru îl observăm imediat în imaginile de mai jos.

Imaginea Originala Imaginea originala transformată

in tonuri de gri

Rezultatul procesării cu algorimul Son

Algoritmi cu învațare profundă cum este și Son necesită de obicei mai multe resurse atât din punct de vedere al puterii de procesare cât si al spațiului de stocare, totuși aceștia sunt proiectați să rezolve probleme mai complexe cu structuri de ploaie de obicei nedefinite dacă vorbim despre imagini reale. Astfel de algorimi pot ajunge la performanțe demne de apreciat însă necesită destul de mult timp pană sa fie folosiți aproape de potențialul lor deoarece ei îsi calibrează singuri parametri în funcție de experiențele anterioare astfel de fiecare dată când algorimul ruleaza si proceseaza o imagine noua el învață câte ceva, din aceasta cauză după codarea lui este necesar un timp pentru introducerea unor imagini de antrenament, cu ploaie sintetic creată, este de preferat să fie antrenat cât mai divers pentru a fi pregatit pentru cele mai neașteptate situații când va ajunge sa fie folosit cu un scop precis.

Continuând obiceiul de la celelalte doua softuri analizate mai sus, vom vizualiza imagini procesate și valorile de fidelitate oferiți de aceeasi indici ca mai sus.

Imaginea nr 1

Imaginea nr. 2

Imaginea nr. 3

Imaginea nr. 4

Cele patru imagini de mai sus sunt create articifial, adaugându-se ploaia peste imaginile originale, cred ca putem trage o concluzie din ceea ce am discutat pana acum la algorimul Son si anume că poate fi folosit cu succes cât timp stropii de ploaie sunt marunți, în acele situații îsi îndeplineste bine scopul putem spune, păstrând calitatea imaginii și o definire satisfăcătoare a marginilor. Problema apare în cazul imaginilor cu structurile de ploaie ca în cele patru de mai sus, când ploaia este cu stropi mai mari, algoritmul nu reușește să îi elimine suficient. Putem observa că în parțile de imagine în care ploaia e maruntă, aceasta a fost îndepartate cu brio.

În încheierea părții experimentale în cadrul algorimului Son vizualizăm și câteva imagini naturale cu ploaie.

Ca o concluzie, algoritmul Son are avantajul unui algoritm stabil care reușeste să își îndeplinească scopul de cele mai multe ori, îmbunătățind imaginile prin îndepartarea stropilor de ploaie și in acelasi timp nu pierde foarte multe detalii astfel încât calitatea detaliilor rămâne una destul de buna.

Similar Posts