Sunteți pe pagina 1din 19

Sistem multi-dronă pentru

inspectarea livezilor

Coordonator: Prof. Dan POPESCU


Masterand: Radu-Marian CÎCIU
Facultatea de Automatică și Calculatoare, Seria PCSAM

2020
Conținut
1. Introducere................................................................................................................................................ 3
2. Stadiul actual în domeniul prelucrării seturilor de imagini folosind rețele neuronale convoluționale 5
3. Metodologie specifică și implementare ................................................................................................... 9
4. Rezultate experimentale ........................................................................................................................ 14
5. Concluzii .................................................................................................................................................. 16
6. Anexe....................................................................................................................................................... 17
7. Referințe.................................................................................................................................................. 18

2
1. Introducere

În foarte multe culturi agricole, insectele dăunătoare reprezintă unul dintre motivele care
pot afecta serios producția pe întregul an. La fel cum buruienile afectează condițiile de creștere
ale plantelor, insectele pot compromite întreaga recoltă daca nu sunt combătute la timp. Foarte
multe insecte se hrănesc cu frunzele plantelor de cultura sau ale arborilor, cu muguri, flori, fructe
sau chiar cu lemn. Când numărul lor este mare, aceste insecte pustiesc pădurile si suprafețele
întinse de plante cultivate, provocă pierderi enorme [RES09].
Majoritatea insectelor dăunătoare atacă plantele imediat după eclozare, când pătrund în
fruct, rod epidermele frunzelor și pe cele ale tulpinilor. În cazul în care nu sunt combătute
eficient, insectele se vor înmulți rapid și vor compromite întreaga recoltă într-un timp foarte
scurt [BAR11].
Pentru a reduce paguba produsă de acești dăunători, este important să identificăm la timp
semnele unui potențial atac și să se administreze eficient tratamentele pentru a combate
invadatorii. Insectele dăunătoare omului, naturii, plantelor, agriculturii sunt numeroase, iar
pentru a le distruge oamenii folosesc substanțe chimice. Dar, combaterea numai cu insecticide
are dezavantajul ca aceste substanțe pot distruge si o parte din insectele folositoare omului. De
aceea, oamenii de știința caută sa cunoască cat mai bine relațiile dintre diferitele feluri de
insecte. Astfel, cunoscând care sunt dușmanii insectelor dăunătoare, omul ii poate utiliza in
folosul lor [TRI05].
Există o mulțime de metode care ne-ar putea ajuta să detectăm și să observăm mai bine
speciile de insecte invazive. Una dintre metode ar putea fi utilizarea feromonilor de insecte
pentru a-i atrage. Feromonii sunt substanțe ce emană un puternic miros emis de un anumit sex
pentru a atrage sexul opus pentru împerechere, fiind factorul esențial pentru supraviețuirea și
perpetuarea speciei. Feromonii sunt produși în general de femele și joacă un rol în orientarea și
abordarea masculilor de la distanțe mari. Datorită atractivității feromonilor femele, acestea au
devenit foarte valoroase în detectarea și estimarea populațiilor de insecte și chiar în lupta de
control direct. Datorită detectării, putem monitoriza evoluția dăunătorului, severitatea atacului
sau vindecarea recoltei după aplicarea tratamentului și modul în care acesta scade în intensitate
[JUL16].
O altă metodă de observare ar putea fi utilizarea roboților de la sol. Roboții autonomi
echipați cu camere ar fi conduse pe un traseu proiectat în livadă, cu scopul de a captura imagini
vizate și de a culege date despre recoltă. Nu este un concept nou, deoarece oamenii de știință
3
au căutat continuu modalități de îmbunătățire a roboților care pot fi folosiți în tot felul de
industrii. Deși sectorul agricol implică o serie de factori multipli care trebuie luați în considerare
la încercarea de a lua măsuri, cum ar fi viteza vântului, tipul solului, intensitatea luminii,
condițiile meteorologice, amplasarea livezii etc., roboții au fost mai mult și mai des utilizate în
cercetarea agricolă, deoarece informațiile pe care le-au colectat i-au ajutat pe cercetători să
găsească soluții la mai multe probleme. Vom vedea în viitor tot mai mulți roboți care vor fi
implicați în subiecte de genul acesta [SIN10] [BER15] [ZHA19].
Majoritatea insectelor dăunătoare atacă plantele imediat după eclozare, când intră în fruct,
poartă epiderma frunzelor și a tulpinilor. Dacă nu sunt controlate eficient, insectele se vor
înmulți rapid și vor compromite întreaga cultură într-un timp foarte scurt [RES09].
Pentru a reduce daunele cauzate de acele insecte dăunătoare, un prim pas important ar fi
identificarea la timp a semnelor unui atac și administrarea eficientă a tratamentelor pentru a le
combate.
În lucrarea prezentă, ne propunem să detectăm și să clasificăm patru tipuri de insecte
comune în livezile din România: 1. Clasa1: Cydia Funebrana [GBI01]; 2. Clasa2: Euproctis
Chrysorrhoea [GBI01]; 3. Clasa3: Halyomorpha Halys [GBI01]; 4. Clasa4: Vespula Germanica
[GBI01]. Pentru a realiza acest lucru, vom folosi o metodă de învățare prin transfer, bazată pe
rețeaua neuronală convolutională (CNN) AlexNet. Învățarea prin transfer este cunoscută pentru
a obține o precizie mai bună, o tehnică în învățarea profundă, unde cunoștințele învățate ale
unei rețele pentru o anumită problemă sunt utilizate ca bază pentru o altă problemă.
Cunoștințele învățate includ parametrii rețelei.
Învățarea prin transfer este frecvent utilizată într-o problemă de optimizare sau clasificare
atunci când este necesară obținerea unei precizii ridicate într-un interval de timp limitat. În cazul
clasificării insectelor, învățarea prin transfer este soluția potrivită pentru a obține o precizie
ridicată din cauza unei dimensiunii reduse a setului de imagini pe care îl vom prelucra. Deoarece
procesul de învățare profundă necesită o cantitate ridicată de imagini pentru instruirea rețelei,
învățarea prin transfer a fost utilizată pentru a antrena rețeaua predeterminată.

