Specializarea Microelectronică, Optoelectronică și Nanotehnologii [603318]
Universitatea Tehnică “Gheorghe Asachi” din Iași
Facultatea de Electronică, Telecomunicații și Tehnologia Informației
Specializarea Microelectronică, Optoelectronică și Nanotehnologii
PROIECT DE DIPLOMĂ
Coordonator științific: Profesor dr. ing. Iulian B. Ciocoiu
Studentă: Bubulici Mihaela
2019
Universitatea Tehnică “Gheorghe Asachi” din Iași
Facultatea de Electronică, Telecomunicații și Tehnologia Informației
Specializarea Microelectronică, Optoelectronică și Nanotehnologii
Detecția obiectelor folosind rețele neurale
de tip Deep Learning
Coordonator științific: Profesor dr. ing. Iulian B. Ciocoiu
Studentă: Bubulici Mihaela
2019
Cuprins
Capitolul 1 . Introducere ………………………….. ………………………….. ………………………….. …………………… 4
1.1 Introducere în Inteligența Artificială ………………………….. ………………………….. ………………………. 5
1.2 Introducere în Rețele Neuronale Artificiale ………………………….. ………………………….. …………….. 7
1.2.1 Importanța Rețelelor Neurale ………………………….. ………………………….. ………………………….. 9
1.2.2 Clase de Rețele Neurale ………………………….. ………………………….. ………………………….. ……. 10
1.2.3 Modul de lucru al unei Rețele Neurale ………………………….. ………………………….. ……………. 11
Capitolul 2 . Introducere în “ Deep Learning ” ………………………….. ………………………….. ………………… 13
2.1 Aplicații ………………………….. ………………………….. ………………………….. ………………………….. …… 15
2.2 Detecția Obiecte lor ………………………….. ………………………….. ………………………….. ………………… 16
2.2.1 Detecția obiectelor utilizând “ Deep Learning ” ………………………….. ………………………….. … 21
2.3 Algoritmi de tip “ Deep Learning ” pentru detectarea obiectelor ………………………….. ……………. 24
2.3.1 Criteriu de performanță (“ Performance Metric ”) ………………………….. ………………………….. 25
2.4 Rețeaua Convoluțională bazată pe regiune ( “ R-CNN – Region -based Convolutional
Network ”) ………………………….. ………………………….. ………………………….. ………………………….. ……… 26
2.5 Rețeaua Convoluțională Rapidă bazată pe regiune ( Fast R -CNN ) ………………………….. ………… 28
2.6 Rețeaua convoluțională bazată pe regiunea mai rapidă ( Faster R -CNN ) ………………………….. … 29
2.7 Rețeaua Convoluțională R-FCN – Region -based Fully Convolutional Network ……………….. 31
2.8 YOLO (You Only Look Once) ………………………….. ………………………….. ………………………….. .. 33
2.9 SSD – Single -Shot Detector ………………………….. ………………………….. ………………………….. … 36
Capitolul 3 . Detectorul RetinaNet ………………………….. ………………………….. ………………………….. ……. 38
Capitolul 4 . Rezultate experimentale ………………………….. ………………………….. ………………………….. .. 40
4.1Concluzii ………………………….. ………………………….. ………………………….. ………………………….. . 48
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………….. … 49
Capitolul 1. Introducere
O ramură inovatoare a informaticii, care a înregistrat o dezvoltare substanțială este cea a
Inteligenței Artificiale (AI-“Artificial Intelligence” ). Aceasta se ocupă de studiul factorilor care
percep lumea din jurul lor, stabilesc planuri și iau decizii pentru a -și atinge obiective le. La
fundamentul său au stat științele precum: filozofia, matematica, lingvistica, teoria probabilității,
neuroștiința, teoria deciziei, logica. Multe domenii se includ în “AI”, cum ar fi robotica, viziune pe
calculato r, “Machine Learning ” și prelucrarea limbajului natural.
Chiar dacă a fost introdusă la începutul anilor ’50, ea s-a impus considerab il grație
dezvoltărilor recente a rețelelor de tip “Deep Learning”, “Artificial Neural Networks” , cu creșterea
considerabilă a performanțelor tranzistoarelor, ultimelor progrese a unităților de procesare grafică
(“GPU – Graphics Processing Unit” ), a unității centrale de prelucrare (“CPU – Central Processing
Unit” ) și a „TPU – Tensor Processing Unit” [1].
IA își găsește tot mai m ult locul în lumea contemporană , adaptându -se la cerinț ele pe piață si
remodelându -se în funcție de domeniul în care este aplicată. Inițial, conceptul dat era privit sceptic,
fiind atribuit doar domeniului de “science fiction” . Cu timpul s -au înregistrat invenții ale unor
oameni de știință în ace st domeniu de cercetare , ceea ce a impus o ac ceptare și recunoaștere publică
[2].
1.1 Introducere în Inteligența Artificială
Inteligența artificială presupune “ capacitatea unui sistem de a interpreta core ct datele
preluate din exterior , de a învăța din astfel de date și de a le folosi […] pentru a -și atinge obiectivele
si sarcinile speci fice printr -o adaptare flexibilă ”[3]. Acest termen se folosește la descrierea mașinilor
care imită funcțiile cognitive , precum invățarea ș i realizarea unor “task -uri”[4].
Odată cu dezvoltarea IA, au fost introduse noțiuni teoretice fundamentale care au pus baza
unei terminologii, pentru a le folosi ulterior în cadrul aplicațiilor uzuale ale alg oritmilor de învățare
automată – “Machine L earning” și a celor de învățare profundă – “Deep Learning” . Termenii
specifici sunt destul de aproape ca sens și au o legătură strânsă intre ei.
“Machine Learning” este un subdome niu ce face parte din știința “AI” , care conține metode
ce ajută calculatoarele să “învețe” fără a fi programate explicit , să identifice modele și să ia decizii cu
o intervenție umană minimă . Acesta s -a extins pe parcursul ultimilor ani, utilizând algoritmi,
analizând rezultatele și presupun ând datele de ieșire, f olosind mai multe iterații. IA poate fi folosit ă
pentru a rafina sau genera noi algoritmi pentru a obține rezultate mai bune, iar programele de
învățare se pot alinia la acești algoritmi pentru a obține o mai bună detaliere a rezultatelor . “Machine
Learning ” este studiul științific al unui algoritm și a l unui model statistic pe care sistemul
calculatorului le -a folosit pentru a efectua în mod eficient o sarcină specifică fără a folosi instrucțiuni
explicite. “ML” va învăța din experiență și va fi în stare să recunoască modele similare pentru
clasificarea imaginilor.
“Deep Learning” , o ramur ă a “Machine Learning ”, este o colec ție de tehnici de antrenare a
rețelelor neurale cu un număr mare de parametri pe o cantitate imensă de date pentru efectuarea
clasificării [5]. Acest concept presupune instruirea unui calculator să îndeplinească o sarcină
specifică activității omului cum ar fi: recunoașterea vocii, clasificarea imaginilo r sau efectuarea unor
predicții [6].
“Deep Learning” utilizează “Ma chine Learning” și “AI” împreună , pentru a descompune
sarcini, a analiza fiecare sub -sarcină și folosește aceste informații pentru a rezolva un nou set de
probleme.[7 ]
Fig.1 Evoluția în timp a IA, ”Machine Learning” și “Deep Learning” [8]
Soluțiile oferite de IA sunt concepute să sp orească efortul uman, nu să -l înlocuiască. Un
exemplu elocvent î n acest sens îl constituie “The WildTrack Footprint Identification Technique
(FIT) ” – un proiect menit să protejeze animalele aflate pe cale de dispariție.
“Deep learning” oferă o bază de date suficientă pentru ca un calculator să aibă posibilitatea
de a-și antrena rețeaua neurală , astfel î ncât să realizeze sarcini “umane”, precum identificarea
amprentelo r și recunoașterea modelelor după stilul de vânătoare al aborigenilor , dar pe lângă acestea
se mai adaugă abilitatea aplicării acestor concepte la scară mult mai largă și într -un timp mult mai
rapid. La baza întregului proces stau datele analitice, oferind o perspectivă asupra speciilor populate,
ceea ce nu era imposibil până acum .
Acesta este un instrument pentru monitorizarea non -invazivă a speciilor pe cale de dispariție
prin intermediul imaginilor digitale ale amprentelor. Parametrii din ac este imagini sunt analizate cu
modele matematice personalizate, care ajută la identificarea sp eciei, a individului, a sexu lui și a
clasei de vârstă. IA ar putea oferi abilitatea de a se adapta prin algoritmi de învățare progresivă și să
spună o poveste și mai completă [9].
1.2 Introducere în Rețele Neur onale Artificiale
Modelul conexionist este unul reprezentativ pentru domeniul IA și anume duce la crearea
conceptului de calcul neuronal, care a contribuit la rândul său la crearea rețelei neuronale artificiale
(neurale). Având o mulțime distinctă de exemple de instruire/învățare , rețeaua neurală este capabilă
să realizeze o sinteză autonomă a algoritmului de soluționare a problemelor, astfel mecanismul
presupune extragerea datelor din informația prezentă și studierea pe baza acestora.
Rețelele neurale schimbă modul în care oame nii și organizațiile interacționează cu sistemele,
rezolvă problemele, iau decizii și fac previziuni. Impactul acestora se răsfrânge în mai multe domenii
precum: științe ale biologiei , industrie, activitate bancară, comunicații, comerț, administrație publ ică
centrală.
Rețelele neur onale artificiale constituie un sistem de calcul alcătuit din noduri interconectate,
care funcționează asemănător neuronilor din creierul uman. Folosind algoritmi, acestea pot
recunoaște modele și crea legături dintre date, pentru ulterioara lor clasificare. O proprietate de
remarcat ar fi îmbunătățirea continuă în timpul mecanismului de învățare
Fig.2 a.Structura unui neuron natural; b.Structura unui neuron artificial ; [10]
Rețelele neurale artificiale sunt caracterizate de 3 elemente : modelul adoptat pentru elementul
de procesare individual ( neuronul), structura particulară de interconexiuni ( arhitectura) și
mecanismul de ajutare a legăturilor dintre neu roni ( algoritmul de învățare) [11].
În 1943 , Warren McCulloch și Walter Pitts au conce put prima rețea neurală artificială .
Modul de lucru al neuronilor a fost prezentat în lucrarea acestora, precum și ideil e care au stat la
baza creării rețelei neur onale simple, folosind circuite electrice. Acest model a revoluționat calea
cercetării in dom eniul rețelelor neur onale în 2 mari arii :
Fig. 3 a) procesele biologice din creier ; b) aplicarea rețelelor neural e in domeniul de IA [12]
Rosenblatt introduce în 1958 noțiunea de perceptron ca model util în rezolvarea problemelor
de clasificare și demonstrează o binecunoscută teoremă de convergență a algoritmului de adaptare
corespunzător.
În 1965 Ivahnenko & Lapa au realizat prima arhitectură de rețea cu mai mul te straturi, dar
puțini neuroni. Iar funcțiile de activare erau polinomia le, de antrenare cu metode statistice, și nu
diferențiale.
În lucrarea Perceptrons , Minski și Papert demonstrează riguros că arhitecturile cu un singur
strat formate din neuroni elementari de tip perceptron au limitări majore.
Cercetarea IA a accelerat rapid odată
cu dezvoltarea primei rețele neurale adevărate
multistrat, realizată de Kunihiko Fukushima în
1975. Iar în 1980 a fost c reată prima rețea de
convoluție : neocognitorul, inspirat din modul
de funcționare al cortexului vizual [13]. Fig.4 Straturile rețelei neurale și funcțiile ei
Scopul original al abordării rețelei neurale a fost de a crea un sistem algoritmic care ar putea
rezolva probleme precum o face creierul uman. Însă, cu timpul, cercetătorii au schimbat accentul de
pe abordarea strict biologică. De atunci, RN au executat di ferite sarcini, de exemplu: diagnostic
medical ,“computer vision” , recunoașterea vocală, filtrarea rețelelor sociale, jocuri video.
În măsura în care mărimea datelor a crescut esențial, atât a celor structurate, cât și
nestructurate, oamenii de știință au dezvoltat sisteme de tip “Deep Learning” , care sunt în esență
rețele neurale alcătuite din mai multe straturi. Acest tip de învățare permite captarea și extragerea a
datelor de d imensiuni foarte mari, inclusiv a celor nestructurate.
1.2.1 Importanța Rețelelor Neurale
Rețelele respective sunt de asemenea destinate rezolvării problemelor complexe din vi ața
reală. Aces tea pot “învăța ” să coreleze datele de intrare cu cele de ieșire, ca re pot fi neliniare și
complexe, sunt capabile să generalize ze si să depisteze interferențe, pot dezvălui șabloane și
predicții, știu să modeleze date ex trem de volatile ( date financiare furnizate in serii temporale), dar
și pen tru a prognoza evenimente rare (detectarea fraudei) . În consecință, RN pot îmbunătăți
procesele de luare a de ciziilor in următoarele domenii :
• Procesul și controlul
calității
• Evaluarea ecosistemelor
• Progno zarea cererii de
sarcină
și energie electrică
• Identificarea compusului
chimic
• “Computer vision” la
interpretarea fotografiilor și
a secvențelor video prime
(neprelucrate) , de exemplu
în imagistica medicală,
robotică și recunoaștere
facială.
• Optimizarea logisticii
pentru rețele de transport • Detectara fraude lor (carduri
bancare și asigurări de
sănătate )
• Diagnosticare medicală
• Marketing orientat
• Sisteme automate de
control
• Previziuni financiare (prețul
acțiunilor, schimb valutar,
insolvabilitate,
“raitingurile”
obligațiunilor)
• Recunoașterea
optică/vizuală a caracterelor
și a vocii, cunoscută
precu m prelucrarea
limbajului natura .
1.2.2 Clase de Rețele N eurale
Există diferite ti puri de rețele neurale de tip “Deep Learning” și fiecare are puncte pozitive și
negative, în funcție de utilizare :
Rețelele neurale convoluționale (CNN – Convolutional Neural Networks ) conțin 5 tipuri de
straturi /nivele : de intrare, de convoluție, de prevenire (pooling), complet conectat și de ie șire. Fiecare
strat are scopul său specific precum: sintetizarea, conectarea sau activarea. CNN au generalizat
clasificarea imaginilor și detectarea obiectelor. Cu toate a cestea, CNN au fost implementate în
diverse domenii, cum ar fi procesarea limbajului natural și prezicerea.
Rețelele neuronale recurente (RNN – Recurrent Neural Networks ) utilizează informații
secvențiale , cum ar fi date marcate temporal de la un senzor. Spre deosebire de rețelele neuronale
tradiționale, intrările într -o rețea neuronală recurentă sunt dependente una de cealaltă, iar ieșirea
fiecărui element depinde de calculul elementelor sale anterioare. RNN sunt utilizate în aplicații de
presupun ere și analiză a seriilor de timp.
La rețele neuronale “feedforward” fiecare perceptron dintr -un nivel este conectat cu fi ecare
perceptron din nivelul ală turat, astfel informațiile sunt unidirecționale , fără posibilitatea existenței
buclelor de “feedback”.
Rețelele neuronale “ Autoencoder” sunt folosite la crearea unor abstracții, numite encodere,
formate dintr -un anumit set de intrări. Deși se aseamănă cu cele tradiționale, “autoencorderele”
încea rcă s ă își modeleze intrările și, prin urmare, metoda este considerată nesupravegheată. Premisa
acestui tip de rețele este de a distinge informațiile semnificative de cele irelevante. Pe măsură ce se
adaugă straturi, se obțin mai multe codificatoare la straturi mai superioare ( cel apropiat punctului în
care este int rodus decodorul). Aceste abstracții pot fi aplicate ulterior de către clasificatorii neliniari
sau liniari.
1.2.3 Modul de lucru al unei Rețele N eurale
O rețea neurală simplă include un strat de intrare, unul de ieșire și, între ele, un ul sau mai
multe straturi ascuns e. Straturile sunt conectate prin noduri , iar aceste conexiuni formează rețeaua
neurală a nodurilor interconectate. Un nod se modelează după exemplul celui din creierul uman.
Similar comportamentului acestora, nodurile sunt activate atunci când există suficiente intrări sau
stimuli. Atunci când este activată întreaga rețea, apare un răspuns la stimuli (ieșire). Conexiunile
dintre neuronii artificiali acționează ca sinapse simple, oferind posibilitatea de a transmite semnalele
de la unul la altul. Procesarea semnalelor are loc î n timpul transmiterii acestora, prin straturi, de la
cel de intrare spre cel de ieșire .
Fig. 5 Nivelele de organ izare a rețelei neurale
La primirea unei cereri de rezolvare a probleme i, neuronii execută calcule matematice pentru
a-și da seama dacă posedă suficiente informații pentru a le transmite următorului. Aceștia citesc toate
datele și determină cele mai putern ice dependențe (relații). În cel mai simplu tip de rețea, intrările
recepționate se adaugă și, dacă suma atinge valoarea de prag, neuronul semnalează și activează
neuronii cu care este conectat.
Pe măsură ce crește numărul de straturi ascunse dintr -o rețea neurală, se formează rețele
profunde neurale. Arhitecturile “ Deep Learning ” aduc rețelele neurale simple la un alt nivel.Folosind
aceste straturi, cercetătorii ( „data scientist s”) își pot construi propriile rețele, care să permită
învățarea m așinii, instruirea unui calculator pentru a imita cu exactitate sarcinile umane, cum ar fi
recunoașterea vorbirii, identificarea imaginilor sau realizarea predicțiilor. La fel de important este că ,
computerul este capabil să învețe pe cont propriu prin rec unoașterea tiparelor în mai multe straturi de
prelucrare.
Prin urmare , datele sunt introduse intr -o rețea neurală prin nivelul de intr are, care comunică
cu cele mai î ndepărtate. Procesarea are loc în straturile ascunse printr -un sistem de conexiuni
pondera te. Nodurile din stratul mai îndepărtat combină apoi date le din stratul de intrare cu un set de
coeficienți și atribuie intrărilor ponderi corespunzătoare. A ceste produse sunt apoi adunate , iar suma
este trecută prin funcț ia de activare a unui nod, ceea ce determină măsura în care un semnal
progrese ază mai departe prin rețea și va afecta ieșirea finală. În cele din urmă, straturile profunde se
leagă cu cel de ieșire, unde se preiau datele obținute [14].
O problemă prototip pentru a realiza antrenarea rețelelor neurale este cea de recunoaștere a
scrierii de mâină. De exemplu, cifrele scrise de mâină ar putea fi o provocare care ar solicita o soluție
deloc dificilă, fără î mplicarea unei puteri extraordinare de calcul. În plus, este o modalitate excelent ă
de a dezvolta te hnici mai avansate, cum ar fi “ Deep Learning ” .
Din 2006 a fost elaborate un set de tehnici care se bazează pe coborârea stohastică a
gradientului și propagare înapoi (“ backpropagation ”), dar ș i pe alte idei noi. Acest set permite
instruirea rețelelor mult mai adânci . Se cunosc rețele cu 5 -10 straturi ascunse, care funcționează mult
mai bine decât de la nivele superficiale , adică doar cu un singur strat ascuns. Motivul constă în
capacitatea plaselor adânci de a con strui o ierarhie complexă de concepte, precum limbajele de
programare convenționale folosesc o proiectare modelară și idei de abstractizare pentru a facilita
crearea pro gramelor computerizate complexe [15].
Rețele clasice
– 1-2 straturi
– Funcții de activare sigmoide
– Funcții de cost bazate pe eroarea medie
pătratică ( MSE – Mean Squared Error )
– Algoritmi de antrenare: BackPropagation ,
RProp (Resilient back -propagation ),
Levenberg -Marquardt etc .
Rețele profunde
– Mai multe straturi
– Funcții de activare mai simple : ReLU (
Rectified Linear Unit )
– Funcții de cost bazate pe estimarea
probabilității maxime ( MLE – Maximum
Likeligood Estimation )
– Algoritmi de antrenare SGD -(Stochastic
Grafient Descent ), RMSProp (Root Mean
Square Prop ) etc.
– Alte metode de inițialiare a ponderilor,
regularizate, preantrenate [16].
Capitolul 2. Introducere în “ Deep Learning ”
Sistemele de învățare profundă, caracterizate de rețele neuronale, preiau din ce în ce mai mult
sarcinile IA , de la înțelegerea limbajului până la recunoașterea vorbirii, traducerea automată,
planificare, jocuri și conducere autonomă a automobilului. Drept urmare, expertiza acestui sistem
este în continuă schimbare, înlocuindu -se caracterul secret, cu unul obligatoriu în mediul academic
de nivel avansa t, precum și pe piața muncii [17].
Fig. 6 Utilizarea “Deep Learning” în comparație cu algoritmi clasici [18].
“Deep Learning” reprezintă o clasă de algoritmi de tip “Machine Learning” :
• Se utilizează o cascadă multistrat a unităților neliniare de procesare, pentru
ulterioara extracție și transformare a caracteristicilor. Fiecare strat succesiv
utilizează ieșirea stratu lui anterior ca intrare.
• Învață într -un mod supravegheat( de exemplu, clasificare) și/sau nesupravegheat
( de ex. analiză de model ).
• Învață să execute realizări pe mai multe nivele care corespund diferitelor nivele de
abstractizare, nivelele formând ierarhia conceptelor.
În “Deep Learning” , fiecare nivel “învață” să -și transforme datele de intrare într -o
reprezentare mai ușoar ă, abstractă și “citibilă” .
Pentru aplicația de recunoaștere a imaginilor, intrarea brută poate fi o matrice de pixeli, unde
primul nivel de reprezentare poate împărți pixelii și codifica marginile. Al doilea strat de
reprezentare poate repartiza și codifica aranjarea marginilor. Cel de -al treilea nivel poate codifica
elemente caracteristice ( de ex. nas, ochi , urechi etc.), pentru ca al pat rulea nivel să „recunoască”
conținutul integral al imaginii (pisică ). Desigur, acest proces include și implicare manuală ce constă
în ajusta rea numărul ui de straturi necesar și dimensiunile acestora, care oferă diferite grade de
abstractizare.
Fig. 7 Etapele de recunoaștere a unui obiect [19].
Terme nul “deep” se referă la numărul de straturi prin care circulă datele. Mai exact,
sistemele de învățare profundă au o “adâncime” semnificativă a căilor de alocare a creditelor “ CAP –
Credit Assign ment Paths ”. Acestea reprezintă un lanț pe parcursul căruia intrările se deplasează spre
ieșire.
Căile descriu potențiale conexiuni cauzale dintre intrări și ieșiri. Pentru o rețea neurală
“feedforward ”, adâncimea căilor de alocare este egală cu cea a rețelelor, care reprezintă numărul de
nivele ascunse “+” stratul de ieșire( L+1, L – numărul de nivele ascunse).
Iar pentru cele recurente, în care un semnal se propagă de mai multe ori print r-un str at,
adâncimea căilor este potenț ial nelimitată. Căile de alocare a creditelor au adâncime a egală cu 2 și s-
a dovedit că pot emula orice funcție. Pe lângă acest fapt, mai multe straturi nu includ în funcție
capacitatea de aproximare a rețelei. Scopul straturilor suplimentare ajută la studierea caracter isticilor.
Pentru însărcinările supravegheate, metodele de învățare profundă evită ingineria trăsăturilor ,
transform ând datele în reprezentări intermediare compacte , similare cu principalele component e și
derivând stucturi stratificate care elimină redundanța în reprezentare.
Algoritmele “Deep Learning” pot fi aplicate și însărcinărilor nesupravegheate, ceea ce
constituie un avantaj important, d eoarece datele neetichetate depășesc numărul celor eticheta te. Sunt
date d rept e xemple de structuri profunde c e pot fi antrenate într -o manieră nesupravegheată
compresoarele istorice neurale (“neural history compressors”) și rețele de convingeri profunde („deep
belief networks”).
După cum a descris Andrej Kar pathy, Senior Director al “AI” Tesla , exist ă în general “4 clase
de factori care împiedică dezvoltarea IA :
1. “Compute ” ( Legea lui Moore, Unități de procesare grafică ( GPUs -Graphic Processor Units ),
Circuit integrat specific aplicației (ASICs – Applicaton -specific integrated circuit );
2. Date ( ImageNet );
3. Algoritmi (propagare inversă -“backpropagation ”), Rețeaua neurală convoluțio nală (“CNN –
Convolutional Neural Networks ”), “ LSTM – Long Short -Term Memory ”;
4. Infrastructura ( software -ul susține Linux , Protocol de control al transmisiei ( TCP-
Transmission Control Protocol ”, Protocolul de Internet „ IP- Internet Protocol ”, Git, ROS,
PR2, AWS -Amazon Web Services , AMT, TensorFlow , etc.) „ 2016
În ultimul deceniu întregul potențial al învățării profunde a fost generat de progresele
înregistrate în (1) și (2), ceea ce la rândul său a dus la descoperiri noi in (3) și (4), cu un număr, ce a
crescut exponențial, de oameni care se întrec în cursa de c ercetare.
2.1 Aplicații
“Deep Learning” poate fi aplicată aproape în fiecare domeniu, pentru a crea condiții actuale
optime civilizației conte mporane. În ciuda acestor provocări, descoperirile actuale în industriile de
proiectare a cipurilor se realizează pe platforme “hardware ”, cum ar fi GPU -urile Nvidia Volta ,
procesoarele I-Core de la Intel, TPU -urile de noua generație de la Google și stații de lucru Apple .
Toate aceste dispoz itive sunt acum capabile să pre ia provocările complexe ale IA și șă perfecționeze
aplicațiile existente, precum : planificarea unui oraș, construirea clădirilor, proiectarea vehiculelor
aeriene fără pilot, dezvoltarea mașinilor ca re să recunoască emoțiile omenești. Aceasta va deschide
noi oportunități de afaceri ce va genera un schimb de roluri în economia modială.
Google a declarat că algoritmii de recunoaștere a imaginii utilizați în produsele lor sunt mai
buni decât capacitatea umană. Produsul nou “ Google Lens ” are capacitatea unui simț viz ual, care
detectează obiectele din imag ine și furnize ază informații legate de ele.
De asemenea, Google abordează “Deep Learning ” pe o gamă largă de discipline:
• Sănătate – folosind la diagnosticarea cancerului mamar ;
• Biologie – precizia de detectare a unei boli genetice prin secvențierea ADN -ului;
• Chimie – pentru a anticipa proprietățile moleculelor ; [20].
“Deep Learning ” face posibilă accesarea datelor care anterior nu au putut fi analizate; permite
companiilor să creeze modele predictive la un nivel de calitate și sofisticare fără precedent și
îmbunăt ățește funcționarea/gestionarea , generând noi opor tunități de produse și servicii, cum ar fi :
• Departamentul de suport al clienților din cadrul companiei Uber s-a dezvoltat foarte rapid
datorită învățării profunde.
• Huawei creează facilități de învățare impresionan tă a datelor și echi pamentelor de învățare a
mașinilor, numit Laboratorul “Arca lui Noe”, care se concentreaz ă asupra proc esului de învățare
profundă pentru prelucrarea limbajului natural, soluții bancare inteligente, recomandări pentru
aplicații și motoar e de căutare etc .
• PayPal fiind una din cele mai bune din clasa sa, folosește învățare a profundă ca parte a
abordării de stopare a plăților frauduloase și are ca rezultat reduce rea ratei de alarmă falsă [21].
2.2 Detecția Obiectelor
Detectarea obiectelor constituie o tehnică de vizionare pe calculator pentru a efectua
localizarea instanțelor care aparțin obiectelor din imagine sau secvențe video.
Cand omul privește o imagine sau un video, este în stare să recunoască și să localizeze
obiectele de interes într -un timp relativ scurt. Scopul detecției obiectelor este de a reproduce această
inteligență, utilizând un computer.
Putem disting e trei tipuri de sarcini de vizionare pe calculat or: a) clasific area imaginilor, b)
localizarea obiectelor, c) detecția obiecte lor.
Fig. 8 Prezentarea generală a recunoașterii
obiectelor [22].
Detectarea obiectelor este o tehnologie cheie
în spatele sistemelor avansate de asistență a
șoferilor care permit autoturismelor să
detecteze căile de rulare sau să efectueze
detectarea pietonilor pentru îmbunătățirea
siguranței rutier e. Tehnica respectivă este de
folos în aplicații cum ar fi sistemele de
supraveghere video sa u de recuperare a
imaginilor.
Fig.9 Utilizarea detecției obiectelor pentru identificarea și localizarea vehiculelor [23].
Detecția obiectelor – termen general pentru a descrie o colecție de sarcini legate de vizionarea
informatică care implică identificarea obiectelor în fotografii digitale. Acesta localizează obiectele
prezente cu o casetă de încadrare, sub formă dreptunghiulară. La intrare avem o imagine cu unul sau
mai multe obiecte, cum ar fi o fotografie, iar la ieșire una sau mai mu lte casete delimitate ( de ex.
definite pe un punct, lăț ime și înălțime) și o etichetă de clasă p entru fiecare casetă delimitată [24].
Noile capacități deosebit de puternice ale tehnologiilor d igitale permit automatizarea mai
multor sarcini și ocupații ( de exemplu autovehiculul autonom), se bazează pe învățarea profundă
pentru a realiza sarcina de observator vizual cu detectarea benzilor, înțelegerea semnelor rutiere și
recunoașterea obstacolelor.
Fig. 10 Detecția pietonilor [25].
„Deep Learning” poate fi folosit chiar și în artă: cu ajutorul unui „ tool” care se numește stil
neural se poate imita stilul unui artist.
Fig. 11 Rezultatul aplic ării rețelelor de tip „Deep Learning” și a stilului neural la o imagine
[26].
Câteva exemple de probleme rezolvate din domeniul viziunii pe calculator cu învățare
profundă sunt cele de clasificare a imaginilor( ține de recunoaștere) ș i detectare a obiectelor. Dacă
am construi o mașină capabilă să conducă fără șofer, trebuie să ținem cont de distanța dintre aceasta
și celelalte autoturisme din traficul rutier, astfel încât să evităm eventualele accidente.
Unele dintre provocările și în trebările la care va trebui să raspundem atunci când rețelele de
tip “Deep Learning ” se folosesc în cadrul unei mașini autonome sunt:
• Preocupările privind securitatea informatică a vehiculelor – autoturismele vor fi
vulnerabile la atacurile cibernetice?
• Funcționarea în diverse situații:
a. condiții meteo instabile (zăpadă, ploaie) ;
b. condi ții diferite de iluminare, umbre și reflexii false ;
c. comportament pietonal imprevizibil;
d. gropi în asfalt
• Precizie necesară la măsurarea vitezei alto r vehicule sau obiecte de pe șosea
• Timp de reacție necesar atunci când se confruntă cu situații imprevizibile
• Necesitatea (sau nu) intervenției a sistemului în caz de ciocnire sau accident
• Reacția sistemului la un eveniment necunoscut , respectiv timpul de decizie crește
În timpul antrenării, algoritmul de învățare ajustează parametrii rețelei pentru a converti
imaginile drumului către comenzile de unghi al volanului, care sunt necesare ca mașina să se
încadreze în trafic. Odată ce an trenamentul este finalizat, performanța rețelei poate fi evaluată cu un
set de date de testare și evalu are.Înainte de a implementa rețeaua in vehicul, se creează un model de
date într -un mediu de simulare a l calculatorului care rulează în timp real .
Fig.12 Încadrarea mașinii autonome în banda de circulație
Obiectele detectate sunt luate într-un dreptunghi, fiind indicat ca imaginile utilizate la in trare
să fie de dimensiuni mari. V a fi necesar suportul operației de convoluție, care este unul din blocurile
fundamentale ale rețelelor neurale convoluționale ( ConvNet -Convolutional Networks ). Într-un
“ConvNet ” tipic, există de obicei trei tipuri de straturi. Un strat este convoluțional și se va denumi
strat Conv . Există î ncă două straturi comune , stratul de “ pooling ”, adesea numit piscin ă, iar ultimul –
strat complet conectat ( FC-Fully Conected ).
Învățarea profundă a rețelelor neurale nu are capacitatea de a trage concluzii din fapte, dovezi
și cunoștințe disponibile, cum o fac oamenii. Nu există metode analitice pentru alegerea arhitecturii
optime a rețelei. Sunt necesare cunoștințe de specialitate pentru a selecta manual arhitectura rețelei
(numărul de straturi, neuronii din fiecare strat și fu ncțiile de activare). Aceasta necesită o mulțime de
setări ale parametrilor, cum ar fi : rata de învățare, funcția de pierdere, numărul de iterații de instruire
etc. Arhitectura rețelei nu este flexibilă, odată ce arhitectura rețelei este selectată, dimensi unea rețelei
este fixă și tot ce putem face este o să reantrenăm .
În timpul antrenării rețelei neurale, metoda de optimizare ar putea fi blocată într -un minim
local. Nu se cunoaște cu exactitate ce se întâmplă cu d atele de intrare la parcurgerea prin fiecare
dintre straturi.
Chiar dacă am enumerat o multitudine de avantaje la utilizarea acestui tip de rețele, există și
puncte slabe, care țin să fie evaluate și remediate în viitoarea activitatea de cercetare :
• “Deep Learning ” necesită un număr foarte mare de date
• Rețelele neurale nu sunt “ ucenici s ârguincioși ”
• În plus, cantitatea mare de date necesită “ supraveghere ” sub formă de etichete, pentru
a obține rezultate mai bune decât algoritmii tradiționali de învățare a mașinilor.
Num ărul de date aplicat depinde de tipul problemei, de metoda de rezolvare a acesteia, de
numărul de clase (categorii din detul de date) și de arhitectura (numărul de straturi) rețelei. Dacă nu
folosim cantitatea necesară de date pentru etapa inițială de antrenare, rețeaua ar putea suferi una din
două probleme : “underfitting ” sau overfitting ”.
Primul caz apare atunci când un model de “Machine Learning ” nu este destul de complex ca
să captureze cu acuratețe relațiile dintre caracteristicile setului de date și o variabilă țintă. Intuitiv, ea
apare atunci când algoritmul nu poate să potrivească datele destul de bine, altfel spus, apare la
variație scăzută și “bias“ crescut. Iar cel de -al doilea caz presupune o eroare de modelare care apare
atunci când o funcție se potrivește “prea mult” cu un set de date.
În ultimii ani s -au înregistrat multe progrese în cercetarea profundă a învățării, iar ace st
proces a readus interesul către tehnologia și beneficiile potențiale ale aplicării sale asupra
vehiculelor au tonome. Agitați a a atins un nivel atât de mare încât unele companii au prezis un
vehicul complet automatizat care ar putea f i disponibil în următorii ani.
Însă aceste predicții inițial efectuate nu au fost destul d e exacte, deoarece au subestimat
provo cările care trebuiesc atinse înainte ca tehnologia să poată fi implementată în siguranță în
mașini. În ciuda acestor probleme, este de așteptat ca progresul în cercetarea învățării profunde să
continue, determinat de a vantajele imense pe care tehnologia le oferă nu numai autoturismelor, ci și
îmbunătățirii sistemelor de evitare a accidentelor.
Pe lângă aplicațiile auto, există și alte aplicații care vor beneficia sau care deja beneficiază de
progresele înregistrate:
• Posibilitatea de a prognoza bioactivitatea moleculei pentru descoperirea noilor
medicamente
• Recunoașterea feței și a obiectelor din video sau fotografii prin etichetare
• Eficientizarea rezultatelor la motorului de căutare Google
• Înțelegerea și generarea limbaj ului natural, de exemplu “Google Translate ”
• Robotul care exploreaz ă planeta Mar te selectează în mod autonom inspectarea
obiective lor terestre (solul), pe baza examinărilor vizuale
2.2.1 Detecția obiectelor utilizând “ Deep Learning ”
Pentru a efectua detectarea obiectelor se pot aplica o varietate de teh nici. Abordările
fundamentale al e învățării profunde folosesc rețele neurale convoluționale ( CNN ), cum ar fi R-CNN
și YOLO v2 , care învață detectarea automată a obiectelor din imagine. Avem la d ispoziție două
abordări -cheie pentru a realiza detecția obiectelor folosind rețele neurale de tip “Deep Learning”:
1. Putem crea și antrena un de tector de obiect particularizat . Pentru a instrui un detector de
la zero, trebuie proiectată o arhitectură de rețe a pentru a afla caracteristicile obiectelor
de interes. De asemenea, antrenarea rețelei convoluționale CNN va presupune
compilarea unui set foarte mare de date etichetate. Rezultatele unui detector obișnuit
sunt bune, dar pentru o și mai mare precizie se vor configura manual straturile și
greutățile din rețea, ce va necesita mult timp și date de antrenament.
2. Putem utiliza un detector instruit în prealabil . Această abordare permite să lucrăm cu o
rețea antrenată anterior, ce economisește timp și permite finalizarea rapidă a aplicației
dorite. Această metodă oferă rezultate mai rapide, deoarece obiectele au fost deja
instruite pe mii sau chiar milioane de imagini.
Tabel 1. Rețele Neurale Pre -instruite [27].
Rețele în două etape : Stadiul inițial al rețelelor în două etape, cum ar fi R-CNN și variantele
sale, identifică propunerile regionale sau sub -seturile imaginii care ar putea conține unul sau mai
multe obiecte. A doua etapă constă în clasificarea obiectelor din cadrul regiunii propuse. Rețelele în
două etape pot arăta rezultate foarte precise de detectare a obiectului. Dezavantajul acestora față de
cele intr -o singură etapă este faptul că sunt mai lente.
Fig. 13 Arhitectură R -CNN și Fast R -CNN de nivel înalt pentru detecția obiectelor
Scop Descriere
Clasificare Aplic direct rețelele pre -instruite la problemele
de clasificare. Pentru a clasifica o imagine
nouă, folosesc funcția classify .
Extracția caracteristicilor Utilizez o rețea antrenată în prealabil pentru a
extrage trăsături, activând nivelele. Aceste
activări reprezintă la rândul lor caracteristici
pentru a instrui un alt model de tip “Machine
Learning ”, cum ar fi SVM (“Support Vector
Machine ”)
“Transfer Learning” Iau straturi dintr -o rețea antrenată pe un set
mare de date și o ajustez pe un alt set.
Rețele într-o singură etapă : În rețele de acest tip, cum ar fi YOLO v2 , rețeaua CNN poate
prezice din întreaga imagine, folosind casete de delimitare. Predicțiile sunt decodificate pentru a
genera dreptunghiurile finale ale obiectelor depistate. Acest tip de rețele sunt mai rapide decât
celelalte , însă au o precizie mai mică , în special în cazul obiectelor de dimensiuni mici.
Fig. 14 Prezentare generală a detecției obiectelor cu ajutorul YOLO v2
Rețelele de detectare a obiectelor folosind YOLO conțin două sub -rețele : o re țea de extragere
a particularităților , urmată de una de detectare. Rețeaua de extracție a trăsăturilor este de obicei un
CNN preîncărcat. Acest exemplu utilizează ResNet -50. Alte rețele pre -selectate, cum ar fi MobileNet
v2 sau ResNet -18, pot fi de asemenea utilizate în func ție de cerințele aplicației. Sub -rețeaua este un
CNN comp arativ cu rețeaua de extracție
O altă metodă de detectare a obiectelor din imagine folosind o singură rețea neurală profundă
este SSD-“Single Shot Detectors” . Această abordare presupune faptul că se ia doar o singură
fotografie pentru a detecta mai multe obiecte din imagine, în timp ce rețeaua R-CNN necesită două
fotografii, una pentru generarea propunerilor, iar a doua pentru obiectul fiecărei propuneri. Astf el,
SSD este mult mai rapid comparativ cu abordările pe două nivele.
Fiecare imagine de antrenament este eșantionată aleatoriu în felul următor :
– La intrare se aplică o imagine complet originală
– Trebuie examinată o porțiune de imagine, astfel încât suprap unerea cu obiectele să fie
egală cu 0.1, 0.3, 0.5, 0.9
– Porțiunea este aleasă în mod aleatoriu
Mărimea fiecărei porțiuni eșantionate este de [0.1, 1] sau poate fi dimensiunea original ă a
imaginii, iar raportul de aspect este de la 0,5 la 2.
Indiferent dacă se alege prima sau a doua variantă, va trebui să se ia decizi asupra tipului de
rețea de detectare a obiectului : una în două etape sau într -una singură.
2.3 Algoritmi de tip “Deep Learning ” pentru detectarea obiectelor
Viziunea pe calculator este un domeniu care a câștigat o recunoaștere în ultimii ani, iar
autoturismele autonome au devenit un punct de interes. O altă parte integrală a viziunii pe calculator
o constituie detecția obiectelor.
Detectarea obiectelor ajută la estimarea poziției, detectarea vehiculelor, supravegherea
securității etc. Diferența dintre algoritmii de detecție și cei de clasificare constă în faptul că la primul
tip apare un dreptunghi în jurul obiectului de interes pentru a îl localiza în imagine . În cazul de
detectare, ar putea exista mai multe casete de delimitare, reprezentând diferite obiecte de interes din
imagine.
Fig. 16 Exemple de obiecte segmentate din setul de date COCO 2015, T. -Y.Lin și colab.
2.3.1 Criteriu de performanță ( “Performance Metric ”)
Problematica detecției obiectelor constă în faptul că se dorește realizarea concomitentă a două
procese : regresie și clasificare.
Fig. 17 Instruirea rețele i CNN : clasificare ( funcția de pierdere ) și regresie ( casetă de delimitare) .
În primul rând, pentru a evalua precizia în spațiu, trebuie să scoatem casetele cu un grad
scăzut de încredere (de obicei modelul emite mai multe dreptunghiuri decât numărul obiectelor
reale). Apoi folosim zona IoU ( Intersection over Union ), cu o valoare între 0 și1. Aceasta
corespunde zonei suprapuse între ca seta prevăzută și cea reală . Cu cât valoarea IoU este mai mare, cu
atât este mai bună locația prevăzută a casetei pentru un obiect. În mod obișnuit se pun toate casetele
cu un IoU mai mare de un anumit prag.
În clasificarea binară, va loarea medie a preciziei ( AP-Average Precision ) este reprezentare a
curbei de precizie ( precision -recall curve ). Criteriul ce se utilizează frecvent pentru provocările
detecț iei obiectelor se nu mește mAP ( mean Average Precision), ceea ce înseamnă media preciziilor
medii cal culate pe toate clasele. Criteriul mAP evită să aibă o specializare extremă în câteva clase și
astfel are performanțe slabe în altele.
Rezultatul lui mAP este de obicei calculat pentru un IoU fix, dar un număr mare de casete de
delimitare pot crește numărul casetelor -candidat ( candidate boxes ). Ca o soluție a unei probleme,
cercetătorii setului COCO au dezvoltat o parametru oficial pentru a evita generarea în plus a
casetelor. Se calculează o medie a rezultatelor mAP pentru valori variabile ale IoU pentru a
defavoriza un număr mare de cutii delimitate cu clasificări greșite.
2.4 Rețeaua Convoluțională bazată pe regiune ( “ R-CNN – Region -based
Convolutional Network ”)
Primele modele încep cu căutarea într -o regiune și apoi se efectuează clasificarea. În R-CNN ,
metoda de căutare selectivă dezvoltată de J.R.R. Uijlings și colab. în 2012 constituie o alternativă
căutării exhaustive într -o imagine pentru a captura locația obiectului. Această metodă inițializează
regiunile mici din imagine și le combină intr -o grupare ierarhică . Deci, gruparea finală prezintă o
casetă care conține întreaga imagine. Regiunile detectate sunt îmbinate în func ție de o varietate de
spații de culoare și parametri similari. Rezultatul de la ieșire este un număr mic de propuneri
regionale care ar putea conține un obiect prin fuzionarea regiunilor mici.
Fig. 18 Aplicație de căutare selectivă : în partea de sus sunt vizualizate rezultatele segmentării
algoritmului ; iar în cea de jos vizualizarea propunerilor de regiune ale algoritmului. J.R.R. Uijlings
și colab., 2012 .
Modelul R -CNN (R.Girshick și colab., 2014) combină metoda de căutare selectivă pentru a
detect a propunerile regionale și învățarea profundă pentru a afla localizarea obiectului din regiune.
Fiecare propunere de regiune este redimensionată pentru a se potrivi cu introducerea unui CNN din
care se extrage un vector de dimensiunea 4096 cu caracteristic i. Vectorul de caracteristici este
introdus în mai mulți clasificatori pentru a calcula probabilitatea de aparținere unei anumite clase.
Fiecare dintre aceste clase are un clasificator SVM , (Support Vector Machine ) instruit pentru a
deduce o probabilitate de a detecta acest obiect pentru un vector dat de caracteristici. Acest vector, de
asemenea, transmite valorile sale unui regresor liniar de adaptare a formelor casetele delimitate
pentru o propunere de regiune ș i, astfel, pentru a reduce erorile de localizare.
Modelul CNN descris de autori este instruit pe setul de date ImageNet din 2012 al provocării
inițiale ale clasificării imaginilor. Acesta este reglat fin cu ajutorul propunerilor regionale
corespunzătoare u nui IoU mai mare decât 0.5 cu ajutorul casetelor “ground -truth ”. Sunt produse
două versiuni, prima utilizează setul de date PASCAL VOC 2012 , iar celălalt setul ImageNet 2013 cu
casete delimitate. Clasificatorii SVM sunt, de asemenea, antrenați pentru fiecare clasă a setului de
date.
Cele mai bune modele R-CNN au obținut un rezultat al mAP de 62,4 % față de setul de date
de testare PASCAL VOC 2012 ( 22,0 puncte , crescând la al doilea cel mai bun rezultat din
clasame nt) și un rezultat mAP de 31,4 % față de setul de date ImageNet 2012 , cel de -al doilea cel mai
bun rezultat.
Fig. 19 Rețea C onvolutională pe regiuni (R -CN, J.Xu [28].
2.5 Rețeaua Convoluțională Rapidă bazată pe regiune ( Fast R -CNN )
Scopul rețelei convoluționale rapide bazate pe regiune elaborat de R. Girshick în 2015 este de
a reduce consumul de timp legat de numărul mare de modele necesare pentru a analiza toate
propunerile regionale.
Un CNN principal, cu straturi convoluționale mul tiple, ia toată imaginea ca in trare în loc să
utilizeze un rețea convoluțională pentru fiecare propunere de regiune ( R-CNN ). Regiunea de
insterese ( RoIs-Region of interests ) este detectată prin metoda de căutare selectivă, aplicată pe
hărțile de trăsătur i obținute. Mărimea hărților caracteristicilor este redusă folosind un strat de RoI (
Region of Interest) ” pooling” pentru a obține o regiune de interes validă cu o înălțime și lățime fixe
ca hiperparametri. Fiecare strat al regiunii de interes alimentează straturi conectate în întregime ( FC-
Fully Conected ) și creează un vector de caracteristici. Vecto rul este folosit pentru a pr esupune
localizarea obiectul ui observat cu un clasificator “ softmax ” și pentru a adapta localizările casetei de
delimitare cu un regresor liniar.
Cele mai bune rețele rapide ( Fast R -CNN ) au atins rezultatul de mAP de 70,0% pentru setul
de date PASCAL VOC 2007 , 68,8% pentru PASCAL VOC 2010 și 68,4% PASCAL VOC 2012 .
Fig. 20 Imaginea folosită în modelul CNN pentru detectarea R oI pe hărțile caracteristicilor, J.Xu
[28].
2.6 Rețeaua convoluțională bazată pe regiunea mai rapidă ( Faster R -CNN )
Propunerile regionale detectate cu ajutorul metode de căutare selectivă au fost încă necesare
în modelul anterior, ceea ce este computațional scump . S. Ren și colab. În 2016 au introdus Rețeaua
de propuneri pentru a genera direct propuneri pentru regiuni ( RPN ) pentru a estima locul cutiilor de
marcare și de a detecta obiectele. Rețeaua convoluțională ( Faster R -CNN ) este o combinație dintre
RPN și Fast R -CNN .
Un model al CNN primește ca intrare întraga imagine și produce hărți ce conțin trăsături. O fereastră
de dimensiunea 3×3 glisează toate hărțile cu caracteristici și dau la ieșire un vector de trăsături legat
la cele două straturi de tip FC ( Fully Conected ), unul pentru delimitarea casetel or și altul pentru
clasificare. Propunerile de regiuni multiple sunt prezise de straturil e conectate complet . Se stabilește
un maxim de k regiuni , astfel ieșirea stratului de regresie pe casete are dimensiunea de 4k (
coordonatele casete lor, înălțimea și lățimea acestora ) și ieșirea stratului de clasificare a casetei are
mărimea de 2k ( rezultat ”obiectiv ” pentru a detecta un obiect sau nu într -o casetă ). Propunerile
regiunii k detectate de fereastra de alunecare se numesc ancore.
Fig. 21 Detectarea casetelor de ancorare pent ru o singură fereastră 3×3, S.Ren și colab. 2016 .
Când sunt detectate casetele de ancorare, ele sunt selectate prin aplicarea unui prag peste
rezultatul ”obiectiv” pentru a păstra numai casetele relevante. Aceste casete de ancorare și hărțile
caracteristice calculate de modelul CNN inițial alimentează un model Fast R -CNN .
Faster R -CNN utilizează o rețea de tip RPN pentru a evita metoda selectivă de căutare,
accelerează procesele de instruire și testa re pentru îmbunătățirea performanțelor. RPN utilizează un
model pre-antrenat peste setul de date ImageNet pentru clasificare și este fin reglat în setul PASCAL
VOC . Apoi propunerile regionale generate cu ajutorul dreptunghiurilor cu ancore sunt folosite pentru
a instrui Fast R -CNN . Acest proces este iterativ.
Cei mai buni algoritmi de tip Faster R -CNN a obținut un rezultat al mAP de 78,8% față de
setul de date PASCAL VOC și 75,9% față de cel din 2012. Ei au fost instruiți cu seturile PASCAL
VOC și COCO . Unul din aceste modele este de 34 de ori mai rapid decât algoritmul Fast R -CNN ,
folosind metoda de c ăutare selectivă.
Fig. 22 Imaginea alimentează în întregime un model CNN pentru a produce casete cu ancore ca
propuneri de regiune cu scopul că acolo se află un obiect. Se utilizează metoda Fast R -CNN care
determină probabilitățile de detectare a fiecărui obiect și de corecție asu pra locației casetei. J.Xu
[28].
2.7 Rețeaua Convoluțională R-FCN – Region -based Fully Convolutional Network
Metodologiile Fast și Faster R -CNN constau în detectarea propunerilor de regiune și
recunoaștere a unui obiect în fiecare regiune. Rețeaua complet convolutivă bazată pe regiune R-FCN ,
lansată de J. Dai și colab. în 2016 este alcătuită doar din straturi convoluționale, permițând o
propulsie completă pentru instruire și deducție. Autorii au îmbinat cei doi pași de bază într-un singur
model pentru a ține cont simultan de detectarea obiectului ( poziția invariantă) și de amplasare
spațială ( varianta de locație).
Un model ResNet -101 preia imag inea inițială la intrare. Ultimile straturi prezintă hărți cu
trăsături, fiecare dintre acestea fiind specializată în detectare unei categorii la o locație anumită. De
exemplu, o hartă a caracteristicilor este specializată în detectarea unei câine, alta a unui măr etc.
Astfel de hărți se numesc ” position -sensitive score maps ” deoarece țin cont de p oziția spațială a
unui obiect și numărul lor se calculează cu formula din k2( C+1), unde k este mărimea hărții și C-
numărul de clase. Toate aceste hărți formează un “ score bank ”. Practic se delimitează suprafețe care
vor recunoaște o parte a unui obiect. De exemplu pentru k=3 putem recunoaște o arie 3×3 din
întreagul obiect.
În paralel, se rulează un RPN pentru a genera regiunea de interes ( RoI). La final se înserează
în casete fiecare RoI și se verifică în “ score bank ”. Dacă sunt activate sufici ente porțiuni atunci
patch -ul se marchează cu “Yes” și obiectul este identificat.
Fig. 23 Imaginea de intrare transmisă modelului ResNet pentru a genera hărți de caracteristici. Un
model RPN detectează regiunea de in terese și se calculează un rezultat individual pentru a
determina proba bilitatea existenței obiectului, J. Dai și colab. 2016 [29].
J.Dai și colab. În 2016 au prezentat detaliat exemplul de mai jos. Cifrele arată reacția
modelului R-RCN specializat în detecția unei persoane. Pentru o regiune de interes aflată în centrul
imaginii, subr egiunile din hărțile caracteristicilor sunt specifice modelele asociate unei persoane.
Astfel se marchează cu “Yes” dacă există o persoană în acea locație. În figură RoI este deplasat spre
dreapta și nu mai este centrat pe individ. Dacă în subregiuni nu se depistează persoana, atunci se
indică ” No”.
Fig. 24 Vizualizarea cu modelul R -FCN ( k x k= 3×3) a unei persoane.
Fig. 25 Vizualizarea cu modelul R -FCN atunci când regiunea de interes RoI nu se suprapune cu
obiectul, în cazul dat persoana [29].
Rezultatele atinse de modelele de tip R-FCN ale preciziei mAP sunt de 83,6% pentru setul de
date PASCAL VOC 2007 și 82,0% , care au fost instruite cu setul PASCAL VOC 2012 și COCO .
Setul de date test-dev COCO 2015 s-a obținut un rezultat de 53,2% pentru IoU =0.5 și un criteriu de
precizie de 31,5%. Autorii au observat că algoritmul R-FCN este de 2,5 -20 ori mai rapid decât
omol ogul său R-CNN .
2.8 YOLO (You Only Look Once)
Algoritmul YOLO ( J.Redmon și alții, 2015) prezice direct casetele de delimitare și
probabilitățile de aparținere la o anumită clasă cu o singură rețea și într -o singură etapă de evaluare.
Simplitatea modelului respectiv permite funcționarea lui în timp real.
Inițial, modelul ia o imagine la int rare și suprapune o matrice de dimensiune SxS. Fiecare
celulă din această rețea presupun e amplasarea casetelor de delimitar e B cu un rezultat de o anumită
performanță. Aceasta constituie probabilitatea de a detecta obiectul ce se înmulțește cu parametrul
IoU, ce arată intersecția dintre casetele prezise și cele reale.
Fig. 26 Exemplu de aplicare pentru modelul YOLO. Imaginea de intrare este împărțătă într -o rețea
SxS, unde se prezice un număr de B casete (regresie) și o clasă este prezisă din tre cele C clase (
clasificare), J. Redmon și alții 2016 [30].
Rețeaua CNN folosită în algoritmul YOLO este inspirată de modelul GoogleNet , care a
introdus modulele inițiale ( “ inception modules ”). Această rețea este formată din 24 de straturi
convoluționale, urmate de 2 straturi complet conectate ( FC). Straturile de diminuare ( reduction
layers ) cu filtre de dimensiune 1×1 sunt urmate de nivelele convoluționale de mărimea 3×3,
înlocuiesc modulele inițiale de inițiere ( ” initial inception modules ”).
Modelul Fast YOLO este o versiune mai mică, cu doar 9 straturi convoluționale și mai puține
filtre. Majoritatea straturilor convoluționale sunt pre -instruite cu setul de date ImageNet
întrebuințând fu ncția de clasificare. Patru nivele convoluționale, urmate de două straturi conectate
complet sunt adăugate la rețeaua anterioară și sunt în întregime re -antrenate cu seturile PASCAL
VOC 2007 și 2012 .
Stratul final emite un tensor de dimensiunea S 2 ( C + B*5) corespunzător predicțiilor pentru
fiecare celulă din rețea, unde C – numărul probabilităților estimate pentru fiecare clasă și B – numărul
fix de casete cu ancoră per celulă, fiecare dintre acestea fiind asociată cu 4 coordonate ( coordonatele
centrului cutiei, lățimea, înălțimea) și valoarea de încredere ( confidence value ).
La modelele anterioare casetele de delimitare anticipate /prezise conțineau adesea un obiect.
Modelul YOLO prezice un număr mare de dreptunghiuri, dar totuși există multe casete ce nu conțin
un obiect.
Fig. 27 Arhitectura YOLO: compusă din 24 de straturi convol uționale și 2 complet conectate, J.
Redmon și alții 2016
Metoda NMS ( Non-Maximum Suppression ) se aplică la final, constând în combinarea/
fuziunea dreptunghiurilor aceluiași obiect într -unul singur. Autorii au observat că există încă câteva
fals pozitiv e detectate ( few false positive d etected. ).
Modelul YOLO are un rezultat al preciziei mAP de 63,7 % față de setul de date PASCAL
VOC 2007 și 57,9 % față de setul PASCAL VOC 2012 . Modelul Fast YOLO are rezultate mai mici,
dar împreună cu YOLO original dețin performanțe în timp real.
Fig. 28 Comparațe de viteză și performanțe . Rezultatele publicate corespund implementărilor lui J.
Redmon și colab. 2016 .
Modelul YOLO v2 se concentrează pe îmbunătățirea perciziei chiar dacă deja este un detector
rapid. Se impune normalizarea “batch -ului” pentru a preveni suprasolicitarea ș i a evita abandonul.
Imaginile cu rezoluție înaltă sunt acceptate la intrare ( modelul YOLO folosește imagini de 448×448,
în timp ce YOLO v2 de 608×608), permițând astfel detectarea unor obiecte potențial mai mici.
Stratul final complet conectat al modelului YOLO care prezice coordonatele casetelor a fost
îndepărtat pentru a utiliza cutii de ancorare în același mod ca și Faster CNN . Dimensiunea imaginii
de intrare este redusă cu un “ grid” de celule , fiecare con ținând 5 cutii de ancorare. YOLO v2
utilizează 19*19*5=1805 cutii de ancorare în loc de 98 de cutii ca la YOLO. YOLO v2 prezice
corecția cutiei de ancorare în raport cu locația celulei rețelei ( intervalul este între 0 și 1) și selectează
casete le în funcție de încrederea lor ca la modelul SSD. Dimensiunile dreptunghiurilor de ancorare au
fost fixate folosind k -mijloace pe setul de antrenament de casete de delimitare.
2.9 SSD – Single -Shot Detector
Similar cu modelul YOLO , W. Liu și alții au dezvoltat în 2016 un detector SSD pentru a
anticipa simultan casetele de delimitare și probabilitățile de aparținere unei clase, folosind o
arhitectură CNN .
Modelul ia la intrare o imagine care trece prin mai multe straturi convoluțion ale cu filtre de
diferite dimensiuni ( 10×10, 5×5, 3×3). Hărțile caracteristice din aceste straturi la diverse poziții din
rețea sunt folosite la estimarea dreptunghiurilor. Acestea sunt procesate de nivele convoluționale
specifice cu filtre 3×3 numite straturi de caracteristici suplimentare pentru a genera unset de casete
asemănătoare cu cele de ancorare ale lui Fast R -CNN .
Fig. 30 Modelul SSD ia o imagine și casetele ei r eale de delimitare. Mici seturi de cutii cu rație de
aspect diferită sunt introduse în harta de trăsături( b și c). În timpul intruirii, poziția
dreptunghiurilor se schimbă pentru a se pot rivi cât mai bine cu cele reale, W. Liu 2016 [30] .
Fig.31 Tipuri de clasificare, segmentare și detecare a obiectelor din imagine [30].
Tipul de metode Particularități
R-FCN
(Region based Fully -Convolutional Neural
Networks ) Se aseamănă cu Faster -R-CNN (400ms), dar este
mai rapid (170ms) din cauza numărului mai mic
de calcul per casetă.
YOLO Utilizează o singură hartă de activare pentru
predicția clasei și a casetelor de delimitare
SSD Folosește diferite hărți de activare (mai multe
scale) pentru pr edicția claselor și
dreptunghiurilor
Tabel 2 Particularitățile metodelor R -FCN, YOLO și SSD .
Faster -R-CNN este mai competitiv decât SSD în ceea ce privește detecția obiectelor mici.
Probabil acest lucru se datorează abordării care cons tă din două fotografii [31].
Capitolul 3. Detectorul RetinaNet
Detectorul RetinaNet este singura rețea compusă dintr -o rețea de bază ( “ backbone ”) și două
subrețele specifice unei anumite sarcini. Rețeaua principală este responsabilă pentru calcularea unei
hărți de trăsături convoluționale peste o imagine de la intrare și este o rețea CNN generică.
Prima subrețea efectuează clasificarea convoluțională a obiectelor la ieșirea rețelei de bază,
iar a doua subrețea efectuează o regresie convoluțională a casetei de deliminare. Cele două subrețele
dispun de un design simplu care detectează obiectele într -o singură etapă. Majoritatea parametrilor
de proiectare nu sunt deosebit de sensibili la valorile exacte, asa cum se observă din experimente.
Fig. 32 Arhitectura Detectorului RetinaNet [32].
Arhitectura de rețea RetinaNet este compusă din:
– ResNet este utilizat pentru extrac’ia de caractere profunde.
– FPN ( Feature Pyramid Network ) este utilizat în partea de sus a ResNet pentru a construi
o piramidă multidimensională , în mai multe straturi convoluționale, cu o singură imagine
la intrare. Inițial FPN este un detector în două etape, care are rezultate de ultimă oră.
– Subrețeaua c este responsabilă pentru clasificarea casetelor de ancorare.
– Subrețeaua d este pentru regresarea dintre casetele de ancoră și cele reale.
Designul rețelei este creat intenționat unul simplu, ceea ce permite ca această lucrare să se
concentreze asupra unei noi funcții de pierdere focală care elimină diferența de precizie dintre
detectorul respectiv într -o singură etapă și cele de ultim ă generație, cum ar fi Faster R -CNN și FPN ,
în timp ce rulează la viteze mari.
Următoarele grafice descriu analiza comparativă a performanțelor algoritmilor prezentați mai
sus.
Grafic 1 Analiza comparativă a performanțelor algoritmilor R-FCN, Faster R -CNN, SSD
Grafic 2 Analiza comparativă a performanțelor algoritmilor R-CNN, Fast R -CNN, Faster R -CNN,
SS512 care sunt mult inferioare lui YOLO v2.
Grafic 3
Analiza comparativă a performanțelor algoritmilor după precizie și timp. Se observă că cel mai
avantajos este YOLO v3 -320.
Capitolul 4. Rezultate experimentale
Seturi de date existente :
1. Setul de date “PASCAL VOC ( PASCAL Visual Object Classification )” este unul bine
cunoscut pentru detectarea obiectelor. Au fost 8 provocări care au durat din 2005 până în 2012,
fiecare având propriile particularități. Acest set conține aproximativ 10 000 de imagini pentru
instruire care conțin casete de delimitare ale obiectelor. Deși setul PASCAL VOC conține doar 20 de
categorii, este în continuare considerat unul de referință în problema detecției obiectelor.
2. ImageNet a lansat un set de date pentru detecția obiectelor, cu casete, în anul 2013. Setul
de este compus din aproximativ 500 000 de imagini numai pentru antrenare și 200 de categorii. În
practică se întrebuințează rar, deoarece dimensiunea setului de date neces ită o putere de calcul
importantă pentru instruire. De asemenea, numărul mare de clase complică sarcina de recunoaștere a
obiectului.
3. Pe de altă part e, setul de obiecte comune din c ontext ( COCO ) a fost dezvoltat de Microsoft
și detaliat de T. -Y. Lin și colab., în 2015. Acest set de date este folosit pentru multiple probleme :
“caption generation ”, detectarea obiectelor, detectarea punctelor cheie și segmentarea obiectelor.
Provocările setului respectiv constau în localizarea obiectelor într -o imagine cu ajutorul casetelor de
delimitare și clasificarea fiecăruia în unul din cele 80 de categorii. Setul de date se schimbă în fiecare
an, dar de obicei este compus di n mai mult de 120 000 de imagini pentru instuire și mai multe de 40
000 de imagini pentru testare. Setul de date pentru testare a fost recent divizat în setul test -dev pentru
cercetători și ceș pentru comerț. Ambele seturi au note etichetate atașate, dar n u sunt disponibile
public pentru a evita suprasolicitarea setului de testare .
4. CIFAR -10 este un se t de date utilizat pe scară largă pentru evaluarea performanțelor
tehnice a algoritmilor de viziune pe calculator în domeniul “Machine Learning ”. Performan ța
superioară este atinsă la utilizarea rețelelor convoluționale de tip “ Deep Learning ” cu o precizie de
clasificare de peste 90 % din setul de date de testare. Acest set are ca intrare fotografii de dimensiuni
mici, dar este eficient și poate fi utilizar ca bază pentru antrenare, dezvoltare, evaluare și utilizează
rețele neurale convoluționale de tip “ Deep Learning ” pentru clasificarea imaginilor. [33]
Fig. 32 Rezultatele detectate cu ajutorul setului de date COCO [34].
Fig. 32 Exemple cu imagini din setul de date CIFAR -10
Fig. 33 Detecția semnului de circulație la distanță cu ajutorul setului de date CIFAR -10
Fig. 34 Detecția semnului de circulație din alt unghi, cu ajutorul setului de date CIFAR -10
Fig. 35 Rezultat experimental la rularea modelului Faster R -CNN . Detecția obiectului s -a realizat
cu o IoU de 0,9979
Fig. 36 Rezultat experimental la rularea Faster R -CNN
Grafic 4 . Valoarea preciziei medii pentru Fig. 36 .
Detecția obiectului s -a realizat cu precizia AP= 0.65
Fig. 38 Rezultat experimental la rularea modelului Faster R -CNN . Detecția obiectului s -a realizat cu
IoU=1
Fig. 39 Rezultat experimental obținut la rularea algoritmului SSD . În cazul dat avem detecție
multiplă care s -s realizat cu IoU=0.99 în ambele cazuri.
Fig. 40 Rezultat obținut la rularea YOLO v2 [35].
4.1 Concluzii
Conferințele anuale care au avut loc în mediul academic, dar și cel comercial asupra viziunii
pe calculator au fost locul unde s -au descoperit noi concepte radicale despre performanța IA.
Datorită evoluției cercetărilor din domeniul IA, respectiv și a cel or afiliate, s -au introdus numeroase
aplicații ale rețelelor neurale în producție.
Învățarea profundă este cea mai recentă “ armă” specială împotriva unor probleme extrem de
provocatoare. În primul rând, aceasta folosește un set de date asociat, în confo rmitat e cu criteriul de
performanță, iar în al doilea rând, arhitectura implementată trebuie să fie una puternică pentru a
putea construi o inteligență artificială generală.
Detecția obiectelor cu ajutorul rețelelor de tip “ Deep Learning” constituie un câmp
interesant și ra pid de dezvoltare . La baza acestei posibilități stau o mulțim e de sub -domenii , fiecare
explorând și realizând propria funcționalitate, promulgând învățarea profundă spre direcții vaste .
În urma studiilor efectuate și a documentațiilor lecturate, pot afirma că acest domeniu de
Inteligență Artificială este unul complex, ce conține numeroase discipline interrelaționi ste, cu o
structură variată și surprinzătoare care reflectă profunzimea umană. Încă nu avem o experiență
bogată profesională și socială în utilizarea rețelelor neurale și a învățării profunde, dar cred că în
decurs de câteva decenii această tehnică puternică a cărei limite încă nu au fost găsite va rezolva
probl emele fundamentale.
BIBLIOGRAFIE
[1]https://mse238blog.stanford.edu/2017/07/ramdev10/new -product -breakthroughs -with-recent –
advances -in-deep -learning -and-future -business -opportunities/
[2]https://www.stiintaonline.ro/inteligenta -artificiala -ce-este-si-cum-functioneaza/
[3] Kaplan Andreas; Michael Haenlein (2018) Siri, Siri in my Hand, who's the Fairest in the Land?
On the Interpretations, Illustrations and Implications of Artificial Intelligence, Business Horizons,
62(1) https://www.sciencedirect.com/science/article/pii/S0007681318301393
[4]https://ro.wikipedia.org/wiki/Inteligen%C8%9B%C4%83_artificial%C4%83
[5] https://mc.ai/classifying -cats-and-dogs -images -using -transfer -learning -in-convolutional -neural –
networks/
[6]https://www.sas.com/en_us/solutions/ai/believe -in-humans.html
[7]https://mse238blog.stanford.edu/2017/07/ramdev10/new -product -breakthroughs -with-recent –
advances -in-deep -learning -and-future -business -opportunities/
[8] https://www.linkedin.com/pulse/ai -machine -learning -evolution -differences -connections -kapil –
tandon/
[9]https://www.sas.com/en_us/explore/analytics -in-action/impact/wildtrack.html
[10] https://news.sophos.com/en -us/2017/09/21/man -vs-machine -comparing -artificial -and-
biological -neural -networks/
[11] Ciocoiu Iulian, Rețele neurale artificiale, Capitolul 1 și 2
[12]https://www.kaleidoinsights.com/impact -analysis -business -impacts -of-deep -learning/
[13]https://www.slideshare.net/FlorinLeon/retele -neuronale -profunde
[14]https://www.sas.com/en_us/insights/analytics/neuralnetworks.html?fbclid=IwAR3Ycut1YqelYJi
5YmMqn9jO7lgALlDBv8 mhpRo_Apbtgfr5b8mtQtvMIQA
[15]http://neuralnetworksanddeeplearning.com/chap1.html
[16]https://www.slideshare.net/FlorinLeon/retele -neuronale -profunde
[17] http://deeplearning.cs.cmu.edu/
[18]https://datascience.stackexchange.com/questions/45774/where -does-the-deep -learning -needs –
big-data-rule-come -from
[19] https://mapr.com/blog/artificial -intelligence -and-machine -learning -what -are-they-and-why-are-
they-important/
[20]https://mse238blog.stanford.edu/2017/07/ramdev10/new -product -breakthroughs -with-recent –
advances -in-deep -learning -and-future-business -opportunities/
[21] https://callminer.com/blog/smart -implementation -machine -learning -ai-data-analysis -50-
examples -use-cases -insights -leveraging -ai-ml-data-analytics/
[22]https://machinelearningmastery.com/object -recognition -with-deep -learning/
[23]https://www.mathworks.com/discovery/object -detection.html
[24] https://www.nvidia.com/fr -fr/self -driving -cars/adas/
[25]https://machinelearningmastery.com/object -recognition -with-deep -learning/
[26]http://gbshemir.blogspot.com/2016/10/we -were -looking -at-abstract -pictures.html
[27]https://www.mathworks.com/help/deeplearning/ug/pretrained -convolutional -neural –
networks.html
[28]http://cs231n.stanford.edu/slides/2017/cs231n_201 7_lecture11.pdf
[29] https://arxiv.org/pdf/1605.06409.pdf
[30] https://medium.com/zylapp/review -of-deep -learning -algorithms -for-object -detection –
c1f3d437b852
[31] https://towardsdatascience.com/review -ssd-single -shot-detector -object -detection -851a94607d11
[32] https://arxiv.org/abs/1708.02002
[33]https://www.cs.toronto.edu/~kriz/cifar.html
[34] https://arxiv.org/abs/1512.02325
[35] https://towardsdatascience.com/yolov2 -object -detec tion-using -darkflow -83db6aa5cf5
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Specializarea Microelectronică, Optoelectronică și Nanotehnologii [603318] (ID: 603318)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
