+ All Categories
Home > Documents > Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a...

Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a...

Date post: 22-Aug-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
57
UNIVERSITATEA DIN CRAIOVA FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ ȘCOALA DOCTORALĂ „CONSTANTIN BELEAAlgoritmi performanți pentru prelucrarea imaginilor şi a semnalelor Rezumatul tezei de doctorat COORDONATOR ŞTIINŢIFIC: Prof. Dr. Ing. Dan Popescu DOCTORAND: Ing. Bogdan Popa CRAIOVA, 2019
Transcript
Page 1: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

UNIVERSITATEA DIN CRAIOVA

FACULTATEA DE AUTOMATICĂ, CALCULATOARE

ȘI ELECTRONICĂ

ȘCOALA DOCTORALĂ „CONSTANTIN BELEA”

Algoritmi performanți pentru prelucrarea

imaginilor şi a semnalelor

Rezumatul tezei de doctorat

COORDONATOR ŞTIINŢIFIC: Prof. Dr. Ing. Dan Popescu

DOCTORAND: Ing. Bogdan Popa

CRAIOVA, 2019

Page 2: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

Cuprins

INTRODUCERE................................................................................................................................................1

SCOP ........................................................................................................................................................ 1

MOTIVARE ................................................................................................................................................. 2

PERSPECTIVA CERCETĂRII ............................................................................................................................. 2

1 SISTEME ITERATIVE DE FUNCȚII PENTRU PROCESAREA IMAGINILOR FRACTALE ..................................... 3

1.1 SETUL MANDELBROT ................................................................................................................................... 3

1.2 IMPLEMENTAREA SOLUŢIILOR SOFTWARE ......................................................................................................... 4

1.2.1 Algoritmul Mandelbrot secvenţial ..................................................................................................... 4

1.2.2 Soluţia Software propusă .................................................................................................................. 6

1.2.3 Posibilităţi de optimizare – abordarea paralelă ................................................................................ 7

1.2.4 Rezultate obţinute ............................................................................................................................. 8

1.3 CONCLUZII .............................................................................................................................................. 10

2 COMPRESIA IMAGINILOR FĂRĂ PIERDERI.............................................................................................. 11

2.1 SOLUŢIA PROPUSĂ ................................................................................................................................... 11

2.2 PREZENTAREA APLICAŢIEI ŞI A REZULTATELOR ................................................................................................. 13

2.3 POSIBILITĂŢI DE APLICARE: STUDIU ASUPRA VOLUMULUI DE VIZUALIZARE PENTRU DISPOZITIVE MEDICALE ................... 17

2.4 CONCLUZII .............................................................................................................................................. 18

3 POSIBILITĂŢI DE PARALELIZARE PENTRU ALGORITMI DE DETECTARE A MUCHIILOR ȘI PENTRU CEL MAI

SCURT DRUM ................................................................................................................................................ 19

3.1 STUDIU ASUPRA ALGORITMULUI DE DETECTARE A MUCHIILOR (EDGE DETECTION) ŞI POSIBILITĂŢI DE UTILIZARE ........... 19

3.1.1 Îmbunătăţiri propuse pentru arhitectura algoritmilor de tip Edge Detection ................................. 19

3.1.2 Rezultate ale evaluărilor ................................................................................................................. 20

3.1.3 Utilizare practică şi propuneri viitoare ............................................................................................ 21

3.1.4 Concluzii .......................................................................................................................................... 22

3.2 POSIBILITĂŢI DE OPTIMIZARE A ALGORITMILOR PENTRU CEL MAI SCURT DRUM. STUDII DE CAZ ................................. 23

3.2.1 Algoritmul Dijkstra şi posibilităţi de paralelizare. Studiu de caz ..................................................... 23

3.2.2 Structura generală şi arhitectura algoritmului paralel .................................................................... 23

3.2.3 Compararea algoritmilor pentru găsirea celui mai scurt drum, tipuri de paralelizări și

posibilităţi de aplicare ............................................................................................................................... 26

3.2.4 Concluzii .......................................................................................................................................... 27

4 EVALUARE ÎN PARALEL ȘI PROCESARE ÎN TIMP REAL A UNOR SEMNALE DE VIBRAȚII FOLOSIND

TEHNOLOGIA FPGA ....................................................................................................................................... 28

4.1 INTRODUCERE .......................................................................................................................................... 28

Page 3: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

4.2 ARHITECTURA SISTEMULUI DE ACHIZITIE ........................................................................................................ 30

4.2.1 Schemele generale ale scenariilor de achiziție și prelucrare propuse ............................................. 32

4.3 DEZVOLTAREA APLICAȚIEI SOFTWARE DE PRELUCRARE . .................................................................................... 34

4.3.1 Cazul 1. Prelucrare FFT la nivel FPGA .............................................................................................. 35

4.3.2 Cazul 2. Prelucrare FFT la nivel Microprocesor RT ........................................................................... 37

4.3.3 Cazul 3. Prelucrare FFT la nivel PC ................................................................................................... 37

4.4 REZULTATE EXPERIMENTALE ....................................................................................................................... 39

4.4.1 Performanța în timp ........................................................................................................................ 39

4.4.2 Spectre obținute în diverse scenarii pentru motor .......................................................................... 41

4.4.2.1 Cazul 1. Prelucrare la nivel FPGA ................................................................................................. 41

4.4.2.2 Cazul 2. Prelucrare la nivel procesor RT ....................................................................................... 43

4.4.2.3 Cazul 3. Prelucrare la nivel procesor PC ....................................................................................... 44

4.5 CONCLUZII .............................................................................................................................................. 44

CONCLUZII FINALE ......................................................................................................................................... 45

CONTRIBUȚIILE AUTORULUI .......................................................................................................................... 48

DIRECȚII VIITOARE DE DEZVOLTARE .............................................................................................................. 49

PUBLICAȚIILE AUTORULUI ............................................................................................................................. 50

BIBLIOGRAFIE SELECTIVĂ .............................................................................................................................. 53

Page 4: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

1

INTRODUCERE

Scop

Prima parte a acestei teze se referă la imaginile fractale şi la posibilitățile de a analiza

imagini naturale cu ajutorul generărilor fractale plecând de la fundamentele matematice cu care

pot fi construite.

Generarea unor imagini fractale utilizând mijloacele clasice precum mulțimile

Mandelbrot sau Julia este redundantă din punct de vedere al timpului determinat de resursele

hardware existente astăzi, fiind un proces iterativ de generare, astfel încât acest demers

secvenţial conduce la o serie foarte mare de calcule. Timpul de execuţie este unul dintre cei mai

importanți factori ai tehnicilor software, în prezent acesta având un impact direct ca resursă de

stres asupra sistemelor, dar şi financiară pentru companiile mari. Ideea de bază în cadrul

primului capitol se referă la posibilitățile de generare a imaginilor fractale cu ajutorul tehnicilor

de programare paralelă. Se prezintă un studiu comparativ ca timp de execuție între abordarea

secvențială și cea paralelă la nivel de calcul. Rezultatele obținute confirmă diferența de timp de

execuție pentru generarea imaginilor fractale.

Scopul principal al celui de-al doilea capitol îl constituie posibilitatea de stocare a

imaginilor de capacitate mare cu ajutorul mijloacelor de compresie şi de decompresie a

informaţiilor date de imagini, pentru a eficientiza acest proces. De asemenea, se tratează

mijloace noi de stocare cu ajutorul prelucrărilor wavelet, dar şi a tehnicilor de programare, care

pot conduce la rezultate mult mai bune pentru sistemele cu procesare distribuită care prezintă,

teoretic, un calcul repetitiv şi independent. În cadrul acestui capitol se vor comprima și restaura

imaginile fractale generate în prima parte a tezei, acest proces fiind abordat la nivel secvențial

dar și cu câteva posibilități de abordare paralelă cum ar fi înmulțirea coeficienților în cadrul

proceselor de aplicare a unor filtre asupra imaginilor.

În cel de-al treilea capitol se tratează problema drumurilor minime în diferite scenarii,

problemă care se dorește a fi optimizată. Acest tip de algoritm este utilizat astăzi pentru hărțile

din sistemul GPS, pentru realizarea sistemelor de fluidizare a traficului, pentru gestionarea

documentelor, pentru gestionarea sistemelor de conexiune la internet şi transfer de date mari,

dar şi pentru stocarea datelor în baze de date foarte mari. Scopul practic al dezvoltării acestor

metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul

descris în cadrul capitolului 3, în care este prezentat unul dintre cei mai utilizați algoritmi pentru

prelucrare de imagini şi anume „Edge detection algorithm”, dar şi utilizarea algoritmilor trataţi

anterior cu ajutorul dispozitivelor şi a tehnicilor medicale moderne.

În ultimul capitol sunt abordate o serie de aplicații de prelucrare pentru semnalele de

vibrații cu ajutorul tehnologiei propuse recent de firma Național Instruments. Metodele de

achiziție și prelucrare paralelă au fost dezvoltate în cadrul proiectului: „Tehnologie

informațională pentru achiziția, prelucrarea paralelă, sincronizată și în timp real a unor

semnale de vibrații, folosind tehnologia FPGA (TIAVIB)” [TEH, 2017], desfășurat de către

Page 5: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

2

Universitatea din Craiova în parteneriat cu firma S.C. Vonrep S.R.L, în cadrul căruia am

participat ca membru în echipa de cercetare. În cadrul acestui capitol este propus un sistem

inovativ de achiziție a semnalelor de vibrații în timp real, utilizând tehnologia FPGA (Field

Programmable Gate Array). În zilele noastre achiziția și prelucrarea semnalelor de vibrații

generate de structuri dinamice din mediu industrial conduce la o serie de probleme la nivel de

transmitere de informații precum conexiunile de lungimi mari între traductoare și sistemul de

achiziție care pot compromite informația. Una dintre soluțiile acestei probleme este realizarea

unui sistem care să realizeze achiziția local, cat mai aproape de sursă, cu o perioadă de

eșantionare foarte mică. Un alt avantaj îl poate constitui prelucrarea datelor la același nivel local

și ulterior transmiterea rezultatelor prelucrărilor sau a unor mesaje de eroare, ceea ce reprezintă

un număr de octeți mai mic transmis. Componenta de achiziție și prelucrare a semnalelor de

vibrații se realizează in timp real în paralel pentru 3 semnale de vibrații distincte folosind

avantajele circuitelor FPGA integrate în sistemul Compact Rio 9024 al firmei National

Instruments. Prelucrarea paralelă odată cu achiziția a constat în aplicarea metodei FFT (Fast

Fourier Transform – spectrul de putere).

Motivare

În opinia autorului, domeniul de prelucrare a imaginilor are astăzi o ascensiune foarte

rapidă, fiind considerat unul dintre mijloacele de bază ale noii realități multimedia. Lucrarea de

doctorat ilustrează rolul algoritmilor paraleli în viitorul analizei procesării imaginilor pentru

funcţiile complexe de procesare, în mijloace moderne de programare pentru uneltele software

disponibile.

Ultimul capitol evidențiază prelucrarea semnalelor de vibrații. Totodată, vor fi

prezentate o serie de analize practice ale unor scenarii de test. Evoluția sistemelor embedded

(sisteme încapsulate/încorporate) către sisteme inteligente (smart embedded systems), care au

posibilitatea de comunicare între ele, a condus la realizarea unui anumit task cu productivitate

mult mai mare, fiind una dintre inovațiile din acest domeniu.

Perspectiva cercetării

În cadrul lucrării de doctorat realizate sunt prezentate mai multe unelte de prelucrare

a imaginilor cu impact în analiza unor algoritmi diferiţi, care, ilustrați sub diferite feluri de teste

oferă rezultate spectaculoase. Astfel, sunt dezvoltate mai multe structuri de programe care

tratează acești algoritmi şi pot fi enumerate exemple pentru:

1) Prelucrare şi generare a seturilor Mandelbrot

Algoritmul secvenţial şi implementarea paralelă sunt testați în diferite scenarii, pentru

imagini de diferite dimensiuni. Această metodă, derivată din setul complex, poate genera

imagini asemănătoare cu cele naturale.

2) Generare fractală cu ajutorul seturilor Julia

Sunt propuse implementări ale mulțimilor fractale Julia pentru diferite scenarii în

comparație cu seturile Mandelbrot. Sunt prezentate rezultate comparative între cele două

Page 6: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

3

interpretări fractale cu diverse funcționalități. Se poate spune că această metodă este mai

generală şi oferă scenarii mai ample asupra acestor tipuri de generări.

3) Analiza şi implementarea unor unelte pentru metodele de compresie fără

pierderi ale imaginilor

Plecând de la sistemul de compresie wavelet, este prezentat un sistem de paralelizare

la nivel de calcul pentru realizarea compresiei și decompresiei imaginilor de orice tip, accentul

fiind pus pe imaginile fractale generate anterior. Se va analiza aportul acestor metode de

compresie și în domeniul medical.

4) Algoritmi secvențiali şi propuneri de algoritmi paraleli pentru problema celui

mai scurt drum

Una dintre propunerile noi se bazează pe testarea algoritmilor secvențiali şi paraleli

pentru algoritmii care prezintă rezolvări pentru problema de drum minim sau cost minim.

Astfel sunt prezentate posibilităţi de paralelizare şi scenarii asupra algoritmilor

Dijkstra, Bellman-Ford, Floyd-Warshall, Viterbi. De asemenea, este propus un sistem de

gestiune al situațiilor în care abordarea paralelă conduce la rezultate favorabile.

5) Aplicații practice asupra algoritmilor de tip edge detection

Testarea algoritmului pentru detectarea muchiilor se face în diferite scenarii în funcţie

de posibilitățile de calcul distribuit date de tipul de imagine utilizat. Se propune o posibilitate

de calcul paralel pentru implementarea acestui algoritm și se evaluează eficiența propunerii.

6) Sistem de monitorizare și prelucrare a unor semnale de vibrații în timp real

Aplicația presupune proiectarea şi implementarea unui sistem de monitorizare și

prelucrare în timp real pentru semnalele de vibrații ale unui ax circular. Acest sistem presupune

achiziționarea și prelucrarea în timp real, în paralel a mai multor semnale de vibrații

achiziționate de pe cele 3 axe Ox, Oy și Oz. Principalul scop este prezentarea oportunității de

prelucrare a semnalelor “la sursă”, acolo unde se produc și cât mai rapid. Inovația de integrare,

între sistemul de achiziție de date și procesorul de timp-real, a unui circuit FPGA, are ca rezultat

prelucrarea în timp real a datelor aproape de sursa de apariție a lor. Rezultatele prelucrării vor

avea o dimensiune mai mică de date (un număr redus de octeți) ce pot fi transmise mai rapid în

spațiul IIoT (Industrial Internet of Things).

1. SISTEME ITERATIVE DE FUNCŢII PENTRU

PROCESAREA IMAGINILOR FRACTALE

1.1 Setul Mandelbrot

Setul Mandelbrot, M, este definit de o serie de polinoame complexe pătratice:

𝑃𝑐: ∁→ ∁ (1.1)

unde C reprezintă mulțimea numerelor complexe, date de :

𝑃𝑐: 𝑧 → 𝑧2 + 𝑐 (1.2)

Page 7: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

4

unde este un parametru complex. Pentru fiecare , se consideră următoarea serie:

(0, 𝑃𝑐(0), 𝑃𝑐(𝑃𝑐(0)),𝑃𝑐 (𝑃𝑐(𝑃𝑐(0))) , … ) (1.3)

obținută iterând 𝑃𝑐(𝑧), pornind din punctul critic 𝑧 = 0, astfel 𝑃𝑐(𝑧) tinde către infinit sau este

menținut într-o anumită limită [DEV,1989,a].

Setul Mandelbrot este definit ca mulțimea tuturor punctelor 𝑐 astfel încât secvenţa de

mai sus nu tinde la infinit. Se poate spune că setul Mandelbrot este un set compact, aflat în

discul închis cu o rază de valoare 2 în jurul originii sale. Concret, un punct aparţine setului

Mandelbrot dacă şi numai dacă |𝑃𝑐𝑛(0)| ≤ 2 pentru 𝑛 ≥ 2. Setul poate părăsi limita dacă

𝑃𝑐𝑛(0) devine mai mare decât 2, iar secvenţa va tinde către infinit.

Setul Julia al unei funcții f este notat J(ƒ), iar setul Fatou este notat F(ƒ). Aceste

denumiri provin de la matematicienii francezi Gaston Julia şi Pierre Fatou care sunt cunoscuţi

pentru studiul de început al dinamicii complexe, în secolul al XX-lea.

Fie R(z) considerată o funcţie fracţională:

𝑅(𝑧) = (𝑃(𝑧))/(𝑄(𝑧)) (1.4)

unde z € C*, C* este considerată sfera Riemann, P și Q sunt considerate polinoame fără divizori

comuni. „Umplerea” setului Julia, J(z) este reprezentată de setul punctelor z, ai căror coeficienți

nu tind către infinit, după ce J(z) este reiterată (corespunzător unei zone de atracţie). Seturile

pătratice Julia sunt generate de maparea pătratică:

𝑍𝑛+1 = 𝑍𝑛2 + 𝑐 (1.5)

pentru un c fix. Pentru fiecare c, această transformare generează un fractal.

1.2 Implementarea soluţiilor software

1.2.1 Algoritmul Mandelbrot secvenţial

Codul specific pentru o vizualizare a setului Mandelbrot poate fi considerat următorul

(aici în C ++, dar programabil cu uşurinţă în aproape orice limbaj):

double MinReal = -2.0;

double MaxReal = 1.0;

double MinImag = -1.2;

double MaxImag = MinImag+(MaxRe-MinRe)*ImageHeight/ImageWidth;