4
2. Stadiul actual în domeniul prelucrării seturilor de imagini
folosind rețele neuronale convoluționale

Rețeaua neuronală convoluțională (CNN) reprezintă o clasă de rețea neuronală dinamică


(DNN) din domeniul învățării profunde care a fost utilizată în vederea computerizată și alte studii
conexe. CNN este construit pentru a avea o singură intrare, mai multe straturi ascunse, care
includ de obicei straturi convoluționale, straturi de tipul ReLU, straturi Max-Pooling, straturi
complet conectate și o singură ieșire. Cea mai importantă caracteristică este că rețeaua
neuronală convoluțională utilizează mai puțin preprocesarea și returnează rezultate
remarcabile, a căror performanță este determinată de calitatea imaginilor de intrare,
dimensiunea datelor și numărul de clase dorit [ZHU20].
Legat de modul de prelucrare a imaginilor pe care l-am ales - AlexNet - există și alte rețele
neuronale convoluționale care ar putea fi folosite pentru a ajuta la clasificarea celor patru clase
de insecte pe care le-am ales. Sunt considerate a avea o performanță mai ridicată față de
AlexNet, cu o arhitectură mai avansată și mai eficiente. Acestea sunt: GoogLeNet (2014),
VGGNet (2014) și FractalNet (2016) [LU17][ZAH18].

GoogLeNet (2014)
Este o altă rețea neuronală convoluțională formată din 22 de straturi adânci și 27 de straturi
Max-Pooling incluse. Folosește o versiune pre-antrenată a rețelei instruite din două seturi de
date: ImageNet sau Places365. Primul set de date, ImageNet ar putea clasifica setul de date de
imagine în 1000 de categorii de obiecte, cum ar fi telefoane, televizoare, laptopuri sau specii de
animale. Places365 face practic același lucru, dar împarte imaginile în 365 de zone diferite, cum
ar fi câmpul, parcul, pista și holul. Similar cu AlexNet, putem reinstrui GoogLeNet pentru a
efectua alte sarcini aplicând învățarea prin transfer. În acest moment, există trei versiuni ale
acestei rețele neuronale numite Inception, versiunea 1, 2 și 3 [SZE15] [ZHA21].
GoogLeNet este construită cu un total de nouă blocuri inițiale și medie ponderată globală
pentru a genera estimări. Blocul de început este format din patru straturi paralele. Primele trei
căi utilizează straturi convoluționale cu dimensiuni ale ferestrelor de 1 × 1, 3 × 3 și 5 × 5 pentru
a extrage informații din diferite dimensiuni spațiale. Cele două căi din mijloc realizează o
convoluție 1 × 1 la intrare pentru a reduce numărul de canale, reducând complexitatea
modelului. Cea de-a patra cale folosește un strat de medie ponderată 3 × 3, urmat de un strat
convoluțional 1 × 1 pentru a schimba numărul de canale. Cele patru căi utilizează o mantă
5
adecvată pentru a da intrării și ieșirii aceeași înălțime și lățime. În cele din urmă, ieșirile de-a
lungul fiecărei căi sunt concatenate de-a lungul dimensiunii canalului și cuprind ieșirea blocului
[SZE15][ZAH18][ZHA19].

