• No results found

Classificació de plantes mitjançant tècniques de visió per computador i intel·ligència artificial

N/A
N/A
Protected

Academic year: 2022

Share "Classificació de plantes mitjançant tècniques de visió per computador i intel·ligència artificial"

Copied!
54
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

T reba ll F i de G rau

GRAU D’ENGINYERIA INFORMÀTICA

Classificació de plantes mitjançant tècniques de visió per computador i intel·ligència artificial

MIQUEL MIRÓ NICOLAU

Tutors

Pedro Bibiloni Serrano Gabriel Moyà Alcover

Escola Politècnica Superior

Universitat de les Illes Balears

(2)
(3)

S UMARI

Sumari i

Acrònims iii

Resum v

1 Introducció 1

1.1 Motivació . . . 1

1.2 Tècniques utilitzades . . . 2

1.3 Objectius . . . 3

1.3.1 Objectius específics . . . 5

1.4 Estructura de la memòria . . . 6

2 Consideracions prèvies 7 2.1 Requisits . . . 7

2.1.1 Requisits Funcionals . . . 7

2.1.2 Requisits no funcionals . . . 7

2.2 Planificació . . . 7

2.3 Entorn de programació . . . 8

2.3.1 Llenguatge de programació . . . 8

2.3.2 Llibreries . . . 8

2.3.3 Maquinària . . . 10

2.4 Base de dades . . . 11

2.4.1 Entorn de captura . . . 11

3 Shallow Learning 15 3.1 Binarització . . . 15

3.1.1 Otsu . . . 15

3.1.2 Watershed . . . 19

3.2 Característiques . . . 23

3.3 Classificadors . . . 23

3.4 Resultats . . . 24

3.4.1 SVM . . . 25

3.4.2 Gradient Boosting . . . 27

3.4.3 Multi-layer perceptron . . . 28

4 Deep Learning 29

(4)

ii SUMARI

4.1 Tècniques per evitaroverfitting . . . 31

4.2 Data augmentation . . . 32

4.2.1 Estructura de la xarxa . . . 33

4.3 Transfer learning . . . 36

4.3.1 Fine tuning . . . 37

4.4 Imatges amb fons diferents . . . 38

4.5 Conclusionsdeep learning . . . 39

5 Conclusions 41 5.1 Shallow learning vs Deep learning . . . 41

5.2 Resultats . . . 42

5.3 Assoliment dels objectius . . . 43

5.4 Reflexions sobre aprenentatge màquina . . . 43

5.4.1 Més enllà . . . 44

Bibliografia 45

(5)

A CRÒNIMS

TFG Treball Final de Grau IA Intel·ligència Artificial

ML Aprenentatge màquina (en anglèsMachine Learning) DL Aprenentatge profund (en anglèsDeep Learning) SL Aprenentatge superficial (en anglèsShallow Learning)

HSV Tonalitat, saturació, valor (en anglèsHue, Saturation, Value)

CNN Xarxes neuronals convolucionals (en anglèsConvolutional Neural Network) NN Xarxa neuronal (en anglèsNeural network)

SVM Màquina de suport vectorial (en anglèsSuport Vectorial Machine) RGB Vermell, Verd , Blau (en anglèsRed Green Blue)

GB Potenciador del gradient (en anglèsGradient Boosting) RF Boscs aleatoris (en anglès Random Forest)

CV Visió per computador (en anglès Computer Vision)

MLP Perceptró en multicapes (en anglès Multi-layer perceptron)

CPU Unitat de processament de computació (en anglès Computer Process Unit) GPU Unitat de processament gràfic (en anglès Graphical Process Unit)

RAM Memòria d’accés aleatori (en anglès Random Acces Memory)

(6)
(7)

R ESUM

La utilització de tècniques de visió per computació i intel·ligència artificial a la ruralia mallorquina és unrara avis. La millora en la identificació de les plantes comporta múltiples beneficis, des d’una reducció de costos econòmics a la reducció de malalties.

Per assolir la creació un classificador de plantes autòctones, s’ha duit a terme un procés d’anàlisi de la colorimetria de la fulla. Una vegada fet aquesta anàlisi hem emprat els dos tipus d’algorisme d’aprenentatge màquina, els algorismes d’aprenentatge profund i els d’aprenentatge superficial.

Les tècniques d’aprenentatge superficial necessiten l’extracció manual de carac- terístiques. Aquestes característiques s’han d’extreure de l’objecte en sí, i no de tota la imatge. Les característiques de les que aprèn es algorismes són calculades a partir de la binarització. La duim a terme amb fotografies amb fons blanc i aplicant-hi diver- ses tècniques de visió per computació: els algorismes d’Otsu,Watershedi operacions morfològiques.

La tècnica principal d’aprenentatge profund són les xarxes neuronals, estructures caracteritzades per tractar grans quantitats d’informació d’una forma jeràrquica. La principal avantatge d’aquesta tècnica és la capacitat d’aprendre sense una extracció manual de característiques alhora que la seva capacitat de generalització. La genera- lització és la base d’un dels darrers experiments que realitzam, canviar el fons de les fotografies amb textures naturals. A causa de les poques dades que tenim, hem necessi- tat tècniques per evitar l’overfitting. Hem emprat principalmentdata augmentationi transfer learning.

Els resultats obtinguts després d’emprar les dues tècniques és satisfactori, obtenint en el cas del superficial un 85%, i en el cas del profund, un 90%.

(8)
(9)

C

APÍTOL

1

I NTRODUCCIÓ

En aquest Treball Final de Grau (TFG) pretenem mitjançant tècniques de Visió per computador (en anglès Computer Vision) (CV) i Intel·ligència Artificial (IA) crear un software amb la capacitat de classificar plantes. En el present capítol trobarem la motivació que ens ha duit a intentar resoldre aquest problema, els objectius que volem assolir i una primera aproximació a les tècniques de IA que utilitzam.

1.1 Motivació

La substitució de l’agricultura com a activitat econòmica principal de les Illes Balears cap al turisme durant la segona meitat del segle XX ha transformat profundament la societat [1]. Així la desaparició de la pagesia com a treball a temps complet ha provocat la pèrdua de la major part del coneixement agrícola.

Davant aquesta problemàtica. la utilització de tècniques de CV i IA permeten subs- tituir el buit formatiu que la major part de la població té sobre el món rural. Aquest buit neix com a conseqüència de les migracions del camp a la ciutat que han ocorregut des de la revolució industrial. Ara bé, l’agricultura segueix sent un sector indispensable pel desenvolupament humà.

L’automatització de l’agricultura sembla que encara no ha arribat al mateix nivell que d’altres sectors econòmics. Una aplicació molt interessant de l’aprenentatge au- tomàtic en l’agricultura seria la identificació de malalties. La detecció de malalties existents fins ara es basen en un software molt específic, depenent dels diferents tipus de planta [2]. Així, consideram que una primera passa cap aquest projecte (que surt de l’àmbit d’aquest TFG) és intentar crear un classificador de plantes acurat.

Una altre motivació del present treball és el fet que una de les necessitats primor- dials en la ruralia és la capacitat d’identificar les diferents plantes, aquesta necessitat s’ha intensificat durant les darreres dècades per l’aparició de fitosanitaris cada vegada més específics. Aquests presenten unes dosis cada vegada més diferenciades segons la planta a tractar. Per altra part la majoria dels fitosanitaris actuals estan enfocats a un

(10)

1. INTRODUCCIÓ

cultiu en concret, aquest fet fa que si obvies una bona identificació de la planta pots acabar matant-la.

Consideram que el conjunt de reptes actuals que enfronta el sector podrien ser mitigats mitjançant el software que hem creat.

1.2 Tècniques utilitzades

La realització d’una solució pel problema anteriorment exposat el farem mitjançant tècniques d’aprenentatge màquina. Aquestes tècniques són un subconjunt de la IA.

La IA és el camp de la informàtica que pretén crear màquines pensants, aquestes es caracteritzen per ser un agent racional que mitjançant l’anàlisi de l’entorn pren decisi- ons. Aquest és un camp molt ampli que té múltiples subdivisions, aquestes categories diferents s’observen en la figura 1.1. En aquest estudi nosaltres ens basam en el camp del Aprenentatge màquina (en anglèsMachine Learning) (ML).

Figura 1.1: Camps d’estudi de la IA.