double Re_factor = (MaxReal-MinReal)/(ImageWidth-1);

double Im_factor = (MaxIm-MinIm)/(ImageHeight-1);

for(unsigned y=0; y<ImageHeight; ++y)

{ double c_im = MaxImag - y*Im_factor;

for(unsigned x=0; x<ImageWidth; ++x)

{ double c_re = MinReal + x*Re_factor;

// Calculează dacă c aparține setului Mandelbrot sau

// nu și desenează pixelul de coordonatele (x,y) în consecinţă

} }

Practic, în formula de calcul a culorii fiecărui pixel pe baza unei palete de culori

predefinită, cel mai important factor este variabila complexă liberă c, din calculul setului

Mandelbrot [POP, 2016, a] . Această variabilă este prestabilită pe baza unui raport între valorile

Page 8: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

5

Min și Max, real și imaginar corelate cu dimensiunea imaginii. În fapt variabila complexă c va

avea câte o valoare distinctă, consecutivă, pentru fiecare iterație de determinare a culorii pentru

fiecare pixel din plan. Astfel, formula de calcul va introduce o variabilă diferită la fiecare

prelucrare și automat va crește diversitatea culorilor alocate fiecărui pixel. Codul presupune

parcurgerea pentru fiecare pixel din imagine şi calculează numărul complex echivalent pentru

fiecare pixel în c_re şi c_im (parametrii numărului complex C). Structura de cod precedentă

este nucleul de bază iterativ al calculării valorii fiecărui pixel din setul Mandelbrot, pe baza

unui parametru prestabilit de număr de iterații sau de depăşire a valorilor pentru modulul lui C

< 2. În cazul în care n este numărul maxim de iterații, atunci se cunoaşte că funcția are un

modul mai mare decât 2, iar C actual este (cel mai probabil) o parte a setului şi putem colora,

de exemplu, cu negru (sau orice culoare dorim). În cazul în care n este mai mic decât numărul

maxim de iterații, atunci se cunoaşte că C nu aparţine setului şi apoi se poate mapa valoarea lui

n la o culoare şi seta pixelul cu acea culoare.

În calitate de membru al proiectului [SYS, 2017], în urma prezentării acestei aplicații,

cu tema principală de evaluare a performanței timpului de calcul, s-a propus analiza

comparativă a complexității algoritmului prin estimare teoretică și rezultatele practice. Astfel

s-a determinat ca numărul de iterații al fiecărui ciclu este greu de aproximat, acesta fiind și parte

a componentei de haos a teoriei fractale.

După o analiză a nucleului de cod care generează o astfel de imagine cu ajutorul setului

Mandelbrot, pentru stabilirea condițiilor de ieșire trebuie ținut cont de următoarele aspecte:

1. Ordinul de complexitate este 𝑂(𝑛2).

2. Parametrul Maxiteration – barieră care limitează numărul de iterații are o pondere foarte

importantă în timpul de lucru.

3. Condiția |z|<2.0 oferă posibilitatea ieșirii din buclă după 1 sau Maxiteration pași.

Schema din Fig. 1.1 prezintă o descriere simplă a sistemului de colorare a unei imagini

cu ajutorul randării setului Mandelbrot. Cei 6 pași sunt următorii:

1) Setarea parametrilor;

2) Adaptarea parametrilor pentru imagine în funcție de dimensiune;

3) Decizia de rulare în mod paralel sau secvențial;

4) Partea 1 a condițiilor Mandelbrot – generarea valorilor parametrului c;

5) Partea 2 Testarea condițiilor de ieșire, aplicarea buclei;

6) Partea 3 Colorarea finală.

Schema presupune și izolarea într-un chenar roșu a rutinelor aplicate în sistem paralel,

iterativ, care permit calculul independent. Fiind un proces iterativ similar pentru fiecare

determinare, este evident că o soluție de optimizare constă în abordarea calcului independent la

nivel de pixel.

Page 9: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

6

Figura 1.1. Schemă funcțională a aplicației propuse

1.2.2 Soluția Software propusă

Aplicația propusă în teza de doctorat este realizată în limbajul C# şi permite

utilizatorului să exploreze interactiv setul Mandelbrot, să păstreze imaginile generate, precum

şi coordonatele ferestrei de vizualizare implementate (Fig. 1.2., Fig. 1.3). Pentru a avea o

imagine de ansamblu a setului Mandelbrot, pur şi simplu trebuie efectuat clic pe butonul

„Calculate" situat în meniul de sus.

Figura 1.2. Interfața setului Mandelbrot

Page 10: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

7

Figura 1.3. Exemplu de imagine reajustată

Comenzile specifice sunt:

a. Calculate: pentru a regenera imaginea principală.

b. Save: salvează imaginea principală într-un fişier, ca un bitmap Windows.

De asemenea, salvează parametrii într-un fişier XML, purtând același

nume.

c. Reset: restabilește toţi parametrii la valorile implicite.

d. Copy: copiază imaginea principală în clipboard.

e. Copy parameters: copiază parametrii în clipboard.

1.2.3 Posibilităţi de optimizare – abordarea paralelă

Paralelismul a fost utilizat timp de mai mulți ani, în principal în calculul de înaltă

performanță, dar interesul pentru el a crescut în ultimul timp, datorită constrângerilor fizice date

de problemele de scalabilitate [ADV, 2008]. În cadrul problemelor de generare a fractalilor se

poate spune că procesul în sine este costisitor, cu un timp destul de ridicat de execuţie. Fiecare

pixel trebuie acordat cu valoarea generată de iterațiile stabilite în ciclurile respective, în cazul

în care nu se îndeplinește nici o condiţie de ieșire. Astfel, se poate evidenția faptul că pentru

calculul fiecărui pixel, datele de pornire se cunosc şi acest proces se poate efectua independent

până la umplerea imaginii respective.

Figura 1.4. Exemplu pentru aplicația 2 care tratează diferența de abordare secvențială sau paralelă

Page 11: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

8

Conceptul este simplu, bucla principală, execuția de bază, este executată în paralel cu

o execuţie normală. Numărul de ecuații Mandelbrot care trebuie rezolvate este fixat şi este dat

de dimensiunea imaginii şi a parametrilor inițiali, aceasta permite execuția în paralel a buclei.

Calculul timpului intern se stabilește între momentul de începere a calculului pentru primul

pixel, până la terminarea întregii imagini. Această aplicație prezentată în Fig.1.4. permite

setarea limitelor de calcul şi a numărului de iterații dorite, dar şi a paletei de culori dorită pentru

generarea imaginii. Timpul este factorul determinant pentru a crea imaginea, pentru

completarea setului şi este afișat în partea din stânga jos a interfeței. Acesta se calculează în

milisecunde.

1.2.4 Rezultate obținute

Pornind de la propunerile anterioare s-au luat în considerare două perspective asupra

timpului de calcul asociat calculării seturilor de fractali:

1. Analiză comparativă asupra setului secvenţial şi paralel Mandelbrot;

2. Analiză asupra diferențelor de execuţie pentru seturile Mandelbrot şi Julia pentru

câteva cazuri particulare de generare.

Aceste rezultate sunt prezentate în graficele și analizele următoare, plecând de la

ipoteza că datele prelucrate sunt realizate cu ajutorul unui PC uzual care folosește tehnologie

Intel pentru procesor, acesta fiind un model I7 Q720, cu 4Gb de RAM, pe acest sistem fiind

instalat un sistem de operare Windows 7, iar rezultatul este generat cu un Visual Studio 10.

După cum se poate observa din Tabelul 1.1, timpul de execuţie cu această

implementare paralelă este semnificativ mai bun. Un număr de iterații specifice buclei este un

factor care conduce la un timp de calcul mai mare.

Timp

256 iterații 500 iterații 1000 iterații

Secvențial 0.583 s 1.062 s 1.992 s

Static Paralel 0.172 s 0.341 s 0.535 s

Tabel 1.1. Rezultatele timpului de calcul pentru algoritmul Mandelbrot secvențial și paralel

Figura 1.5. Analiza grafică a rezultatelor secvenţial vs. paralel pentru proiectare Mandelbrot

0

500

1000

1500

2000

2500

256 iter 500 iter 1000 iter

TIM

P (

MIL

ISEC

UN

DE)

NUMARUL DE ITERAȚII

parallel secvential

Page 12: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

9

Graficul din Fig. 1.5 este rezultatul comparativ al timpului de calcul între cele două

metode pentru generarea de fractali pentru ipoteza propusă. Se poate observa că pe măsură ce

numărul de iterații este mai mare, calculul secvenţial devine greoi şi necesită alte soluţii [POP,

2015, b].

În Fig. 1.6. este prezentat un exemplu asemănător cu sarcinile globale la nivel de

activități ale procesorului utilizat. Sunt ilustrate celelalte procese existente în momentul testării

pe computerul de test, procesele de sistem, momentele de așteptare, dar și modul în care

influențează aplicația dezvoltată funcționarea procesorului și implicarea puterii de calcul. Se

evidențiază două momente de calcul care suprasolicită resursele de calcul. Aceste două

momente sunt în cazul unor generări secvențiale de durată. Mai mult, se poate observa utilizarea

în cazul generărilor paralele. Aceasta este una rapidă ca timp, care utilizează toate cele 8 resurse

disponibile. În cazul paralel, procesul de utilizare a celor 8 resurse disponibile, oferă un timp

de generare foarte scurt, dar eficient, în timp ce utilizarea constantă a unei singure resurse

necesită o perioadă mai lungă ca timp, ineficientă din punct de vedere al utilității. În Fig. 1.7

sunt prezentate valori de timp rezultate pentru generarea unor imagini fractale sub formă

Mandelbrot secvenţial, Julia secvenţial, Mandelbrot paralel şi Julia paralel în milisecunde.

Astfel, se poate evidenția timpul redus în comparație cu cel secvenţial oferit de abordarea

paralelă.

Figura 1.7. Timpul de execuție, în milisecunde, rezultat pentru imagini de dimensiuni distincte

Figura 1.6. Evoluția numărului de nuclee utilizate pentru un scenariu de test

Page 13: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

10

1.3. Concluzii

Rezultatele acestui capitol constau în testarea şi realizarea de comparații pentru unele

aplicaţii de generare de seturi fractale, cum ar fi seturile Julia şi Mandelbrot. Partea de generare

fractală reprezintă un domeniu de analiză și de ilustrare a modalităților de calcul paralel.

Această metodă implică un grad foarte mare de precizie, respectând modelul

matematic de generare fractală selectat şi nu reprezintă o metodă specializată pe un anumit tip

de imagini. În particular, am ales ca acest studiu fractal să fie exemplificat în special prin setul

Mandelbrot, pentru că reprezintă o metodă care își dezvăluie utilitatea în diverse aplicaţii din

diferite domenii. În timpul studiului, am descoperit diferite tipuri de imagini care cu greu pot fi

obținute prin alte metode şi pot fi comparate, în ceea ce privește complexitatea, doar cu unele

naturale, extrem de frumoase. Complexitatea şi infinitudinea acestor imagini creează un nou

domeniu de cercetare pentru viitor.

Acest capitol își propune să prezinte un mod interesant de a proiecta seturi de fractali,

luând în considerare metode diferite, pornind de la aportul programării paralele în contrast cu

programarea secvențială, pentru a evidenția metodele moderne de accelerare a timpului de

calcul. Personal, consider că au fost dezvoltate două aplicaţii din sfera fractalilor care pot fi

utilizate în diverse domenii. Cu ajutorul acestor sisteme „naturale”, se poate realiza o adevărată

enciclopedie a formelor neregulate, punct foarte important în cadrul problematicii de prelucrare

a imaginilor. Industria graficii pe calculator are o componentă care poate fi împrospătată pe

baza acestor cercetări în domeniu.

În acest capitol au fost aduse contribuții privind:

1) Testarea și compararea algoritmilor secvențiali de generare fractală pentru seturile

Mandelbrot și Julia.

2) A fost propus algoritmul de paralelizare din Fig. 1.1, valabil pentru ambele variante de

seturi fractale.

3) Au fost dezvoltate aplicații pentru generarea și analiza imaginilor fractale.

4) A fost prezentat un raport la nivel de CPU în cadrul Fig. 1.6 în care se observă aportul

optimizării la nivel de execuție paralelă.

5) Au fost generate o serie de măsurători ale timpilor de execuție în Tabelul 1.1 și în Fig.

1.7, care ilustrează diferențele din punct de vedere al rapidității calcului.

În concluzie, propunerile sunt benefice pentru dezvoltarea aplicațiilor care utilizează

sisteme de vizualizare pentru generarea fractalilor. Aceste rezultate vor fi utilizate în capitolele

următoare și pot fi asociate cu un set de imagini complexe ca date de intrare pentru următoarele

aplicaţii sau pentru diferite sisteme de încadrare a acestor imagini şi de clasificare.

Page 14: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

11

2. COMPRESIA IMAGINILOR FĂRĂ PIERDERI

Prezentul capitol are la bază o serie de cercetări asupra metodelor de compresie, fără

pierderi de date. De asemenea, se prezintă un studiu al metodelor de compresie şi de procesare

a imaginii, pornind de la metodele deja existente şi de la funcţiile realizate, utilizând totodată

tehnologii de prelucrare moderne. Rezultatul se concretizează în descoperirea unor soluții și

modalități inovatoare, menite a îmbunătăți metodele actuale, metode ce vizează posibilitatea

stocării imaginilor, a compresiei, dar și a decompresiei lor. În continuare, este prezentat un

algoritm recursiv axat pe arhitectura bazată pe linie. Imaginea care urmează să fie prelucrată

este stocată într-o matrice (2-D). Ulterior, toate elementele dintr-un rând al matricei sunt

obţinute în mod particular pe baza acestui tip de transformare. Pe baza convoluţiei, în timp se

va segmenta imaginea în două părţi, numărul de rânduri pentru fiecare fiind parte egală cu

jumătate din imagine. Această matrice este din nou calculată pe baza convoluției recursive, dar

de data aceasta, pe baza unei prelucrări la nivel de coloană. Rezultatul procesării DWT pentru

imagine va împărţi coeficienții rezultaţi pe baza unor procedee care vor fi explicate ulterior pe

4 zone distincte ca stagiu de comprimare pentru imagine ca în Fig. 2.1. Coeficienții de

aproximare a imaginii vor ocupa zona din stânga sus a imaginii (LL1), coeficienții orizontali

vor ocupa zona din stânga jos a imaginii (LH1), coeficienții verticali vor ocupa zona din dreapta

sus a imaginii (HL), iar coeficienții diagonali vor ocupa zona din dreapta jos a matricei (HH).

Figura 2.1. Arhitectură bazată pe transformare în linie pentru DWT 2-D

2.1 Soluţia propusă

Având în vedere că procesul de compresie pentru imagini de o dimensiune mare este

unul lent şi că pe baza procedeului prezentat anterior se poate implementa o soluţie software,

în acest paragraf este prezentată o posibilitate utilă de optimizare, din punct de vedere al

timpului de compresie. Mai mult, pe baza avantajelor programării paralele, soluția propusă

aduce câteva noţiuni utile în diverse domenii de cercetare. Implementarea propusă este realizată

în limbajul C++ și prezintă noţiuni specifice acestui limbaj pentru diferite imagini utilizate ca

test. Procedura presupune ca imaginea, să fie mai întâi divizată în blocuri de 32x32. Fiecare

bloc este apoi trecut prin două filtre: prima descompunere de nivel este realizată pentru a

Page 15: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

12

descompune datele de intrare în coeficienţi de aproximare şi detaliu. După obţinerea matricei

transformate, detaliile şi coeficienții aproximați sunt separaţi ca LL, HL, LH şi HH. Toţi

coeficienții sunt eliminaţi cu excepţia coeficienților LL, care sunt transformaţi în al doilea nivel.

Coeficienții sunt apoi trecuţi printr-un factor de scalare constant pentru a atinge

raportul de compresie dorit. Fiecare transformare a coeficienților matricei necesită o serie lungă

şi complexă de calcule sau de multiplicare a matricelor. O metodă utilă presupune o programare

paralelă prototip pentru fiecare proces de aplicare şi de construcţie a unui filtru sau bloc

specificat. Un exemplu de descompunere multi-nivel se regăsește în lucrarea [DEO, 2006].

Având în vedere faptul că acest proces reprezintă o serie de calcule la nivel de pixeli, este

evident că este foarte dificil pentru o rezoluţie înaltă [POP, 2016, b]. Aplicația C ++ este formată

din mai multe clase:

• BaseFWT2D - Clasa de bază abstractă pentru transformare

• FWT2D - Implementarea FWT în 2D, aceasta este o clasa derivată din BaseFWT2D

• vec1D - 1D -Vector pentru filtre

Pornind de la soluţia propusă, este utilizată tehnica de aplicare a filtrelor prin

instanțierea obiectelor cu numele de filtru utilizat, oferind calea completă către locaţia sa. De

asemenea, trebuie să fie verificată starea fiecărui obiect; inițializarea presupune şi setarea pentru

lăţime şi înălţime, pentru un singur canal al imaginii dorite şi se continuă cu transformare şi

sinteză. În acest fel, fiecare obiect al clasei este direcţionat spre canalul wavelet al filtrului şi

imaginea specifică. Modelul 2D transformă imaginile conform prezentărilor teoretice, funcţiile

de sinteză sunt definite în BaseFWT2D şi utilizează funcţii private virtuale pentru transformarea

şi sintetizarea rândurilor şi coloanelor imaginii, care sunt puse în aplicare în clasa FWT2D.

Funcțiile de bază apelate sunt trans() pentru aplicarea transformării diadice și synth() pentru

restaurarea imaginii inițiale. Aceste funcții implementează practic compresia și decompresia

imaginii încărcate.