Figura 1. Arhitectura GoogLeNet [ZHA19]

6
VGG (2014)
VGG este o rețea neuronală convoluțională (CNN) care conține 16 straturi, proiectată de K.
Simonyan și A. Zisserman de la Universitatea din Oxford. Este știută drept una dintre arhitecturile
de top, prezentată la ILSVRC-14. Se diferențiază de AlexNet înlocuind unul câte unul filtrele de
nucleu de dimensiuni mari. Procesul de instruire pentru o astfel de rețea a durat săptămâni și a
folosit GPU-urile NVIDIA Titan Black. Modelul a obținut o precizie de 92,7% în timpul testelor cu
ImageNet, care este un set de date de imagini cu peste 14 milioane de obiecte reprezentând
aproximativ 1000 de clase [SIM15][QAS18][KAN19].
Stratul de intrare are dimensiunea fixă a imaginii RGB, dimensiunea 224 x 224. Imaginea este
filtrată printr-un lot de straturi convoluționale, unde filtrele au fost utilizate cu un câmp receptiv
mic: 3 × 3 (reprezentând cea mai mică dimensiune pentru a capta noțiunea de stânga / dreapta, sus
/ jos, centru). Într-una dintre configurații, folosește și filtre de convoluție 1 × 1, care pot fi văzute ca
o transformare liniară a canalelor de intrare (urmată de neliniaritate). Pasul de convoluție este fixat
la 1 pixel; umplerea spațială a stratului de convoluție este astfel încât rezoluția spațială este păstrată
după convoluție. Regruparea spațială este realizată de cinci straturi de regrupare maximă, care
urmează unele dintre straturile convoluționale. Combinarea maximă se realizează pe o fereastră de
2 × 2 pixeli, cu pasul 2 [SIM15][QAS18][ZAH18][KAN19].
Trei straturi complet conectate (FC) urmează un teanc de straturi convoluționale (care are o
adâncime diferită în diferite arhitecturi): primele două au 4096 canale fiecare, al treilea efectuează
o clasificare ILSVRC cu 1000 de căi și conține astfel 1000 de canale (unul pentru fiecare clasă). Stratul
final este stratul softmax. Configurarea straturilor complet conectate este aceeași în toate rețelele
[SIM15] [QAS18] [ZAH18] [KAN19].
Toate straturile ascunse sunt echipate cu neliniaritatea de rectificare (ReLU). De asemenea,
se remarcă faptul că niciuna dintre rețele (cu excepția uneia) nu conține Local Response
Normalization (LRN), o astfel de normalizare nu îmbunătățește performanța pe setul de date ILSVRC,
dar duce la creșterea consumului de memorie și a timpului de calcul [SIM15][QAS18][KAN19 ].

7
Figura 2. Arhitectura VGG16 [BLI16]

FractalNet (2016)
FractalNet este un exemplu de rețea neuronală convoluțională care elimină conexiunile
reziduale în beneficiul designului fractal. Principiul de lucru este că se aplică în mod repetat o ordine
simplă de extindere pentru a produce rețele profunde ale căror arhitecturi structurale sunt fractale,
trunchiate cu precizie. Aceste rețele poartă sub-părți interacționale de lungimi diferite, dar nu includ
nicio conexiune de trecere sau reziduală; fiecare semnal intern este remodelat de un filtru și
neliniaritate înainte de a fi aplicat de straturile ulterioare. Această proprietate se află la polul opus,
cu abordarea structurării rețelelor foarte profunde, astfel formarea este o problemă de învățare
reziduală. Modelul de proiectare fractală atinge o rată de eroare de 22,85% pe CIFAR-100,
potrivindu-se cu starea actuală deținută de rețelele reziduale. Rețelele fractale dezvăluie proprietăți
interesante dincolo de performanțele lor ridicate. Ele pot fi văzute ca o rezolvare a problemelor,
unirea eficientă a subrețelelor de adâncime [LAR16][LAR17][NAS18].

8
Figura 3. Arhitectura rețelei fractale [LAR17]

3. Metodologie specifică și implementare