Definim ML com el conjunt de tècniques que pretenen que un ordinador aprengui per ell mateix com resoldre una tasca. Per aconseguir-ho donam dades als programes i les resposta que esperam d’elles [3]. Totes aquestes tècniques segueixen un mateix procés de dues parts per aconseguir l’aprenentatge:

1. Entrenament. És el que provoca l’aprenentatge pròpiament dit. Consisteix en donar al programa una sèrie de dades, de les quals sabem el resultat esperat, aquestes dades reben el nom deGround Truth, i el programa intentarà minimitzar la diferència entre el resultat obtingut i l’esperat.

(11)

1.3. Objectius

2. Validació. Una vegada entrenat amb unes dades que no haguéssim utilitzat prè- viament observam quins resultats obté el nostre algorisme. És aquí quan podem detectar la existència d’Overfitting, és a dir, quan en lloc que l’algorisme obtengui una solució generalista obté una solució per les nostres dades en particular.

Utilitzam dos tipus de tècniques d’aprenentatge màquina:

1. Aprenentatge profund (en anglèsDeep Learning) (DL). És un subcamp molt específic del ML. Es caracteritza per l’existència de successives capes de repre- sentació d’informació. És a dir, són tècniques que tenen la capacitat d’aprendre característiques de la informació d’una forma jerarquitzada, obtenint representa- cions de baix nivell per, posteriorment, combinar-les en noves característiques d’alt nivell. Les tècniques modernes de DL involucren desenes o centenars de capes de representació i són utilitzades per resoldre problemes que fins ara havien estat molt complexos com, per exemple, la identificació d’objectes, el reconeixement de la parla, el reconeixement d’àudio, etc.

La tècnica més utilitzada de DL són les Xarxes Neuronals. S’anomenen així per la seva llunyana semblança amb l’estructura cerebral humana. Existeixen diferents tipus de xarxes que s’utilitzen segons la tipologia del problema. En l’àmbit de la CV les xarxes més utilitzades són les Xarxes neuronals convolucionals (en anglès Convolutional Neural Network) (CNN) .

2. Aprenentatge superficial (en anglèsShallow Learning) (SL). Conjunt de tècni- ques de ML que es caracteritzen per centrar-se únicament en aprendre una o dues capes de representació. Dit d’una altre forma, són les tècniques que en opo- sició a les xarxes neuronals tenen una menor capacitat de guardar, interpretar i extreure informació. Formen part d’aquesta categoria tècniques com el Naive bayes, Màquina de suport vectorial (en anglèsSuport Vectorial Machine) (SVM), Arbres de decisió, Boscs aleatoris (en anglès Random Forest) (RF) i mètodes ensamblats com el Potenciador del gradient (en anglèsGradient Boosting) (GB).

Aquestes dos tipus de tècniques presenten, a més, una diferència pràctica molt important: mentre que la primera per un funcionament òptim no es necessari fer cap tipus d’extracció manual de característiques, el SL sí que fa necessari un anàlisis acurat del problema per poder dur a terme l’extraccióhard-coded1. És a dir que mentre el DL funciona de forma completament autònoma i no és necessari un coneixement molt especialitzat del problema, quan empram SL, per poder tenir uns resultats òptims, es necessari un anàlisis molt específic del problema que condueixi a l’extracció manual de característiques.

1.3 Objectius

L’objectiu primari del projecte és la construcció d’un classificador de plantes. Aquest software utilitzarà tècniques de visió per computador i d’intel·ligència artificial. Es tractaria, per tant, d’un programa sense cap tipus d’interfície i útil per formar part del backendd’una aplicació futura (fet que no està inclòs dins l’àmbit d’aquest TFG).

1Tècnica consistent en que un l’extracció de característiques estàtiques

(12)

1. INTRODUCCIÓ

La idea més naïf seria fer una fotografia al conjunt del vegetal, ara bé, si observam els treball d’identificació d’espècies duit a terme per la botànica [4], constatam com s’empren parts concretes de la planta. Així, si separàssim la planta en una sèrie d’ele- ments constitutius bàsics ens hauríem de demanar quin dels quals té una diferència més marcada i alhora que sigui factible la seva captura en grans quantitats. En el nostre anàlisi previ vàrem considerar tres elements de cada planta, veure figura 1.2:

Figura 1.2: Parts d’una planta.

1. Flors. És un dels elements més heterogenis entre espècies i, alhora, molt homo- geni per cada tipus de planta, però les flors tenen un caràcter molt estacionari.

Aquest és un greu problema per poder dur a terme la captura d’una base de dades suficientment gran com per poder identificar les plantes. Des d’un altre punt vista, encara que poguéssim crear una base de dades funcional, la utilització del programa només es podria fer quan les plantes estan florides. Aquesta és una limitació molt gran per la utilitat pràctica d’aquest software.

2. Tija o Tronc. És la part de la planta que a priori presenta més problemes. Per una part hi ha menys soques que no pas fulles o flors: a més també en l’àmbit de la captura és molt més complexe tenir un entorn de captura controlat. Per altre part, les diferències morfològiques dels troncs són molt menors que la resta de parts de la planta.

3. Fulles. És l’element que presenta més condicions favorables. Des d’un punt de vista de la captura la seva mida ens permet fer una captura detallada dels detall de cada fulla. Té l’inconvenient que hi ha espècies de fulla caduca que fan impossible la seva captura durant la meitat de l’any.

Hem escollit les fulles com a element a analitzar per deduir de quina planta es tracta. El nostre objectiu és que el nostre programa pugui predir quin arbre és a partir de la fulla, però tenint en compte les limitacions que trobam en les diferències entre les fulles.

(13)

1.3. Objectius

Així, seria esperable que fos molt més senzill diferenciar entre dos arbres de diferents famílies com podrien serFicusiCítricque entre arbres de la mateixa família, com s’observa a la figura 1.3 . D’igual manera poder diferenciar entre plantes de certes famílies es molt més complexe que altres. Així totes les coníferes, com per exemple un pi mediterrani, són a priori impossibles de classificar degut a la forma de les fulles:

allargades, primes i molt homogènies a tota la família taxonòmica.

(a) Figuera,ficus (b) Taronger,cítric

Figura 1.3: Fulles de dues famílies diferents, com s’observa a les imatges són molt diferents.

A més, hem limitat l’espectre de les plantes a analitzar a les que podem trobar a Mallorca. Aquesta limitació conscient és així per dos motius:

1. Des d’un punt de vista tècnic, la manca d’una base de dades pública de qualitat fa que sigui nostra la responsabilitat de la captura i per tant estem limitats per la nostra geografia.

2. Una aplicació específica, tot i més limitada, presentarà uns resultats més acurats.

Així, davant la disjuntiva d’escollir entre una aplicació pitjor però més generalista i un altre més específica però alhora més acurada hem escollit la segona. Consi- deram que aplicar tècniques contrastades, com són la visió i la IA, a problemes locals és suficientment interessant per l’abast del nostre projecte.

1.3.1 Objectius específics

Els nostres objectius, més específicament, són els següents:

1. Classificació de plantes utilitzant tècniques de visió i IA.

(14)

1. INTRODUCCIÓ

2. Comparar el resultat d’aplicar les tècniques de SL i de CV en el nostre problema.

3. Traslladar tècniques globals a un entorn local. La IA s’utilitza a problemes molt elaborats i d’alt nivell, la possibilitat d’usar-la a problemes més específics és qualcom innovadora .

4. Crear un base de coneixement aplicada a la informàtica sobre la flora autòctona.

a) Crear una base de dades de fulles en un entorn controlat.

b) Crear una base de dades de fulles en un entorn no controlat.

5. Estudiar les limitacions de les aplicacions de la tecnologia actual al nostre pro- blema.

1.4 Estructura de la memòria

El segon capítol de la memòria, Consideracions prèvies, engloba des de la captura de requisits fins a l’entorn de captura de les fotografies. Al tercer capítol de la memòria, Aprenentatge superficial (en anglèsShallow Learning) (SL), hi explicam la utilització d’aquestes tècniques per resoldre el problema i hi discutim el seu rendiment. De la mateixa manera en el quart capítol exposam les tècniques de Aprenentatge profund (en anglèsDeep Learning) (DL). Finalment al darrer capítol feim una comparativa entre les dues tècniques i una reflexió sobre elles.

(15)

C