Clasa de bază abstractă oferă toate funcţiile pentru BaseFWT2D de procesare şi de

reconstrucţie a imaginii, obţinerea spectrului de filtre wavelet de încărcare şi de recuperare

pentru numărul de secvenţe necesare. Această structură de cod poate fi extinsă, dar pentru

această procedură este nevoie să se redacteze o nouă clasă BaseFWT2D şi să se rescrie optim

o serie de clase (transrows, transcols, synthrow, şi synthcols). O posibilitate propusă ţine de

refacerea rapidă a imaginii pe baza unei metode care diminuează timpul de execuţie, dar scade

acurateţea şi scade foarte mult calitatea imaginii. Metoda presupune că în matricea de refacere,

să se utilizeze o procedură de aproximare a pixelilor din 2 în 2 şi să se refacă imaginea cu acest

deficit de calitate, practic un deficit calitativ foarte mare pentru imagine. Aplicarea unui filtru

asupra unei imagini înseamnă, în termenii acestei aplicaţii, înmulţirea matricei coeficienților

imaginii standard cu matricea filtrului. Aceasta din urmă are o serie de valori prestabilite şi

cunoscute în prezent pentru fiecare tip de filtru clasic utilizat. Procesul este apelat de mai multe

ori în cadrul aplicaţiei, el fiind unul greoi, dependent de mărimea imaginii, dar poate fi realizat

independent, cazul de înmulţire a matricelor fiind un caz tipic pentru programarea paralelă şi

Page 16: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

13

pentru a îmbunătăți timpul de calcul, distribuind lucrul pentru linii şi coloane. De obicei, această

metodă permite un aport considerabil pentru timpul de execuţie, dar şi acest aport este direct

influențat de metoda de programare, de compilator, de tipul procesorului, dar şi de o serie foarte

mare de factori fizici, care pot influența foarte puternic rezultatele obținute. Procesul este lent,

cu timp de calcul ridicat, are o foarte mare aplicabilitate în industria jocurilor video, al cărui

parametru de bază îl reprezintă aceste fps-uri (frames per seconds), adică posibilitatea de a oferi

mai multe informaţii ale imaginilor cât mai rapid.

2.2 Prezentarea aplicaţiei şi a rezultatelor

Plecând de la natura imaginilor utilizate pentru compresie şi decompresie, se poate

spune că în mare parte au fost testate imagini complexe, majoritatea fiind generate prin

intermediul aplicaţiei prezentate în primul capitol. Acestea reprezintă imagini specifice pentru

tipul de seturi fractale. Pe baza acestei selecţii se instanțiază obiecte de tipul filtrului selectat.

Mai mult, se poate selecta numărul de niveluri aplicate pentru filtrare şi de divizare conform

împărţirii diadice. Valorile filtrelor aplicabile sunt cunoscute, se află într-o listă de fişiere .txt

şi sunt baza de plecare la înmulţirea matricelor de pixeli. Se poate spune că aceşti parametri se

regăsesc şi în bibliotecile oferite de către Windows. Fig. 2.2 arată posibilitatea de selecţie şi de

încărcare a unei imagini pentru a fi trecută prin procesul ulterior; se poate observa că au fost

selectate imagini fractale, generate cu prima aplicaţie prezentată în capitolul precedent. În acest

exemplu, imaginea este originală.

Figura 2.2. Exemplu de imagine selectată pentru a fi comprimată

În Fig. 2.3 este prezentat fluxul aplicației. Asemănător unei descrieri a posibilităților

de selecție, schema din Fig. 2.3 ilustrează în 6 pași deciziile cele mai importante luate pe

parcursul prelucrării:

1. Generare, încărcare imagine din memoria locală.

2. Selectare filtru pentru compresie.

3. Inițializare parametri pentru aplicarea decompoziției – decizie secvențială sau paralelă.

4. Inițializarea buclelor de calcul pentru fiecare ciclu conform parametrului selectat, de

repetare a decompoziției.

5. Aplicare succesivă a filtrelor.

6. De asemenea, este prezentat si procesul invers, reversibil, de reconstrucţie a imaginii.

Page 17: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

14

Figura 2.3. Diagramă de flux pentru aplicația dezvoltată

Figura 2.4. Exemplul 1: prima imagine comprimată şi refăcută, cea de-a doua comprimată

Pornind de la metodele de optimizare propuse s-au efectuat o serie de teste, ca în Fig.

2.4, care pun în evidenţă soluţia de optimizare prezentată, cazuri de testare diferite, prezentarea

timpilor de execuție pentru acest proces. În cadrul testelor efectuate s-au utilizat două imagini

compuse cu ajutorului metodei prezentate propuse în capitolul precedent. Acestea sunt:

Figura 2.5. Figura 1 luată în considerare

pentru măsurători

Figura 2.6. Figura 2 luată în considerare

pentru măsurători

Page 18: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

15

Se pot enumera mai mulţi factori care influenţează direct timpul de execuţie:

1. Complexitatea imaginii

2. Mărimea imaginii

3. Filtrul ales

4. Puterea de calcul a procesorului

5. Capacitatea plăcii video

6. Memoria RAM a calculatorului

7. Compilatorul utilizat

8. Factori fizici (temperatură, umiditate etc.)

Timpii de execuţie (în milisecunde), folosind diferite familii wavelet, pentru

comprimare şi pentru restaurarea imaginilor anterioare (wi - weak image - imagini slabe),

conduc către rezultatele prezentate în [POP, 2016, b] şi [POP, 2014].

S. No.

Biorthogonal

Wavelet Compression

Time I1 [ms]

Compression

Time I2

Recover

Time I1

Recover

Time I2

1 Bior 1.1 4833 5687 8514 9214

2 Bior 1.3 4837 5702 8758 9238

3 Bior 1.5 4843 5714 8689 9249

4 Bior 2.2 4902 5723 9316 9789

5 Bior 2.4 4910 5731 9373 9890

6 Bior 2.6 4920 5744 9409-wi 9909-wi

7 Bior 2.8 4931 5752 9412-wi 9972-wi

8 Bior 3.1 4842 5701 9201-wi 9321-wi

9 Bior 3.3 4947 5768 9663-wi 9233-wi

10 Bior 3.5 4856 5777 9823-wi 9993-wi

11 Bior 3.7 4928 5789 9834-wi 9999-wi

12 Bior 3.9 4801 5794 9987-wi Wi

13 Bior 4.4 4934 5722 8452 9162

14 Bior 5.5i 4900 5701 7333 9223

15 Bior 6.8 4890 5710 8590 9200

Tabelul 2.1. Tabel pentru aplicarea filtrelor Biortogonale. Analiză de timp [POP, 2016, b]

Aceste rezultate sunt puternic influenţate de modelul de procesor utilizat, sarcinile

procesorului din momentul respectiv sau tipul de imagine. Pentru scenariile de test au fost

utilizate imagini mai complexe, generate anterior, imagini fractale obținute cu aplicația

prezentată în capitolul 1. Tabelul de mai sus reprezintă timpul de prelucrare pentru comprimare

şi decomprimare rezultat din procesele prezentate pentru imaginile anterioare, ca un exemplu

simplu. Sunt prezentați timpii de execuţie (în milisecunde), folosind diferite familii wavelet,

pentru comprimare şi pentru restaurarea imaginilor anterioare (wi - weak image- imagini slabe).

Şi pentru aceste seturi de teste a fost utilizat un model de staţie de lucru care utilizează un

procesor Intel I7 model Q720, rulând un sistem de operare Windows 7 pe 64 biţi, 8Gb de RAM

şi care s-a axat în special pe această prelucrare şi nu a mai avut de realizat task-uri

complementare în afară de cele normale.

Page 19: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

16

Figura 2.7. Grafic pentru filtrul biortogonal, imaginea 1 vs imaginea 2 [POP, 2016, b]

Diferenţa dintre calculul realizat secvenţial şi cazul paralel, evidențiază că pentru

varianta paralelă se obţin rezultate mai bune cu aproximativ 30% din timp, în comparație cu

calculul secvențial. Un aspect foarte important, regăsit în toate acestea este faptul că, dacă

dimensiunea imaginii este mai mare, cu atât mai utilă este implementarea paralelă şi diferenţele

sunt mai sesizabile. Pe baza graficului din Fig. 2.7 este transpusă evoluţia în timp pentru

cazurile de teste în care cele două imagini sunt comprimate şi refăcute pentru diferite tipuri de

filtre din familiile Biortogonale, acest lucru evidențiind timpul de calcul mai bun, furnizat de

metoda propusă.

Fig. 2.8 prezintă un exemplu de compresie pentru o imagine medicală. Medicina este

un domeniu în care aceste modele de compresie sunt foarte utilizate în diverse proceduri și

unelte software. Această metodă oferă și acuratețe pentru obținerea rezultatelor și este o metodă

sigură, pentru că presupune compresie și decompresie fără pierderi. Fig. 2.9 prezintă o

perspectivă asemănătoare testelor efectuate în primul capitol asupra momentelor de utilizare a

procesorului. În acest caz de utilizare secvențială, se observă foarte simplu momentele de calcul

pentru compresie și decompresie pentru că acestea sunt singurele care presupun o utilizare a

mai mare a unității de calcul, în jurul a 30%. Practic, acest domeniu îmbină cunoştinţe din

cadrul prelucrării semnalelor, cu aplicabilitate specifică pentru prelucrarea de imagini. Se poate

spune că acest domeniu de prelucrare a semnalelor are o componentă foarte importantă pentru

soluţia propusă, prin aplicarea filtrelor utilizate direct pentru coeficienţii imaginilor pentru

compresie.

Figura 2.8. Imagine medicală încărcată și salvată

Page 20: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

17

Figura 2.9. Evoluția utilizării procesorului în cadrul proceselor de compresie și decompresie în timp.

2.3 Posibilităţi de aplicare: Studiu asupra vizualizării volumului pentru

dispozitive medicale

Se poate spune că în Fig. 2.10 se observă reprezentarea unui exemplu de imagine

medicală, care ilustrează un model DICOM cu 743 imagini. De exemplu, dacă luăm în

considerare propunerile din articolul [POP, 2016, d] şi rezultatele pentru metodele de compresie

fără pierderi a peste 743 de imagini, putem menţiona că acesta poate fi un bun exemplu de

îmbunătăţire a vitezei de procesare. Standardul folosit este de asemenea foarte important, pentru

că acesta trebuie să fie recunoscut de o serie de aparate, sisteme software, sisteme de transfer şi

de vizualizare de înalt nivel, având un aport în întreg procesul. Timpul de lucru este puternic

influenţat de factori cum ar fi dimensiunea imaginilor, calitatea lor, dar există analize asupra

acestor factori. Extinzând acest exemplu către toate cele 743 imagini din exemplul precedent,

se poate spune că acest proces este scalabil către fiecare scenariu. Următorul pas este de a

calcula factorul de viteză pentru un exemplu simplu, care realizează compresia şi decompresia

mai rapid. O altă strategie pentru obținerea unor rezultate eficiente presupune schimbarea

algoritmului de descompunere wavelet.

Figura 2.10. Exemplu simplu pentru vizualizarea sistemului AORTE SPC

Page 21: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

18

2.4 Concluzii

În cadrul acestui capitol au fost prezentate o serie de posibilități de optimizare pentru

metoda DWT de compresie a imaginilor. Aceste propuneri se bazează pe posibilități de calcul

paralel la nivel de aplicare a filtrelor de compresie a imaginilor. Pornind de la modelul de

optimizare la nivel de calcul paralel din Fig. 2.3 s-a implementat o soluție rapidă de compresie

și decompresie de imagini.

Metoda propusă este implementată în cadrul soluției software prezentată în

subcapitolul 2.2. Aceasta se bazează pe avantajul multiplicării independent al coeficienților la

aplicarea filtrelor de compresie. Au fost utilizate imagini fractale generate în primul capitol

pentru comprimare și restaurare. Mai mult, o analiză comparativă a fost realizată pe baza

filtrelor selectate, rezultatele fiind prezentate în Fig. 2.1, Tab. 2.1. Pornind de la aplicația

implementată a fost realizată și o analiză la nivel de procesor. Aplicația este analizată în cadrul

Fig. 2.9 pentru un ciclu mai lung de aplicare a metodei de compresie implementată. Evoluția

parametrilor selectați se reflectă și la nivelul gradului de utilizare a procesorului, dar acesta este

influențată și de alți factori. Contribuțiile proprii din capitolul 2 constau în:

1) Implementarea unei soluții de compresie și decompresie de imagini fără pierderi pe baza

unui model de eficientizare la nivel de calcul paralel.

2) Compararea rezultatelor obținute în funcție de tipuri de filtre diferite selectate.

3) Posibilitatea de compresie și decompresie rapidă pentru imaginile fractale, dar și pentru

cele medicale.

4) Analiza la nivel de procesor pentru un caz de compresie și decompresie multiplă

În concluzie, capitolul 2 presupune integrarea imaginilor fractale în cadrul unor

mijloace de compresie moderne cu grad de eficiență ridicat. Și în acest capitol se pune accent

pe nivelul de utilizare al procesorului utilizat, dar și pe tehnici de distribuire a calcului. Un alt

domeniu de aplicabilitate pentru soluțiile software dezvoltate este domeniul medical. Pommert

şi Hohne [POM, 2006] concluzionează în evaluarea lor despre metodele de vizualizare a

volumului medical că cea mai bună metodă de studiu este aceea de a testa aceşti algoritmi pe

un corp uman. Aplicaţiile de redare de volum sunt numeroase şi variate, forţa motrice este în

primul rând utilizată în domeniul medical, care poate folosi imaginile furnizate pentru a ajuta

la diagnosticarea bolilor, sau de a practica şi efectua operaţii virtuale. Cercetările ce stau la baza

tezei de doctorat ilustrează beneficiul tehnicilor de procesare a imaginii asupra domeniului

imaginii medicale şi propun îmbunătăţiri aplicabile pentru algoritmi care utilizează compresia

imaginilor. De asemenea, există o mulţime de factori care influenţează medicina umană,

pornind de la evoluţia tehnologiei pentru diferite domenii şi până la noile metode inovatoare

medicale. Toate aceste metode sunt strict legate de tehnologia DICOM, precum şi de toate

computerele şi dispozitivele medicale care utilizează acest standard.

Page 22: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

19

3. POSIBILITĂŢI DE PARALELIZARE PENTRU ALGORITMI

DE DETECTARE A MUCHIILOR ȘI PENTRU CEL MAI

SCURT DRUM

3.1 Studiu asupra algoritmului de detectare a muchiilor (Edge Detection) şi

posibilităţi de utilizare

Algoritmul „Edge Detection”, foarte utilizat în prezent pentru analiza imaginilor, este

unul dintre pașii principali în identificarea facială, în cadrul tehnicilor de vizionare a imaginilor

de către roboții industriali. Importanța detectorului eficient pentru margine, în cele mai multe

sisteme de viziune, a fost acceptată pe scară largă conform [CAN,1986].

Capitolul al treilea are în vedere descrierea principalilor algoritmi de detectare a

marginilor, dar și identificarea posibilelor îmbunătățiri asupra etapelor iterative, folosind

tehnicile de programare paralelă exemplificate prin testele realizate.

3.1.1 Îmbunătățiri propuse pentru arhitectura algoritmilor de tip Edge Detection

Pornind de la tehnicile de multiplicare a matricelor bazate pe algoritmi matematici, se

poate spune că acest proces necesită foarte mult timp pentru imagini comune, timp ce depinde

de puterea de calcul a computerului utilizat. Un alt motiv bun pentru optimizarea algoritmului

este faptul că această metodă de programare, calculul paralel, este un domeniu interesant şi

promițător pentru a fi explorat astăzi, în special datorită costurilor în scădere a resurselor

hardware [BAR, 2018]. Aceste sisteme de procesare a imaginii propun un sistem de tip

multitasking şi pot rezolva probleme mai mari în timp mult mai scurt. Prima soluţie de calcul

distribuit propusă în teză, dă posibilitatea detectării marginii Cany pentru pasul de utilizare a

filtrului Gaussian, conform sistemului de multiplicare de matrice explicat, de asemenea, în

sistemele de filtrare prin compresie, prezentate în articolul [POP, 2014]. Acest lucru a fost

exemplificat pentru diferite scenarii, dar va constitui una dintre îmbunătăţiri pentru detectorul

de muchii Canny. A doua îmbunătăţire propusă în teză constă în calculul diferențiat pentru

primul pas al algoritmului Sobel pentru construirea componentelor 𝐺𝑥(1) și 𝐺𝑦(2) în paralel,

deoarece aceste componente sunt independente. Codul este reprezentat mai jos:

# parallel for sections shared(no,n1,n2)

//n0,n1,n2 valori pentru parametrii de inițializare-ex a,b, index

for(int a = 0; a < 3; a++)

{ for(int b = 0; b < 3; b++)

{ int x1 = x + a - 1;

int y1 = y + b - 1;

int index = x1 + y1 * dim;

magX1 += imag[index] * kernelsx[a][b]; }}

Page 23: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

20

Figura 3.1. Arhitectura propusă, bazată pe sistemul de imagine divizată, utilizat pentru calculul

distribuit

Această structură de cod reprezintă calculul aplicat pe imaginea de intrare, efectuat în

paralel. Este evident că acest pas nu va da rezultate spectaculoase, dar acestea sunt influenţate

direct de ordinul matricei pentru algoritmul Sobel utilizat. În exemplu va fi utilizată, de

asemenea, și o matrice dimensiune 5x5.

3.1.2 Rezultate ale evaluărilor

În testele de caz au fost folosite PC-uri obișnuite, care sunt prezentate în tabelul următor:

Componentele Descrierea

# of Processor Cores 4 (Quad) 4 (Quad)