Imaginile pe care le-am folosit pentru învățare, testare și clasificare au fost preluate de pe site-
ul Global Biodiversity Information Facility. GBIF - Global Biodiversity Information Facility - este o
rețea internațională și o infrastructură de date finanțată de guvernele lumii și menită să ofere oricui,
oriunde, acces deschis la date despre toate tipurile de viață de pe Pământ [GBI01].
Coordonată prin secretariatul său de la Copenhaga, rețeaua GBIF a țărilor și organizațiilor
participante, care lucrează prin noduri participante, oferă instituțiilor care dețin date din întreaga
lume standarde comune și instrumente open-source care le permit să împărtășească informații
despre locul și momentul în care au fost înregistrate. Aceste cunoștințe derivă din mai multe surse,
inclusiv de la specimene de muzeu colectate în secolele al XVIII-lea și al XIX-lea până la fotografii ale
smartphone-urilor, împărtășite de naturaliștii amatori în ultimele zile și săptămâni [GBI01].
Drona utilizată pentru captarea imaginilor este UAV Hexacopter Dji Matrice 600 PRO, cu cameră
atașată. Antrenarea rețelei neuronale a fost efectuată utilizând un laptop HP Pavilion 15-e000,
alimentat de Intel Core i5-3230M, procesor dual-core la o viteză de bază de 2,6 GHz până la 3,2 GHz
cu tehnologie Turbo Boost, care funcționează pe Windows 10-x64 cu GPU Intel HD Graphics 4000.
Are un ecran de 15,6 inch BrightView cu iluminare LED cu o rezoluție de 1366 x 768 pixeli.
Ideea generală este de a utiliza cunoștințele pe care un model le-a învățat dintr-o sarcină cu o
cantitate mare de date de formare etichetate într-o nouă sarcină care nu are multe date. În loc să
9
începem procesul de învățare de la zero, începem cu modele învățate din rezolvarea unei sarcini
conexe.
În învățarea prin transfer, cunoașterea unui model de învățare automată deja instruit va fi
aplicată unei probleme diferite, dar similare. De exemplu, dacă ați antrenat un clasificator simplu
pentru a prezice dacă imaginea conține un laptop, ați putea folosi cunoștințele pe care modelul le-
a câștigat în timpul antrenamentului său pentru a recunoaște alte obiecte precum televizoarele.
Aplicând învățarea prin transfer, încercăm, în esență, să folosim ceea ce a fost învățat anterior
în timpul unei sarcini pentru a îmbunătăți abstractizarea în alta. Practic, măsurile și cunoștințele pe
care le-a dobândit sistemul A vor fi aplicate sistemului B.
În studiul nostru de caz, am selectat patru dintre cei mai comuni invadatori de insecte care se
găsesc în livezile românești și au cauzat o mulțime de probleme fermierilor, prin compromiterea
unei cantități semnificative de fructe, cum ar fi mere, piersici, pere, prune etc. Cele 4 clase de insecte
pe care le vom clasifica în urma procesării imaginilor preluate de UAV sunt:

Figura 4. Cele 4 clase de insecte sunt: 1. Clasa1: Cydia Funebrana [GBI01]; 2. Clasa2: Euproctis
Chrysorrhoea [GBI01]; 3. Clasa3: Halyomorpha Halys [GBI01]; 4. Clasa4: Vespula Germanica
[GBI01].

Numărul de imagini care urmează să fie procesate este următorul: Cydia Funebrana - 171
imagini; Euproctis Chrysorrhoea - 128 imagini; Halyomorpha Halys - 200 de imagini; Vespula
Germanica - 200 de imagini.
Pentru a putea detecta cele 4 tipuri de insecte, vom utiliza rețeaua neuronală convoluțională
AlexNet. Organigrama întregului proces este prezentată mai jos:

10
Setul de imagini de prelucrat

Redimensionarea imaginilor (227x227)

Îmbunătățirea imaginilor

Instruirea rețelei neuronale utilizând AlexNet

Instruire terminată

Testarea rețelei

