REVISTA AFT NR.3 - 2001.PRELUCRAREA IMAGINILOR CU AJUTORUL RETELELOR NEURONALE


PRELUCRAREA IMAGINILOR

CU AJUTORUL RETELELOR NEURONALE

Mr.lect.univ.ing. Mircea Popa

Formularea problemei

In cadrul acestei lucrari se va incerca o sistematizare a stadiului si tendintelor in domeniul prelucrarilor imaginilor, in incercarea de a se identifica o serie de solutii, caracteristicile acestora precum si posibilitatea utilizarii retelelor neuronale in acest sens. Exista trei mari directii in tehnologia procesarii imaginilor:

A. Procesarea in vederea clasificarii

Majoritatea aplicatiilor intâlnite in activitatea stiintifica si practica necesita numai identificarea si/sau clasificarea continutului unei imagini. In acest scop se realizeaza o procesare in sensul cel mai general: se actioneaza asupra imaginii astfel incât din imaginea de intrare (data) sa se determine semnalele de clasificare (de iesire). Metoda utilizata este aceea de a se prelucra imaginea pentru a se produce diversi parametrii numerici iar pe baza unei scheme de decizie, se clasifica datele de intrare (respectiv pe baza valorilor numerice ale parametrilor). Astfel, primul nivel este destinat pentru a extrage trasaturile importante ale imaginii - in functie de rezultatul care trebuie obtinut, iar pe baza acestora, urmatorul nivel realizeaza clasificarea sau permite luarea unei decizii. In aceasta varianta, problema dificila care trebuie rezolvata este aceea de a se stabili care parametri sunt relevanti in problema specificata, respectiv ce trasaturi trebuie extrase. In functie de acesti parametri (unul sau mai multi) se va mari si complica atât algoritmul cât si schema de prelucrare. Rezulta ca problema procesarii - in scopul clasificarii automate a imaginilor trebuie subdivizata rezultând deci scheme multinivel si la care procesarea, in cadrul fiecarui nivel se considera ca o prelucrare de imagine (datorita numarului mare de elemente implicate).

B. Procesarea in scopul imbunatatirii imaginii

In acest caz, scopul este acela de a se pune in evidenta obiecte si/sau detalii fine sau obscure din cadrul imaginii. Prin imbunatatirea imaginii se intelege: marirea contrastului, modificarea scarilor de gri (sau de culoare), eliminarea unor distorsiuni, modificarea continutului in frecvente spatiale a imaginii (exista de asemenea si varianta filtrarii optice coerente sau prin metode electro-optice). Punctul esential al filtrarii spatiale este acela ca informatia de baza este continuta in imagine si ca aceasta informatie poate fi reconstruita. Unele frecvente spatiale (ale obiectului sau asemanatoare acestuia) pot fi amplificate - in principiu - fara o pierdere de informatie la nivelul intregii imagini. Acest fapt contrasteaza cu procesele de clasificare automata - la care este inerenta o pierdere in informatie, datorata proceselor neliniare de decizie. In acest sens, respectiv ca scopul procesarii imaginilor este de a reduce informatia - pentru a reduce sarcina factorului uman - filtrarea spatiala nu este privita ca o procesare a imaginii propriu-zisa ci o transformare a acesteia.

C. Procesarea datelor in vederea comprimarii

In aceasta abordare problema care trebuie rezolvata este legata fie de cantitatea mare de date care trebuie transmisa (pe un canal de capacitate limitata), fie de necesitatea stocarii datelor. In procesarea numerica a imaginilor, numarul de esantioane pe unitatea de arie elementara (pel sau pixel) este cuantizat la un numar de biti, suficient de mare, iar apoi imaginea este stocata, transmisa sau prelucrata numeric. Conform teoriei informatiei, exista o corespondenta directa 1:1 intre redundanta si continutul frecventelor spatiale, astfel, informatia curenta este reprezentata de o imagine a carui spectru este plat (egal probabil) de la componenta continua la frecventa superioara de taiere - deci nu este posibila compresia in spatiul original. Analiza statistica a imaginilor confirma impresia intuitiva ca spectrul de frecvente nu este plat si in plus exista o corelatie puternica intre punctele invecinate - deci redundanta. Aceasta a condus la schemele de compresie uzuale se bazeaza pe redundanta locala - care poate fi extrasa relativ simplu cu circuite electronice (similare operatorilor locali din cadrul clasificarii automate).