Processor I7 CPU Q720 la 1.60GHz I7 CPU 6700HQ la 2.59GHz

Threads 8 8

RAM 4.0 GB DDR-2 RAM 7.84 GB DDR-3 RAM

Cache 6 MB 6 MB

System Windows 7 x64 bit

operating system

Windows 10 x64 bit operating

system

Tabel 3.1: Hardware-ul utilizat

În Fig. 3.2 este prezentat un exemplu de aplicare a algoritmilor Sobel și Robert pentru

un exemplu de imagine inițială. Timpul oferit de algoritmul secvenţial al primei imagini de test

este prezentat în tabelul următor, acesta fiind influenţat de mărimea figurii. Această dimensiune

este ajustată, începând să se taie din colțul din dreapta jos. Astfel, se obțin imagini de dimensiuni

diferite, care influențează diferit algoritmul. Un alt factor interesant este timpul dat de fiecare

metodă și diferența dintre metode, luând în considerare calitatea informațiilor produse de

imaginea finală. A doua propunere se va concentra asupra posibilităţii distribuite de a executa

aceste tipuri de algoritmi mai rapid. Rezultatele obținute cu arhitectura paralelă utilizată sunt

reflectate în graficul din Fig. 3.3. Aceasta oferă posibilitatea de a analiza calculul distribuit şi a

evidenția diferenţele oferite de cele două procesoare, dar şi timpul de lucru în funcţie de soluțiile

secvenţiale.

Page 24: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

21

a) b) c)

Figura 3.2. Exemplu de imagine: (a) Imagine inițială;

(b) Imagine obținută cu algoritmul Sobel, (c) Imagine obţinută cu algoritmul Robert

Figura 3.3. Analiză a timpului de calcul pentru metodele secvențiale cât şi pentru algoritmii paraleli

dezvoltați

Pornind de la graficul anterior, din Fig 3.3, rezultatele confirmă faptul că doar pentru

primul caz de testare, pentru imaginea cu dimensiunea 360x640, algoritmii propuşi în paralel

pot oferi rezultate mai bune şi pot oferi o perspectivă pentru sistemele de imagini mai mari.

Acest lucru este dat de dimensiunea imaginii. Este evident că aceste metode pot fi luate în calcul

doar pentru procesări de imagini foarte mari, pentru că mecanismul de distribuire necesită în

sine o secvenţa de timp care influențează rezultatele.

3.1.3 Utilizare practică şi propuneri viitoare

Pentru activitatea viitoare de cercetare se poate propune un sistem automat în timp

real, care poate găsi numărul de plante pe metru pătrat în cadrul unei aplicații din domeniul

agriculturii.

0

200

400

600

800

1000

1200

1400

1600

1800

360x640 340x600 300x550 280x480 240x400 200x360 200x300 150x250 100x200

Tim

p in

mili

secu

nd

e

Dimensiune imagine

Robert's algorithm Robert's parallelSobel's algorithm Sobel's parallelLaplacian 3x3 Laplacian 3x3 parallelLaplacian 5x5 parallel Laplacian 5x5

Page 25: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

22

Figura 3.4. Schemă generală de analiză propusă

După implementarea unui sistem static, acesta poate fi dezvoltat și transformat în unul

mobil care să determine numărul de plante de un singur tip pe suprafețe mari de teren. Acest

prototip poate funcționa mai bine pentru imagini reale, captate din momentul răsăririi plantelor.

Acesta poate avea o acuratețe mai mare în primele zile de răsărire, deoarece se bazează pe

diferența dintre apariția zonelor verzi pe fondul culorii pământului. O schemă practică empirică

este propusă şi ilustrată în Fig. 3.4, aceasta este foarte utilă, pentru rezultate mai rapide, o viteză

mare de lucru, deoarece pentru suprafețe mari va fi necesară o bună capacitate de calcul pe

partea mobilă şi ca acesta să acopere în timp real o suprafață cât mai consistentă. Tipul acesta

de estimare are o parte negativă, și anume faptul că imaginile nu pot fi luate prin satelit.

3.1.4 Concluzii

Studiul din acest capitol scoate în evidenţă faptul că există algoritmi, cum ar fi Robert

sau Sobel utilizați pentru detectarea muchiilor şi propune modalităţi practice de îmbunătăţire a

lor cu ajutorul tehnologiei moderne, prin utilizarea completă a procesorului pentru întreaga sa

capacitate. Acest capitol oferă o analiză comparativă asupra rezultatelor noului algoritm propus

pentru detectarea de muchii care realizează aplicarea filtrelor distribuit la nivel de linii și

coloane. Strategia se bazează pe posibilitatea de calcul multiplu şi performanțe bune ca timp de

execuţie. Această analiză poate converge către o utilizare practică pentru sistemul propus de

numărare de plante. Strategiile paralele propuse sunt mai rapide decât prelucrarea secvențială

în ceea ce privește viteza, dar cu un compromis de performanță şi eficiență utilizând procesoare

în mod direct, doar pentru aceste procesări. John Canny a considerat foarte importantă problema

matematică de selectare a unui filtru optim de aplicare datorată criteriilor de detectare și

localizare, acesta rezumând opțiunile la o singură metoda de calcul [CAN, 1986].

Teza de doctorat oferă câteva analize care pot fi considerate începutul pentru alte studii

de cercetare care să identifice metode adecvate de procesare rapidă a unor cantități mari de date

şi oferă unele caracteristici practice, în diferite domenii, cum ar fi domeniul agricol. Pornind de

la cele trei tipuri de optimizări propuse: (fragmentarea imaginii inițiale și calculul pe bucăți,

realizarea calcului componentelor Canny în paralel și paralelizarea la nivel de buclă pentru

fiecare pixel) şi de la testele efectuate, se poate spune că în acest moment este necesar să se

analizeze toate posibilitățile de a optimiza acest algoritm în funcție de timpul de execuţie.

Page 26: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

23

3.2 Posibilităţi de optimizare a algoritmilor pentru cel mai scurt drum.

Studii de caz.

3.2.1 Algoritmul Dijkstra şi posibilităţi de paralelizare. Studiu de caz

Scopul acestei cercetări din teză este de a crea o aplicație paralelă pentru

algoritmul Dijkstra, cu un grad ridicat de eficiență. Să considerăm un graf orientat G = (V,

E). Problema propusă poate fi enunțată astfel: Determinați lungimea pentru calea cea mai

scurtă de la sursă la fiecare dintre celelalte noduri ale grafului.

3.2.2 Structura generală şi arhitectura algoritmului paralel

Algoritmul propus face paralelizarea de la începutul procesului. Începe să găsească

calea cea mai scurtă de la nodul de pornire pentru orice alt nod folosind în cele mai bune cazuri,

diferite căi şi în cazurile cele mai nefavorabile se pot folosi aceleaşi căi pentru mai multe rute

către noduri. Acest proces este unul redundant, pentru că se parcurge practic o rută de mai multe

ori, nefiind eficient [POP, 2015, a]. Cazurile favorabile se pot găsi cu o rată mai mică de 1% în

pachetele de testare aleatoare, dar există cazuri în care acest scenariu este util.

Pseudocodul pentru structura paralelă propusă este următorul:

for all v in G:

//unde G reprezintă mulțimea nodurilor din graf

// v reprezintă un nod oarecare, d() reprezintă distanța, U reprezintă mulțimea nodurilor

//w(u,u) reprezintă matricea de adiacență cu distanțe

d(v) = infinity;

D = {s};

U = {G-s}; // pentru toate nodurile din G

for all u adjacent to s:

d(u) = w(u, s);

while U is not empty { /* procedura care lucrează în paralel este următoarea */

Let v be the node from U with minimal d(v);

U = U / v;

D = D union v;

for all u adiacent to v {

if d(u) > w(u,v) + d(v) then

d(u) = w(u,v) + d(v);

} }

Figura 3.5. Schema algoritmului Dijkstra pentru cazul paralel propus

Page 27: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

24

Este evident că în testele efectuate cu un număr limitat de noduri, această metodă este

redundantă, pentru că începe o altă execuţie pentru fiecare alt nod faţă de nodul de pornire.

Pentru scenariile de test, practic, timpul de calcul implică parametri cum ar fi:

1. numărul de noduri; numărul muchiilor;

2. pentru acest caz, în special „înălțimea" grafului (numărul maxim de muchii de la nodul

de pornire până la cel mai îndepărtat nod).

În cadrul Fig. 3.5 sunt prezentate cele două modele de abordare. În primul caz este

prezentat algoritmul secvențial de calcul, iar în ce de-al doilea, modelul paralel propus în teză.

Cazurile favorabile se întâlnesc la capacități foarte mari de prelucrare, în cazul sistemelor cu un

punct central de căutare, de exemplu un telefon sau un dispecerat cu conexiuni de rețea pentru

un oraș cu mai multe milioane de locuitori. În aceste cazuri, există comenzi centralizate şi sistem

de informaţii care trebuie să răspundă rapid, arhitectura pentru aceste tipuri de rețele poate fi

inclusă în tipurile favorabile de aplicare pentru soluția propusă. De la început, este evident că

ideea principală a acestor implementări constă în structura grafului. Pentru testele cu mai puține

noduri se poate concluziona că există unele cazuri diferite. În urma analizei acestor cazuri tipul

grafului influențează decisiv parcurgerea şi poate conduce la rezultate diferite. Mai mult, în

cazul unor grafuri temporale, utilizate astăzi în diferite scenarii reale cum ar fi rețelele de

transport, evoluția influențează clar tipul rezultatelor oferite de cei doi algoritmi (cel secvențial

sau despre cel paralel propus).

Figura 3.6. Schemă pentru cazurile cele mai favorabile [POP, 2015, a]

Figura 3.7. Schemă pentru cazurile mai dezavantajoase [POP, 2015, a]

Figura 3.8. Schemă pentru cazurile mixte de parcurgeri [POP, 2015, a]

Page 28: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

25

Pe baza modelului de graf din Fig. 3.6, se poate spune că tipul acesta conduce la puține

parcurgeri pentru un nod central către celelalte puncte prin noduri intermediare. Acest lucru

poate fi enunțat ținând cont de faptul că ideea de centralizare a căutărilor şi independența lor de

parcurgere este favorabilă abordării paralele propuse pentru că scenariul propus presupune

parcurgeri de la nodul selectat către toate celelalte noduri independent. Astfel, practic, fiecare

căutare este independentă şi algoritmul de căutare pornește algoritmul pentru fiecare nod în

parte.

În exemplul de graf din Fig. 3.6 este evident că un nod de plecare, sau nod central, poate

ajuta din punct de vedere al parcurgerii, având un număr mare de noduri apropiate. Acest

avantaj nu se mai regăsește în modelul de graf din Fig. 3.7 unde distanța dintre nodul central și

celelalte noduri este mult mai mare. Pentru cazurile cel mai puţin favorabile, se poate spune că

înălțimea (distanţa cea mai mare dintre vârf şi noduri) grafului influențează negativ căutarea

celui mai scurt drum pentru analiza paralelă, acest lucru fiind dat de necesitatea de parcurgere

a aceluiași drum de foarte multe ori. Practic, pentru căutarea unei zone de mai multe noduri se

străbate şi se calculează de fiecare dată același cost pentru o rută necesară de parcurgere. Având

în vedere că parcurgerea aceleiași rute este costisitoare şi că arhitectura algoritmului propus se

bazează pe începerea căutării către toate nodurile, acest lucru influențează negativ rezultatele

de calcul şi de timp pentru căutare. În cazul scenariilor de teste ca în Fig. 3.8, acest lucru va fi

foarte vizibil, practic testele la pachete aleatoare de grafuri, în funcţie de arhitectură, conduc la

rezultate foarte eterogene în funcţie de natura informaţiilor, respectiv de distribuția grafului.

Practic, acest tip de teste se efectuează pe exemple de date masive pentru a se observa natura

algoritmilor propuşi cu exactitate. Luând în considerare eficiența, în ceea ce privește noțiunea

de ordin de complexitate este 𝑂(𝑛2). În mod specific, să presupunem că G are n noduri şi m

muchii. În cazul în care graful de test este cel din Fig. 3.9, se poate spune ca varianta de

paralelizare pentru algoritmul Dijkstra este favorabilă ca timp de execuție. Graful din Fig. 3.9

are 200 de noduri și 210 muchii, având un nod central (nodul 0) și legături între acesta și toate

celelalte noduri. Pentru acest caz de test timpul oferit de algoritmul paralel este de 100ms, iar

de cel secvențial de 110ms ceea ce confirmă ipoteza că natura grafului este foarte importantă în

analiza de timp de execuție. Mai mult, se poate defini un model de date de intrare pentru care

algoritmul de căutare în paralel să evolueze favorabil. Trebuie menționat că timpii calculați sunt

puternic influențați de job-urile procesorului la momentul respectiv de calcul.

Figura 3.9. Exemplu de graf pentru testare a algoritmului paralel propus cu cel secvențial

Page 29: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

26

3.2.3 Compararea algoritmilor pentru găsirea celui mai scurt drum, tipuri de

paralelizări și posibilităţi de aplicare

Această cercetare propune, în primă instanță, o analiză inovativă şi eficientă a

algoritmilor Dijkstra, Bellman Ford, Floyd-Warshall şi Viterbi, prin abordări paralele, analiza

rezultatelor obţinute în diferite teste, dar și o comparație a acestor strategii pentru căutare pe

diferite sisteme de grafuri. Schimbarea algoritmilor, propusă în teză, presupune paralelizarea

de la începutul procesului, aşa cum a fost prezentată mai sus, în cazul algoritmului Dijkstra.

Algoritmul propus începe să găsească calea cea mai scurtă de la nodul de pornire pentru orice

alt nod, folosind în cele mai bune cazuri, diferite căi. În cazurile cele mai nefavorabile se poate

folosi aceeaşi cale pentru mai multe noduri de mai multe ori acesta conducând la timp mai mare

de execuție. Cazurile favorabile pot avea o pondere mai mică de 1% în pachetele de testare

aleatoare, dar există cazuri în care acest scenariu este util [POP, 2016, c]. Varianta de pseudocod

propusă pentru algoritmul Bellman-Ford este următoarea:

Bellman-Ford(G, sursa)

Pentru i de la 1 la |U| execută

dist[i] = dist[i] +inf

predecesor[i] = null

dist[sursa] = 0

pentru i in 1 to (|U| - 1) executa

pentru fiecare Edge e din Edges(G) executa

/* paralelizare implementata aici */

daca dist[e.from] + length(e) < dist[e.to] executa

dist[e.to] = dist[e.from] + length(e)

predecesor[e.to] = e.from

pentru fiecare Edge e in Edges(G) executa

/* paralelizare implementata aici */

daca dist[e.from] + length(e) < dist[e.to] executa

error("graful conține cicluri sau lungimi negative")

return predecesor

În primul caz, trebuie să fie luaţi în considerare timpii de execuţie pentru algoritmii

secvenţiali, prezentați în Fig. 3.10. Este evident că algoritmul Floyd-Warshall este mai lent,

deoarece este un tip de algoritm de drumuri minime care poate consuma mai mult timp pentru

execuţia sa; plecând de la această concluzie, acest algoritm nu va fi testat în următoarele

cercetări. În Fig. 3.11 este prezentat timpul de execuție pentru cei doi algoritmi, Dijkstra și

Bellman Ford (secvențiali și paraleli propuși) în contextul unor exemple de test crescătoare ca

volum de date. Totuşi, există o serie de abordări în paralel eficiente, care pun în practică strategii

utile pentru acest tip de algoritmi. Luând în considerare rezultatele studiului practic şi ordinul

de complexitate pentru fiecare dintre algoritmi, Dijkstra este mai eficient decât Bellman-Ford

pentru implementarea secvențială. Strategia propusă de algoritmul Bellman Ford nu este

recomandată pentru rețele de capacitate foarte mare pentru că are o serie de dezavantaje.

Page 30: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

27

Figura 3.10 Graficul rezultat din testele efectuate pentru algoritmii secvențiali cu numere diferite de

noduri în graf [POP, 2016, c]

Figura 3.11. Graficul rezultatelor pentru evaluările ca timp pentru patru tipuri diferite de algoritmi

[POP, 2016, c]

3.2.4 Concluzii

Capitolul al treilea propune noi metode de implementări paralele pentru utilizarea

celor mai populari algoritmi pentru cea mai scurtă cale. Această metodă este utilă în unele cazuri

de aplicare, cum ar fi sistemele de grupare de informaţii asociate unui graf cu o înălțime mică,

dar densitate mare de noduri. Algoritmul Bellman-Ford oferă perspective în protocoalele de

rutare la distanţă, pentru rutele optime. Floyd-Warshall este utilizat în aplicaţii în care se dorește

găsirea căii cu debitul maxim între două noduri, pentru calcularea rapidă a rețelelor de

informaţii. Algoritmul Viterbi este utilizat pentru aplicarea algoritmilor de programare

dinamică la maximizarea problemelor care implică probabilități, pentru analiza vocii şi pentru

sistemele de probabilitate pentru drumuri. George Dvorsky [DVO, 2014] a încercat să explice

care sunt cei mai importanți algoritmi în zilele noastre. El a făcut un top de algoritmi după

impactul major şi algoritmul lui Dijkstra este pe locul al treilea, în urma algoritmilor de sortare

şi transformată Fourier. Chiar şi atunci când avem soluţii mai bune la problema de a găsi calea

cea mai scurtă, algoritmul lui Dijkstra este încă folosit în sistemele care necesită stabilitate.

În ultimul subcapitol au fost aduse aporturi privind:

1. Testarea și compararea algoritmilor secvențiali pentru cel mai scurt drum (Dijkstra,

Bellman-Ford, Floyd-Warshall, Viterbi).