Redimensionarea imaginii
Toate imaginile din setul de date pentru insecte sunt redimensionate în funcție de stratul de
intrare al rețelei neuronale convoluționale AlexNet. În acest caz, rețeaua pre-antrenată AlexNet este
alocată pentru clasificarea imaginilor care are o dimensiune de intrare de 227 x 227. Prin urmare,
toate imaginile din setul de date obținut vor fi redimensionate la 227 x 227.
Îmbunătățirea datelor
Îmbunătățirea datelor de prelucrat este un proces în care cantitatea de seturi de date crește,
făcând copii ale setului de date original. Aceste copii sunt o versiune ușor modificată a imaginilor
originale și sunt obținute prin transformare geometrică a imaginilor originale. Aceste transformări
geometrice includ rotația imaginii, scalarea imaginii, translația imaginii și reflectarea imaginii. În
această lucrare clasificare a imaginilor, creșterea datelor este necesară deoarece există foarte
puține imagini pentru instruirea rețelei pre-antrenate [SHO19].
Rețea neuronală convoluțională AlexNet
AlexNet este considerată o rețea „stat-of-the-art” în tehnica de învățare automată și viziune
computerizată în rata de precizie a recunoașterii. Are un total de 8 straturi, dintre care cinci sunt
straturi convoluționale, unele având straturi Max-Pooling, iar celelalte trei sunt straturi complet
conectate. Utilizarea funcției de activare a saturației ReLU nu este o coincidență, deoarece
performanța de antrenare a fost îmbunătățită în cazul funcțiilor matematice tanh și sigmoid
[ALO18].

11
Figura 5. Arhitectura AlexNet: Convoluție, Ponderea maximă, Răspunsul Local Normalizat și
Straturi complet conectate

Parametrii de evaluare
În scopuri de evaluare, s-au utilizat parametrii statistici, inclusiv acuratețea, precizia și
sensibilitatea și scorul F1. Acești parametri sunt utilizați pe scară largă pentru analiza sistemelor de
clasificare și sunt enumerați mai jos:

12
Parametri Formula Numărul ecuației

Acuratețea
TP + TN (3.1)
(ACC) ACC = 100
(TP + FN + TN + FP )

Precizia TP
PRE = (3.2)
(PRE) TP + FP

Sensibilitatea TP
SEN = (3.3)
(SEN) TP + FN

Scorul F1
TP (3.4)
F1 =
(F1) FP + FN
TP +
2

Unde TP este adevărat pozitiv, FN este fals negativ, TN este adevărat negativ și FP este fals pozitiv,
valori ale sistemului de clasificare. Detaliile acestor parametri statistici sunt date mai jos:
Acuratețea
Acuratețea este definită ca un raport între numărul de subiecți detectați corect și numărul total
de subiecți. Reprezintă o măsură pentru determinarea capacității de clasificare a modelului. Adesea,
comportamentul său este monitorizat pe un grafic în timp real, în cadrul unei etape de antrenare a
rețelei.

Precizia
Precizia ne spune cât de exact și de corect este un model de clasificare. Precizia este oferită de
măsurarea pozitivului real din valorile prezise adevărate. Precizia este utilizată pe scară largă pentru
a măsura corectitudinea sistemelor de clasificare a semnalului, mai ales atunci când valoarea falsului
pozitiv este mai mare.

Sensibilitate
Evaluarea clasificatorului în aplicații de recunoaștere a modelelor și clasificare binară este
cunoscută sub numele de sensibilitate și este definită ca raportul dintre valorile adevărate pozitive
și cele al sumei adevăratelor pozitive și fals negative. În esență, estimează câte dintre valorile
adevărat pozitive ale modelului de clasificare sunt cu adevărat clasificate.

Scorul F1
Scorul F1 este o funcție atât a preciziei, cât și a sensibilității. Este un parametru important în
evaluare statistică pentru a înțelege diferența dintre precizie și acuratețe. Scorul F1 poate fi un calcul
util în cazul în care există nevoia de echilibru între precizie și sensibilitate și este cel mai utilizat în
cazul distribuției inegale a claselor.

13
4. Rezultate experimentale

După aproximativ 25 de minute de funcționare, rețeaua a terminat procesarea ciclului de


imagini. Un total de 16 epoci, 24 de imagini pe epocă, au fost prelucrate pentru a evidenția eficiența
metodei de învățare prin transfer utilizând rețeaua neuronală convoluțională AlexNet. Sistemul a
atins o rată medie de precizie 95,69%. Cu cât au fost procesate mai multe imagini, cu atât precizia a
avut o pondere mai ridicată și pierderile au fost din ce în ce mai mici.

Figura 6. Evoluția în timp a procesării setului de imagini

Evaluarea statistică a parametrilor

98
97,5
97
96,5
96
95,5
95
94,5
94
93,5
Accuracy Precision Sensitivity F1 score

Figura 6. Evaluarea statistică a parametrilor

14
Următoarele rezultate reprezintă performanța parametrilor anterior definiți:
• Acuratețea = 97,85%;
• Precizia = 95%;
• Sensibilitatea = 96,25%;
• Scorul F1 = 95,55%.

Tabelul 1. Matricea de confuzie pentru validarea rezultatelor procesate de sistem

