petrescu alexandru-lucian [email protected]

Download Petrescu Alexandru-Lucian alexandru.petrescu@CS.PUB.RO

If you can't read please download the document

Upload: kohana

Post on 19-Mar-2016

94 views

Category:

Documents


1 download

DESCRIPTION

UNIVERSITY POLITEHNICA of BUCHAREST DEPARTMENT OF COMPUTER SCIENCE. Transmisia datelor multimedia in retele de calculatoare Studiu despre compresia cu fractali optimizata cu algorimi genetici. Petrescu Alexandru-Lucian [email protected]. Cuprins. Introducere Fractali - PowerPoint PPT Presentation

TRANSCRIPT

  • Petrescu [email protected] POLITEHNICA of BUCHARESTDEPARTMENT OF COMPUTER SCIENCETransmisia datelor multimedia in retele de calculatoare

    Studiu despre compresia cu fractali optimizata cu algorimi genetici

  • CuprinsIntroducereFractaliDe ce algoritmi genetici?Algoritmi geneticiAlgoritmi existentiOptimizari propuseRezultateConcluzii

  • Introducere (1)Compresia datelor este necesara in multe aplicatiiExista cazuri in care o compresie cu pierderi minore este acceptata (imagini satelit Hubble de ex.)De ce fractali?In general in natura se urmeaza o ordine , de exemplu anumite plante(in img: floarea soarelui) au o structura matematica.

  • Introducere (2)Fractal = o forma geometric fragmentat sau frnt care poate fi divizat n pri, astfel nct fiecare dintre acestea s fie (cel puin aproximativ) o copie in miniatura a ntregului

    Setul mandelbrot

  • Fractali (1)Formal, fie o functie:W:X -> X , X un set compactSe numeste contractor o mapare: W:D -> D daca D inclus in X si exista d metrica pe X a.i d(W(x),W(y))
  • Fractali (2)Daca E e un set nevid, compact a.iW(E)=w1(F)+w2(F)+ +wn(F) atunciF= Wk(E) , deci F atractor pentru orice EDeci orice set E determinabil din F prin w-uri va converge la F.Atunci o familie de contractii w1..wn poate aproxima domenii complexeO imagine e un domeniu R3

  • Fractali (3)Definirea metricii:Fie V(X,r) multimea punctelor din vecinatea de distanta r a lui X, unde X set.Fie metrica d(A,B)=infimum{y | A-V(B,y)= B-V(A,y)=0}(metrica Haussdorf)

    Teorema de colaj:minimizarea d(I,wi(I)) e echivalenta cu gasirea LIFS.

  • De ce algoritmi genetici? (1)Deci am demonstrat ca avem o problema de cautarePentru niste regiuni Ri se cauta domenii Dj a.i. W(Dj) sa aproximeze bine pe Ri, unde W={w1, .. wn}Pentru o imagine se cauta mapari.Problemele algoritmului de baza de pe slide-ul urmator suntcomplexitatea si numarul de operatiiMapari = cautare in spatiu de solutii, problema NP-hard=> optimizare cu algoritmi genetici.

  • De ce algoritmi genetici? (2)Un algoritm de compresie cu fractali general (k putere a lui 2)

    Descompune Imagine I in k x k regiuni;While ( exista regiuni necodate )If numar de regiuni > limitagaseste codare pentru regiuni in D = multimeatuturor subseturilor de s*size regiune din IElsefoloseste cea mai buna codare existentaIEnd(size regiune)=(size regiune)/2Wend

    O((1/2)depth *size*2size) => Hard computational! NP-hard.

  • Algoritmi genetici (1)Optimizam algoritmul per se nu functiile saleReprezentare-gena-cromozomiOperatori-mutatie-crossoverFitnessInitalizareNext gen- elitism

  • Algoritmi genetici(2)Un algoritm intuitiv:

    While exista regiuni necodate:genereaza o populatie de posibile solutiiWhile exista regiuni necodate si nu e ultima generatieCalculeaza fitnessul regiunilor sau overallDaca se gaseste o mapare buna tine minteGenereaza o noua populatie folosind crossover si mutatiiWendin functie de algoritm schimba nivelul de cautare (size regiune) sau foloseste cea mai buna mapare existentaWend

  • Algoritmi genetici(3)Initializare (best->worst):- seeding- mapez dupa medie- mapez random

  • Algoritmi genetici (4)O gena:Xdom, Ydom. Flip in total logX +logY +3 biti per gena

    Un cromozom = o posibila solutie, este o multime de gene

  • Algoritimi genetici(5)Operatorul crossoverNu se aplica tot timpul85 100 %Poate fi si mai departeoptimizata

  • Algoritmi genetici (6)Operatorul de mutatieSe aplica foarte rar, dinteoria algoritmilor geneticieste indicat ca procentul deaplicare sa fie < 1%(altfel se randomizeaza prea agresiv) =>populatie haotica

  • Algoritmi genetici (7)Functia de fitness, determina cat de bun pentru reproducere este cromozomulEroare maxima = | s*Di Rjk|s = [0.45, 0.6, 0.8, 0.97] bazat pe studiu statistic, s esteluminantaSe poate rafina Eroare maxima tinand cont de contrastul imaginiio=(Rij)/n2e=func(e,o) ex: e=e*o

  • Algoritmi existenti(1)Perspectiva holistica- rapid- high miss rate- buna pentru anumite tipuri de probleme (ex: satelit)Perspectiva regiune- mai incet (totusi, mult mai rapid ca un alg fractal pur)- scadere de calitate la decromprimare aproape nesesizabila

  • Algoritmi existenti(2)Holistic (doar metrica Haussdorf pe I, ca la Th. colajului)creeza populatie P de inceputsolutie=false; times=0;While ( !solutie^! ((times++)>timeout))calculeaza fitness pentru fiecare cromozom C din Pdaca fitness > minim solutie=true;else Genereaza o noua populatie folosind crossover si mutatii plecand de la cromozomii cu cel mai bun fitnessWend

  • Algoritmi existenti(3)La nivel de regiune (Haussdorf la nivel de regiune)initializeaza mapari[W,H]=0creeaza populatie initiala cu mapari cu totWhile exista regiuni necodate:genereaza o populatie de posibile solutiiWhile exista regiuni necodate si nu e ultima generatieCalculeaza fitnessul regiunilorif(d(Ri,W(Dj))
  • Optimizari propuse(1)2 erori, de acceptare si de cautare- la acceptare inseamna ca am o mapare indeajuns de bunaincat sa nu mai caut => elimin instantaneu Ri din cautare(practic scad spatiul de cautare imediat in loc de la sfarsitul evolutieipe dimensiunea respectiva de regiune)- la cautare inseamna ca e o mapare buna dar nu indeajunsElitism => cromozomii buni sunt copiati direct in urmatoarea populatieVerificare convergenta generatieInitializare seeded, adaug seedurile:- fiecare regiune Ri de size 2k la Dj de size 2k+1 , cu propietatea ca Dj contine mai mult de din Ri- atentie la k pentru a preveni bottleneck-uri.

  • Optimizari propuse(2)Un algoritm optimizat

    initializeaza mapari[W,H]=0creeaza populatie initiala folosing seedingWhile exista regiuni necodate: initalizeaza sir de fitness de generatiegenereaza o populatie de posibile solutiiWhile exista regiuni necodate si nu e ultima generatieCalculeaza fitnessul regiunilorif(d(Ri,W(Dj))

  • Optimizari propuse(3)Cloneaza cei mai buni cromozomi direct in next generationGenereaza o noua populatie folosind crossover si mutatii pe cromozomii cu cel mai bun fitnessVerifica sirul de convergenta si daca fitness-ul scade sau nu creste in ultimele X generatii => ultima generatie (saturare)Daca no_generations=maxgen => ultima generatieWendelimina Ri mapati din cautare (cei ne-eliminati direct)regiune size=regiune size/2recalculeaza eroriWend

  • RezultateViteza de compresie aproape dublata din cauza spatiuluide cautare mult micsoratImagini in urma decomprimarii unei imagini comprimate cu 10 generatii;la multe generatii nu apar diferente vizibile

  • ConcluziiFolosind algoritmi genetici se imbunatateste vizibil algoritmul de compresie cu fractaliFolosind optimizarile propuse se scade si mai mult spatiul de cautareImaginile se pot reconstrui pe orice dimensiune.Se ofera un grad de flexibilitate al compresiei cu fractali prin variabilele de control de genul: max generations, error size etc