Page 31: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

28

2. Pe baza algoritmul de paralelizare propus din Fig. 3.5, pentru algoritmul Dijkstra s-a

identificat un model de grafuri favorabil (ca în exemplul din Fig. 3.9). Au fost definite

3 modele generale de grafuri pentru cazurile favorabile, nefavorabile sau mixte.

3. Strategia de paralelizare a fost extinsă și către algoritmul Bellman-Ford.

4. Algoritmii implementați au fost testați din punct de vedere al timpilor de execuție,

rezultatele fiind prezentate în Tabelul 3.3 și în Fig. 3.12.

În partea de analiză sunt explicate strategiile alese pentru soluțiile paralele existente

astăzi și comparații cu metoda implementată. Se poate afirma că soluția de paralelizare

propusă în teză este specifică unei configurații aparte. În prezent există și alte strategii propuse,

luând în considerare sistemele de grupare pentru testele cu un număr mare de noduri şi muchii.

4. EVALUARE ÎN PARALEL ȘI PROCESARE ÎN TIMP REAL A

UNOR SEMNALE DE VIBRAȚII FOLOSIND TEHNOLOGIA

FPGA

4.1 Introducere

Acest capitol tratează o serie de aplicații de prelucrare paralelă pentru semnale de

vibrații dezvoltate în cadrul proiectului [TEH, 2017], desfășurat de către Universitatea din

Craiova în parteneriat cu firma S.C. Vonrep S.R.L, în cadrul căruia am participat ca membru în

echipa de cercetare. Una dintre soluțiile pentru monitorizarea semnalelor de vibrații poate

fi realizarea unui sistem de achiziție local, care să poată prelucra datele local și să fie capabil să

transmită informațiile prelucrate la un nivel superior de calcul. Luând în considerare cazul

practic al semnalelor de vibrații, sistemul local trebuie să aibă o viteză de achiziție mare pentru

a facilita prelucrări în timp real. Se spune că, prin această metodă, prelucrarea și achiziția se

realizează aproape de sursa de generare a semnalelor, în timp real și astfel rezultatele prelucrării

au un număr de octeți pentru transfer mult mai mic. Mai mult, ideea procesării datelor cât mai

aproape de sursă poate rezolva problema inundării canalelor de comunicație cu fluxuri de date

mari. Toate acestea au determinat compania National Instruments să propună introducerea unui

circuit FPGA (Field Programmable Gate Array) între sistemul de achiziție și procesorul de

timp-real având ca efect prelucrarea în timp real a datelor direct la sursa de apariție a lor, iar

rezultatele prelucrării au, evident, un număr mai mic de octeți ce pot fi transportați mai ușor în

spațiul IoT. În Fig. 4.1. este prezentată arhitectura principală a circuitelor FPGA în comparație

cu o arhitectură clasică de sistem cu microprocesor. Există o serie de factori care trebuie luați

în calcul în timpul proiectării aplicațiilor la nivel FPGA. De asemenea, tehnologia FPGA oferă

o serie de avantaje cheie, cum ar fi: Risc în proiectare scăzut; Costuri reduse; Economie de

spațiu pe placa de circuit imprimat. Unul dintre cele mai mari avantaje este flexibilitatea, pentru

că aceste dispozitive sunt complet programabile. Arhitectura din Fig. 4.1 [POP, 2017, a], [FPG,

2009] permite dezvoltarea de aplicaţii folosind microprocesoare împreună cu hardware

programabil realizat cu circuite FPGA.

Page 32: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

29

Figura. 4.1. Arhitectura principială a circuitelor FPGA comparativ cu

Arhitectura de sistem cu microprocesor [POP, 2017, a]

Dezvoltarea software se poate realiza în mediul de dezvoltare grafică LabVIEW şi

astfel se combină fiabilitatea şi robustețea automatelor programabile (PLC - Programmable

Logic Controller), cu performanțele unui PC (Personal Computer), cu flexibilitatea circuitelor

FPGA (Field Programmable Gate Array). Astfel, rezultatele prelucrării se realizează în timp

real, ceea ce conduce la obținerea de decizii rapide pentru proces. Arhitectura sistemului NI

PAC Compact RIO este prezentată în Fig.4.2. Avantajele logicii FPGA sunt:

1. Performanțe mai bune;

2. Posibilitatea efectuării de operații paralele;

3. Implementarea paralelă care duce la optimizarea performanțelor și/sau a costului;

4. Răspuns rapid la intrări multiple, simultane.

Dezavantajele logicii FPGA sunt:

1. Aplicațiile de tip mașină de stare sau de control sunt mai dificil de programat;

2. Resursele logice cresc odată cu creșterea complexității.

➢ Bloc de Memorie

➢ Configurare Logică

➢ Procesare Digitală

➢ Interconexiuni

programabile

➢ Bloc Intrări/Ieșiri

Algoritm.exe Date

de

Date

de

Date

de

Date

de

Date

de

Date

de

Task 1

Task 2

Figura 4.2. Arhitectura PAC- Programmable Automation Controller [NIC, 2018]

Page 33: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

30

4.2 Arhitectura sistemului de achiziție

Arhitectura de sistem de achiziție și prelucrare propusă este prezentată în Fig. 4.3 și

stă la baza tuturor aplicațiilor, prelucrărilor și concluziilor din paragrafele următoare.

Configurarea acestei arhitecturi are la bază sistemul NI Compact RIO, dezvoltat de firma

National Instruments, ce reprezintă o inovație la nivel de prelucrare numerică. Ideea inovativă

se bazează pe inserarea între arhitectura de sistem cu microprocesor și sistemul de achiziții de

date (convertoarele CAN și CNA) a unui circuit FPGA care conduce la timpi de prelucrare

numerică extremi de mici [NIC, 2018]. În cadrul acestei figuri este reprezentat fluxul

transferului de informație: de la vibrația generată la nivelul structurii mecanice, prin intermediul

accelerometrului, la nivelul modulului sistemului de achiziție, prelucrarea de la nivel FPGA,

prelucrare la nivel procesor real-time al Compact RIO și până la nivel PC. Toate acestea

înglobează un sistem de prelucrare rapid, la nivelul sursei de producere a evenimentului. În Fig.

4.4 sunt prezentate:

a) Arhitectura sistemului de testare;

b) Conectare traductoare de vibrații la NI Compact RIO;

c) Detaliile de conectare magnetică a traductorului de vibrații pe structura mecanică.

d) Detaliile de conectare magnetică a traductorului de vibrații pe structura mecanică-2.

Figura 4.3. Arhitectura propusă, bazată pe sistemul de test, utilizat pentru calculul distribuit

NI Compact RIO-FPGA NI Compact RIO-Procesor RT

NI Compact RIO-

Modul sistem de

achizitie

Accelerometru

Structura mecanică

Computer PC

Figura 4.4. Stand experimental pentru testarea tehnologiei de prelucrare în timp real

a semnalelor de vibrații

Page 34: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

31

Semnalele sunt achiziționate pe cele 3 axe cu ajutorul unui accelerometru (cod:603C01

produs de firma PCB Piezotronics), după care, cu ajutorul sistemului NI CompactRIO pot fi

prelucrate prin intermediul unor algoritmi corespunzători, în scopul analizei cât mai rapide a

rezultatelor. Avantajul acestei structuri constă în faptul că permite o procesare sau preprocesare

la nivelul sursei de vibrații, cu un cost redus. Pentru testarea algoritmilor propuși, a fost realizat

un stand experimental ce constă într-un motor de acționare și un ax poziționat pe două lagăre,

prezentat în Fig 4.5. Vibrațiile sunt sesizate cu ajutorul unor senzori piezoelectrici al căror

semnal de ieșire este aplicat unui circuit de condiționare de semnal, pentru a putea fi apoi

transformat în semnal numeric, utilizând un sistem de achiziție. Aplicația este implementată în

LabVIEW - un mediu de dezvoltare bazat pe un limbaj de programare grafic - pentru a compila

și ulterior a rescrie memoria FPGA-ului este nevoie de o perioadă de aproximativ 35 de minute.

Pentru generarea vibrațiilor vor fi utilizate 2 scenarii diferite de lucru:

1. Sistem ax circular cu rulmenți la capete și fulie de transmisie în interior (Fig.4.5);

2. Sistem masiv de transmisie semnal de vibrații tip șoc – bară metalică (Fig.4.6).

În cadrul acestor două figuri, se poate observa poziționarea traductoarelor de vibrații

(transversal, longitudinal și vertical). Se va realiza o achiziție simultană pe cele trei axe.

În exemplul din Fig. 4.7 este prezentat un accelerometru cu discuri piezoelectrice

comprimate. Acest tip de accelerometru reprezintă un captor seismic în care discurile ceramice

formează elementul elastic al sistemului masă-arc. Elementul piezoelectric este cuprins între

masa seismică şi baza captorului. Sub acțiunea vibrațiilor, masa creează o forță variabilă asupra

discurilor piezoelectrice. Sarcina electrică este proporțională cu forța aplicată, care la rândul ei

este proporțională cu accelerația masei.

Figura 4.5. Sistem ax circular cu rulmenți

la capete și fulie de transmisie în interior

Figura 4.6. Sistem masiv de transmitere

vibrații de tip șoc

Figura 4.7. Accelerometrul piezoelectric cu discuri piezoelectrice comprimate

Page 35: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

32

4.2.1. Schemele generale ale scenariilor de achiziție și prelucrare propuse

Tehnologia propusă de NI Compact RIO combină un procesor de timp real încorporat,

un FPGA de înaltă performanță și module de tip I/O care se pot monta pe sloturile sale. Fiecare

modul I / O montat este conectat direct la FPGA. FPGA este conectat la procesorul încorporat

de timp real prin intermediul unei magistrale PCI duplex de mare viteză. LabVIEW conține

mecanisme integrate de transfer de date, utilizate pentru a transmite date către FPGA din

modulele de intrare / ieșire și de asemenea la procesorul încorporat de la FPGA. Aceste

transferuri sunt utilizate pentru analiza în timp real, prelucrarea datelor, stocarea datelor sau

comunicarea cu un computer conectat. Partea de prelucrare propusă în teză a fost realizată sub

forma unor scenarii de testare, accentul este pus pe comparația rezultatelor obținute pentru

diferite cazuri de generare de semnale de vibrații .

Cazul 1: Procesare FFT la nivelul circuitului FPGA

Conform structurii standului realizat și prezentat în Fig. 4.3, Fig. 4.4, se achiziționează

semnale de vibrații generate în timp real de pe cele 3 axe (Orizontală, Longitudinală și

Verticală) cu ajutorul senzorilor montați cu ajutorul magneților direct la sursa de vibrație,

respectiv, pe carcasa rulmentului. Acești 3 senzori sunt conectați la modulul CAN al sistemului

Compact RIO, iar la nivelul circuitului FPGA se realizează prelucrarea semnalului prin FFT.

După ce din semnalul de vibrații a fost achiziționat numărul de eșantioane stabilit și prelucrat

în paralel la nivelul circuitului FPGA, rezultatele se transmit la nivelul micro-procesorului Real

Time, unde se realizează o serie de alte prelucrări. La final, rezultatele sunt afișate pe unitatea

de lucru în format grafic. În Fig. 4.8 este prezentată diagrama generală de calcul care înglobează

cele 5 faze ale sistemului, denumite pe scurt astfel: generare vibrații, sistem de achiziție, FPGA,

Procesor RT, PC. Se poate observa, pe întreg fluxul, că achiziția, dar și prelucrarea se realizează

în paralel, independent pentru cele 3 axe (x, y, z) și că rezultatele se generează simultan. În

cadrul sistemului Compact RIO sunt prevăzute, pentru transfer de informații și conexiune, un

sistem DMA (DMA FIFO – Dynamic Memory Allocation cu stivă FIFO (First input – First

out)) plasat între FPGA și Procesorul RT și un sistem TCP/IP de comunicație între Procesorul

RT și PC. Cele 3 cazuri propun următoarele scenarii: calculul pentru FFT la nivel FPGA pentru

cazul 1, la nivel Procesor RT pentru cazul 2, la nivel PC pentru cazul 3.

Figura 4.8. Diagramă generală de prelucrare a FFT pentru cele 3 scenarii

Page 36: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

33

Figura 4.9. Schema sistemului de prelucrare FPGA + Procesor

În Fig. 4.9 este prezentată o schemă minimalistă pentru cazul 1, cu calculul FFT la

nivel FPGA în care se observă că partea de analiză se poate realiza la nivel PC. În cadrul

sistemelor industriale se poate aplica la nivel FPGA un algoritm complex care să transmită

numai informații despre proces, cu două stări, adevărat sau fals. Astfel, partea de transfer de

informații la nivel PC se elimină, timpul de calcul nu mai necesită și transfer la PC și analiza

se realizează mult mai rapid.

Cazul 2: Procesare FFT la nivel Microprocesor

Spre deosebire de primul caz, acest scenariu de test presupune o procesare directă la

nivel Procesor Real Time și doar o transmitere a informațiilor achiziționate la nivel FPGA.

Calculul este desfășurat la nivel microprocesor, fără a implica posibilitatea de preprocesare

FPGA. Aceste două scenarii vor genera timpi diferiți de calcul pentru cele două procesări. Se

va prezenta o analiză a rezultatelor, din punct de vedere al timpilor obținuți pentru

prelucrarea în paralel a celor 3 semnale de vibrații. Mai mult, se va prezenta oportunitatea

folosirii modalității de preprocesare la nivel FPGA. Inovația propusă constă în achiziția și

prelucrarea simultană pe cele 3 axe pentru semnalele generate, acest lucru fiind tratat prin

două scenarii distincte. Utilizarea logicii încorporate FPGA poate aduce beneficii la nivel de

timp de prelucrare. Accentul este pus pe realizarea calculului aferent transformatei Fourier la

nivel de FPGA pentru a preprocesa informațiile și a nu le transmite în format direct. Mai mult,

această preprocesare „la sursă" scade în mod considerabil timpul de execuție pentru setul de

eșantioane prelucrate. Elementul de noutate este dat de aplicarea tehnicilor de calcul

simultane și independente pentru cele 3 componente Ox, Oy și Oz cu ajutorul sistemului

FPGA în timp real. În cazul unor sisteme, când este nevoie de transport de informație pentru o

distanță mai mare, acest sistem de achiziție înglobează avantajul achiziției și prelucrării

încapsulate pentru cele 3 valori, dar aduce și o reducere considerabilă de volum de informație

transportată. Practic, implementarea în limbajul C a mediului vizual de lucru abordează un

calcul independent pentru cele 3 axe și stocarea informațiilor în stive de tip FIFO. Mecanismul

întreruperilor este de asemenea utilizat, dar și mecanismul buclelor de așteptare în cazul

achizițiilor, dar și al prelucrărilor.

Cazul 3: Procesare FFT la nivel PC

Page 37: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

34

Cazul 3 prevede procesarea transformatei Fourier la nivel de calculator PC, spre

deosebire de primele două scenarii, acum, la nivelul circuitul FPGA și procesorul Real-Time

se realizează achiziția și se transmite semnalul către PC. Acest scenariu presupune transferul

informațiilor neprelucrate prin FPGA, Procesor RT până la PC, unde se realizează prelucrarea.

Acest scenariu presupune aplicarea transformării FFT la nivel PC și utilizează mediul Compact

RIO doar pentru achiziție și transfer de date.

4.3. Dezvoltarea aplicației software de prelucrare

Aplicația software propusă are la bază posibilități de distribuire și optimizare a

prelucrării în paralel pentru 3 semnale de vibrații măsurate pe 3 axe (Orizontal, Longitudinal și

Vertical) ale unei structuri mecanice analizate. La nivel FPGA, avem fișierul

m_FPGA_function.vi care va fi compilat și încărcat chiar în circuitul FPGA. La acest nivel se

realizează prelucrări complexe precum: achiziție simultană a celor 3 semnale de vibrații,

prelucrare paralelă prin FFT (transformată Fourier), transmiterea datelor prelucrate către

procesorul real-time (plasat în arhitectura Compact RIO). Fișierul m_RT_function.vi este alocat

procesorului RT încorporat, care poate efectua operații complexe, specifice procesoarelor

CISC. Acest procesor realizează gestiunea rezultatelor prelucrării propuse. Totodată, la acest

nivel se regăsește și comunicarea cu un sistem de pe un nivel superior pentru sincronizare și

coordonare. La nivel de calculator PC este alocat fișierul m_PC_function.vi. Acesta este

instrumentul virtual care reprezintă aplicația implementată. La acest nivel se mai poate realiza

prelucrarea sau transmiterea la nivelul unui sistem SCADA/HMI a informației, gestiunea unui

volum mai mare de informații, o arhivă a datelor etc.. În Fig. 4.10 se poate observa definirea

celor 3 stive FIFO (First Input First Out) care sunt utilizate la nivelul FPGA pentru stocarea

semnalelor achiziționate. În această figură este prezentată de fapt arhitectura proiectului.

Figura 4.10. Arhitectura aplicației la nivel software de achiziție și prelucrare paralelă în timp real

implementată în mediul de dezvoltare grafică LabVIEW

Page 38: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

35

4.3.1. Cazul 1. Prelucrare FFT la nivel FPGA

În Fig. 4.11 este prezentat modul de lucru al blocului LabVIEW utilizat pentru

calcularea transformatei Fourier rapide (FFT). Se pot observa partea de achiziție, de prelucrare

și de răspuns a blocului. Începând cu al 3-lea set de eșantioane achiziționate, se poate spune că

blocul execută trei operațiuni în același timp:

1. Citește un set de eșantioane (testele principale s-au realizat prin achiziția a 4096 de

eșantioane preluate la viteza de 102.4 KS/sec pe 3 canale de achiziție simultan);