Clasificarea
Clasa 1 Clasa 2 Clasa 3 Clasa 4
generală

Clasa 1 49 2 51

Clasa 2 1 34 2 1 38

Clasa 3 60 60

Clasa 4 1 2 57 60

Adevărul
51 34 66 58 209
general

Tabelul 2. Rezultatele statistice pentru fiecare dintre cele 4 clase

Scorul
Acuratețea Precizia Sensibilitatea N N
Clasa F1
[%] [%] [%] adevărat clasificat
[%]
1 98.09 96.08 96.08 96 51 51
2 98.09 89.5 100 100 34 38
3 97.13 100 90.1 91 66 60
4 98.09 95 98.3 98 58 60

15
Tabelele ne-au arătat că ponderea cazurilor în care rețeaua a returnat erori a fost foarte mică,
acest lucru demonstrând că algoritmul utilizat a fost capabil să identifice cu o precizie ridicată
speciile de insecte. Cu cât se vor adăuga mai multe clase de insecte, cu atât va fi mai mare
probabilitatea ca sistemul să returneze și mai multe erori sau precizia acestuia să scadă. Rezultatele
testelor depind mult de asemănările dintre insecte și de numărul de imagini clare adunate cu
ajutorul UAV-urilor din livadă. Un artificiu pe care l-am putea face pentru a obține o precizie mai
bună, sistemul ar putea reitera datele existente și pe cele noi.
Pentru a putea vedea care este performanța rețelei neuronale convoluționare AlexNet, am
realizat o comparație cu alte rețele neuronale convoluționale existente pe piață și considerate
superioare AlexNet. Rezultatele au fost prelucrate în următorul tabel:
Tabelul 3. Compararea performanțelor altor rețele neuronale convoluționale cu AlexNet

Indicele de AlexNet GoogLeNet VGG ResNet50


performanță [%] [%] [%] [%]
Acuratețea 97.85 99.39 90.4 99.15
Precizia 95 99.29 - 98.94
Sensibilitatea 96.25 99.12 - 98.72
Scorul F1 95.55 99.2 - 98.82

Aria de sub grafic 99.28 99.2 - 99.55

Timpul (minute) 94.17 133.15 - 476.78

5. Concluzii

Învățarea prin transfer este frecvent utilizată într-o problemă de optimizare sau clasificare atunci
când este necesară obținerea unei precizii ridicate într-un interval de timp limitat. În această lucrare
de clasificare a celor 4 tipuri de insecte, învățarea prin transfer s-a dovedit eficientă ținând cont de
numărul mic de imagini pe care le-am avut la dispoziție, aproximativ 400 de imagini pe care le-am
împărțit atât pentru prelucrare cât și pentru testare. Deoarece învățarea profundă necesită o
cantitate imensă de date pentru instruire, învățarea prin transfer poate folosi acest model pentru a
instrui rețeaua pre-antrenată pe un set de date mic. După compararea rezultatelor din Tabelul 3,
AlexNet arată performanțe satisfăcătoare, luând în considerând că celelalte tipuri de rețele sunt
considerate foarte rețele convoluționale de top, cu o arhitectură complexă. Putem admite că
modelele mai avansate nu depășesc cu mult performanțele rețelei AlexNet, dat fiind faptul că am
folosit un număr mic de imagini pentru a fi procesate (aproximativ 400 de imagini). Se poate
concluziona că învățarea prin transfer utilizând AlexNet poate fi considerată un instrument puternic
atunci când este necesară obținerea unei precizii ridicate folosind un număr redus de imagini de
procesat.

16
6. Anexe

Codul MATLAB utilizat pentru instruirea rețelei

clc
clear
close all

imds=imageDatastore('D:\','FileExtensions','.png', ...
'IncludeSubfolders',true, ...
'LabelSource','foldernames');

[imdsTrain,imdsValidation]=splitEachLabel(imds,0.7,'randomized');

augimdsTrain=augmentedImageDatastore([227,227],imdsTrain);
augimdsValidation=augmentedImageDatastore([227,227],imdsValidation);

net=alexnet;
layersTransfer=net.Layers(1:end-3);
numClasses=numel(categories(imdsTrain.Labels));

layers=[
layersTransfer
fullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)
softmaxLayer
classificationLayer];
miniBatchSize=20;
valFrequency=floor(numel(augimdsTrain.Files)/miniBatchSize);