APÍTOL

2

C ONSIDERACIONS PRÈVIES

En el present capítol exposarem una sèrie de factors que hem tengut en compte en una fase inicial de la realització del projecte. Emmarcam dins aquest capítol la definició dels requisits i les restriccions, el raonament que hem duit a terme per escollir un llen- guatge de programació i les llibreries i també com hem sol·lucionat les problemàtiques resultants de la construcció de la base de dades.

2.1 Requisits

Els requisits del software no són molt extensos. Només tenim unstackholder, l’enginyer que utilitzi el servei.

La nomenclatura que empram és RF_XX pels funcionals , mentre que pels no funcionals RNF_XX.

2.1.1 Requisits Funcionals

RF_01:Identificar les espècies que formen part del sistema.

RF_02:Identificar més de deu espècies diferents.

2.1.2 Requisits no funcionals

RNF_01:Les fotografies a analitzar es realitzen en un entorn controlat.

RNF_02:Identificarem fulles que estiguin collides en menys d’un dia.

RNF_03:El temps d’execució no és rellevant.

2.2 Planificació

La solució del nostre projecte la feim en diferents etapes molt ben diferenciades.

(16)

2. CONSIDERACIONS PRÈVIES

1. Creació de la base de dades. El primer treball que realitzarem és la creació de la base de dades. Per fer-ho recollirem fotografies de més d’una dotzena d’espècies.

2. Visió. Farem un preprocessament de les fulles, extreient-ne dos tipus de d’infor- mació:

a) Extracció de les fulles. Separar els fons de les fulles per poder tractar-les sense el renou procedent del fons.

b) Anàlisi de les fulles. Extreure una sèrie de característiques per tal d’obtenir uns millors resultats.

3. IA. Finalment, aplicarem tècniques d’aprenentatge automàtic per classificar les diferents espècies.

a) Shallow learning. Aplicarem tècniques com SVM, GB, RF, etc.

b) Deep Learning. Aplicarem dos tipus de CNN,transfer learning1i la creació d’una xarxa des de zero.

c) Comparitiva. Comparar el rendiment entre SL i DL.

2.3 Entorn de programació

En aquesta secció explicam quines eines utilitzam per la implementació d’una solució informàtica i en justificam el seu ús.

2.3.1 Llenguatge de programació

L’elecció d’un llenguatge és determinant en el futur desenvolupament de qualsevol software. El nostre projecte té dues vessants, des d’un punt de vista informàtic, per una part tenim la CV i per altre la IA.

Els llenguatges que a priori semblen adequats per poder dur a terme aquest tipus de software són tres:Python,RiC++. Els dos primers són el que més s’utiltizen en la IA, mentre queC++és molt utilitzat en CV per la seva eficiència computacional. La comparació d’aquests llenguatges la realitzarem a través d’una sèrie d’ítems, que es troben a la taula 2.1.

Així com veim a la taula 2.1 sembla que a prioriPythonés el llenguatge més con- venient per dos motius: per una part per que el seu principal desavantatge, el temps d’execució ens es totalment indiferent, com ja hem explicat a la secció 2.1. L’altre motiu que l’explicarem a continuació és la importància de tenir llibreries disponibles tant de CV com de IA.

2.3.2 Llibreries

La utilització de llibreries simplifica el fet de trobar solucions per aquesta casta de problemes. Així, les llibreries ens permeten fer una sèrie de càlculs molt complexos

1Tècnica de DL, consistent en guardar informació obtinguda per resoldre un problema particular i utilitzar-la per un altre problema diferent

(17)

2.3. Entorn de programació

Python R C++

Eficiència Ineficient Ineficient Eficient

Codi a generar Poca quantitat Poca quantitat Molta quantitat

Executable Codi interpretat Codi interpretat Codi Compilat

Desenvolupament Àgil Àgil Lent

Llibreries de visió per computador Sí No Sí

CNN, xarxes especialitzades en visió Sí Sí No

Llibreries de inteligència artificial Sí Sí No

Taula 2.1: Taula comparativa entrePython,C++iR.

abstraient-nos d’ells. La majoria de tècniques d’aprenentatge màquina i visió serien massa complexes per poder-se construir complint els terminis temporals del TFG.

Un altre factor a tenir en compte és que mentre quePythonés un llenguatge poc eficient, les llibreries no ho són. És així perquè la majoria de les llibreries dePython estan programades en llenguatgeCfent que la execució sigui en codi natiu.

OpenCV

La bibliotecaOpenCV(Open Computer Vision) [5] és essencial pel projecte. La llibreria conté més de 2500 algorismes de visió, des d’algorismes clàssics fins a més innovadors.

La majoria de les tècniques de visió que empram les extreim d’OpenCV. També conté tota la funcionalitat necessària de processament d’imatges. A més pel seu estès ús, la quantitat de documentació existent es molt àmplia, alhora i per aquest mateix motiu també és una llibreria molt fiable i testejada. Tanmateix, hi ha operacions de visió que ,per la seva major senzillesa, les aplicam tractant la imatge com una matriu i aplicant-hi llibreries numèriques.

Numpy

Numpy[6] és una eina bàsica en qualsevol projecte utilitzantPythonde tractament d’imatges ja que és l’eina per realitzar càlculs amb vectors i matrius d’una manera eficient.Numpypermet crear un codi molt elegant ja que podem emprar la notació lambda per a càlculs2.

Quan OpenCVcarrega les imatges a memòria crea matriusNumpy, en el nostre projecte per tant feim un ús extensiu de la llibreria. A més també l’empram per aplicar thresholds3, retallar imatges i tractament de mascares.

Matplotlib

Llibreria [7] de generació de gràfiques 2D. Utilitzada per visualitzar els resultats dels experiments. Totes les representacions de dades que apareixen en aquest document són generades amb aquesta llibreria.

2Notació formal desenvolupada als anys 30 per Alonzo Church per expressar computació basada en l’aplicació i abstracció de funcions. En l’actualitat ha agafat notorietat per l’elegància del codi resultant d’emprarλ-càlcul

3Expressió anglesa traduïble a llindar. En el context de la CV fa referència a dividir la imatge a partir d’un cert valor de color, aquest valor és el que ens referim com athreshold.

(18)

2. CONSIDERACIONS PRÈVIES

CPU GPU

OpenCV Sí Sí

Numpy Sí No

MatplotLib Sí No

Scikit-learn Sí No

Keras (Depenent del backend) Sí Sí Taula 2.2: Ús de la GPU, CPU segons la llibreria.

Scikit-Learn

Llibreria de SL [8] que utilitzam per fer tots els càlculs d’aquesta índole. Es caracteritza per tenir la major part de les tècniques implementades i per presentar una API còmode i simple.

Les implementacions que empram de RF, SVM i Arbres de decisió que empram en aquest TFG són descikit-lean.

Keras

Kerasés una llibreria d’alt nivell de Xarxa neuronal (en anglèsNeural network) (NN) [9], escrita enPythonque fa cridades a altres llibreries. És, per tant, una capa d’abstrac- ció per sobre d’eines de més baix nivell comTensorFlow,CNTKoTheano. Aquestes llibreries en el context deKerasde baix nivell són conegudes combackend. És a dir és una capa d’abstracció que no realitza els càlculs de la llibreria en si , si no que ho delega albackend.

Elbackendque utilitzam ésTensorFlow, és així ja que és el backend que més compatibilitat té amb diferent maquinària, fet bàsic per la seva utilització intensiva de la Unitat de processament gràfic (en anglès Graphical Process Unit) (GPU). Aquesta diferència es causada per que les xarxes neuronals es basen en realitzar molts de càlculs lineals sobre les entrades, per tant, si utilitzem la capacitat de paral·lelisme propi de les gràfiques podem realitzar moltes més d’aquestes operacions alhora.

2.3.3 Maquinària

Les diferents llibreries que empram, segons la naturalesa dels càlculs que realitzen tenen optimitzacions diferents, d’aquestes n’hi ha que s’executen sobre la Unitat de processament de computació (en anglès Computer Process Unit) (CPU) i d’altres so- bretot GPU. És així per que en els casos com la IA que s’han de fer moltes operacions matemàtiques senzilles, utilitzar el paral·lelisme propi de les gràfiques és la millor solució.