2. Prelucrează setul de eșantioane preluat anterior;

3. Transmite rezultatele prelucrării anterioare.

Figura 4.11. Descrierea modului de lucru al blocului FFT disponibil la nivel FPGA

Fig

ura

4.1

2.

Dia

gra

ma

de

tim

p ș

i si

ncr

oniz

are

pen

tru p

roce

sare

sem

nal

e d

e vib

rați

i la

niv

el d

e ci

rcuit

FP

GA

Page 39: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

36

În Fig. 4.12 este prezentată diagrama de timp și sincronizare pentru procesare la nivel

de circuit FPGA, continuată cu transmiterea rezultatelor la procesorul RT (prin DMA), pentru

afișare continuată apoi cu transmiterea la calculatorul PC pentru afișare (prin TCP/IP).

Procesorul RT este pe post de MASTER, iar circuitul FPGA și calculatorul PC sunt SLAVE.

Primul pas îl reprezintă pornirea sistemelor sincronizate, respectiv: Aplicația de la

nivelul circuitului FPGA (Start FPGA), care va aștepta să pornească procesorul RT (Start

FPGA) (setare IP, load bitfile.exe).

În mod asemănător, și aplicația de la nivel PC este pornită și așteptă un timp mai lung,

până când va primi confirmarea (ACK1-RT) de la nivel RT. După ce aplicațiile de la nivel

FPGA și RT sunt sincronizate următorul pas este dat de ACK0 prin care aplicația FPGA

așteaptă setarea FIFO de la nivel RT. După ce a fost configurată stiva FIFO și a fost transmisă

confirmarea către aplicația FPGA se începe achiziția setului de eșantioane E1 (4096 de

eșantioane), prelucrarea, în paralel cu achiziția, și totodată, tot în paralel (eșantion cu eșantion),

informațiile se scriu în FIFO. Pe parcursul acestui proces aplicația de la nivel RT așteaptă

scrierea întregului set de eșantioane. În momentul finalizării acestui proces (confirmat de ACK-

FPGA) se începe citirea FIFO la nivel RT și plotarea, timp în care aplicația de la nivel FPGA

este întreruptă (se așteaptă semnalul ACK1-RT). În acest stadiu, la nivel RT se realizează și

scrierea către PC cu ajutorul protocolului TCP/IP. În acest moment, se poate spune că primul

ciclu se încheie și odată cu semnalul ACK1- RT, de la nivel RT, se declanșează următorul ciclu

de achiziție/prelucrare la nivel de FPGA pentru următorul set de eșantioane. Începând cu al

doilea ciclu, mecanismul de sincronizare FPGA RT este asemănător, dar se marchează activarea

aplicației de la nivel PC unde se citesc informațiile transmise prin TCP/IP, se poate realiza o

plotare sau alți algoritmi de prelucrare, după care se așteaptă următorul eșantion.

La nivel FPGA, pentru ciclul al doilea se realizează achiziția setului de eșantioane E2,

calculul FFT pentru setul de eșantioane E1. În acest moment, blocul FFT de la nivel FPGA

încă nu furnizează ieșiri și din această cauză vom efectua o plotare la nivel RT „falsă". Începând

cu al treilea ciclu, specific celui de-al treilea set de eșantioane E3, la nivelul aplicației FPGA se

realizează o achiziție, calcul FFT pentru E2 și output FFT pentru E1 și la nivelul aplicației RT

se va plota răspunsul prelucrat al FFT pentru E1. Practic acest mecanism presupune că se citesc

informațiile continuu, fără pierderi și se pot prelucra complet, conform blocului de la nivel

FPGA cu o întârziere de ieșire de două seturi de eșantioane (frame-uri). Se poate spune că astfel

se realizează o achiziție, prelucrare completă, rapidă și aproape de sursă. Acest lucru este util

pentru a se realiza o achiziție/prelucrare la viteza de achiziție a modulului hardware de 102.4

kS/sec. Această procedură propusă în teză este inovativă și înglobează cea mai bună variantă

din punct de vedere al achiziției de semnal, al timpului de calcul ce permite în mod real

prelucrare paralelă. În cadrul figurii 4.13, este prezentată arhitectura (diagrama) aplicației

dezvoltată cu ajutorul mediului de programare grafică LabVIEW.

Page 40: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

37

4.3.2. Cazul 2. Prelucrare FFT la nivel Microprocesor RT

În acest caz achiziția se realizează la nivel de circuit FPGA, după care rezultatele se

transmit la procesorul RT (prin DMA) pentru prelucrare prin FFT + afișare, după care se

transmit la calculatorul PC pentru afișare (prin TCP/IP). Procesorul RT este pe post de

MASTER, iar circuitul FPGA și calculatorul PC sunt SLAVE. În acest caz, la nivel FPGA, se

efectuează doar achiziția semnalelor de vibrații. În acest caz, datorită timpului de așteptare la

nivel FPGA pentru terminarea prelucrării la nivelul procesorului RT, se pierd eșantioane, adică

pe perioada de prelucrare la nivel de procesor RT nu se mai pot achiziționa eșantioane. Se poate

specifica faptul că, și în acest caz, achiziția semnalelor de vibrații se realizează în mod

paralel/simultan pe cele 3 canale de achiziție, dar prelucrarea este realizată ulterior după ce setul

de 4096 x 3 canale a fost transmis la nivelul procesorului RT. După realizarea prelucrării la

nivel de procesor RT se trimit rezultatele (spectrul de putere) către un calculator PC pentru

prelucrări suplimentare. Mecanismul de sincronizare a aplicațiilor la nivel circuit FPGA,

procesor RT și PC este identică cu cazul 1, diferența fiind realizarea prelucrării FFT asupra

semnalelor la nivel de procesor RT.

4.3.3. Cazul 3. Prelucrare FFT la nivel PC

În Fig. 4.14 este prezentată diagrama de timp și sincronizare pentru achiziție la nivel

de circuit FPGA, după care rezultatele se transmit la procesorul RT (prin DMA), ulterior

transmițându-se la calculatorul PC (prin TCP/IP) pentru FFT + afișare. Procesorul RT este pe

post de MASTER, iar circuitul FPGA și calculatorul PC sunt SLAVE. Se poate spune că, în

Fig

ura

4.1

3.

Arh

itec

tura

apli

cați

ei d

ezv

olt

ată

în m

ediu

l

Lab

VIE

W p

entr

u n

ivel

ul

de

circ

uit

FP

GA

Page 41: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

38

acest caz, aplicația FPGA are rol doar de achiziție, cea de la nivel RT doar intermediar, de

transfer, iar calculul se realizează la nivel PC. Practic, primele două aplicații implementează

același mecanism de sincronizare pentru a transfera datele/ informațiile neprelucrate la nivel

PC. Astfel, prelucrarea se realizează într-un timp mai mare decât în primele două cazuri.

Totodată, chiar dacă achiziția eșantioanelor se face simultan pe trei canale (la nivel FPGA),

prelucrarea se realizează ulterior, când setul de eșantioane ajunge prin comunicație la

calculatorul PC. În acest caz se realizează o prelucrare off-line a semnalelor. La aceste chestiuni

se adaugă și faptul că pe intervalul de timp al transmisiei către calculatorul PC și al prelucrării

la nivelul acestuia, achiziția este oprită, deci se pierd eșantioane de vibrații, adică achiziția și

prelucrarea nu mai sunt continue. Acest lucru confirmă din punct de vedere practic propunerea

din teză. Se poate spune că acest model ar avea un impact negativ mai mare în cazul unor

algoritmi mult mai complecși care nu pot fi interpretați la nivel FPGA sau RT intern.

În teză este prezentată și diagrama de timp și sincronizare pentru procesare totală la

nivel de circuit FPGA, după care semnalele nu se mai transmit la procesorul RT sau la

calculatorul PC, ci doar un rezultat „OK/FAULT”. Procesorul RT este pe post de MASTER,

iar circuitul FPGA și calculatorul PC sunt SLAVE. Se poate observa că timpii de prelucrare a

grupelor de eșantioane sunt aproape neîntrerupți, iar timpii de așteptare pentru sincronizare cu

procesorul RT sunt extrem de mici. Această abordare poate genera o posibilă aplicație pentru

mediul industrial care să determine în timp real erorile apărute la nivelul structurilor

monitorizate (exemplu de utilizare pentru Campact Rio 9024 în [POP, 2018, a]). În acest

Fig

ura

4.1

4.

Dia

gra

ma

de

tim

p ș

i si

ncr

oniz

are

pen

tru

pro

cesa

re s

emnal

e de

vib

rați

i la

niv

el P

C

Page 42: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

39

scenariu, la nivel FPGA, este realizat întregul algoritm de prelucrare și acesta transmite doar

rezultatul OK/FAULT, timpii dintre ACK-FPGA și ACK-RT tinzând către 0. Aceasta reprezintă

un sistem „embedded" și, în acest caz, timpii de comunicare care se adaugă prelucrării la nivel

FPGA sunt foarte mici (transfer de 2 octeți). În urma analizei soluției dezvoltate în cadrul

proiectului [TEH, 2017], s-a constatat și o problemă practică: costul echipamentelor hardware

este destul de ridicat. Echipamentele hardware utilizate, cum ar fi sistemul Compact RIO, care

reprezintă un echipament inovativ și profesional, costă peste 10.000 euro, iar dacă se vor adăuga

module de achiziție, costul va crește semnificativ. Chiar acesta este avantajul ideii inovative

propuse în cadrul tezei care utilizează tehnologia introdusă de firma Național Instruments.

Aceasta permite dezvoltarea programului din circuitul FPGA prin limbajul grafic LabVIEW,

foarte simplu de folosit, acesta generând productivitate ridicată la nivel de dezvoltare software.

4.4. Rezultate experimentale

Performanțele de procesare în timp real sunt obținute prin diferite metode specifice

aplicațiilor de timp real, cu cea mai mare parte a procesării realizată la nivelul circuitului

FPGA. Optimizarea performanței la nivel de circuit FPGA poate fi evidențiată prin creșterea

vitezei de procesare, ca urmare a utilizării sistemelor de porți logice dedicate [POP, 2018, b].

Astfel, principala tehnică de creștere a performanței este de a reduce pe cât posibil

complexitatea logicii combinatorice. Evident, o logică complexă combinatorică ocupă multe

perioade de ceas. După simplificarea logicii, se poate merge mai departe prin împărțirea codului

în sarcini discrete mici și încercarea de a efectua procesarea paralelă a acestora.

4.4.1. Performanța în timp

Pentru operația de compilare a codului de la nivelul circuitul FPGA au fost selectați

ca parametri:

1) Strategia de proiectare: varianta echilibrată;

2) Obiectivul optimizării: variantă de viteză, cu un efort normal;

3) Nivelul general de efort al matricei de configurație: ridicat;

4) Rută și spațiu: nivel standard.

Fig. 4.15 prezintă rezultatul comparativ al utilizării resurselor pentru primele două

scenarii propuse în cadrul acestui capitol. Se poate observa că, în primul caz propus, nivelul

utilizării resurselor este mult mai ridicat. În acest caz s-a încercat optimizarea resurselor; o

serie de probleme de limitare au fost întâmpinate la nivel de blocuri DSP și blocuri RAM. Se

poate observa că numărul de blocuri RAM este la limitat. Una dintre principalele diferențe

aduse de procentele de utilizare este dat de calculul transformării și utilizării blocului FFT

pentru cele două procesări în paralel. Problema resurselor nu mai este de actualitate, la nivel

FPGA se realizează doar partea de transfer de informații neprelucrate. Modelele proiectate cu

sistem de transfer DMA folosesc capabilitățile de procesare paralelă ale FPGA pentru a spori

eficiența codului secvențial.

Page 43: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

40

În Fig. 4.16 este prezentat gradul de utilizare al procesorului de timp real al sistemului

Compact RIO în cele trei cazuri: procesarea prin Transformarea Fourier a celor trei semnale de

vibrație Ox, Oy, Oz la circuitul FPGA. Se poate observa cu uşurinţă că nu există o încărcare

foarte mare a procesorului în timp real în cazul 2 și cazul 3, dar se preiau doar rezultatele FFT.

Unul dintre avantajele majore ale acestor metode propuse în teză este că tehnologia FPGA este

ușor de rescris și permite dezvoltarea unor probleme cu algoritmi diverși. În cadrul celor trei

cazuri de prelucrare paralelă propuse în teză, pentru cele trei semnale de vibrații, se poate

observa nivelul de utilizare al procesorului după cum urmează:

1) În primul caz se observă utilizarea procesorului RT de la nivel Compact Rio cu un procent

de 41%, acest procent este obținut cu ajutorul prelucrărilor efectuate la nivel FPGA care

diminuează din calculul procesorului RT;

2) În al doilea caz, în care procesorul RT realizează mare parte a calculului, tratează

scenariul 2 propus (FFT la nivel RT). Astfel se obține o utilizare mai ridicată, de 65%

pentru procesorul RT;

3) În al treilea caz propus, se observă că nivelul de utilizare este asemănător cu cazul 2,

pentru că arhitecturile de procesor sunt asemănătoare, pentru procesorul de la nivel PC.

Figura 4.15. Starea configurației fișierului compilat din cazul 1 (FFT la nivel FPGA) vs. cazul

2 (FFT la nivel procesor RT)

Page 44: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

41

Rezultatul complet la nivel de timp de prelucrare din momentul achiziției unui eșantion

și până la obținerea datelor prelucrate este prezentat în Fig. 4.17. Practic în cele trei scenarii se

obțin următorii timpi: 49168 µs, 77721 µs și 90328 µs. Aceste rezultate confirmă ideea din acest

capitol și argumentează una dintre inovațiile propuse: de prelucrare în timp real cu eficiență

de timp. Se poate spune că, timpul de transfer, timpul de stocare și de prelucrare mărește timpul

total de obținere a rezultatelor pentru scenariile 2 și 3. Aceste rezultate confirmă și argumentul

de prelucrare la sursa de apariție a evenimentelor, cu atât mai mult, în cazul semnalelor de

vibrații care au un comportament dinamic. Varianta propusă în teză de prelucrare la sursă

împiedică apariția unor probleme la nivelul conectării traductoarelor de vibrații pe cabluri lungi

care creează pierderi de informații.

4.4.2. Spectre obținute în diverse scenarii pentru motor

4.4.2.1 Cazul 1. Prelucrare la nivel FPGA

În Cazul.1 aplicația implementează în mod paralel realizează:

➢ achiziția simultană a 4096 eșantioane din fiecare semnal de vibrații de pe cele trei axe

(Ox, Oy, Oz);

➢ calcul FFT;

➢ sincronizarea comunicației cu procesorul RT din structura sistemului CompactRIO;

Figura 4.16. Utilizarea unităților de procesare pentru cele trei cazuri propuse în acest capitol

Caz 1. Circuit FPGA Caz 2. Procesor RT Caz 3. PC

Figura 4.17. Timpii obținuți pentru prelucrare la nivel de frame pentru cele trei scenarii

Page 45: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

42

Scenariul de achiziție în cazul unui sistem mecanic format din 2 rulmenți atașați unui

ax, care este învârtit de un motor cu turația în jur de 1900rot/min este prezentat la nivel software

în Fig. 4.18. În Fig. 4.18 este prezentată interfața aplicației software de achiziție și prelucrare

paralelă în timp real, implementată la nivelul circuitului FPGA din arhitectura sistemului

CompactRIO, unde doar afișarea se realizează la nivel de calculator PC. Spectrul de putere

realizat la nivelul circuitului FPGA este transmis prin intermediul procesorului RT din

arhitectura sistemului CompactRIO către un calculator PC. Fig. 4.19 prezintă aceeași aplicație

de achiziție/prelucrare în paralel a celor 3 semnale de vibrații, unde pe lângă vibrația datorată

învârtirii axului cu rulmenți, s-a mai generat și un impuls de „șoc” prin lovirea structurii

mecanice cu un ciocan. Se poate observa o extindere a benzii spectrului de putere a semnalului

măsurat prin suprapunerea șocului generat peste vibrația normală a axului mecanic. Astfel,

comparativ cu Fig. 4.18, spectrul de putere realizat se extinde acum până la frecvențe de peste

40kHz. Imaginea din Fig. 4.19 prezintă efectiv prelucrarea a 3 seturi de câte 4096 eșantioane

preluate în paralel pe cele 3 canale de achiziție (Ox, Oy, Oz) la nivel de circuit FPGA. Sistemul

CompactRIO, prin modulul de achiziție, lucrează la o viteză de 102,4 kS/sec (din catalog), de

unde rezultă o perioadă de eșantionare de 9,7µs. În Fig. 4.19 se poate observa creșterea benzii

de frecvență în spectrul de putere. Timpul total de achiziție și prelucrare a celor 3 seturi de

eșantioane (frame-uri) preluate simultan pe 3 canale, precum și timpul de comunicație, este

Ttotal_frame=49335 µs. În aplicația de timp real din FPGA din Fig. 4.39. perioada de eșantionare

este măsurată efectiv și are valoarea Te_FPGA=9.7 µs. Timpul total de achiziție și prelucrare

măsurat la nivel FPGA este de Tachiz_prel= Te_FPGA * Nr.Eșantioane_Frame =(9.7 µs) * (4096

Eșantioane) => Tachiz_prel =39731.2 µs. Se poate observa în timp real paralelismul achiziției și

prelucrării prin faptul că șocul este achiziționat simultan pe cele 3 canale alături de prelucrarea

la nivel de circuit FPGA.

Figura 4.18. Interfața aplicației software de achiziție și prelucrare paralelă în timp real, implementată

cu prelucrare la nivelul circuitului FPGA

Page 46: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

43

4.4.2.2 Cazul 2. Prelucrare la nivel procesor RT