options=trainingOptions('sgdm', ...
'MiniBatchSize',miniBatchSize, ...
'MaxEpochs',16, ...
'InitialLearnRate',1e-4, ...
'Shuffle','every-epoch', ...
'ValidationData',augimdsValidation, ...
'ValidationFrequency',valFrequency, ...
'Verbose',false, ...
'Plots','training-progress');

netTransfer=trainNetwork(augimdsTrain,layers,options);
[YPred,scores]=classify(netTransfer,augimdsValidation);
YValidation=imdsValidation.Labels;
accuracy=mean(YPred == YValidation);

figure('Units','normalized','Position',[0.2 0.2 0.4 0.4]);


cm = confusionchart(YValidation,YPred);
cm.Title = 'Confusion Matrix for Validation Data';
cm.ColumnSummary = 'column-normalized';
cm.RowSummary = 'row-normalized';

17
Codul MATLAB utilizat pentru testare

clc
clear
close all

[FileName, PathName] = uigetfile({'*.png'},'File Selector');


I =imread(fullfile(PathName,FileName));

I = imresize(I,[227 227]);
load TrainedNetwork.mat
[YPred,scores] = classify(netTransfer,I);

figure
imshow(I)
title(YPred)

7. Referințe
[1] Agnieszka Mikołajczyk, Michał Grochowski. 2018. „Data augmentation for improving deep learning in image
classification problem.”
[2] Ard Nieuwenhuizen, Jochen Hemming, Hyun Suh. 2018. „Detection and classification of insects on stick-traps
in a tomato crop using Faster R-CNN.”
[3] Barnard, Peter C. 2011. Royal Entomological Society Book of British Insects, 1st edition. Wiley-Blackwell.
[4] Bo Jiang, Jinrong He, Shuqin Yang, Hongfei Fu, Tong Li, Huaibo Song, Dongjian He. 2019. „Fusion of
machine vision technology and AlexNet-CNNs deep learning network for the detection of postharvest apple
pesticide residues.”
[5] Bruno Tinen, Jun Okamoto Junior. 2019. „Transfer learning of ImageNet Object Classification Challenge.”
[6] Charles Triplehorn, Norman F. Johnson. 2005. Borror's Introduction to the Study of Insects 7th Edition.
[7] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan,
Vincent Vanhoucke, Andrew Rabinovich. 2015. „Going Deeper with Convolutions.”
[8] Connor Shorten, Taghi M. Khoshgoftaar. 2019. „A survey on Image Data Augmentation.”
[9] Daniel P. Bebber, Tim Holmes, Sarah Jane Gurr. 2014. „The global spread of crop pests and pathogens.”
[10] Denan Xia, Peng Chen, Bing Wang, Jun Zhang, Chengjun Xie. 2018. „Insect Detection and Classification
Based on an Improved Convolutional Neural Network.”
[11] Elisabeth Jullien, Jerome Jullien. 2016. Plant diseases and pests. Diagnosis and treatment, 2nd edition.
MAST.
[12] Gao Huang, Zhuang Liu, Geoff Pleiss, Laurens van der Maaten, Kilian Q. Weinberger. 2020. „Convolutional
Networks with Dense Connectivity.”
[13] Gustav Larsson, Michael Maire, Gregory Shakhnarovich. 2017. „FRACTALNET: ULTRA-DEEP NEURAL
NETWORKS WITHOUT RESIDUALS.” ICLR 2017.
[14] Haoyu Xu, Zhenqi Han, Songlin Feng, Han Zhou, Yuchun Fang. 2018. „Foreign object debris material
recognition based on convolutional neural networks.”
[15] Himansu Das, Chittaranjan Pradhan, Nilanjan Dey. 2020. Deep Learning for Data Analytics, 1st edition.
Academic Press.
[16] Hsiao-Chi Li, Zong-Yue Deng, Hsin-Han Chiang. 2020. „Lightweight and Resource-Constrained Learning
Network for Face Recognition with Performance Optimization.”
[17] Hussam Qassim, Abhishek Verma, David Feinzimer. 2018. „Compressed Residual-VGG16 CNN Model for
Big Data Places Image Recognition.”
[18] Ian Goodfellow, Yoshua Bengio, Aaron Courville. 2016. Deep learning. Cambridge, Massachusetts: The MIT
Press.
[19] Iandola, Forrest N. 2016. „Exploring the Design Space of Deep Convolutional Neural Networks at Large
Scale.”
[20] Kang, Hyeong-Ju. 2019. „Real-Time Object Detection on 640x480 Image With VGG16+SSD.” 2019
International Conference on Field-Programmable Technology (ICFPT), 419-422.
18
[21] Le Lu, Yefeng Zheng, Gustavo Carneiro, Lin Yang. 2017. Deep Learning and Convolutional Neural Networks
for Medical Image Computing. Springer.
[22] Loris Nanni, Gianluca Maguolo, Fabio Pancino. 2019. „Insect pest image detection and recognition based on
bio-inspired methods.”
[23] Marcel Bergerman, Silvio M. Maeta, Ji Zhang, Gustavo Freitas. 2015. „Robot Farmers: Autonomous Orchard
Vehicles Help Tree Fruit Production.” IEEE Robotics & Automation Magazine.
[24] Matheus Cardim Ferreira Lima, Maria Elisa Damascena de Almeida Leandro, Constantino Valero, Luis Carlos
Pereira Coronel, Clara Oliva Goncalves Bazzo. 2020. „Automatic Detection and Monitoring of Insect - A
Review.”
[25] Md Zahangir Alom, Tarek M. Taha, Chris Yakopcic, Stefan Westberg, Paheding Sidike. 2019. „A State-of-
the-Art Survey on Deep Learning Theory.”
[26] Md Zahangir Alom, Tarek M. Taha, Christopher Yakopcic, Stefan Westberg, Mahmudul Hasan, Brian C Van
Esesn, Abdul A S. Awwal, Vijayan K. Asari. 2018. „The History Began from AlexNet: A Comprehensive
Survey on Deep Learning Approaches.”
[27] MIROSLAV VALAN, KAROLY MAKONYI, ATSUTO MAKI, DOMINIK VONDRÁCEK, FREDRIK
RONQUIST. 2019. „Automated Taxonomic Identification of Insects with Expert-Level Accuracy Using
Effective Feature Transfer from Convolutional Networks.”
[28] Qin Zhang, Manoj Karkee, Amy Tabb. 2019. „The Use of Agricultural Robots in Orchard Management.”
Robotics and automation for improving agriculture, pp. 187-214.
[29] Reem Ibrahim Hasan, Suhaila Mohd Yusuf, Laith Alzubaidi. 2020. „Review of the State of the Art of Deep
Learning for Plant Diseases: A Broad Analysis and Discussion.”
[30] Samet Akcay, Mikolaj E. Kundegorski, Michael Devereux, Toby P. Breckon. 2016. „TRANSFER
LEARNING USING CONVOLUTIONAL NEURAL NETWORKS FOR OBJECT.” IEEE International
Conference on Image Processing (ICIP), pp. 1057-1061.
[31] Sanjiv Singh, Marcel Bergerman. 2010. „Improving Orchard Efficiency with Autonomous Utility Vehicles.”
[32] Sebastien C. Wong, Adam Gatt, Victor Stamatescu. 2016. „Understanding data augmentation for
classification: when to warp?”
[33] Shuai Peng, Hongbo Huang, Weijun Chen, Liang Zhang, Weiwei Fang. 2020. „More trainable inception-
ResNet for face recognition.” În Neurocomputing, Volume 411, 9-19.
[34] Skonski, Marek. 2019. „A comparison of deep convolutional neural networks for image-based detection of
concrete surface cracks.” Computer Assisted Methods in Engineering and Science, pp. 105–112.
[35] Thenmozhi Kasinathan, Dakshayani Singaraju, Srinivasulu Reddy Uyyala. 2020. „Insect classification and
detection in field crops using modern machine learning techniques.”
[36] Universitetsparken 15, DK-2100 Copenhagen, CVR no. 29087156. fără an. Global Biodiversity Information
Facility. https://www.gbif.org/.
[37] Valeria Maeda-Gutiérrez, Carlos E. Galván-Tejada, Laura A. Zanella-Calzada, José M. Celaya-Padilla, Jorge I.
Galván-Tejada, Hamurabi Gamboa-Rosales, Huizilopoztli Luna-García, Rafael Magallanes-Quintanar, Carlos
A. Guerrero Mendez, Carlos A. Olvera-Olvera. 2020. „Comparison of Convolutional Neural Network
Architectures for Classification of Tomato Plant Diseases.”
[38] Vincent H. Resh, Ring T. Cardé. 2009. Encyclopedia of Insects 2nd Edition. Academic Press.
[39] Will Nash, Tom Drummond, Nick Birbilis. 2018. „A review of deep learning in the study of materials
degradation.”
[40] Yanfen Li, Hanxiang Wang, L. Minh Dang, Abolghasem Sadeghi-Niaraki, Hyeonjoon Moona. 2020. „Crop
pest recognition in natural scenes using convolutional neural networks.”

19

S-ar putea să vă placă și