L’execució enKerasd’un entrenament és molt més ràpida en GPU. Així, després de realitzar una sèrie d’experiments, hem observat com per realitzar l’entrenament d’un dataseten CPU necessitam unes 8 hores mentre que si ho executam amb GPU amb 1 hora és suficient. Per tant per poder fer un ús de DL és necessari un hardware més exigent que no quan feim SL. El SL fa ús de la CPU i de la Memòria d’accés aleatori (en anglès Random Acces Memory) (RAM) del sistema.

(19)

2.4. Base de dades

Per fer l’entrenament hem emprat un ordinador amb un hardware pensat per el DL.

Destaca especialment la seva gràfica, una Nvidia Tesla K20c. Les GPU d’aquesta família estan especialment dissenyades per càlcul paral·lelistic, ja que conté 2496 nuclis [10]. A més de la gràfica destaca també una CPU Intel I7 amb 16 GB de RAM.

2.4 Base de dades

Un dels elements amb més importància per poder dur a terme un algorisme d’apre- nentatge màquina és l’existència d’una base de dades de qualitat, ja que els algorismes de ML aprenen a partir de dades. En el nostre problema hem cercat a través de les xarxes una base de dades de fulles de flora mediterrània. Tanmateix, els resultats han estat minsos, així sí que hem trobat herbaris [11] però aquest tipus de base de dades no serveix per ML ja que només hi ha una fulla o dues per classe. D’altra banda, sí que hem trobatdatasetde fulles però cap d’espècies mediterrànies sinó de fulles atlàntiques, especialment dels Estats Units [12]. Davant aquesta problemàtica consideram com a única opció viable la creació d’una base de dades pròpia.

2.4.1 Entorn de captura

La primera aproximació que feim a l’aprenentatge màquina és a partir de fotografies molt controlades. Aquesta sèrie de restriccions és el que anomenam entorn de captura.

El disseny de l’entorn de captura l’hem realitzat a partir d’un estudi de la colometria de les fulles.

Figura 2.1: Fotografia típica en l’entorn de captura definit en aquest capítol.

(20)

2. CONSIDERACIONS PRÈVIES

Preprocessament

Per realitzar el preprocessament propi del SL és necessari separar la fulla i el seu entorn.

Aquesta separació la feim mitjançant característiques de color. És molt important, per tant, fer un estudi acurat del color de les fulles. Aquest estudi és el que anomenem colorimetria.

El color habitual de les fulles (en bon estat) és el color verd propi de la clorofil·la.

Tot i que existeixen espècies d’interior que sí que presenten un color vermell, com la Ponsètia, són casos molt aïllats. També la presència de fulles blaves a la natura si que es molt residual. Tenint aquesta idea en ment començam l’anàlisi de la colometria de les fulles.

Hem creat una sèrie de vistes per tal d’analitzar els diferents canals de les imatges (veure 2.2). Estudiam els models Vermell, Verd , Blau (en anglèsRed Green Blue) (RGB), Tonalitat, saturació, valor (en anglèsHue, Saturation, Value) (HSV) i LAB. Separam els models en canals en imatges individuals i intentam esbrinar quin dels canals és més procliu pel nostre objectiu. A priori consideram el canal verd de RGB com a canal a tractar, pel color de la la fulla com a contraposició del color negre, ja que en RGB no conté cap valor de verd. Ara bé, quan aplicam aquesta idea a la binarització no funciona correctament ja que la fulla no és homogènia i ens duu a l’error.

Figura 2.2: Canals de les imatges.

Una vegada descartat el fons negre, empram com a fons un blanc homogeni. Obser- vam com el que presenta una diferència més gran entre el fons i la fulla és el canal blau de l’espai RGB. Aquest comportament és lògic ja que, com hem explicat abans, el blau és un color estranyíssim en la natura. Per altra banda ja que al model RGB, el color verd i el blau són excloents, sabem que una imatge verda no tendrà cap valor o molt poc de blau.

Per l’elecció del canal, una altra informació a tenir en compte són els histogrames.

Un histograma és una representació on cada valor de la gràfica és proporcional a la freqüència dels valors representats. Per poder aplicar unthresholdacurat la informació que ens aporten els histogrames és bàsica. En la figura 2.3b observam com l’histograma

(21)

2.4. Base de dades

(a) Canal blau d’una figuera. (b) Histograma d’una imatge de fulla RGB.

Figura 2.3: Representacions d’una mateixa fulla.

presenta dos valor molt elevats. Per una part, el fons que són els valor que oscil·len al voltant del 200 (ja que el color blanc es 255) i la fulla que està sobre el valor 0 del canal blau, és a dir, que no conté pràcticament cap píxel de color blau. D’altre banda, si observam el canal blau directament, també es pot veure que la diferència és molt exagerada (veure figura 2.3a).

L’histograma ve a confirmar l’exposat fins ara, és a dir, que amb un fons blanc el canal que separa d’una manera més marcada fons i fulla és el canal blau.

Conclusions

Les conclusions arribades a la secció anterior ens duen a la creació d’un entorn molt determinat. En aquest cas nosaltres hem definit el nostre entorn de captura com fo- tografies fetes en un fons blanc mate on la fulla està centrada. A més la distància de la càmera a la fulla ha de ser d’uns 50 cm. Ja hem vist una exemple de la captura a la figura 2.1.

(22)
(23)

C

APÍTOL

3

S HALLOW L EARNING

El SL és un conjunt de tècniques molt variades de ML que s’agrupen ja que presenten una sèrie de característiques comunes. De totes aquestes característiques la principal, per la qual reben el nom de shallow1, és la presència de poques capes de representació d’informació, és a dir que tenen una capacitat de guardar, interpretar i extreure infor- mació reduïda. Ja que tenen aquesta capacitat reduïda es fa necessari l’extracció de característiques per part d’experts [13].

En aquest capítol exposarem com hem extret les característiques, quines tècniques de SL hem utilitzat i quin ha estat el seu rendiment.

3.1 Binarització

L’extracció de característiques l’hem de realitzar únicament de la fulla. Per tant el pas previ de qualsevol operació és separar la fulla de la resta de la imatge. Com hem vist a l’anterior capítol, hem fet un anàlisi de la colorimetria de les imatges i hem conclòs que el canal que més diferencia les dues regions és el blau de l’espai de color RGB.

Amb aquests supòsits hem de considerar quina tècnica emprar. Hi ha múltiples opcions però per simplicitat comprovarem una de les més senzilles que és la utilització d’unthresholdadaptatiu amb l’algorisme d’Otsu.

Unthresholdés un llindar, és a dir, és un valor del color a partir del qual separam la imatge en dues classes totalment diferenciades. Aquest llindar, però, no té per que estar marcat anteriorment, pot variar segons la imatge.

3.1.1 Otsu

L’algorisme d’Otsu és un algorisme que de forma automàtica cerca unthreshold, ana- litzant els histogrames per identificar el punt que maximitza la diferència entre dues classes alhora que minimitza la diferència entre ells. Dit d’una altre manera, pretén

1Shallow, expressió anglesa que es pot traduir com a superficial

(24)

3. SHALLOWLEARNING

crear dues classes el més homogènies internament alhora que més heterogènies entre sí.

Empram aquest algorisme per realitzar una primera aproximació a la binarització de les fulles. L’algorisme d’Otsu no té en compte la localització espaial, per això és possible que apareixin regions disjuntes. Com veim a la figura 3.1, té uns resultats desiguals. Quan aplicam l’algorisme d’Otsu ens trobam amb dos problemes:

1. Les fulles petites. El cas de les fulles petites s’explica perquè tenen una àrea molt petita i, per tant, tenen una afectació a l’histograma igual de petita sent Otsu incapaç de detectar-la (veure figura 3.1).

2. Les ombres. En el cas de fulles no totalment planes veim com l’algorisme inter- preta les ombres també com una part de la fulla (veure figura 3.4).

A continuació exposam la sol·lució a ambdós problemes:

Problema 1 - Fulles petites

Com ja hem exposat anteriorment, un dels problemes que presenta Otsu és quan l’element a binaritzar té una àrea petita en relació al total de la imatge. El resultant d’aquest error són les imatges que es veuen a la figura 3.1.

Figura 3.1: Resultat d’Otsu en fulles amb poca àrea.

Si observam l’histograma (veure figura 3.2) podem confirmar la nostra hipòtesis.