În scenariul cazului 2, semnalele de vibrații au fost achiziționate simultan pe cele 3

canale reconfigurabile de la nivelul circuitului FPGA, după care au fost transmise prin

comunicație (canal DMA) la procesorul RT din arhitectura sistemului Compact RIO. La nivelul

acestui procesor a fost realizat calculul pentru spectrul de putere. Afișarea grafică a semnalelor

de vibrații achiziționate și a spectrelor de putere realizate se vizualizează în modul Debugger al

aplicației de la nivel de procesor RT. Practic, sunt afișate frame-urile de câte 4096 eșantioane

preluate din semnalele de vibrații achiziționate pe cele 3 canale (Ox, Oy și Oz).

În Fig. 4.20 este prezentat un experiment prin care cele 3 traductoare de vibrații sunt

lovite de o tijă flexibilă conectată pe axul pe care sunt montați rulmenții. La viteza de achiziție

de 102,4kS/sec s-au preluat 16000 de eșantioane, simultan, pentru fiecare din cele trei semnale

de vibrații, ce conțin si aceste șocuri. Se poate observa că distanța în timp între două pulsuri de

tip șoc este aceeași pe fiecare din cele 3 canale fiind de 6400 de eșantioane.

Figura 4.20. Exemplu analiză turație motor

Figura 4.19. Interfața aplicației software de achiziție/prelucrare la nivelul circuitului FPGA unde

s-a introdus și un semnal de tip „șoc”.

Page 47: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

44

Frecvența de eșantionare pentru semnalul achiziționat este 𝑓𝑒 = 102,400 𝐾𝑠/𝑠𝑒𝑐,

ceea ce corespunde unei perioade de eșantionare 𝑇𝑒 =1

𝑓𝑒=

1

102,400 𝑠/𝑠𝑒𝑐 = 9,7 µ𝑠.

Perioada dintre două pulsuri de tip șoc este 𝑇2 = 6.400 𝑒ș𝑎𝑛𝑡𝑖𝑜𝑎𝑛𝑒 ∗ 𝑇𝑒 = 6.400 ∗ 9,7 =

0,06208𝑠. Obținem astfel o frecvență de apariție a șocurilor: 𝑓 =1

𝑇2=

1

0.06208𝑠=

16,11 𝑟𝑜𝑡/𝑠𝑒𝑐, ceea ce corespunde unei turații a motorului de

𝑛𝑚𝑜𝑡𝑜𝑟 = 966 𝑟𝑜𝑡/𝑚𝑖𝑛. Conform raportului dintre diametrele (1/2) fuliilor axelor rezultă că

viteza de rotație generată de motor în acest caz este de aproximativ 1932 rot/min.

Figura 4.21. Interfața aplicației software de achiziție și prelucrare paralelă în timp real la nivelul

circuitului FPGA pentru analiza în timp real a unor semnale de vibrații de tip „șoc”.

În Fig.4.21. este prezentată aplicația la nivel de circuit FPGA pentru achiziția unui

semnal de vibrație generat de o șină metalică. În această situație se poate observa foarte bine

sincronizarea semnalului de “șoc” pe cele 3 canale achiziționate.

4.4.2.3 Cazul 3. Prelucrare la nivel procesor PC

Aplicația la nivel de calculator PC a fost dezvoltată tot în mediul de programare grafică

LabVIEW, dar la acest nivel poate fi folosit orice mediu de dezvoltare cu capabilități de

comunicație TCP/IP. Se poate observa simultaneitatea achiziției celor 3 semnale de vibrație

prin faptul că un impuls de „șoc” este sincron afișat pe fiecare semnal de vibrație. Timpul total

de prelucrare crește la valoarea 86301µs și se confirmă noțiunea de prelucrare off-line cu

pierdere de eșantioane.

4.5. Concluzii

În acest capitol din teză a fost propus un sistem de achiziție și analiză de vibrații. Ideea

propusă de achiziție de vibrații a pornit de la problema achiziției semnalelor cu dinamică foarte

rapidă de tipul semnalului de vibrație la rulmenții unui motor. Sistemul de achiziție necesită

plasarea foarte aproape de sistemul mecanic, deoarece o linie de semnal analogic poate fi

perturbată și se pierde astfel informație.

S-a utilizat sistemul dezvoltat de firma National Instruments care oferă posibilitatea

prelucrării la sursă cu ajutorului circuitului FPGA încorporat în varianta Compact Rio 9024,

Page 48: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

45

acest sistem a fost utilizat și în [ADC, 2014-2017] pentru un proces de monitorizare al unui

cuptor de coacere. Una dintre probleme principale este că numărul de date (eșantioane)

numerice care trebuie transmis este foarte mare, iar comunicația către un sistem de calcul se

face mult mai lent. Obiectivul principal al sistemului propus este de prelucrare cât mai rapidă a

transformatei Fourier pentru semnalul achiziționat și de transmitere a informațiilor într-un

regim ridicat de viteză. S-a propus un sistem de achiziție paralelă pe trei canale a semnalelor de

vibrații și prelucrarea lor la în timp real. În cadrul acestui capitol s-au prezentat 3 cazuri distincte

de prelucrare la nivelul sistemului Compact Rio 9024:

• Prelucrare la nivel FPGA.

• Prelucrare la nivel RT.

• Prelucrare la nivel PC.

Pentru cele trei cazuri s-au implementat soluții software în mediul de dezvoltare

LabVIEW accentul fiind pus pe paralelism și pe viteza de prelucrare. Rezultate obținute

confirmă că prelucrarea transformatei Fourier rapidă la nivel FPGA este cea mai eficientă din

punct de vedere al timpului de lucru. Această soluție oferă avantaje de prelucrare în timp real,

aproape de sursă și poate fi considerată un sistem local capabil să transmită informații prelucrate

la un nivel superior. Un alt factor inovativ este faptul că se achiziționează semnale pe trei canale

independente și acestea se prelucrează în paralel.

CONCLUZII FINALE

Pornind de la nevoia de dezvoltare și adaptare a algoritmilor la mijloacele noi de calcul,

teza de doctorat cu titlul “Algoritmi performanți pentru prelucrarea imaginilor şi a semnalelor”

a avut drept obiectiv dezvoltarea unor algoritmi moderni la nivel de prelucrare de imagini și

semnale, implementarea și testarea unor soluții software adecvate, în vederea îmbunătățirii

timpului de calcul. Tema dezvoltată în teza de doctorat este de viitor şi încearcă să răspundă

unor probleme legate de optimizarea algoritmilor, îmbunătățirea timpului de execuție, dar

dezvoltă și noi abordări și propuneri eficiente. Pentru atingerea obiectivului asumat, în cadrul

tezei au fost tratate următoarele aspecte:

• Dezvoltarea unor soluții software secvențiale de generare fractală pentru seturile

Mandelbrot și Julia.

• Propunerea unor soluții software de calcul distribuit pentru generarea imaginilor fractale.

• Analiza comparativă a soluțiilor software implementate, analiza la nivel de timp de calcul

și influență la nivel de procesor.

• Dezvoltarea, implementarea și testarea unor soluții de compresie a imaginilor fără

pierderi.

• Implementarea unor soluții de optimizare la nivel de compresie DWT prin optimizarea

unor zone de cod cu ajutorul calcului paralel.

Page 49: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

46

• Analiza rezultatelor timpilor de execuție, influenței asupra CPU la nivel de sistem de

compresie a imaginilor.

• Propunerea unor mijloace noi de aplicabilitate pentru compresie rapidă la nivel de imagini

medicale.

• Dezvoltarea, implementarea și testarea unei propuneri de îmbunătățire la nivel de calcul

pentru algoritmul Edge Detection (detectare de muchii), precum și analiza rezultatelor

pentru diferite tipuri de imagini.

• Dezvoltarea unei posibilități de paralelizare la nivelul algoritmilor Shortest Path (pentru

cel mai scurt drum).

• Testarea și compararea algoritmilor Dijkstra, Bellman-Ford, Floyd-Walshall, în varianta

propusă și definirea unui model de utilizare favorabilă.

• Dezvoltarea, implementarea și testarea unor soluții moderne de prelucrare a semnalelor

de vibrații în paralel cu ajutorul sistemului Compact Rio 9024 produs de firma National

Instruments.

• Abordarea comparativă a celor 3 metode de prelucrare FFT propuse, cu soluții de calcul

în diferite zone ale sistemului.

• Analiza rezultatelor și determinarea optimă a variantei de prelucrare a FFT la nivel de

FPGA, cât mai aproape de sursă.

Pentru îndeplinirea obiectivelor propuse a fost important un studiu sistematic și gradat

începând cu elementele de bază necesare descrierii algoritmilor propuși pentru optimizare.

Astfel, în capitolul 1 au fost descrise mulțimile fractale Mandelbrot și Julia. Pornind de la

aspectele matematice și de la nevoile de calcul complex s-a abordat modelul de proiectare a

setului Mandelbrot din subcapitolul 1.2. Soluția software implementată pe baza acestui algoritm

generează exemple de imagini cum ar fi cele din Fig.1.2 sau Fig. 1.3. În cadrul acestui

subcapitol este prezentat și impactul acestor prelucrări la nivel de CPU. Începând cu

subcapitolul 1.2.3 este prezentată varianta de paralelizare la nivel de buclă de parcurgere a

pixelilor. Această soluție este mult mai rapidă decât varianta secvențială acest aspect fiind

reliefat și de rezultatele din Fig. 1.5 și Fig. 1.6 și Fig.1.7 . În concluzie, implementările, testările

și analizele prezentate în Cap.1 sunt un mijloc de testare pentru soluția de compresie din Cap.2

și accentuează diferența mare între timpii de execuție pentru generarea fractală prin soluția

secvențială și cea paralelă.

În capitolul 2 este prezentată metoda de compresie fără pierderi DWT, pornind de la

noțiunile de bază ale algoritmilor de compresie, descrierea metodei de decompoziție diadică,

dar și propunerea unei metode de eficientizare pentru transformata wavelet discretă. Soluția

implementată este descrisă în subcapitolul 2.1 și reprezintă implementarea metodei de

compresie cu ajutorul propunerii software prezentată în subcapitolul 2.2. Această soluție se

bazează pe posibilitatea de înmulțire distribuită a matricelor (coeficienți de filtre) și este

prezentată în Fig. 2.2, alături de diagrama funcțională din Fig. 2.3.

Page 50: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

47

Capitolul 3 prezintă o serie de studii pentru posibilități de paralelizare pentru

algoritmul de detectare a muchiilor (Edge Detection), dar şi posibilităţi de utilizare. Astfel, sunt

descrise tipuri diferite de algoritmi „Edge detection”, sunt abordate metodele de detectare

Robert's şi Sobel cărora le sunt aplicate o serie de îmbunătățiri la nivel de arhitectură. În cadrul

subcapitolului 3.1 se regăsesc prezentate soluțiile pe baza înmulțirii în paralel a coeficienților

sau pentru divizare a imaginii, toate aceste soluții conducând la rezultatele comparative

prezentate în Fig. 3.3. Tot în cadrul acestui subcapitol este propusă o soluție de aplicabilitate

practică la nivel de sistem de numărare plante pentru culturi agricole, un răspuns rapid al

algoritmului de detectare fiind principalul punct forte pentru un astfel de produs.

Partea a doua a capitolului 3 tratează soluțiile propuse și implementate pentru

algoritmii de căutare la nivel de graf Dijkstra, Bellman-Ford, Floyd-Warshall. Principala soluție

de paralelizare fiind o metodă inovativă ce presupune nefolosirea rutelor deja parcurse și

începerea căutării independente către toate celelalte noduri. Pe baza acestei soluții sunt

determinate o serie de modele de grafuri favorabile, nefavorabile sau mixte prezentate succint

în Fig. 3.6, Fig. 3.7, Fig. 3. 8.. În cadrul acestui capitol, pornind de la varianta de paralelizare

propusă, modelul este extins și către alți algoritmi de căutare, rezultatele timpilor de calcul fiind

prezentate în subcapitolul 3.2.4.

Capitolul 4 propune o implementare a procesării paralele a unor semnale de vibrații

folosind sistemul Compact RIO 9024 al firmei National Instruments. Unele dintre principalele

avantaje din acest sistem de monitorizare propus sunt prețul scăzut, consumul redus, dar și

răspunsul rapid în conformitate cu nivelul algoritmului de procesare propus. În cadrul activității

de cercetare sunt prezentate o serie de rezultate obținute pentru monitorizarea semnalelor de

vibrații în diferite scenarii. În cadrul Capitulului 4 sunt prezentate:

• Noțiuni generale despre posibilitățile de calcul la nivel industrial existente în prezent și

analiza comparativă a sistemului CPU și al FPGA (în subcapitolul 4.1).

• Arhitectura sistemului de achiziție Compact Rio 9024 (în subcapitolul 4.2) și a standului

experimental de generare, achiziție și prelucrare paralelă a semnalelor de vibrații.

• Schemele generale ale scenariilor de achiziție și prelucrare (în subcapitolul 4.3) propuse

pentru cele 3 cazuri de aplicare a calcului la nivel FPGA, RT și PC.

• Dezvoltarea aplicației software de prelucrare în mediul LabVIEW.

• Descrierea mecanismului de paralelizare, sincronizare și comunicare pentru cele 3

scenarii (în subcapitolul 4.3).

• Prezentarea rezultatelor experimentale obținute (în subcapitolul 4.4).

Ca rezultat al testelor efectuate în capitolul 4, s-a constatat că cea mai bună variantă

de procesare pentru FFT este la nivel FPGA, aceasta oferind și un număr mai mare de

evenimente procesate în timp real. Astfel este propus un mijloc modern, rapid și util în mediile

industriale de procesare a semnalelor de vibrații în paralel și în timp real.

Page 51: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

48

CONTRIBUȚIILE AUTORULUI

Se poate spune că în fiecare capitol apar elemente de noutate, principalele contribuții

personale şi originale ale autorului din această teză se regăsesc în zona eficientizării

algoritmilor. În continuare sunt formulate, pe capitole, aceste realizări:

Capitolul 1

• Îmbunătățirea timpilor mari de generare a imaginilor fractale cu algoritmul secvențial,

prin algoritmul paralel propus.

• Implementarea soluției de generare secvențială pentru generarea imaginilor cu ajutorul

seturilor Mandelbrot și Julia (Fig. 1.2, Fig. 1.3).

• Implementarea soluției software de generare fractală pentru algoritmul paralel (Fig. 1.4).

• Analiza procesorului pentru scenariile de test (Fig. 1.6, Fig. 1.7) și analiza comparativă a

implementărilor secvențiale și paralele ca timp și ca utilizare a resurselor CPU.

Capitolul 2

• Propunerea unei variante de paralelizare (schema din Fig. 2.3) pentru o zonă de cod în

cadrul metodei de compresie fără pierderi DWT.

• Prezentarea aplicaţiei implementate (subcapitolul 2.2).

• Prezentarea comparativă a rezultatelor măsurătorilor de timp de compresie și decompresie

(Fig. 2. 7 și Fig. 2.9).

• Propunerea unei posibilități de aplicare în domeniul medical.

Capitolul 3

• Îmbunătățiri propuse pentru arhitectura algoritmilor de tip Edge Detection, dezvoltate și

testate.

• Propunerea și implementarea unei variante de paralelizare pentru algoritmul de căutare a

drumului cel mai scurt, Dijkstra, pornind de la arhitectura prezentată în Fig. 3..

• Determinarea, pe baza testelor, a unor scenarii favorabile pentru structurile de graf în care

se efectuează căutarea (exemplu Fig. 3. 9).

• Modelul de paralelizare a fost extins și pentru alți algoritmi de căutare cum ar fi Bellman

Ford, Floyd-Warshall.

• Măsurători comparative pentru algoritmii de căutare propuși Fig. 3.10, Fig. 3.11

Capitolul 4

• Realizarea unui stand experimental pentru testarea tehnologiei de prelucrare în timp real

a semnalelor de vibrații pentru două sisteme de generare de vibrații:

• Sistemul cu ax circular cu rulmenți la capete și fulie de transmisie în interior (Fig.4.5);

• Sistemul de transmisie semnal de vibrații tip șoc – bară metalică (Fig.4.6).

Page 52: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

49

• Propunerea și implementarea a 3 scenarii de achiziție și prelucrare FFT a semnalelor de

vibrații pentru sistemul Compact Rio 9024:

• Procesare FFT la nivelul circuitului FPGA (subcapitolul 4.3.1).

• Procesare FFT la nivelul microprocesorului RT (subcapitolul 4.3.2).

• Procesare FFT la nivel PC (subcapitolul 4.3.3).

• Implementarea soluției software (subcap. 4.3).

• Spectre obținute în diverse scenarii (subcap. 4.4.2)

DIRECȚII VIITOARE DE DEZVOLTARE

Dezvoltarea permanentă a mijloacelor software de prelucrare a imaginilor și

semnalelor conduce la o serie de propuneri de dezvoltare ulterioare pentru metodele propuse în

această teză. Direcțiile care pot fi aprofundate în viitor sunt următoarele:

• Crearea unei librării on-line de generare fractală și de identificare a imaginilor naturale cu

ajutorul mijloacelor fractale.

• Implementarea algoritmilor de compresie și de detectare de muchii la nivel de procesor

grafic-GPU, acesta oferind posibilități de paralelizare mult mai puternice.

• Realizarea sistemului de numărare de plante în timp real propus în subcapitolul 3.1..

• Testarea soluțiilor propuse pentru algoritmii de căutare de rute minime în cazuri de orașe

mari cu volum mare de informații și capacități mari de procesare.

• Dezvoltarea sistemului propus în Cap. 4 pentru determinarea erorilor generate de vibrații