Marea diversitate de operatii de prelucrare a imaginilor pot fi reduse la o forma echivalenta: ca retea. Deoarece obiectul poate apare oriunde in cadrul imaginii, se poate presupune ca reteaua de clasificare trebuie aplicata geometric repetitiv relativ la toate elementele de imagine. In cadrul retelei, functiile operator iau decizii si calculeaza - pe baza datelor de intrare - punctele operator asociate (sau punctele transformate). Rezulta o mare diversitate de implementari asociate imaginii (care poate fi prezentata in forma seriala sau paralela) cât si operatorilor (seriali sau paraleli).

Corespunzator conceptelor de abordare rezulta urmatoarele variante pentru utilizarea retelelor neuronale:

A. Retele neuronale care realizeaza transformari liniare bidimensionale

B. Retele neuronale care realizeaza transformari neliniare

C. Retele neuronale care realizeaza transformari locale.

In mod unitar, acesti operatori pot fi tratati si implementati cu ajutorul retelelor neuronale. Retelele deterministe cu neuroni binari sunt ideale pentru reprezentarea functiilor logice (booleene), respectiv a functiilor a caror argumente si valori iau doua stari posibile: "1" (adevarat) sau "0" (fals) respectiv +1 sau -1. Domeniul de definire a unei functii booleene cu N elemente acopera 2N elemente (alegerea corespunzatoare a doua valori a functiei pentru fiecare element). Rezulta deci existenta a 2^2N functii booleene cu N argumente. Orice functie booleeana poate fi reprezentata prin intermediul unei retele tip feef-forward cu un singur strat ascuns. In scopul justificarii acestei afirmatii vom considera o retea cu urmatoarea structura: nivelul de intrare, având N neuroni binari {s k} k=1,N si care reprezinta argumentele functiei; un singur neuron de iesire x respectiv x =f(s 1,s 2s N); un nivel ascuns format din 2N neuroni {sj} j=0,2N-1.

Reteaua este total conectata, in directia directa. Se fixeaza ponderile sinaptice intre stratul de intrare si cel ascuns in mod uniform (½ wjk½ =1) cu exceptia semnului, acesta fiind determinat dupa urmatoarea regula: consideram fiecare neuron din stratul ascuns si ii exprimam indexul j in forma binara. Pentru j=0,2N-1, acest numar - j - are N biti: (j)binar=(b1,b2,…bN) cu bp de valoare 0 sau 1. Se asociaza valorile:

wjk=+W cind bk=1

wjk=-W cind bk=0 deci wjk=(2bk-1)W.

Polarizarile neuronilor ascunsi se aleg in mod uniform: g =(N-1)W. Rezulta ca potentialul sinaptic al unui neuron j din stratul ascuns va fi:

Toti cei N termeni din suma sunt egali cu 1 in modul, deci suma va fi egala cu N când toti termenii sunt pozitivi (+1) respectiv, in caz contrar, suma va fi cel mult egala cu N-2. Aceasta implica faptul ca potentialul sinaptic total este strict pozitiv daca (2bk-1)=s k pentru orice k, adica un singur neuron (din stratul ascuns) poate deveni activ pentru o secventa de intrare data. Acest neuron este dat in reprezentare binara de:

adica:

unde .

Rezulta ca fiecare argument al functiei booleene va activa un singur neuron din stratul ascuns. Problema care trebuie rezolvata in continuare este modul in care se genereaza raspunsul corect pe baza starii specificate. In acest scop trebuie determinate ponderile wj (intre stratul ascuns si iesire) si polarizarea. Deoarece fiecare neuron din stratul ascuns corespunde unei singure intrari (adica unei combinatii unice s 1, s 2,… s N) exprimam:

pentru rezulta ca polarizarea neuronului de iesire va fi:

unde j0 este numarul binar care specifica argumentul functiei, iar semnul corect al iesirii va fi obtinut ca x =sign(h). Dupa cum s-a observat nu s-au impus restrictii asupra naturii sau formei functiei booleene, deci se pot reprezenta orice functii booleene in aceasta maniera (dezavantajul acestei metode rezulta din numarul mare de neuroni necesari dar aceasta se poate rezolva prin metoda eliminarii dinamice a nodurilor redundante).

Utilizarea algoritmului back-propagation pentru invatarea functiilor booleene

Se va utiliza ca baza in exemplificare functionarea retelelor multistrat feed-forward (cu alimentare directa). Sarcina este de a invata o functie booleana arbitrara de un numar (mic) de variabile booleene. Aceasta este realizata de o retea feed-forward cu trei nivele antrenata prin metoda gradientului negativ (prin legea propagarii inapoi a erorii). Reteaua consta dintr-un nivel de intrare s k, 1 £ k £ nin, un strat ascuns sj, 1 £ j £ nhidd si un nivel de iesire Si, t £ i £ nout. Conexiunile sinoptice sunt notate cu de la intrare la stratul ascuns (hidd), Wij - de la stratul ascuns la iesire (out), respectiv pragurile de activare si g I. Neuronii au doua valori de activare, alese ca ± 1. Când la intrare se aplica un caracter (fortând neuronii s k sa reprezinte caracterul de intrare) activarile din straturile intermediare respectiv de iesire sunt determinate de:

Legea de actionare f(x) - pentru neuroni discreti cu doua valori corespunde functiei treapta f(x)=sign(x). In parcursul fazei de invatare, aceasta este inlocuita cu functia signoida continua: f(x)=tanh(b x) deoarece invatarea gradient este posibila numai daca f(x) este neteda, cu o derivata finita (care in acest caz este f'(x)=b (1-f2(x)). La sfârsitul fazei de antrenare, se trece la limita (b ® ¥ ) si se obtine o functie de activare discontinua.

Conform algoritmului cu propagare inapoi (back-propagation) de minimizare a deviatiei iesirii retelei fata de valorile dorite conduce la corelatiile sinoptice:

iar modificarile valorilor de prag si - similar (acestea sunt obtinute prin simpla inlocuire a semnalului de intrare prin valoarea fixa -1.

Invatarea consta in mai multe „epoci de antrenament", in care, intregul set de caractere - ce trebuie invatate este prezentata retelei. Corectiile sinoptice si a nivelelor de prag sunt acumulate si aplicate la sfârsitul unei epoci. (se pot realiza corectiile si dupa fiecare caracter) fapt care poate - dar nu garantat - mari viteza de invatare. O modificare importanta care are posibilitatea de a imbunatati stabilitatea procesului de invatare consta in introducerea unui fel de histerezis (sau „momentum"). In regiunile din spatiul parametrilor in care suprafata erorii este puternic curbata, gradientul D poate deveni foarte mare. In afara cazului când parametrul e este ales mic, corectiile sinoptice vor tinde sa depaseasca (valoarea) pozitia reala a minimului. Aceasta va determina oscilatii care pot incetini sau chiar evita convergenta algoritmului. Pentru a evita aceasta problema, poate fi determinat termenul de corectie, astfel incât sa nu produca modificari abrupte (bruste) prin:

unde indicele n indica numarul epocii de antrenament. Daca a este suficient de mare cautarea in spatiul parametrilor va fi determinata prin (de) gradientul acumulat in mai multe epoci (cu rol de stabilizare). Din pacate nu este un criteriu general pentru alegerea parametrului gradient e si momentum a si valorile optime depind de problema propusa.

/blockquote>