Quan comparam aquests histogrames amb els vists en seccions anteriors (veure 2.3), el del canal blau no explicita l’existència de la fulla, mentre que quan la fulla es gran sí.

La primera feina a realitzar per trobar una solució a aquest problema és intentar detectar quan ocorren aquests errors i actuar en conseqüència. Per detectar una bina-

(25)

3.1. Binarització

Figura 3.2: Histrograma d’una fulla petita.

rització incorrecta basta comprovar el nombre de contorns2que hi ha a la imatge. En el cas que la binarització hagi estat correcta suposam que haurà trobat menys de 100 contorns, ja que l’error de les fulles petites es caracteritza per trobar molts d’elements disjunts espaialment.

Partint d’aquesta informació procedim a aplicar-hi una sèrie de tècniques per intentar solucionar-ho.

La solució primera que ens plantejam és l’aplicació d’un filtre gausià. Un filtre gausià és una tècnica molt utilitzada en CV. Un filtre és una eina usada com a mètode de processament d’imatge per diferents algorismes. Els filtres són un conjunt d’operacions lineals (sumes, multiplicacions) en forma de matriu aplicats a cada un dels píxels.

En el cas particular dels filtres gausians les operacions matemàtiques aplicades transformen els punts per tenint com a objectiu obtenir un resultat aproximat a la distribució normal (també anomenada de Gauss). El resultat visual d’aquesta operació és un desenfocament de la imatge (veure figura 3.3).

La nostra idea és que si aplicam un filtre Gaussià a la imatge reduirà les diferències del color blanc i acabarà mostrant com a única solució per Otsu la binarització correcte.

Aquesta aproximació després d’una sèrie de proves no té els resultats esperats. Hem intentat aplicar filtres ambkernels3de diferent mida des de 5×5 fins a 505×505 i els resultats de la binarització han presentat els mateixos problemes. A més, té una

2Un contorn en l’àmbit de CV és un conjunt de punts que comparteixen intensitat o color diferenciats del seu voltant.

3Conjunt d’operacions que defineixen el filtre, normalment en forma de matriu.

(26)

3. SHALLOWLEARNING

Figura 3.3: Exemple de l’aplicació d’un filtre gaussià

contrapart, que la mida del filtre està intensament lligada a la pèrdua d’informació, ja que un major nombre d’operacions realitzades sobre un píxel produeix una major diferència respecte el valor original. Per tant, és necessari trobar-hi una alternativa.

El problema real és la mida, en proporció, de la fulla en comparació total de la imatge. Per solucionar-ho retallam la imatge. Quan aplicam aquesta tècnica els resultats milloren de forma notable. Presenta però una sèrie de problemes: en primer lloc quan tallam la imatge és possible que tallem la fulla. Per mitigar-ho obtenim l’àrea a retallar emprant la informació de les fulles que han estat correctament binaritzades. El que feim es calcular la mitjana aritmètica de les posicions de les fulles. Això té sentit ja que a la nostre base de dades la fulles estan centrades. A més del càlcul de la posició també hem de calcular la mida de la imatge resultant de tallar, en aquest cas consideram la mida de la fulla més gran. Així, en la majoria dels casos la fulla no es retallada. Únicament hem detectat problemes en fulles que per la seva mida estiguin molt a prop dels marges de la fotografia

La reducció de l’àrea de la imatge ha tengut uns resultats molt bons. Les 133 foto- grafies que presentaven aquest problema mitjançant aquesta tècnica s’han reduït a 24 fulles. Aquestes 24 són fulles que tenen una mida tan petita que les descartam, ja que les consideram intractables.

Problema 2 - Ombres

Un altre problema que ens hem trobat utilitzant Otsu és la confusió entre l’ombra de la fulla i la fulla en sí. Aquest comportament és típic en el cas d’espècies com l’Heura que les seves fulles no són planes i tenen, per tant, una ombra. Quan aquest és el cas obtenim una binarització incorrecte ja que també inclou l’ombra com a fula (veure figura 3.4).

Aquesta limitació és pròpia de l’algorisme d’Otsu i d’així com hem plantejat el problema. La fulla, des d’un punt de vista del color, la consideram l’absència del canal blau i el fons com la part que en conté. Per tant ens hem plantejat altres solucions diferents a l’algorisme d’Otsu. Hem pensat dues solucions:

1. Suma de canals. Hem trobat que realitzant la suma del canals vermell, verd i blau si empres unthresholdfixat, damunt 255, pots segmentar la fulla del fons.

(27)

3.1. Binarització

Figura 3.4: Heura amb ombra i binarització.

Consideram aquesta opció menys robusta, ja que en casos on la fulla té un color més clar, pot provocar una binarització incorrecte. Per aquest motiu no la desevonlupam.

2. Watershed. Algorisme de visió. És l’eina que hem emprat. A continuació explicam el seu funcionament.

3.1.2 Watershed

Les limitacions de l’algorisme d’Otsu que hem explicat al final de l’anterior secció (veure 3.1.1), ens han duit a cercar-hi alternatives. L’alternativa que hem escollit és la utilització de l’algorismeWatershed. Aquesta és una tècnica de segmentació que funciona fent una analogia al comportament de l’aigua en entorns topològics. S’empra la representació en escala de grisos.

Des d’un punt de vista lògic consisteix en definir de forma manual múltiples fonts d’aiguamitjançant marcadors, les diferents fonts aniran omplint la imatge amb un ritme de manera uniforme. Seguint la metàfora podem dir que els buits s’omplen d’aigua. Aquestes fonts tendran diferents colors (els marcadors). A mesura que l’aigua va pujant i depenent dels punts alts (gradient de la imatge en escala de grisos) les diferents aigües s’aniran combinant i definint àrees diferents.

El punt clau per què Watershed funcioni és l’elecció correcte dels marcadors inicials.

Per fer-ho en el nostre cas el que feim es reutilitzar la binarització que fèiem amb Otsu.

Per obtenir la màscara aplicam al resultat d’Otsu operacions morfològiques binàries.

Amb aquesta tècnica hem aconseguit eliminar la majoria de les ombres.

Les operacions morfològiques binàries són un conjunt de tècniques aplicades a imatges que modifiquen la forma dels objectes. Per fer-ho el que modifiquen són

(28)

3. SHALLOWLEARNING

màscares4ja que únicament en aquest cas hi ha un objecte separat de la resta. Les operacions que utilitzam són l’erosió i la dilatació.