la nivel de motoare sau alte mijloace mecanice.

• Scalarea exemplului de prelucrare a semnalelor pe un nou sistem cu capacitate mai mare

de calcul Compact Rio 9039, fără probleme generate de resursele de memorie, acesta fiind

capabil să achiziționeze și să prelucreze semnale din 24 de puncte distincte.

Page 53: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

50

PUBLICAȚIILE AUTORULUI

Rezultatele cercetărilor din cadrul studiilor doctorale (algoritmi, implementări

software, rezultate obținute, teste) au fost diseminate, prin publicare în lucrări științifice de

specialitate (în țară şi în străinătate), după cum urmează:

Articole prezentate la conferinţe internaţionale indexate ISI (ISI Proc.)

1. Popa B., „Iterative Function Systems for Natural Image Processing”, Proc. of 2015, 16th

Int. Carpathian Control Conf. (ICCC’2015), 27 May - 30 May 2015, Szilvásvárad,

Hungary, pp. 46 - 49, DOI: 10.1109/CarpathianCC.2015.7145043, Publisher: IEEE,

Electronic ISBN 978-1-4799-7369-9. WOS:000380488000009

2. Popa B., „Dijkstra algorithm in parallel- Case study”, Proc. of 2015, 16th Int. Carpathian

Control Conf. (ICCC’2015), 27 May - 30 May 2015, Szilvásvárad, Hungary, pp. 50 - 53,

DOI: 10.1109/CarpathianCC.2015.7145044, Publisher: IEEE, Electronic ISBN 978-1-

4799-7369-9. WOS:000380488000010

3. Popa B., Popescu D., „Analysis of Algorithms for Shortest Path Problem in Parallel”,

Proc. of 2016 17th Int. Carpathian Control Conf. (ICCC’2016), May 29 – June 1, 2016,

Tatranská Lomnica, Slovakia, DOI: 10.1109/CarpathianCC.2016.7501169, Publisher:

IEEE, Electronic ISBN: 978-1-4673-8606-7, ISBN: 978-1-4673-8605-0.

WOS:000389829000114

4. Popa B., Popescu M., „The analysis parameters for the AC engine for actuating of a

grinding wheat system”, 2017, 18TH INTERNATIONAL CARPATHIAN CONTROL

CONFERENCE (ICCC), p. 400-405, DOI: 10.1109/CarpathianCC.2017.7970433,

Publisher: IEEE, ISBN:978-1-5090-4862-5, WOS:000426954400074

5. Popa B., „Study about the edge detection algorithm and its applications”, 2017, 18th

International Carpathian Control Conference (ICCC),p. 417-422, DOI:

10.1109/CarpathianCC.2017.7970436, Publisher: IEEE, ISBN:978-1-5090-4862-5.

WOS:000426954400077

6. Popa B., Popescu I.M., Popescu D., Bobasu. E., „Real-time monitoring system of a closed

oven”, 2018, 19th International Carpathian Control Conference (ICCC), p. 27-32, DOI:

10.1109/CarpathianCC.2018.8399597, Publisher: IEEE, ISBN:978-1-5386-4762-2.

WOS:000439260500010

7. Selişteanu D., Roman M., Şendrescu D., Petre E., Popa B. „A Distributed Control System

for Processes in Food Industry: Architecture and Implementation”, 2018, 19th

International Carpathian Control Conference (ICCC),p. 128-133, DOI:

10.1109/CarpathianCC.2018.8399615, Publisher: IEEE, ISBN:978-1-5386-4762-2.

WOS:000439260500028

8. Popescu I.M., Popa B., Prejbeanu R., Ionete C., „Evaluation of Parallel and Real-Time

Processing Performance for Some Vibration Signals Using FPGA Technology”, 2018,

19th International Carpathian Control Conference (ICCC),p. 365-370, DOI:

10.1109/CarpathianCC.2018.8399657, Publisher: IEEE, ISBN:978-1-5386-4762-2.

WOS:000439260500069

Page 54: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

51

9. Constantinov C., Mocanu M., Poteraş C., Popa B., „Using a Graph Database for

Evaluating and Enhancing a Social Reputation Engine”, 2018, 19th International

Carpathian Control Conference (ICCC),p. 518-523, DOI:

10.1109/CarpathianCC.2018.8399685, Publisher: IEEE, ISBN:978-1-5386-4762-2.

WOS:000439260500096

Articole prezentate la conferinţe internaţionale indexate

1. Popa B., “Algorithms for Lossless Compression in Image Processing Systems”, 2016,

20th Panhellenic Conference on Informatics (PCI). Patra, Greece, ACM Digital Library,

Conference Proceedings Series (ICPS), ISBN: 978-1-4503-4789-1

2. Popa B., “Innovative Computing Systems in Volume Rendering for the Medical Images”,

2016, 20th Panhellenic Conference on Informatics (PCI). Patra, Greece, ACM Digital

Library, Conference Proceedings Series (ICPS), ISBN: 978-1-4503-4789-1

3. Popa B., Roman M., Constantinescu R.L. „Fast Fourier processing and real-time

transformation system for a dynamic vibration signal”, 2019, 20th International

Carpathian Control Conference (ICCC), Kraków - Wieliczka, Poland, May 26-29, 2019,

Conference record:#45736, IEEE Catalog Number: CFP1942L-USB, ISBN: 978-1-7281-

0701-1

4. Popa B., Popescu D., Roman M., Constantinescu R.L. „Optimizing algorithms for low

CPU usage in different scenarios”, 2019, 20th International Carpathian Control

Conference (ICCC), Kraków - Wieliczka, Poland, May 26-29, 2019, Conference

record:#45736, IEEE Catalog Number: CFP1942L-USB, ISBN: 978-1-7281-0701-1

5. Constantinescu R.L., Roman M., Popa B., Selișteanu D. „An Improved Numerical Method

for the Simulation of Nonlinear Systems”, 2019, 20th International Carpathian Control

Conference (ICCC), Kraków - Wieliczka, Poland, May 26-29, 2019, Conference

record:#45736, IEEE Catalog Number: CFP1942L-USB, ISBN: 978-1-7281-0701-1

Reviste B și B+

1. Popa B.,Popescu D. “Lossless Compression in Image Processing Technologies and

Applications”, 2014, Annals of the University of Craiova, 2014 Volume 11 no. 2, p. 13-

18, ISSN 1841-0626.

2. Popa B.,Popescu D. “Improving of the Backtracking Algorithm using different strategy

for solving the 2-d problems”,2015, Annals of the University of Craiova, 2015 Volume

12 no. 1, p. 29-33, ISSN 1841-0626

Reviste neindexate

1. Popa B. “Visual Study About the Fractals and New Means of Viewing”,2016,

International Journal of Scientific Research, October 2016, Volume 5, Issue 10,p 383-

386, ISSN No 2277 – 8179.

2. I.M. Popescu, B. Popa, R. Prejbeanu “Technology based on FPGA circuits and

simultaneous processing of signals with great dynamic over time”, 2017, Annals of the

University of Craiova, Volume 14 no. 1, p. 25-30, ISSN 1841-0626

Page 55: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

52

3. Popa B., Popescu D. “Summary of bread production and review of new methods for

estimating process parameters”, 2017, Annals of the University of Craiova, Volume 14

no. 2, p. 26-33, ISSN 1841-0626

Articole prezentate la conferinţe internaţionale neindexate

1. Popa B. ”The influence of the ICT and IoT in the teaching systems”, 2017, New innovative

approaches in teaching, 6-7 May 2017, Vidin ,Bulgaria, p. 155-160, ISBN: 978-954-9399-

47-9

2. Popa B., Radulescu V., Poenaru M.L., "International system for connecting high-school

graduate study databases", New innovative approaches in teaching, 6-7 May 2017, Vidin,

Bulgaria, Erasmus+ project 2015-1BG01-KA219-014218-"Opening up education

through the school projects and ICT". ISBN: 978-954-9399-47-9

Capitole în cărţi publicate în edituri internaţionale

1. Dan Selișteanu, Ion Marian Popescu, Emil Petre, Monica Roman, Dorin Șendrescu,

Bogdan Popa, „Distributed Control Systems for a Wastewater Treatment Plant:

Architectures and Advanced Control Solutions”, Wastewater and Water Quality,

IntechOpen, DOI: 10.5772/intechopen.74827

Membru în echipa granturilor de cercetare

1. Sisteme de conducere avansată a unor bioprocese din industria alimentară

(ADCOSBIO), PN-II-PT-PCCA-2013-4-0544, PNCDI II, Parteneriate – PCCA, contract

nr. 211/2014, 2014-2017, coordonator Univ. Craiova, nr. înreg. UCV 66C/2014, parteneri:

S.C. Moara Calafatului SRL, Univ. Politehnica Timișoara, Univ. „Dunărea de Jos” din

Galaţi, director: Selișteanu D.

2. Sisteme cu propagare: abordări noi în sinteza comenzii pentru eliminarea

oscilațiilor–ProCO, grant finanțat de MCI, CCCDI‐UEFISCDI, PNCDIIII, Program 3:

CooperareInternațională și Europeană, Subprogram 3.1 Bilateral/Multilateral, Cooperare

Bilaterală România‐Franţa, Cod:PN‐III‐P3‐3.1‐PM‐RO‐FR‐2016‐0055,

Contract:78BM/2017, Nr.Inreg.UEFISCDI:PN3‐P3‐229/04.04.2017, Nr.Inreg. Univ. din

Craiova:7C/03.04.2017, Partener: Laboratoire des Signaux et Systèmes, CNRS‐Centrale

Supelec‐Université ParisSud, Gif‐sur‐Yvette,Franţa,2017‐2018, director: Danciu D.

3. Tehnologie informațională pentru achiziția, prelucrarea paralelă, sincronizată și în

timp real a unor semnale de vibrații, folosind tehnologia FPGA (TIAVIB). National.

PN-III-P2-2.1-CI-2017-0167. Cecuri de inovare UEFISCDI Nr. 116Cl/2017, director:

Popescu M.

4. Modelarea, simularea și controlul avansat al biosistemelor (MOSCBIOS),

Programul: Resurse umane - Proiecte de cercetare pentru stimularea tinerelor echipe

independente, Cod depunere proiect UEFISCDI: PN-III-P1-1.1-TE-2016-0862, Nr.

contract de finanţare: 25/2018, Nr. înregistrare Univ. din Craiova: 5C/27.04.2018, Nr.

Înregistrare UEFISCDI: 1004/04.05.2018, director: Roman M.

Page 56: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

53

BIBLIOGRAFIE SELECTIVĂ

[ADC, 2014-

2017]

Universitatea din Craiova, Depatamentul de automatic și electronică (2017). “Sisteme de conducere avansata a unor bioprocese din industria alimentara (ADCOSBIO)”, nr. proiect: 211/ 2014, cod proiect: PN-II-PT-PCCA-2013-4-0544, http://www.ace.ucv.ro/ adcosbio/

[CAN, 1986] J. Canny, “A Computational Approach to Edge Detection”, IEEE Trans., publicat în:

IEEE Transactions on Pattern Analysis and Machine Intelligence (Volum: PAMI-8,

Issue: 6, Nov. 1986), Page(s): 679 – 698, Data publicării: Nov. 1986.

[DEO, 2006] Mandar P. Deolalikar, Nicolaos B. Karayiannis, „Image codec for efficient embedded

bitstream transmission with low decoder complexity”, J. Electron. Imaging. 15(1),

013006 (Martie 03, 2006). doi:10.1117/1.2178267

[DEV, 1989] Robert L. Devaney, Linda Keen, “Chaos and Fractals”, Proceedings of symposia in

applied mathematics, Volume 39, p 62., 1989;

[DVO, 2014] George Dvorsky,” The 10 Algorithms That Dominate Our World “, 2014;

[FPG, 2009] FPGA Architecture Presentation, https://www.slideshare.net/ omutukuda/presentation-

1993175, Omesh Mutukuda (Masc. Candidate);

[NIC, 2018] http://www.ni.com/compactrio/; pagina web a firmei National Instruments

[POM, 2006]

[POP, 2014]

Pommert A, Hohne KH, Burmester E, Gehrmann S, Leuwer R,Petersik A, Pflesser

B, Tiede U. Computer-based anatomy: "Aprerequisite for computer-assisted

radiology and surgery", AcadRadiol 2006; 13: 104 – 112.

Popa B., Popescu D. “Lossless Compression in Image Processing Technologies and

Applications”,2014, Annals of the University of Craiova, 2014 Volume 11 no. 2, p. 13-

18, ISSN 1841-0626;

[POP, 2015, a] Popa B., “Dijkstra algorithm in parallel- Case study”, 2015 Carpathian Control

Conference (ICCC), 2015 16th International. Szilvasvarad, IEEE Explore INSPEC

Accession Number: 15287410, p. 50 - 53, ISBN 978-1-4799-7369-9.

[POP,2015, b]

[POP, 2016, a]

Popa B., “Iterative Function Systems for Natural Image Processing”, 2015 Carpathian

Control Conference (ICCC), 2015 16th International. Szilvasvarad, IEEE Explore

INSPEC Accession Number:15287380 p. 46 - 49, ISBN 978-1-4799-7369-9;

Popa B., “Visual Study About the Fractals and New Means of Viewing”,2016,

International Journal of Scientific Research, October 2016, Volume 5, Issue 10, p 383-

386, ISSN 2277 – 8179.

[POP, 2016, b]

Popa B., “Algorithms for Lossless Compression in Image Processing Systems”, 2016,

20th Panhellenic Conference on Informatics (PCI). Patra, Greece, ACM Digital

Library, Conference Proceedings Series (ICPS), ISBN: 978-1-4503-4789-1.

[POP, 2016, c]

Popa B., Popescu D. “Analysis of Algorithms for Shortest Path Problem in Parallel”,

2016 Carpathian Control Conference (ICCC), 2016, 17th International. Tatranská

Lomnica, Slovak Republic, IEEE Catalog Number: CFP1642L-USB, ISBN: 978-1-

4673-8605-0;

[POP, 2016, d]

Popa B., “Innovative Computing Systems in Volume Rendering for the Medical

Images”, 2016, 20th Panhellenic Conference on Informatics (PCI). Patra, Greece, ACM

Digital Library, Conference Proceedings Series (ICPS), ISBN: 978-1-4503-4789-1

http://dl.acm.org/citation.cfm?id=3003752;

Page 57: Rezumatul tezei de doctorat - UCv · metode noi de vizualizare, procesare, compresie și stocare a imaginilor are ca rezultat studiul descris în cadrul capitolului 3, în care este

54

[POP, 2017, a]

Ion Marian Popescu, Bogdan Popa, Razvan Prejbeanu, "Technology based on FPGA

circuits and simultaneous processing of signals with great dynamic over time", Annals

of the University of Craiova, Series: AUTOMATION, COMPUTERS,

ELECTRONICS and MECHATRONIC, Volume 14 issues 1, 2017;

[POP, 2017, b]

Popa B., “Study about the edge detection algorithm and his applications”, 2017

Carpathian Control Conference (ICCC), 2017 18th International. Sinaia, IEEE Explore

INSPEC Accession Number:15287380 p. 46 - 49, ISBN 978-1-4799-7369-9

[POP, 2018, a]

Bogdan Popa, Ion Marian Popescu, Dan Popescu, Eugen Bobasu, “Real-time

monitoring system of a closed oven”, 19th International Carpathian Control Conference

(ICCC),28-31 May 2018, Szilvasvarad, Hungary, Electronic ISBN: 978-1-5386-4762-

2, DOI: 10.1109/CarpathianCC.2018.8399597;

[POP, 2018, b]

Ion Marian Popescu, Bogdan Popa, Răsvan Prejbeanu, Ionete Cosmin, ”Evaluation of

parallel and real-time processing performance for some vibration signals using FPGA

technology”, 19th International Carpathian Control Conference (ICCC),28-31 May

2018, Szilvasvarad, Hungary, Electronic ISBN: 978-1-5386-4762-2, DOI:

10.1109/CarpathianCC.2018.8399657

[SYS, 2017]

Sisteme cu propagare: abordări noi în sinteza comenzii pentru eliminarea oscilațiilor–

ProCO, grant finanțat de MCI, CCCDI‐UEFISCDI,PNCDIIII, Program3: Cooperare

Internațională și Europeană, Subprogram 3.1Bilateral/ Multilateral, Cooperare

Bilaterală România‐Franţa, Cod:PN‐III‐P3‐3.1‐PM‐RO‐FR‐2016‐0055,

Contract:78BM/2017,Nr.Inreg.UEFISCDI:PN3‐P3 229/04.04.2017,Nr.Inreg.Univ.din

Craiova:7C/03.04.2017, Partener: Laboratoire des Signaux et Systèmes, CNRS‐

Centrale Supelec‐Université Paris Sud, Gif‐sur‐Yvette, Franţa,2017‐2018. Director:

Daniela Danciu, 2017‐ 2018. Echipa de implementare: 11 membrii (8 cercetători, 2

doctoranzi, 1 masterand) Membru în echipa proiectului: drd. Popa Bogdan, Bursa

cercetare Supelec Paris, 5.06.2017 – 2.07.2017.

[TEH, 2017]

Tehnologie informațională pentru achiziția, prelucrarea paralelă, sincronizată și în

timp real a unor semnale de vibrații, folosind tehnologia FPGA (TIAVIB), Programul:

Creșterea competitivității economiei românești prin cercetare, dezvoltare și inovare,

Cecuri de inovare PN-III-P2-2.1-CI-2017-0167, Nr. contract de finanțare: 116Cl/2017,

Nr. înregistrare Univ. din Craiova: 21C/25.08.2017, Parteneriat Universitatea din

Craiova, S.C. Vonrep S.R.L;


Recommended