L’erosió el que fa és reduir l’àrea de l’objecte, dit d’una manera col·loquial estreny l’objecte. Mentre que la dilatació fa el contrari, augmenta l’àrea de l’objecte (veure figures 3.5 i 3.6

Figura 3.5: Original i dilatació.

Figura 3.6: Original i erosió.

En el nostre cas particular erosionam la màscara provinent d’Otsu amb un element estructurant. Un element estructurant en matemàtiques morfològiques és una matriu que identifica quin píxel de la imatge és processat i del seu voltant quins són emprats per la computació morfològica. Hem emprat un element de mida 70×70 per tal elimini l’ombra de la mascara, la mida del kernel no pot ser major ja que si augmenta pot ocorre que esborrem fulles petites. Una vegada realitzam aquesta operació tenim tres àrees clarament diferenciades:

4Una mascara és una imatge que únicament contés dos valor per separar l’objecte del que no ho es.

(29)

3.1. Binarització

1. Indubtablement fulles. És l’àrea resultant de l’erosió. És la part més interna de la fulla per tant, a priori, podem assegurar que no conté ombra. Pot presentar problemes en el cas d’ombres molt grans, ja que pot ser que l’erosió no sigui suficient per tal d’eliminar-la.

2. Indubtablement fons. De la mateixa manera que l’anterior, és la part que Otsu ens indica com a fons, que sabem que sempre el que identifica com a fons ho és.

3. Desconegut. És l’àrea que Otsu identificava com a fulla però que l’erosió elimina.

És la part més externa de la fulla. En els casos que hi ha un error de la binarització tant conté fulla com a ombra. Per aquest motiu és la part desconeguda i la secció que l’algorisme ha de deduir exactament si es tracta de fulla o no.

D’aquestes tres àrees, les dues primeres les utilitzam com a marcadors mentre que la tercera és la part a identificar. Amb aquest marcador podem aplicar l’algorisme a qualsevol fulla. Els resultats es poden veure a la figura 3.7. Observam com els casos que presentaven més problemes, com les heures, estan majoritàriament solucionats.

(30)

3. SHALLOWLEARNING

Figura 3.7: Exemples dels resultats i els marcadors de Watershed

(31)

3.2. Característiques

3.2 Característiques

Una vegada que tenim ben separada la fulla dels fons, la següent passa és l’extracció de característiques. Extreim dos tipus de característiques de cada fulla: de color i de forma.

Totes les característiques són un únic valor numèric per tota la imatge.

A la taula 3.1 podem observar totes les característiques emprades, la seva descripció i a més la seva formula matemàtica. En aquesta taula,Rrepresenta l’objecte sent un conjunt de p (pixels de la imatge i per tant piés el píxel i), n el nombre de píxels deR,

∂Rla frontera de l’objecte,C és elconvex-hull, es tracta d’un conjunt de segments que defineixen un polígon, la funció d(a,b) calcula la distància euclídia mínima entre a i b mentre que finalment |A|és el nombre d’elements del conjunt A. Les dues primeres característiques realment són 18 nombres, ja que n’hi ha un per canal. En total tenim per tant 24 característiques.

Descripció Formula

Mitjana del canal Mitjana aritmètica de cada un dels canals de RGB, CIE-LAB i HSV.

1 n

P(i=1)npi

Desviació típica del canal

Desviació típica de cada un dels canals de RGB, CIE-LAB i HSV.

qP (pi−µ)

n−1

Àrea Superfície de la fulla. |p|

Circularitat Proporció que calcula la semblança de la fulla amb una circumferència perfecte

ar ea π∗(r2)2/4

Solidity

Proporció entre l’àrea real de l’objecte i l’àrea delconvex hull. Unconvex hull és el polígon resultant de unir el punts exteriors d’un objecte.

Àrea del contorn Àrea delconvex hull

Defectes de convexitat

Valor de la mitjana de la distància entre el convex hull i la figura. Té utilitat per calcular el nombre de "puntes"d’una fulla

ΣS∈Cmaxx∈Sd(x,R)

|C|

Similitud a una el·lipsi Determina el grau de desviació de la forma respecte una el·lipsi.

Àr ead el cont or n π∗D∗d

Perimetre Longitud del seu contorn Σx∈∂R1

Taula 3.1: Característiques de les fulles emprades.

3.3 Classificadors

Una vegada obtenim les característiques empram una sèries de classificadors per identificar la planta. Anomenam classificador als programes pròpiament de ML, dit d’una altre manera: són els programes que realment aprenen des de l’experiència. Els diferents algorismes es basen en un conjunt variat de tècniques. Nosaltres utilitzam els següents:

1. Màquina de suport vectorial (en anglèsSuport Vectorial Machine) (SVM). Clas- sificador basat en els mètodes de kernel. Aquest models són el que es basen en anar canviant la quantitat de dimensions de les dades per tal de poder dividir-las

(32)

3. SHALLOWLEARNING

de manera lineal al nou espai dimensional. Al final és emprat per construir plans de dimensions superiors separant les dades segons unes classes anteriorment definides[14].

2. Boscs aleatoris (en anglès Random Forest) (RF). Mètode ensamblat que consis- teix en construir un gran nombre d’arbres de decisió sobre subespais deldataset i fa la mitjana dels seus resultats per tal de millorar la seva capacitat de predicció [15]. Una arbre de decisió són unes estructures de control de fluxe que permeten classificar els inputs.

3. Potenciador del gradient (en anglèsGradient Boosting) (GB). Mètode ensam- blat consistent en de forma iterativa agregar models que s’especialitzen a millorar els punts febles dels anteriors models. Per fer-ho el que intenta és minimitzar la funció de pèrdua. L’algorisme té la capacitat de minimitzar qualsevol tipus de funció de pèrdua [16].

4. Multi-layer perceptron. Una de les arquitectures més emprades de xarxes neu- ronals. No el consideram DL per les poques capes de representació que té. Són sistemes paral·lels distribuïts composats per capes de simples i independents unitats de procés, el perceptró, connectades amb connexions amb pesos [17].

A totes les tècniques feim un cerca àvida dels diferents paràmetres. Aquesta cerca s’anomenafine-tuning. Un cas especial són el perceptrons en el quals el que feim es provar diferents arquitectures:

1. 2 capes de 10.

2. 2 capes de 15.

3. 2 capes de 30.

4. 1 capa de 20.

5. 1 capa de 10.

3.4 Resultats

Una vegada exposades les tècniques utilitzades discutirem els resultats obtinguts. Per fer-ho emprarem dues eines diferents. Emprarem com a mètrica principal l’accuracy: la proporció d’Ítems del conjunt de dades ben classificats. Així si el valor es 1 significa que totes les prediccions han estat correctes, mentre que si val 0 vol dir que no hi ha hagut cap predicció correcta. S’ha de tenir en compte quin és elbase-linedel nostre dataset. Elbase-linede qualsevoldatasetésn_classe1 , és a dir, és el valor de la mètrica en el cas que fos aleatori. Quan la mètrica millora labase-lineque es de 7.69%, suposam que l’algorisme està funcionant en el cas de la classificació.

A més de l’accuracytambé hi aplicam elk-fold. Elk-foldés una tècnica per tenir unaccuracymés fiable. Consisteix en dividir les dades enk grups anomenatfolds.

L’algorisme és entrenat amb k-1 foldsi el restant s’empra per validar. Es realitzen aquestes operació tantes vegades com combinacions possibles existeixen, i finalment és

(33)

3.4. Resultats Accuracy Accuracy (k-fold)

SVM 91,42% 85,13%

Gradient Boosting 82.85% 79,46%

Random Forest 50% 59,15%

MLP 10-1 48.57% 49.46%

MLP 20-1 50% 49,88%

MLP 10-2 72,85% 68,71%

MLP 15-2 72.85% 67,63%

MLP 30-2 60% 73,01%

Baseline 7,69% 7,69%

Taula 3.2: Accuracy de tots els classificadors

combinen els diferents resultats. És considerada una tècnica per atorgar més robustesa a les mètriques.

Per altre banda també empram les matrius de confusió. Les matrius de confusió són una matriu que relacionen elground-truthamb la predicció del sistema. Són molt útils, com indica el seu nom, per detectar confusions entre classes.

Els resultats obtinguts (veure la taula 3.2) mostren l’SVM com el classificador amb millors resultats, tant quan s’emprak-fold com quan no. Tanmateix el GB també sembla interessant ja que la diferència entre un i altre tot i que és d’un 5% no es tant exagerada com amb altres classificadors. Realitzarem un anàlisi acurat dels dos per observar a on trobam els errors i si són esperables. El rendiment dels Perceptró en multicapes (en anglès Multi-layer perceptron) (MLP) varia motl depenent de l’estructura que empra.

Així i tot observam com el millor dels MLP té unaaccuracymenor que SVM com GB.

Els RF tenen tan baixos resultats que no consideram adient la discussió de la seva matriu de confusió.

De la taula també podem observar com els resultats quan aplicamk-fold sempre es pitjor que quan no l’aplicam. Aquest resultat té lògica ja que quan empramk-fold obtenim uns resultats més robusts i per tant tot i tenir pitjors resultats aquests són més rellevants.

Seguidament estudiarem més en detall cada un dels classificadors a través de la matriu de confusió per saber si les confusions són lògiques o per altre banda no tenen cap sentit.

3.4.1 SVM

És el classificador que presenta millors resultats. Així i tot podem analitzar quin són els seus errors i intentar analitzar-los. Tal com observam a la figura 3.8 els errors de classificació es troben en unes classe en particular. Els errors menors que un 10% no els consideram rellevants. De la matriu podem observar tres confusions destacables.

1. Llorer - Ametller. Les fulles de les dues espècies tenen una similitud morfològica evident (veure la figura 3.10). La seva diferència principal és la seva mida, per tant podem suposar que el que ocorre és que ja que únicament dues característiques de totes les que empram, perímetre i àrea, suposam que no tenen suficientment pes relatiu per fer canviar la classificació.

(34)

3. SHALLOWLEARNING

2. Alzina - Olivera. Tot i que, les dues tenen una forma molta única presenten una sèrie de similituds: el color, i per altre part la mida (veure la figura 3.9).

3. Parra - Llimonera. La causa probablement és a causa de la seva captura. Tant d’una espècie com de l’altre es varen fer totes les captures el mateix dia, i emprant una el mode HDR, és a dir que poden compartir una esquema d’il·luminació.

Figura 3.8: Matriu de confusió de SVM

Figura 3.9: Fulla d’alzina i fulla d’olivera.

(35)

3.4. Resultats

Figura 3.10: Fulla de llorer i alzina.

3.4.2 Gradient Boosting

És l’altre classificador que juntament amb SVM té uns resultats per damunt del 80%. La seva matriu de confusió (veure figura 3.11) ens mostra més errors de classificació que la del SVM. També podem analitzar com he fet anteriorment les diferents confusions, podem trobar tres tipus de confusió les que es poden entendre des d’un punt de vista morfològic, des d’un punt de vista de color o les que no tenen molt de sentit .

1. Confusions morfològiques. Trobam dins aquest grup les confusions entre Garrover- Llorer, Olivera-Llimonera. Les confusions que hi ha segueixen una lògica molt clara, ja que tots presenten similituds evidents.

2. Confusions de color. D’aquest tipus de confusió hi podríem considerar la confu- sió Alcina-Heura, per l’exposat a l’anterior apartat.

3. Confusions il·lògiques. Aquestes confusions són les més estranyes. Podem considerar- ho com a errors de l’estructura deldata-set. Així la confusió entre la parra i la llimonera no té molt de sentit, ja que la mida de les fulles és molt diferent, la morfologia és molt diferent i des d’un punt de vista botànic tampoc tenen gaire similituds.

(36)

3. SHALLOWLEARNING

Figura 3.11: Matriu de confusió del GB 3.4.3 Multi-layer perceptron

El MLP es interessant més enllà del seus resultats per veure com respon el nostre datasetamb aquesta implementació tan senzilla de xarxes neuronals per saber si té sentit l’aplicació de tècniques més complexes. Per tant en el nostre estudi d’aquesta tècnica analitzarem com es comporta amb diferents estructures.

Primerament podem analitzar des d’un punt de vista de l’accuracy. La implemen- tació amb millor rendiment presenta un 73% d’encert. Per tant tot i ser pitjor que l’SVM en més de 15 punts percentuals, té uns resultats molt dignes per la simplesa de la seva implementació.

En la figura 3.12 observam que l’accuracyva millorant quan més capes té l’es- tructura. Té sentit ja que més capes significa tenir una major capacitat per aprendre el problema. A més a causa de la seva simplesa és poc probable que tenguioverfitting

5. Per tant es lògic suposar que amb estructures més complexes i especialitzades com poden ser les CNN tendrà uns resultats millors.

Figura 3.12: Comparació de les diferents estructures MLP per la sevaaccuracy

5Expressió anglesa traduïble a sobre-entrenament. És el fenomen que ocorre quan una xarxa en lloc d’aprendre a generalitzar el problema aprèn a tractar eldataset, és a dir, aprèn el problema en particular i es incapaç de generalitzar.

(37)

C

APÍTOL

4

D EEP L EARNING

Les NN són una tècnica que en els darrers any ha agafat impuls en el cas dels problemes sensorials, és a dir els relacionats amb els sentits humans. Així, si miramKaggle(lloc de referència de concursos de ML) veim com les xarxes neuronals s’empren en la majoria de les solucions. Aquesta prominència de les xarxes neuronals es recent, des de principis de la dècada del 2010 [18], quan es va aconseguir millorar l’estat de l’art al problema de classificació Imagenet1, i amb ell tot l’àmbit de la CV. Hi ha una sèrie de raons de caràcter històric que han permès aquesta importància a partir de l’any 2010.

Tot i que dos dels conceptes claus per que les NN, les xarxes convolucional i el backpropagation, estaven definits ja des de 1989 [19], en la actualitat han succeït una sèrie de fets que possibilita aquest ús. Una xarxa convolucionals, d’una forma més informal, podem dir que es diferència de les NN clàssiques en que entén el concepte de localitat, és a dir pot analitzar les dades a partir de les seves parts i no com un tot monolític. Primerament exposarem i explicarem tant les CNN com elbackpropagation:

Xarxes convolucionals

Les CNN són el tipus de xarxes que s’empren per resoldre la majoria del problemes perceptuals2, és així ja que la seva principal característica és la seva capacitat d’apren- dre patrons locals, a diferència de les xarxes clàssiques que únicament són capaces d’aprendre patrons globals [3]. Aquestes xarxes, a més de trobar patrons locals, tenen dues propietats interessants.

1. Els patrons són invariants a la translació.Una vegada après un patró és indife- rent la seva posició en la imatge. Aquest fet és bàsic per un bon processament d’imatges, ja que els patrons visuals reals són indiferents a la seva posició.

1Base de dades de més d’un milió i mig d’imatges manualment etiquetades segons el seu contingut.

El problema consisteix en prediure les etiquetes

2Problemes de percepció de la realitat, van des de la visió a la compressió de text

(38)

4. DEEPLEARNING

2. Els patrons poden ser jeràrquics.Les diferents capes convolucionals aprenen patrons d’una complexitat cada vegada major. Així, la primera capa aprèn patrons locals petits com contorns mentre que, a mesura que anam afegint capes de convolució aprèn formes cada vegada més complexes.

Backpropagation

L’algoritme de retropropagació (en anglèsbackpropagation) és l’element bàsic per l’entrenament de les xarxes neuronals. Desenvolupat al 1986, és un procediment que repetitivament ajusta els pesos de la xarxa neuronal per tal de minimitzar la diferència entre la sortida real de la xarxa i la sortida esperada. Com a resultat d’aquests ajusts es modifiquen tots els valors de la xarxa, tant el de les capes ocultes com els de les capes de sortida. Aquest és un algorisme basat en càlcul matricial, sent per això l’element amb el cost computacional més gran [19].

Aquest procés és el que acaba provocant la representació de característiques amb importància per la resolució dels problemes. Aquestes tècniques però necessitaven dos elements més per poder ser emprats:

1. Generació de dades.Segons John Walker [20] a l’any 2013 Google de manera individual va generar 24 petabytes d’informació. Ja que les NN necessiten mol- tes dades, aquestes quantitats permeten que es puguin emprar amb una gran quantitat de problemes.

2. Maquinària especialitzada.Com ja hem explicat tot i que elbackpropagationja existia als any 80, era molt costós computacionalment a causa de les operacions matricial. Aquestes però es poden realitzar de forma paral·lela , permetent un entrenament amb uns temps assumibles.

3. Desenvolupaments teòrics. El desenvolupament de millors funcions d’activació per les neurones3, optimitzadors i tècniques diverses com eldropout(explicat més endavant), ha tengut també una importància cabdal per la prominència d’aquestes tècniques

Elements d’una xarxa

El DL a més de les tècniques exposades fins ara té altres elements bàsic per poder tractar-les. Aquests elements són les mètriques que emprarem i per altre les èpoques.

Mètrica

Tots els entraments els hem realitzats emprant com a mètrica de referència lacatego- rical accuracy. Tots els resultats són els d’aquesta mètrica. Per el calcul de la mètrica necessitam un seguit de funcions matemàtiques. Primerament ens es donat y com un vector de les solucions correctes, aquest és l’anomenatground truth. Les prediccions són la variable ˆyj, sent de la forma ˆyj=arg maxi∈I{ai jA}∀fullaj, sentai jla proba- bilitat de predicció de cada una de les classes. és a dir la classe que prediu la NN. També hem de definir1φsent la funció característica.

3Funcions encarregades de modificar les sortides de les neurones, i per tant clau per l’entrada de la següent capa

(39)

4.1. Tècniques per evitaroverfitting

1φ=

(1, siφa onφés una condició lògica, 0, altrament.

Finalment la mètrica és:

Categorical accuracy 1

|F|· X

j∈F1yj=yˆj, a onF és el conjunt de les fulles.

Èpoques

Les èpoques (en anglesepoch) són una porció de l’entrament. La seva característica principal, es que s’entrena la xarxa amb cada una de les imatges per a cada una d’elles.

Des d’un punt de vista més a baix nivell és l’aplicació de l’algorisme debackpropagation a tot eldataset.

Habitualment les èpoques es divideixen enbatchsque són entrenament complets d’un subgrup de dades. S’empra aquesta divisió com a solució a les limitacions de memòria, ja que per fer l’algorisme debackpropagationes necessari tenir totes les dades en memòria. A més la utilització debatchsté una utilitat al que fa el resultat, ja que, l’entrament amb aquestes subdivisions.

4.1 Tècniques per evitar overfitting

Una vegada exposades les tècniques bàsiques que conformen el DL hem de tractar el problema més important de les xarxes, l’overfitting. Una vegada exposat i explicat podem començar afrontar el nostre problema en particular.

El rendiment de les xarxes neuronals de la mateixa manera que la resta d’algorismes de ML està relacionat amb la qualitat de les dades que tenim. Així a major dades tendirem sempre a tenir millors resultats. Quan hi ha poques dades, com és el nostre cas, les xarxes funcionen pitjor, ja que tenen molt mésoverfitting.

L’overfittingoccorre quan els models entrenats són incapaços de generalitzar cor- rectament la solució del problema i el que fan es aprendre únicament eltraining set.

Aquest és un comportament típic quan hi ha poques dades o quan la xarxa és massa gran. És un problema molt més exagerat amb DL que a les solucions basades en SL, ja que aquestes estructures tenen una capacitat d’aprenentatge molt menor. Al llarg del temps s’han proposat diverses solucions a l’overfitting. Tot seguit exposarem l’estat de l’art per solucionar l’overfitting.

L’overfittingnomés es pot corregir de dues maneres: o tenint més dades o reduint la complexitat de la xarxa. Les solucions englobades al segon tipus foren les primeres en aparèixer, i d’elles la regularització de pesos. Consisteix en limitar els valors dels pesos, és a dir limitar el valor dels paràmetres de la capa a la qual s’hi aplica. S’aconse- gueix mitjançant operacions matemàtiques a les capes que minimitzen aquests valors, mitjançant penalitzacions a la funció de cost. Això simplifica les característiques que troba la xarxa i teòricament soluciona el problema. Seguint aquesta mateixa estratègia una altra solució és eldropout. Es basa en, de forma aleatòria, anul·lar les sortides de

(40)

4. DEEPLEARNING

les neurones de la capa anterior, en temps d’entrament. Això provoca que sigui més complex l’aprenentatge i ajuda a reduir l’overfitting.

Tant una com l’altre, però, presenten un problema. Volent eliminar l’overfittingde la NN, aconseguim que la xarxa li sigui molt costós aprendre fins al punt que ho fa impossible. Per això hem emprat, també, tècniques per augmentar el nostredataset.

Aquest problema, l’overfitting és el més important de totes les xarxes que hem definit. En el nostre cas en particular les solucions basades en reduir la complexitat de la xarxa no han estat suficients pel nostre problema. La base de dades que hem obtingut, com hem explicat a la secció 2.4, té una mida molt reduïda. Així, en total hem obtingut 237 imatges per 12 classes. Com a resultat tenim de mitjana 19 fulles per classe. El que resta de capítols són els dos intents, fructífers, per resoldre el problemes conseqüència d’aquesta mida tant petita.

Hem enfocat la solució al nostre problema amb dues tècniques diferents:

1. Data augmentation. Consisteix en augmentar de forma artificial la mida de la base de dades (veure secció 4.2).

2. Transfer learning. Es basa en la utilització de xarxes neuronals anteriorment entrenades per tal d’obtenir els resultats (veure secció 4.3).

4.2 Data augmentation

Eldata augmentationés una de les tècniques més utilitzades per tal de reduir l’overfitting.

Consisteix en augmentar, de forma artificial, la mida del nostredataset. Per fer-ho, realitzam transformacions a les imatges. Aquestes transformacions consisteixen en operacions senzilles, com per exemple rotacions i translacions.

El valor de les transformacions és aleatori dins uns marges definits, així amb poques operacions podem augmentar de manera gaire bé infinita el nostredataset. Realitzam sis tipus de transformacions:

1. Rotació.

2. Inversió horitzontal.

3. Inversió vertical.

4. Reducció.

5. Translació.

Els noms de totes les operacions les consideram suficientment explicatives.

Un dels problemes d’aquesta tècnica és que qualsevol d’aquestes transformacions té com a resultat la creació de regions a la imatge que s’haurien d’emplenar de qualque manera (veure figura 4.1). Hi ha múltiples solucions a aquest problema, nosaltres hem emprat la soluciónearestaquesta es caracteritza per replicar el contingut més pròxim al buit.

Així i tot, en el nostre cas en particular, que els costats puguin estar buits, i per tant s’hagin d’omplir de forma sintètica, no afecta al rendiment de la xarxa, ja que les fulles sempre les tenim centrades.

(41)

4.2. Data augmentation

Figura 4.1: D’esquerre a dreta: imatge rotada, traslladada i reduïda

Una vegada que tenim preparades les dades el que feim és construir una xarxa neuronal per tractar aquestes imatges. L’estructura de la xarxa és d’una importància cabdal per poder obtenir uns resultats òptims.

La construcció d’una xarxa és problemàtic, ja que en el DL no disposam d’un coneixement a priori sobre quina estructura és la més adequada per cada un dels problemes. Així í tot, si que existeixen una sèries de guies:

1. La resolució de problemes perceptuals es fa mitjançant la utilització de CNN.

És la tècnica, per tant, que s’empra als problemes de CV, és així ja que, com em explicat anteriorment, tenen la capacitat de poder trobar patrons locals.

2. A major mida de la xarxa mésoverfitting. Tenint en compte això hem de limitar la mida de la xarxa.

4.2.1 Estructura de la xarxa

La estructura de la xarxa, com ja hem exposat abans, és un element que es defineix empíricament. Així hem realitzat un seguit de proves diferents, fins obtenir els resultats òptims. Per fer l’anàlisi dels experiments hem d’explicar una sèrie de elements que són bàsic per poder entendre els resultats.

Hem basat els primers experiments amb una proposta que fa Chollet [3] per un datasetpetit. La estructura que empra Chollet es basa en la utilització de grups convo- lucionals, aquests grups són una combinació molt típica en el context de la CV de capes en el. Aquest grups són una capa convolucional i una capa posterior demax pooling.

Les capes demax pooling el que aconsegueixen és la invariància de la translació, és a dir, aconsegueix que els filtres convolucionals no tenguin relació en la seva posició relativa de la imatge. Ho aconsegueix mitjançant extreure la mitjana d’una finestra, normalment de 2 per 2 de píxels.

La xarxa que proposa Chollet és una xarxa composta per tres grups de convolució de diferent mida convolucional. Aquests grups tenen una mida de 64 per 64 , 128 per 128 i 128 per 128. Aquestes mides de la convolució és el que defineix la convolució, ja que són la mida dels filtres, és a dir la mida dels patrons que cerca la capa. L’estructura és lògica ja que es tracta d’una xarxa petita de la mateixa manera que el nostredataset. És una norma en tot el DL que la mida de la xarxa hauria d’estar intrínsecament lligada a les dades. El nostredatasetté una mida molt petita, a més, com ja hem explicada

Referanser

RELATERTE DOKUMENTER

Atès que el mòdul de formació en centres de treball (FCT) és considerat una de les parts més importants de la formació professional, tant pel que fa al caire formatiu com per la

El fet que el manuscrit de la Biblioteca March hagi estat a la nostra disposició per fer aquest estudi (fig. 9) ha possibilitat un examen més directe pel que fa a les seves imatges

Fent la comparació amb el que dicten el currículum de la NCTM i del nostre país veí Portugal, hem pogut observar com el primer fa especial menció en els

El mercat principal són els turistes que venen amb la seva família a gaudir de les platges i el clima de Mallorca, és per això que s’ha pensat en engegar el negoci a començaments

Destacar també que són ciutats amb grans infraestructures de transport públic, encara que en el cas de Madrid cal fer més millores en quant a Barcelona, una ciutat més

El docent proporcionarà als alumnes imatges de l’època en que l’edifici funcionava com a fàbrica (Annex 5). Algunes de les fotografies són de la fàbrica de Can Melis, a la qual no

És important que l’alumne amb TEPT no se senti exclòs, que pugui afrontar el trastorn amb el suport de les persones més properes a la vegada que també treballem la

● Per tot el que hem esmentat abans, podem dir que l’escola és un dels pocs llocs on els alumnes del nostre centre podran iniciar-se en el coneixement i l’ús de la llengua