scieee Open visual document viewer

Identificación de imágenes por análisis de texturas utilizando aprendizaje automático

Alcaine Camilli, Nicolás; Rodríguez Chacón, Alejandro

Abstract

En la actualidad, el reconocimiento de objetos en imágenes a través del procesamiento digital y el aprendizaje automático es un campo que se encuentra en claro auge dentro del mundo moderno, esto es así hasta el punto de que la utilización de las tecnologías derivadas de esta área de investigación han generado múltiples dilemas éticos en la sociedad actual. Para poder aseverar esta afirmación no tenemos más que rememorar las distintas polémicas causadas, recientemente, por los sistemas de reconocimiento facial. Dentro del procesamiento digital por aprendizaje automático encontramos el análisis de textura como una de las variantes más prominentes en el organigrama de este extenso campo. Y precisamente este será el tema fundamental de nuestro proyecto, el cual desarrollaremos y profundizaremos a lo largo de estas páginas. Por ende, nuestro objetivo para este proyecto será implementar un entorno operativo que facilite el desarrollo de diferentes aplicaciones de clasificación de texturas y que permita ensayos con diferentes parámetros y configuraciones. Además, aplicaremos el sistema, a modo de ensayo práctico, sobre el problema de identificación de la neumonía a partir de radiografías con rayos X. Para llevar a cabo esto, el proyecto se dividirá en varias partes diferenciadas: Investigación y estudio previo. Desarrollo de la aplicación en tres módulos funcionales. Testeo para la búsqueda de posibles errores de implementación y búsqueda de la configuración óptima para el problema de la neumonía. Resultados y conclusiones.

Full text

Iden icación de imágenes po análisis de ex u as u ilizando ap endizaje au omá ico T abajo de n de g ado Nicolás Alcaine Camilli Alejand o Rod íguez Chacón Depa amen o de A qui ec u a de Compu ado es y Au omá ica Facul ad de In o má ica Uni e sidad Complu ense de Mad id Cu so académico 2018/2019 Iden icación de imágenes po análisis de ex u as u ilizando ap endizaje au omá ico Memo ia p esen ada pa a el abajo de n de g ado de Ingenie ía In o má ica Di igida po el Doc o José Jaime Ruz O iz Depa amen o de A qui ec u a de Compu ado es y Au omá ica Facul ad de In o má ica Uni e sidad Complu ense de Mad id Cu so académico 2018/2019 Ag adecimien os Que emos ag adece los ánimos, la ayuda y el conocimien o ecibidos a una g an can idad de pe sonas. Sin ellas, es e abajo no hab ía sido posible. En p ime luga , que emos e e i nos a nues o u o , José Jaime Ruz O iz, po pe mi i nos ealiza es e TFG, po su buena e, po su paciencia y po se una uen e de es ímulo y conocimien o ines imable. También que emos da las g acias a nues os amilia es, compañe os en la acul ad y amigos. Ellos han sido un sos én en e a la ad e sidad, pues siemp e nos han ansmi ido sus mejo es deseos y nos han o ecido su ayuda incondicional. No nos ol idamos ampoco de odos los p o eso es, que, du an e la ca- e a, g acias a su labo docen e, nos han p epa ado pa a a on a el u u o con la mayo de las segu idades. Po úl imo, debemos ag adece a odos aquellos au o es, pasados o p e- sen es, que, bien a a és de la publicación de lib os o a ículos, o bien me- dian e el desa ollo de la écnica, han c eado el sedimen o que hace posible, no solo es e abajo, sino cualquie o o abajo, ac ual o u u o. Resumen En la ac ualidad, el econocimien o de obje os en imágenes a a és del p ocesamien o digi al y el ap endizaje au omá ico es un campo que se en- cuen a en cla o auge den o del mundo mode no, es o es así has a el pun o de que la u ilización de las ecnologías de i adas de es a á ea de in es i- gación han gene ado múl iples dilemas é icos en la sociedad ac ual. Pa a pode ase e a es a a mación no enemos más que ememo a las dis in as polémicas causadas, ecien emen e, po los sis emas de econocimien o acial. Den o del p ocesamien o digi al po ap endizaje au omá ico encon a- mos el análisis de ex u a como una de las a ian es más p ominen es en el o ganig ama de es e ex enso campo. Y p ecisamen e es e se á el ema un- damen al de nues o p oyec o, el cual desa olla emos y p o undiza emos a lo la go de es as páginas. Po ende, nues o obje i o pa a es e p oyec o se á implemen a un en- o no ope a i o que acili e el desa ollo de di e en es aplicaciones de cla- sicación de ex u as y que pe mi a ensayos con di e en es pa áme os y congu aciones. Además, aplica emos el sis ema, a modo de ensayo p ác ico, sob e el p oblema de iden icación de la neumonía a pa i de adiog a ías con ayos X. Pa a lle a a cabo es o, el p oyec o se di idi á en a ias pa es di e en- ciadas: In es igación y es udio p e io. Desa ollo de la aplicación en es módulos uncionales. Tes eo pa a la búsqueda de posibles e o es de implemen ación y bús- queda de la congu ación óp ima pa a el p oblema de la neumonía. Resul ados y conclusiones. ii Abs ac Nowadays, he ecogni ion o objec s in images h ough digi al p oces- sing and machine lea ning is a eld ha is clea ly booming in he mode n wo ld, his is so o he poin ha he use o echnologies de i ed om his a ea o esea ch has gene a ed mul iple e hical dilemmas in oday's socie y. To be able o asse his a ma ion we ha e only o emembe he die en con o e sies caused, ecen ly, by he acial ecogni ion sys ems. Wi hin he digi al p ocessing by machine lea ning we nd ex u e analy- sis as one o he mos p ominen a ian s in he o ganiza ion cha o his ex ensi e eld. And p ecisely his will be he undamen al heme o ou p o- jec , which we will de elop and deepen h oughou his pages. The e o e, ou goal o his p ojec will be o implemen an ope a ing en- i onmen ha acili a es he de elopmen o die en ex u al classica ion applica ions and allows es ing wi h die en pa ame e s and congu a ions. In addi ion, we will apply he sys em, as a p ac ical es , on he p oblem o iden i ying pneumonia om x- ays. To ca y ou his, he p ojec will be di ided in o se e al die en ia ed pa s: Resea ch and p e ious s udy. De elopmen o he applica ion in h ee unc ional modules. Tes ing o sea ch o possible implemen a ion e o s and sea ch o he op imal congu a ion o he pneumonia p oblem. Resul s and conclusions. ix x i Índice 3. Me odología de abajo 23 3.1. Googled i e............................ 24 3.2. Googlehangou s ......................... 24 3.3. Gi lab............................... 25 3.4. Gi K aken............................. 25 4. Iden icación de análisis po ex u a u ilizando ap endizaje au omá ico 27 4.1. Funcionamien o gene al del sis ema . . . . . . . . . . . . . . . 27 4.2. Módulo 1: Toma de mues as . . . . . . . . . . . . . . . . . . 27 4.2.1. Componen es del módulo . . . . . . . . . . . . . . . . 30 4.3. Módulo 2: Ap endizaje de la SVM . . . . . . . . . . . . . . . 30 4.3.1. Componen es del módulo . . . . . . . . . . . . . . . . 31 4.4. Módulo 3: Clasicación de mues as con la SVM . . . . . . . 33 4.4.1. Componen es del clasicado . . . . . . . . . . . . . . 36 5. P uebas y e aluación 37 5.1. In oducción............................ 37 5.2. Elp oblema............................ 38 5.3. El conjun o de da os . . . . . . . . . . . . . . . . . . . . . . . 38 5.4. Elexpe imen o .......................... 39 6. Conclusiones y abajo u u o 43 6.1. Conclusión............................. 43 6.2. Conclusion............................. 44 6.3. T abajo u u o .......................... 46 6.3.1. U iliza o os mé odos de análisis . . . . . . . . . . . . 46 6.3.2. Velocidad de ejecución . . . . . . . . . . . . . . . . . . 47 6.3.3. O os abajos u u os . . . . . . . . . . . . . . . . . . 48 7. Con ibuciones indi iduales 49 7.1. Nicolás Alcaine Camilli . . . . . . . . . . . . . . . . . . . . . . 49 7.2. Alejand o Rod íguez Chacón . . . . . . . . . . . . . . . . . . 50 8. Apéndice A: Ejemplo de ejecución 53 9. Apéndice B: Manual de usua io 63 Bibliog a ía 65 Índice de gu as 2.1. Ejemplo de escala de g ises. . . . . . . . . . . . . . . . . . . . 10 2.2. Ejemplo de como esul a ía la ma iz de co-ocu encia de dis- ancia 1 y di ección es e. . . . . . . . . . . . . . . . . . . . . . 11 2.3. Ma iz de co-ocu encia (1,0) pa a la imagen de p ueba. . . . 11 2.4. No maliación de la ma iz. . . . . . . . . . . . . . . . . . . . . 12 2.5. Ca ac e ís icas implemen adas en el p oyec o. Siendo P i,j la p obabilidad de co-ocu encia de los alo es de g is i y j, pa a unadis anciadada........................ 13 2.6. Concep o de la SVM. . . . . . . . . . . . . . . . . . . . . . . . 14 2.7. Hipe plano de sepa ación. . . . . . . . . . . . . . . . . . . . . 15 2.8. Hipe plano de sepa ación máxima. . . . . . . . . . . . . . . . 16 2.9. Clases no sepa able linealmen e. . . . . . . . . . . . . . . . . . 17 2.10.Ke nellineal. ........................... 18 2.11. Ke nel polinómico. . . . . . . . . . . . . . . . . . . . . . . . . 18 2.12. Ke nel gaussiano. . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1. Vis a de las amas del p oyec o desde Gi K aken. . . . . . . . 25 4.1. Vis a del módulo de oma de mues as. . . . . . . . . . . . . . 28 4.2. Ejemplo de mues eo. . . . . . . . . . . . . . . . . . . . . . . . 29 4.3. Diag ama de bloques del sis ema . . . . . . . . . . . . . . . . 30 4.4. Vis adelmódulo2........................ 33 4.5. Vis adelmódulo3........................ 34 4.6. Ejemplo de esul ado del ba ido . . . . . . . . . . . . . . . . 35 4.7. Comando de acceso a libs m . . . . . . . . . . . . . . . . . . . 36 5.1. Resul ados de las p uebas . . . . . . . . . . . . . . . . . . . . 39 5.2. Ba ido esul an e de la congu ación 13 . . . . . . . . . . . . 41 5.3. Ba ido esul an e de la congu ación 13 . . . . . . . . . . . . 42 5.4. Ba ido esul an e de la congu ación 13 . . . . . . . . . . . . 42 6.1. Ejemplo de geome ía ac al en la na u aleza. . . . . . . . . . 46 x ii x iii Índice de igu as 6.2. Compa a i a de endimien o en la decon olución de una ima- gen, implemen ada sob e una CPU, mul ip og amada sob e ocho núcleos y en una GPU median e CUDA. [8] . . . . . . . 47 8.1. ................................... 53 8.2. ................................... 54 8.3. ................................... 54 8.4. ................................... 55 8.5. ................................... 56 8.6. ................................... 56 8.7. ................................... 57 8.8. ................................... 57 8.9. ................................... 58 8.10.................................... 58 8.11.................................... 59 8.12.................................... 60 8.13.................................... 60 8.14.................................... 61 Índice de Tablas xix Capí ulo 1 In oducción Resumen: en es e capí ulo se expone la mo i ación que nos ha lle ado a desa olla es e p oyec o, así como los obje i os iniciales del mismo. 1.1. Mo i ación Desde los inicios de la in o má ica siemp e se ha a ado de c ea máqui- nas, cada ez más complejas, que ue an capaces de emula algunas de las ca ac e ís icas, unciones y mane as de p ocesa la ealidad p opias del se humano. En es e sen ido, las compu ado as end ían a se un con enedo del conocimien o del homb e sal o po el hecho de que disponen de una capaci- dad de cómpu o inni amen e supe io . Se ían un auxilia que posibili a ía el descub imien o de nue os a ances cien ícos y a ilugios écnicos. En pa- lab as de Vanne a Bush: " Cie amen e, se debe á asegu a la delegación en las máquinas del a duo abajo que equie e la compleja y de allada manipulación ma emá ica de los da os, si deseamos que el ce eb o de esos cien ícos quede lib e pa a canali- za lo a a eas mucho más impo an es que la me a ans o mación epe i i a de los da os según eglas p ees ablecidas "[3]. Uno de los campos de la in o má ica donde más palpable se hace lo dicho y que más se ha expandido en los úl imos iempos es la isión po o dena- do , la cual deni íamos como " una disciplina cien íca que incluye mé odos pa a adqui i , p ocesa , analiza y comp ende las imágenes del mundo eal con el n de p oduci in o mación numé ica o simbólica pa a que puedan se a ados po un o denado " 1 . Tal y como los humanos usamos nues os ojos 1 h ps://es.wikipedia.o g/wiki/Visión_a icial 1 2 Capí ulo 1. In oducción y ce eb os pa a comp ende el mundo que nos odea. Y es den o del á ea de la isión po compu ado donde encon amos el campo del econocimien o de pa ones g ácos, que a su ez, engloba el análisis de ex u as como una de las amas más p ominen es, ya que es la esponsable de mul i ud de hallazgos y aplicaciones an impo an es como: Diagnós ico de cánce de piel y lesiones pigmen adas benignas (G een e al., 1991), ecupe ación de imágenes po colo y ex u a (Vel kamp y Hagedoo n, 1999), diagnós ico de mioca di is (Fe deghini e al., 1991), de ección de ca- ac e ís icas de los hielos pola es (Seph on e al., 1994), clasicación de las ocas olcánicas po ex u a (He nández, 1995), clasicación de o maciones ege ales (Gil e al., 1997a), iden icación de pe sonas median e la ex u a del I is y de ección de esiduos en de e minados medios u ilizando cáma as óp icas. Cla o es á que implemen a odas es as he amien as no es una a ea sencilla. Pa a log a lo, hay que apoya se en écnicas de clasicación basadas en ap endizaje au omá ico, como edes neu onales o, en nues o caso, SVM; y en écnicas de ADI (Análisis Digi al de Imágenes), las cuales es án ela- cionadas con la ex acción de mediciones ú iles, da os o in o mación de un campo de la imagen u ilizando disposi i os y sis emas au omá icos. 1.2. Obje i os El obje i o p incipal de es e TFG es implemen a un analizado de ex- u as que sea capaz de iden ica la p esencia de un de e minado ma e ial en una imagen an solo a eniéndonos a su ex u a. No end emos en cuen a o as ca ac e ís icas como el colo y la o ma del ma e ial. Pa a ello hab á, en p ime luga , que analiza digi almen e las imáge- nes de nues o da ase y ob ene mues as que nos si an pos e io men e pa a en ena nues a máquina y clasica las imágenes. Es a a ea se com- ple a á haciendo uso de mé odos es adís icos, basados en el his og ama de la ma iz de g ises de la imagen; de la ma iz de co-ocu encia de segundo o den, de i ada del his og ama de g ises; y de 14 desc ip o es de ácil cálculo. En segundo luga , hab emos de ins ancia una SVM (Suppo ec o ma- chine), pa a en ena y clasica , que eciba como en ada los ec o es de ca ac e ís icas de las mues as ecogidas en la p ime a pa e, o las p opias componen es de la ma iz de co-ocu encia . Po úl imo, y como complemen o u obje i o secunda io, aplica emos o- 1.3. Visión gene al del documen o 3 do el sis ema sob e un caso conc e o de la ealidad y ealiza emos un es udio sob e la calidad de los esul ados ob enidos. 1.3. Visión gene al del documen o El documen o es a á di idido en los siguien es capí ulos que se mues an a con inuación: Capí ulo 2: se explica á odo el es udio p e io a la implemen ación del sis ema. Capí ulo 3: en es e apa ado explica emos odo lo elacionado con la ges ión del p oyec o y la adminis ación del abajo. Capí ulo 4: desc ibi emos el sis ema en su o alidad a pa i de un análisis de allado de cada una de sus pa es. Capí ulo 5: compo amien o del sis ema sob e un p oblema conc e o. Capí ulo 6: conclusiones del abajo y p oyec os u u os. Capí ulo 7: se expond án las con ibuciones de cada miemb o del equi- po al esul ado nal. Apéndice A: ejemplo de ejecución de la aplicación. Apéndice B: manual de usua io. 4 Capí ulo 1. In oducción 1.4. Mo i a ion Since he beginning o compu ing, we ha e always ied o c ea e inc ea- singly complex machines ha we e able o emula e some o he cha ac e- is ics, unc ions and ways o unde s and p ope ly eali y as human being would. In his sense, compu e s would become a con aine o he knowledge o man, excep by he ac ha hey ha e an inni ely supe io compu ing capaci y. They would be an auxilia y ha would enable he disco e y o new scien ic ad ances and echnical de ices. In he wo ds o Vanne a Bush: " Relie mus be secu ed om labo ious de ailed manipula ion o highe ma hema ics as well, i he use s o i a e o ee hei b ains o some hing mo e han epe i i e de ailed ans o ma ions in acco dance wi h es ablished ules. "[3]. One o he elds o compu e science whe e wha has been said is mos palpable and has been expanded he mos in ecen imes is compu e ision, which we would dene as " an in e disciplina y scien ic eld ha deals wi h how compu e s can be made o gain high-le el unde s anding om digi al images o ideos. F om he pe spec i e o enginee ing, i seeks o au oma e asks ha he human isual sys em can do. " 2 . And i is wi hin he a ea o compu e ision whe e we nd he eld o ecogni ion o g aphic pa e ns, which, in u n, encompasses he analysis o ex u es as one o he mos p ominen b anches, since i is esponsible o a mul i ude o ndings and applica ions as impo an as: skin cance and benign pigmen ed lesions diagnosis(G een and ano he s,1991), eco e y o images by colo and ex u e (Vel kamp and Hagedoo n,1999), myoca di- is diagnosis(Fe deghini and o he s, 1991), de ec ion o pola ice cha ac e- is ics(Seph on and o he s, 1994), classica ion o olcanic ocks by ex u- e(He nández, 1995), classica ion o plan o ma ions(Gil and o he s, 1997), iden ica ion o people h ough he ex u e o I is and de ec ion o was e in ce ain a ea using op ical came as. O cou se, implemen ing all hese ools is no a simple ask. To achie- e his, we mus ely on classica ion echniques based on machine lea ning, such as neu al ne wo ks o , in ou case, SVM; and in he echniques o digi al image análisis which a e ela ed o he ex ac ion o use ul measu emen s, da a o in o ma ion om a eld o he image using de ices and au oma ic sys ems. 2 h ps://en.wikipedia.o g/wiki/Compu e _ ision 1.5. Objec i es 5 1.5. Objec i es The main objec i e o his pape is o implemen a ex u e analyze able o iden i y he p esence o a ce ain ma e ial in an image only by adhe ing o i s ex u e. We will despise o he cha ac e is ics such as he colo and shape o he ma e ial. To do his, we will  s ha e o digi ally analyze he images o ou da- ase and ob ain samples ha will se e us la e o ain ou machine and classi y he images. This ask will be comple ed using s a is ical me hods, based on he his og am o he g ay ma ix o he image; by he second-o de co-occu ence ma ix, de i ed om he g ay his og am; and 14 easily calcu- la ed desc ip o s. In second e m, we will ha e o ins an ia e an SVM (Suppo ec o ma- chine), o ain and classi y, ha ecei es as inpu he cha ac e is ics ec o s o he samples collec ed in he  s pa , o he own componen s o he co- ocu ence ma ix. Finally, as a complemen o seconda y objec i e, we would like o apply he whole sys em on a conc e e case o eali y and ealize a small s udy on he quali y o he esul s ob ained. 1.6. Gene al ision o he documen The documen will be di ided in o he ollowing chap e s: Chap e 2: he en i e s udy p e ious o he implemen a ion o he sys- em. Chap e 3: in his sec ion we will explain e e y hing ela ed o he p ojec managemen and adminis a ion. Chap e 4: we will desc ibe he sys em a i s en i e y om a de ailed analysis o each o i s pa s. Chap e 5: beha io o he sys em on a specic p oblem. Chap e 6: conclusions o wo k and u u e p ojec s. Chap e 7: he con ibu ions o each eam membe o he nal esul . Appendix A: execu ion example. Appendix B: use manual. 12 Capí ulo 2. T abajo p e io Figu a 2.4: No maliación de la ma iz. enemos así el cálculo de ambos sen idos en una misma di ección, aho a enemos: es e-oes e, no e-su , no es e-su oes e, no oes e-su es e). Es o se consigue sumando la ma iz de coocu encia calculada en una di ección a su aspues a. Ya que enemos la ma iz simé ica, lo siguien e y lo úl imo que hay que hace es exp esa la como ma iz de p obabilidad, no maliza la al como mues a la Figu a 2.4. Una ez que enemos la ma iz no malizada, pod emos u iliza la pa a ob- ene medidas es adís icas, que desc iban la ex u a. Reco demos que, una ez que se denan es as ca ac e ís icas, los bloques de imágenes se pue- den clasica u ilizando una de las múl iples écnicas de econocimien o de pa ones. Ha alick denió es as 14 ca ac e ís icas: Segundo momen o angu- la , con as e, co elación, a ianza, momen o de di e encia in e sa, suma de p omedios, suma de a ianzas, suma de en opía, en opía, di e encia de a ianza, di e encia de en opía, medidas de in o mación de la co elación y máximo coecien e de co elación. Cada ca ac e ís ica nos da á in o mación dis in a, y se á más ele an e dependiendo de la na u aleza de la ex u a. Las ca ac e ís icas que noso os hemos implemen ado pa a o ma los ec o es de clasicación son las siguien es: 2.3. SVM 13 Figu a 2.5: Ca ac e ís icas implemen adas en el p oyec o. Siendo P i,j la p obabilidad de co-ocu encia de los alo es de g is i y j, pa a una dis ancia dada 2.3. SVM Es bien sabido que exis en una g an can idad de algo i mos de clasi- cación, como las edes neu onales o la eg esión logís ica, pa a clasica conjun os de da os. La mayo ía de ellos uncionan de una o ma muy simi- 14 Capí ulo 2. T abajo p e io la , po lo que hay que ene un conocimien o muy ele ado de los ma ices que apo a cada algo i mo pa a elegi el co ec o en cada momen o. La ma- yo ía de las eces la a iable más c í ica de un p oblema se á el amaño de su conjun o de da os; la máquina de ec o de sopo e es una de las écnicas que más po encial puede apo a en es a si uación. Una desc ipción bas an e ap oximada de cómo unciona una SVM se ía: dado un conjun o de pun os, subconjun o de un conjun o mayo (espacio), en el que cada uno de ellos pe enece a una de dos posibles ca ego ías, un algo i mo basado en SVM cons uye un modelo capaz de p edeci si un pun o nue o (cuya ca ego ía desconocemos) pe enece a una ca ego ía o a la o a. 4 Pa a comple a es a denición, es necesa io deci que la idea de ás de la máquina es la de clasica un conjun o de da os de cualquie dimensiona- lidad, pa ame izado ma emá icamen e, buscando el hipe plano que di ide al conjun o de da os en las clases dadas. Siemp e hab á muchos hipe planos que clasiquen a ese conjun o de da os de o ma más o menos co ec a. Po an o, la cla e es encon a aquel que haga una mejo clasicación, es deci , aquél que deje un mayo ma gen en e ambas clases. Es a úl ima es la azón po la que, a eces, se conoce a las SVM como clasicado es de ma gen má- ximo. Figu a 2.6: Concep o de la SVM. Ad e imos que en es e abajo no se p o undiza á en el aspec o ma e- má ico, pe o puede encon a se una desc ipción de allada en el lib o Suppo Vec o Machines Succinc ly by Alexand e Kowalczyk [7]. 4 h ps://es.wikipedia.o g/wiki/Máquinas_de_ ec o es_de_sopo e 2.3. SVM 15 2.3.1. Maximal Ma gin Classie e Hipe plano En un espacio p-dimensional, un hipe plano se dene como un subespacio plano y a ín de dimensiones p−1 . El é mino a ín signica que el subespa- cio no iene po qué pasa po el o igen. [11] En el caso de un espacio de dimensión uno el hipe plano se á un pun o (di ide una línea en dos). Si lo que enemos es un espacio de dimensión dos, un plano, en onces el hipe - plano se á una ec a. Es o es gene alizable a cualquie dimensión median e la siguien e ecuación: β0+β1x1+β2x2+... +βpxp= 0 Y es p ecisamen e es a ecuación la que nos in e esa pa a conoce el un- cionamien o del SVM. Simplemen e: β0+β1x1+β2x2+... +βpxp<0 o bien β0+β1x1+β2x2+... +βpxp>0 Vemos como el hipe plano di ide el espacio en dos mi ades, de al o - ma que dependiendo del signo del esul ado de esol e la ecuación pa a un pun o X implica que es e pun o sea clasicado en una u o a clase. Lo dicho se comp ende á mucho mejo median e un ejemplo. En la siguien e imagen con emplamos un espacio bidimensional que es di idido median e un hipe plano, en es e caso una ec a. La ecuación que desc ibe es a ec a es 1 + 2x1+ 3x2= 0 . Así emos que al á ea azul la con o ma án los pun os que cumplen: 1 + 2x1+ 3x2>0 , mien as que la egión oja se á aquella que se o me con los pun os que sa is acen la misma ecuación con signo con a io. Figu a 2.7: Hipe plano de sepa ación. 16 Capí ulo 2. T abajo p e io Pa a esol e los p oblemas de clasicación con SVM hay que encon a el hipe plano óp imo de sepa ación o maximal ma gin hype plane , es deci aquel que se encuen a más alejado de odas las obse aciones de en ena- mien o. Pa a ob ene lo, se iene que calcula la dis ancia pe pendicula de cada obse ación a un de e minado hipe plano. La meno de es as dis ancias de e mina el ma gen máximo de sepa ación que hab á que op imiza has a llega al maximal ma gin hype plane . Figu a 2.8: Hipe plano de sepa ación máxima. La imagen an e io mues a el maximal ma gin hype plane pa a un con- jun o de da os de en enamien o. Las es obse aciones equidis an es espec- o al maximal ma gin hype plane se encuen an a lo la go de las líneas discon- inuas que indican la anchu a del ma gen. A es as obse aciones se les conoce como ec o es sopo e, ya que son ec o es en un espacio p-dimensional y sopo an (denen) el maximal ma gin hype plane . Cualquie modicación en es as obse aciones ( ec o es sopo e) conlle a cambios en el maximal ma - gin hype plane [11]. 2.3.2. Clasicado de ec o sopo e o So Ma gin SVM Siemp e que clasicamos con SVM nos gus a ía encon a un hipe plano que ue a capaz de hace una sepa ación pe ec a del conjun o de da os. Pe- o, a eces, es a sepa ación o bien no es posible, o bien es con ap oducen e a la ho a de gene aliza el p oblema, al pasa de en enamien o a clasicación. En el p ime caso se puede expe imen a con dis in os ipos de Ke nels pa a adap a "la o ma"del hipe plano a "la nube de pun os". En el segundo caso es amos an e un p oblema de sob eajus e(o e  ing), que solo se solu- 2.3. SVM 17 Figu a 2.9: Clases no sepa able linealmen e. ciona á usando un pa áme o C que apo e cie a exibilidad y con ole la compensación en e e o es de en enamien o y los má genes ígidos, c ean- do así un ma gen blando que pe mi a algunos e o es en la clasicación a la ez que los penaliza 5 . Cuan o mayo es el alo de C mayo es el ajus e. 2.3.3. Ke nels En el pun o an e io decíamos que, en ocasiones, la sepa ación en e dos conjun os de da os es in iable y que pa a ello necesi a íamos con a con o as o mas de hipe plano que no clasiquen de o ma lineal. Es o se log a con la u ilización de dis in os ipos de ke nel. Un ke nel es una unción que de uel e el esul ado del do p oduc en e dos ec o es ealizado en un nue o espacio dimensional dis in o al que se encuen an los ec o es. Aunque no se ha en ado en de alle en las ó mu- las ma emá icas empleadas pa a esol e el p oblema de op imización, es a con iene un do p oduc . Si se sus i uye es e do p oduc po un ke nel, se ob ienen di ec amen e los ec o es sopo e (y el hipe plano) en la dimensión co espondien e al ke nel [11]. Exis en mul i ud de ke nels dis in os, algunos de los más u ilizados y que se emplean en el abajo son: Ke nel lineal (Figu a 2.9): K(x, x0) = x∗x0 . Si se emplea un Ke nel lineal, el clasicado Suppo Vec o Machine ob enido es equi alen e al Suppo Vec o Classie . 5 h ps://es.wikipedia.o g/wiki/Máquinas_de_ ec o es_de_sopo e 18 Capí ulo 2. T abajo p e io Figu a 2.10: Ke nel lineal. Ke nel polinómico (Figu a 2.10): K(x, x0) = (x∗x0+c)d . Cuando se emplea d = 1 y c = 0, el esul ado es el mismo que el de un ke nel lineal. Si d >1, se gene an lími es de decisión no lineales, aumen ando la no linealidad a medida que aumen a d. No suele se ecomendable usa d >5 po p oblemas de o e  ing . Figu a 2.11: Ke nel polinómico. Ke nel gaussiano (Figu a 2.11): K(x, x0) = exp(−γ||x−x0||2) . El alo de γ con ola el compo amien o del ke nel, cuando es muy pe- queño el modelo nal es equi alen e al del ke nel lineal, a medida que aumen a su alo , ambién lo hace la exibilidad del modelo. 2.4. Tecnologías ele an es 19 Figu a 2.12: Ke nel gaussiano. 2.4. Tecnologías ele an es 2.4.1. Py hon Py hon es un lenguaje de al o ni el de los años 90 c eado po Guido an Rossum que en los úl imos años ha ganado bas an e popula idad. Uno de sus g andes a ac i os es que in en a ace ca se al lenguaje na u al, en a izando la legibilidad y limpieza del código, pe mi iendo que sea ela i amen e sen- cillo ealiza desa ollos usando dicho lenguaje. También es un lenguaje in e p e ado que usa ipado dinámico y esolu- ción dinámica de nomb es. Sopo a di e en es pa adigmas, pe mi iendo que se abaje en p og amación impe a i a, uncional y o ien ada a obje os, lo que le da una g an e sa ilidad. Py hon con iene una amplia lib e ía es ánda , y un g an núme o de mó- dulos que le dan una g an can idad de he amien as pa a abaja en di e- en es ámbi os, siendo uno de los más des acados el análisis de da os, lo cual hace que sea un lenguaje ecu en e en el desa ollo de aplicaciones cien í- cas. Aunque nalmen e no hemos usado las biblio ecas de Py hon pa a im- plemen a las pa es de ap endizaje au omá ico de la máquina de ec o de sopo e, mo i ados po su acilidad de uso y po la exis encia de he amien- as pa a la elabo ación de in e aces, sí lo hemos empleado en la cons ucción 20 Capí ulo 2. T abajo p e io de los módulos 1 y 3. 2.4.2. Pillow Pillow es una lib e ía OpenSou ce pa a Py hon que añade una g an can- idad de unciones de uso común pa a abaja con imágenes, como pueden se : aplicación de l os, edimensionado de imágenes y cambios de o ma o. Es una he amien a muy impo an e de ca a al p oyec o, dado que el p ime y e ce módulo ealizan un análisis donde se u ilizan dis in as ope- aciones pa a simplica la ex acción de da os sob e las múl iples imágenes. 2.4.3. NumPy y SciPy NumPy es una lib e ía OpenSou ce pa a Py hon que añade uncionali- dades pa a abaja con ec o es y ealiza calculos cien icos. Basada en la lib e ía Nume ic, se c eó pa a ene un código de ácil man enimien o, op imizado pa a da mayo eciencia, y exible en su uso. NumPy nos apo a di e en es es uc u as, más ecien es que las es ánda de Py hon, pa a encapsula da os como ec o es o ma ices(como es el caso de la ma iz de Co-Ocu encia). SciPy es una lib e ía OpenSou ce pa a Py hon que añade una g an co- lección de algo i mos ma emá icos y p opo ciona a los usua ios una in e az capaz de p ocesa da os con la misma ecacia que he amien as como Ma lab u Oc a e. 2.4.4. PyQ PyQ es un binding de la biblio eca g áca Q pa a el lenguaje de p o- g amación Py hon. Fue desa ollado po Ri e bank Compu ing. Q es un amewo k que pe mi e desa olla aplicaciones mul ipla a o ma e in e aces g ácas. Desa ollado en 1992, nace pa cialmen e en un desa ollo de código abie o, pe o no comple amen e lib e. Fue u ilizado en el desa o- llo de KDE, ac ualmen e uno de los esc i o ios más popula es de GNU/Linux. 2.4. Tecnologías ele an es 21 2.4.5. Ja aFX Ja aFX es una pla a o ma so wa e con la capacidad de p oduci aplica- ciones web p o is as de las ca ac e ís icas de una aplicación de esc i o io. Es la al e na i a a Swing más usada debido a la exibilidad de es ilos en las componen es, lo cual se consigue median e el empleo de hojas css. Po es a azón, hemos op ado po Ja aFX pa a p oduci una in e az dinámica pa a el módulo 2 que sea capaz de adap a sus es ilos en las di e en es pla- a o mas, y que además sea lo más simple y ampliable posible. Cabe des aca que, al emplea lenguaje Ja a, ha sido bas an e sencillo comunica se en e p ocesos de la e minal y ealiza llamadas a p og amas de libSVM, consiguiendo que un p oceso hijo sea espe ado po su pad e en sólo unas pocas líneas de código. 2.4.6. libSVM libSVM es una de las lib e ías en código abie o más conocidas pa a a- baja con máquinas de ec o sopo e. Su licencia es BSD, po lo que hemos podido usa su código C pa a compila nues as p opias e siones de los p o- g amas de en enamien o y p edicción. Es as lib e ías con ienen un amplio epe o io de APIs en di e en es len- guajes, po ejemplo en Ja a, C, C++, Py hon, R, e c. También ae sopo e pa a apps de and oid. En e sus uncionalidades des acan los clasicado es de máquina sopo e (SVC), eg esiones (SVR) y es imación de una dis ibución (SVM de una cla- se). Pa a nues o abajo nos en ocamos exclusi amen e en los clasicado es de máquina sopo e, en especial C-SVC, que abaja con el hipe -pa áme o C, explicado an e io men e en la eo ía. O a ca ac e ís ica muy impo an e, es que con iene un sc ip llamado g id.py, que se emplea pa a abaja con alidación c uzada. La alidación c uzada es una écnica capaz de consegui esul ados óp imos de los alo es C y gamma pa a un de e minado caso de p ueba con sus p edic o es. En cuan o a ke nels, libSVM sopo a el ke nel lineal, polinomial, adial (gaussiano) y el ke nel sigmoide. En la pa e p ác ica e emos que los ke nels más ú iles pa a nues as clasicaciones se án el ke nel polinomial y el adial. 28 Capí ulo 4. Iden icación de análisis po ex u a u ilizando ap endizaje au omá ico condicionado po el a amien o que se le haya dado a las imágenes en es e componen e. Figu a 4.1: Vis a del módulo de oma de mues as. El módulo de oma de mues as cuen a con dos "modalidades"pa a ea- liza el análisis sob e la imagen: análisis es adís ico y análisis po ma iz de co-ocu encia, cons uida al y como indicamos en el capí ulo 2 de es a memo ia . En caso de que e ealiza un análisis es adís ico, el usua io selec- ciona á ESTADÍSTICOS, las ca ac e ís icas que desee aplica a la imagen y p ocede á con el mues eo. Si lo que que emos es ealiza un análisis sob e la ma iz de co-ocu encia, selecciona emos MATRIZ CO-OCURRENCIA, las ca ac e ís icas deseadas, la di ección de la co-ocu encia (es necesa ia al menos una di ección), un escalado de g ises(cada mues a se á ans o - mada a una ma iz de g ises), una dis ancia y, nalmen e, se p ocede á al mues eo. De mane a opcional se pod á ma ca la opción . A ñadi ma iz de co-ocu encia como ca ac e ís ica", con ella pod emos añadi cada compo- nen e de la ma iz de co-ocu encia como una componen e más del ec o de ca ac e ís icas de cada mues a analizada. En esumen podemos inco po a una es a egia más (comúnmen e u ilizada en es udios p eceden es) pa a ob- ene in o mación de las imágenes. Ambas modalidades ope a án sob e las ca ac e ís icas denidas en el ca- pí ulo 2, sin emba go, la p ime a de ellas analiza á las mues as aplicando 4.2. Módulo 1: Toma de mues as 29 l os y cálculos di ec amen e sob e los da os de las ma ices de las mues- as, mien as que la segunda calcula á, en p ime luga , las ma ices de co-ocu encia de las dis in as mues as, con la congu ación seleccionada pa a dichas ma ices, y aplica á las ca ac e ís icas sob e ellas, en ez de di- ec amen e sob e las mues as. Finalmen e queda el mues eo, que consis i á en selecciona una de las dos clases de mues a (posi i a o nega i a), e i clickeando sob e la imagen pa a que se ma quen las mues as. Una ez e minado el mues eo se ealiza el p ocesado de cada mues a y se almacena en una es uc u a de da os. Figu a 4.2: Ejemplo de mues eo. Reco damos que la idea de es a aplicación es c ea un un en o no ope- a i o que acili e el desa ollo de di e en es aplicaciones de clasicación de ex u as, pe mi iendo ensayos con di e en es pa áme os. Como consecuen- cia de ello, y al se un módulo de oma de mues as manual, con el obje i o de agiliza es a a ea, se ha a ado de implemen a odo ipo de acilidades pa a la pe sona que in e ac úa con la aplicación: p ecauciones pa a que las mues as no se sob epongan, es icciones pa a que las mues as no excedan los bo des, posibilidad de ob ene mues as sob e dis in as imágenes, e c. 30 Capí ulo 4. Iden icación de análisis po ex u a u ilizando ap endizaje au omá ico 4.2.1. Componen es del módulo La elección de Py hon pa a el Clasicado iene dada po se un lenguaje que des aca po su can idad de paque es que en ocan al análisis de da os. En es e módulo se han hecho uso los siguien e paque es de Py hon: PIL: es e paque e de Py hon pe mi e abaja de o ma sencilla con imágenes PyQ : es e paque e es una implemen ación en Py hon de Q un amoso amewo k GUI. SciPy: es un ecosis ema de paque es pa a ealiza compu ación de da os cien ícos en Py hon. Figu a 4.3: Diag ama de bloques del sis ema 4.3. Módulo 2: Ap endizaje de la SVM En es e módulo, la aplicación se cen a en la clasicación de los da os ob enidos po la salida del componen e an e io , es o es, un a chi o zip con un che o pa a el en enamien o con los ec o es a ojados po el módulo 1 y un a chi o de congu ación json de ca a a pode usa el módulo 3. 4.3. Módulo 2: Ap endizaje de la SVM 31 4.3.1. Componen es del módulo Los a chi os usados pa a es e módulo son: s m- ain: Es un ejecu able cons uido sob e C, cuya unción es la de en ena el da ase que le in oducimos y gene a un a chi o model, que se á aquel que use la máquina pa a luego pode ealiza las clasi- caciones. s m-p edic : O o ejecu able que clasica el da ase de es y c ea un po cen aje de acie os en e las clases que es ima la máquina y las clases que ealmen e ep esen an los ejemplos. Además c ea un che o ou pu que gua da odas las clases que es imó la máquina du an e la clasicación. g id.py: Sc ip de py hon opcional, pe o ú il pa a ealiza K- old c oss- alida ion sob e el da ase . Pa a pode usa lo al máximo endimien o, es imp escindible ene gnuplo ins alado en el sis ema, debido a que gene a una imágen que ep esen a una g áca sob e los pa áme os C y gamma con mejo es esul ados. Pa a selecciona qué ipo de clasicación se quie e ealiza , en la in e az g áca se pueden selecciona 5 ipos: C-SVC: Habili ado po de ec o, debido a que es el más empleado en es e abajo. Equi ale al explicado en la sección SVM So Ma gin en el capí ulo 2. nu-SVC: Tiene la misma unción que C-SVC, con la di e encia de que és e emplea el pa áme o nu en luga del pa áme o C. SVM one class: Idóneo pa a pode es udia la elación que ienen las ca ac e ís icas sob e una clase en especíco. Epsilon SVR: Emplea eg esión lógica sob e el da ase empleando el pa áme o épsilon. Es e clasicado nunca se emplea, debido a que el más idóneo pa a es e abajo es SVC. nu-SVR: Igual que el an e io , solo que empleando el pa áme o nu en luga de C. Ke nels u ilizables ( ambién explicados en el capí ulo 2): lineal. 32 Capí ulo 4. Iden icación de análisis po ex u a u ilizando ap endizaje au omá ico polynomial. adial. sigmoid. Los pa áme os que se pueden emplea pa a ealiza el en enamien o de la máquina son: Deg ee: Dene el pa áme o d pa a el ke nel polinomial. Gamma: Dene el pa áme o gamma pa a el ke nel polinomial, adial y sigmoidal. Coe 0: Dene el pa áme o pa a el ke nel polinomial y sigmoidal. Cos : Dene el pa áme o C pa a C-SVC y Epsilon SVR. Nu: Dene el pa áme o nu pa a nu-SVC, SVM one class y nu-SVR. Epsilon-SVR: Dene épsilon pa a Epsilon SVR. Cache Size: Dene el amaño de la memo ia caché pa a ealiza la clasicación. Epsilon: De e mina ole ancia pa a el c i e io de e minación. Sh ink: Ac i a la opción de aco a el núme o de i e aciones que ealiza la máquina pa a ap ende du an e el en enamien o. Es ima e: Ac i a la opción de usa p obabilidades es imadas de acie - o gene adas po un k- old c oss alida ion u ilizado du an e el en- enamien o. Es ecomendable sólo usa lo una ez que se denen los pa áme os óp imos pa a un da ase . Weigh : Es un pa áme o que ac ualiza C mul iplicándose po el p opio C. 4.4. Módulo 3: Clasicación de mues as con la SVM 33 Figu a 4.4: Vis a del módulo 2 4.4. Módulo 3: Clasicación de mues as con la SVM La idea de es e módulo es ealiza un ba ido de una imagen dada con un amaño de mues a y unas ca ac e ís icas idén icas a las u ilizadas en el módulo de ap endizaje. Pa a ello se aplica án las dos pa es p eceden es del sis ema con el obje i o de ob ene el ec o de ca ac e ís icas de cada mues a del ba ido. Finalmen e se p ocede á a la clasicación de cada uno de es os ec o es. 34 Capí ulo 4. Iden icación de análisis po ex u a u ilizando ap endizaje au omá ico Figu a 4.5: Vis a del módulo 3 Pa a comple a el ba ido lo p ime o que hab á que hace se á ca ga una imagen, o un conjun o de imágenes, jun o con el aining se a ojado po la SVM, es deci , un di ec o io comp imido, con ex ensión .zip, que con end á un a chi o de ex ensión . ain con las mues as usadas pa a el en enamien o de la SVM y un json con los pa áme os de congu ación que ue on selec- cionados en el módulo an e io pa a en ena a la máquina de ec o sopo e. Una ez ob enidos los da os de en ada necesa ios pa a que es e com- ponen e uncione, se inicia un p oceso que naliza á con las imágenes de en ada ma cadas de al o ma que se di e encia án, del es o de o mas de la imagen, los obje os que que íamos adi ina po su ex u a. En el caso de la búsqueda de neumonía en adiog a ías de ayos x, las pa es de la imagen que no son neumonías queda án enma cadas den o de un ecuad o ojo y las que sí lo son apa ece án sin dibuja . 4.4. Módulo 3: Clasicación de mues as con la SVM 35 Figu a 4.6: Ejemplo de esul ado del ba ido El p oceso se inicia á ca gando la congu ación del json y el a chi o . ain pa a inmedia amen e después gene a un comando que llame al mó- dulo dos(a a és de una ube ía) y le pase an o la congu ación como las mues as del en enamien o. Es o se hace con el n de adqui i un modelo, al y como el de la sección an e io , que si a pa a clasica las mues as del ba ido. Una ez que hemos en enado a la máquina de nue o y hemos ob enido el modelo de en enamien o, p ocede emos a di idi la imagen en un g id, cuyas celdas end án el amaño de mues a que se especicó en el módulo 1, y a eco e lo de o ma descenden e, de izquie da a de echa. En es e e- co ido se clasica án las mues as según dic amine el modelo y se gene a á una ma iz de booleanos que se u iliza á, nalmen e, pa a pin a la imagen aco de al esul ado de la clasicación. Hay que acla a que, en es e módulo, pa a pode clasica hay que c ea un che o . con cada mues a y ejecu a , a pa i de llamadas al sis ema ope a i o(pa a accede a libs m), el mé odo p edic esiden e en el modelo de en enamien o ob enido: 36 Capí ulo 4. Iden icación de análisis po ex u a u ilizando ap endizaje au omá ico Figu a 4.7: Comando de acceso a libs m 4.4.1. Componen es del clasicado El módulo subp ocess: pe mi e in oca p ocesos desde Py hon y co- munica se con ellos: en ia da os a la en ada (s din) y ecibi la in o - mación de salida (s dou ). Además, espe a a que el p oceso nalice o bien e mina lo p ema u amen e, y ob ene el alo de e o no. 1 Al igual que en el módulo 1, ambién u ilizamos las lib e ías PIL, numPy y PyQ . 1 h ps:// ecu sospy hon.com/guias-y-manuales/subp ocess-c eacion-y-comunicacion- con-p ocesos/ Capí ulo 5 P uebas y e aluación Resumen: En es e capí ulo mos a emos el compo amien o del sis- ema sob e un p oblema conc e o. 5.1. In oducción Desde que comenzamos a abaja en el sis ema de iden icación de imá- genes po análisis de ex u as nos hemos es ado p egun ando cual se ía el campo de in es igación más ap opiado pa a aplica nues o desa ollo. El p ime es udio que conside amos hace ue el de aplica el análisis de ex u a al diagnós ico de en e medades odon ológicas, pe o as habla con un odon ólogo y ob ene un conjun o de da os pa a el en enamien o y la clasicación, decidimos desca a es a in es igación, ya que no encon amos la o ma de aplica nues o sis ema al da ase ecibido. T as es e p ime in en o, la os eopo osis ue el siguien e p oblema que alo amos. Con ac amos con la uni e sidad poli écnica de O leans (F ancia) pa a que nos lega an su da ase e ique ado con mues as de dicha en e me- dad, pe o las imágenes que nos die on e an álidas, en el mejo de los casos, pa a esol e un p oblema de clasicación, no pa a la iden icación de un obje o den o de la imagen, al y como p e endemos noso os. Finalmen e hemos decidido emplea nues a aplicación en la iden ica- ción de la neumonía a pa i de las adiog a ías de la caja o ácica de dis- in os pacien es. El conjun o de da os pa a es e expe imen o se ha ob e- nido de Kaggle, que a su ez lo ha ob enido del abajo " Ches X- ay8: Hospi al-scale Ches X- ay Da abase and Benchma ks on Weakly- Supe ised Classica ion and Localiza ion o Common Tho ax Di- seases ",[13] el cual ealiza un es udio muy simila al nues o, aunque u iliza 37 44 Capí ulo 6. Conclusiones y abajo u u o un e a o más dedigno de la ealidad, son muy suscep ibles de inc emen- a la e ec i idad de los esul ados pa alelamen e a la capacidad de cómpu o. El segundo de es os ac o es es la g an can idad de a ian es que hay pa a esol e un p oblema conc e o. Y no solo eso, sino que cualquie peque- ña modicación o combinación de dis in os pa adigmas puede, dependiendo del caso, a oja esul ados comple amen e dis in os e incluso cons i ui una nue a a ian e. Po ello, los es udios del a e ealizados po mul i ud de au- o es en el pasado son la base imp escindible pa a consegui éxi os en es e campo, ya que con ellos podemos ene un conocimien o gene al sob e sob e mul i ud de écnicas muy impo an es. En cuan o al desa ollo del p oyec o, hemos de deci que es amos sa is e- chos con el esul ado nal debido a que, du an e la ealización de es e, hemos adqui ido unos aliosos conocimien os y una abundan e expe iencia g acias a que pa a implemen a el sis ema hemos enido que en emezcla , de mane a comple amen e lib e y no eglada, dis in os ipos de ecnologías y lenguajes de p og amación, lo que nos a o zado, has a cie o pun o, a se c ea i os a la ho a de in en a soluciones pa a los p oblemas que han ido su giendo y a amilia iza nos con dichas he amien as. También nos gus a ía des aca que abaja en es e p oyec o nos ha he- cho conciencia nos de la u ilidad de usa sis emas de con ol de e siones, de planica co ec amen e un p oyec o desde el p incipio y de la impo ancia de ealiza una in es igación p e ia comple a. En las siguien es páginas explica emos lo que, a nues o juicio, son posi- bles ampliaciones, complemen os o a ian es ele an es pa a nues o p oyec o ac ual. 6.2. Conclusion We belie e ha o s a his sec ion o conclusions he bes we can do is o speak hones ly abou wha has mos caugh ou a en ion abou his nal p ojec . We would say ha he mos imp essi e hing o us has been he simpli- ci y o he echniques applied o sol e a p oblem as complex and necessa ily chao ic as i is o iden i y an objec h ough i s ex u e, being ha a ew elemen a y ma hema ical unc ions, a ma ix model, whose o ma ion is no complex a all, and some o he innume able au oma ic lea ning echniques o sol e eg ession p oblems a e sucien equi emen s o iden i y a la ge 6.2. Conclusion 45 pa o he ex u es, bo h na u al and a icial. Bu i he echniques a e so simple, why when we in es iga e he s a e o he a we see ha o mo e han 50 yea s he e ha e been p og esses and changes in he ma e ? We belie e ha his is undamen ally due o wo ac o s. The  s o hese is, ob iously, he inc ease in he capaci y and speed o ha dwa e p ocessing, gi en ha p oblems o his ype, which equi e hand- ling a huge amoun o in o ma ion in o de o make a mo e eliable po ai o eali y, hey a e e y suscep ible o inc ease he eec i eness o he esul s pa allel o he compu ing capaci y. The second o hese ac o s is he la ge numbe o a ian s ha exis o sol e a specic p oblem. And no only ha , bu any small modica ion o combina ion o die en pa adigms can, depending on he case, yield com- ple ely die en esul s and e en cons i u e a new a ian . Fo his eason, he s udies o a made by many au ho s in he pas a e he essen ial basis o achie e success in his eld, since wi h hem we can ha e a gene al know- ledge abou a mul i ude o e y impo an echniques. Rega ding he de elopmen o he p ojec , we ha e o say ha we a e sa ised wi h he nal esul . because du ing he ealiza ion o his, we ha e acqui ed aluable knowledge and an abundan expe ience hanks o he ac ha o implemen he sys em we ha e had o in e mingle, comple ely ee and no egula ed, die en ypes o echnologies and p og amming langua- ges, which We ha e been o ced, o some ex en , o be c ea i e when i comes o in en ing solu ions o he p oblems ha ha e a isen and o become a- milia wi h hese ools. We would also like o highligh ha wo king on his p ojec has made us awa e o he u ili y o using e sion con ol sys ems, o co ec ly planning a p ojec om he beginning and o he impo ance o ca ying ou a comple e p io in es iga ion. In he ollowing pages we will explain wha , in ou opinion, possible ex- ensions, complemen s o a ian s ele an o ou cu en p ojec . 46 Capí ulo 6. Conclusiones y abajo u u o 6.3. T abajo u u o 6.3.1. U iliza o os mé odos de análisis En capí ulos p e ios hemos is o que los mé odos de análisis de ex u as pueden se clasicados de muchas o mas, aunque gene almen e se suelen di idi en: es adís icos, basados en la dis ibución espacial de los ni eles de g ises; es uc u ales, los cuales suponen que la ex u a es á o mada po una es uc u a que se epi e, denominada p imi i a; y espec ales. Una de las ías que nos gus a ía aplica en el u u o se ía combina el ac ual mé odo es adís ico de la co-ocu encia con mé odos es uc u ales, conc e amen e u iliza la geome ía ac al pa a encon a pa ones en la ex- u a, en la línea del abajo " Análisis de la ex u a a pa i de la geome ía ac al "(Peleg, e al., 1984) Figu a 6.1: Ejemplo de geome ía ac al en la na u aleza. La azón de es a idea su ge de lo in ui i o que esul a aplica el ac al pa a desc ibi la disposición de las pa ículas de una ex u a. Mien as que la geome ía euclídea clásica a menudo esul a insucien e pa a desc ibi las o mas en e esadas y caó icas que comúnmen e ap eciamos en los elemen os más mic oscópicos, la geome ía ac al como con aposición a es a esul a algo mucho más pe inen e de aplica en el mundo de las impe ec as ex u- as. 1 1 La ma emá ica siemp e ha se ido de lenguaje de las ciencias, sob e odo de las lla- madas po algunos ác icas. A pa i de ellas se han cons uido modelos que simulan la ealidad con mayo o meno éxi o y que ecuen emen e es os modelos sus i uyen a la mis- 6.3. T abajo u u o 47 Además, u iliza ac ales es una opción in e esan e pues o que son una de las o mas más comunes de la na u aleza, p esen es en la ma e ia biológi- ca, jun o con las sime ías (las o mas básicas que solo necesi an la mi ad de in o mación gené ica) y las espi ales (las o mas de c ecimien o y desa ollo de la o ma básica hacia la ocupación de un mayo espacio) . 2 6.3.2. Velocidad de ejecución Una de las ace as que con end ía mejo a de ca a al u u o se ía la e- locidad con la que se ejecu a la aplicación. Pese a que ya hemos aplicado algunas écnicas pa a es e p opósi o(mul i h eading), el ma gen de mejo a sigue siendo bas an e amplio. Una écnica que cob a cada ez más impo ancia en las aplicaciones cien- ícas y de cálculo in ensi o es el uso de a je as acele ado as de ídeo. Al n y al cabo, es e ipo de p ocesado es ue on diseñados pa a es e ipo de abajos y po an o es una idea muy sensa a u iliza las en nues o sis ema. O a mane a de mejo a la elocidad de ejecución se ía plan ea una op imización del código. Figu a 6.2: Compa a i a de endimien o en la decon olución de una imagen, implemen ada sob e una CPU, mul ip og amada sob e ocho núcleos y en una GPU median e CUDA. [8] ma ealidad. En el caso de los p ocesos ugosos, oughness en el lenguaje de Mandelb o , ales como pliegues, o bien enómenos que se au o eplican como los p oceso de ep oduc- ción de células, las ma emá icas sal o modelos es adís icos y algunos analí icos han enido un éxi o escaso [1] 2 h ps://es.wikipedia.o g/wiki/F ac alCa ac e ís icas_de_un_ ac al 48 Capí ulo 6. Conclusiones y abajo u u o 6.3.3. O os abajos u u os Expe imen a con dis in os ipos de ha dwa e pa a la oma de mues- as; cáma as é micas, po ejemplo. Combina el iden icado de obje os con un clasicado . Po ejemplo, una ez au oma izado el p oceso de iden icación de la neumonía, po- demos complemen a el diagnós ico implemen ando un clasicado que dis inga en e neumonía í ica o bac e iana. U iliza o o ipo de écnicas de ap endizaje au omá ico dis in as al SVM. Capí ulo 7 Con ibuciones indi iduales 7.1. Nicolás Alcaine Camilli Al comienzo del abajo, se ealizó una sepa ación de módulos pa a que cada uno de noso os pudiese enca ga se p ác icamen e con alguno de ellos y especializa se, pudiendo ealiza una in es igación sob e él y pos e io men e documen a lo en la memo ia jun o con la implemen ación del código nece- sa io pa a lle a lo a la pa e p ác ica. De aquí en la p ime a eunión se eligió a Alejand o como enca gado de odo el p ime módulo, es deci , oda la pa e de análisis de ex u as en imágenes y su implemen ación. A mí se me asignó el segundo módulo, que se enca ga de analiza odas las ca ac e ís icas es udiadas en el an e io módulo y pode ealiza clasicaciones de obje os p esen es en las imágenes usando ap endizaje au omá ico, en conc e o empleando SVM, debido a su g an ca- pacidad de clasicación median e sus ke nels. Al comienzo de la ealización de mi módulo, u e la idea de ealiza lo bajo Py hon, debido a que en e noso os habíamos is o que Py hon es un lenguaje que poco a poco se ue especializando en las ma emá icas y en pa icula , sob e da a science (den o de és e ambién en ap endizaje au o- má ico). También mi idea ue esa po que enía pensado unica ese módulo jun o con los demás y ellos ya los habían empezado a implemen a bajo ese lenguaje. Más a de p ocedí a i implemen ando el ke nel gaussiano bajo la clasi- cación usando el pa áme o C, pe o no con inué po una pos e io eunión con el u o , donde habíamos decidido en e noso os 2 que el módulo iba a es a comple amen e sepa ado del es o de módulos y que se pod ía usa di ec amen e una lib e ía capaz de ealiza odas las ope aciones bajo SVM. 49 50 Capí ulo 7. Con ibuciones indi iduales Al nal op é po usa Ja aFX como lenguaje de mi módulo, debido a su acilidad y moldeabilidad a la ho a de c ea in e aces de usua io. An e io - men e sólo había abajado con el lenguaje Ja a, pe o se me hizo bas an e ácil su ap endizaje ya que ambién ealizé abajos de páginas web con CSS3 en el pasado, y oda la pa e g áca de sus elemen os se denen bajo p o- piedades CSS. También op é po ealiza llamadas ex e nas al p og ama pa a pode ea- liza los en enamien os y las clasicaciones, usando ejecu ables compilados en C de la lib e ía libSVM. Es a lib e ía la escogí debido a su g an popula idad en el mundo del ma- chine lea ning, y es de código abie o, po lo cual no hay incon enien es pa a usa su código bajo nues o p oyec o. La licencia de és e es BSD, po lo que enemos libe ad de usa és e an o en código ce ado como abie o. Mien as ui implemen ando el código pa a el módulo, pudimos e en e los dos miemb os que hay di e en es conexiones en e cada módulo, po lo que he es ado colabo ando con mis compañe os en el es o de módulos en lo que espec a al uso de che os de en enamien o y en el en enamien o y es eo en el módulo 3. En e odos ambién uimos haciendo p uebas usando odos los módulos, an o con imágenes de la cáma a é mica de nues o u o , como con imáge- nes que pidió Alejand o pa a el es udio e iden icación de la neumonía sob e pacien es. En e odos pudimos uni ambos conocimien os pa a consegui clasicaciones óp imas. Po o a pa e, ambién he ido documen ando en la memo ia odas mis in es igaciones en el capí ulo 2 y su uncionamien o en el módulo 2 sob e el capí ulo 4 y sob e el apéndice B. El apéndice A ambién ha sido esc i o po mí. 7.2. Alejand o Rod íguez Chacón En el inicio del p oyec o, en la ase de in es igación, me enca gué de ami- lia iza me con el es ado del a e y las écnicas de p ocesamien o de imágenes, es deci , de la ma iz de co-ocu encia y de las ó mulas ma emá icas que u ilizamos pa a ob ene las componen es del ec o de ca ac e ís icas. Es e es udio consis ió en la lec u a de la bibliog a ía apo ada po el u o (en e la que se encuen an [12] y [9]) y de documen os ob enidos de o as uen es, como "Tex u al ea u es o image classica ion"de Robe Ha alick. 7.2. Alejand o Rod íguez Chacón 51 Po an o, cuando comenzamos a desa olla el sis ema, mi come ido ue p og ama en Py hon aquellas pa es que enían que e con es a in es i- gación y pos e io men e las conec é con la GUI. En deni i a, elabo é el módulo 1. Pa a pode comenza a desa olla u e an es que in es iga el uncionamien o de Py hon en algunos aspec os, ya que no enía una g an expe iencia p e ia con es e lenguaje. En es e pun o, aunque no de ca a a la implemen ación del sis ema, am- bién comencé a es udia o os aspec os impo an es de la eo ía como: SVM, los dis in os modelos exis en es pa a el p ocesamien o de imágenes digi a- les(es adís icos, es uc u ales, e c) y es udios de o os au o es sob e la ex- u a. Du an e es e iempo, ambién ayudé a esol e algunos p oblemas del módulo 3, sob e odo aquellos que enían que e con man ene la cohe en- cia con el módulo 1. Al ob ene una p ime a e sión de la aplicación, as e isa lo hecho po odo el equipo, comp obé el compo amien o de los módulos y pude encon- a dis in os e o es como que el módulo de oma de mues as cogía el colo de la ma ca( e de o ojo) como mues a o que las mues as se solapaban. Una ez e minada la pa e écnica del p oyec o, ambién me he espon- sabilizado de hace la mayo pa e de p uebas iniciales pa a comp oba la e ec i idad de la máquina con p oblemas eales. Es as p uebas conlle a on, con el n de cub i la mayo pa e del abanico de posibles congu aciones, una planicación de las dis in as combinaciones de pa áme os que e an in e esan es pa a p oba en el sis ema. Cuando na- lizamos es os es , a a és del análisis de los che os de salida del módulo 2, conseguimos deni que pa áme os e an los más adecuados pa a p oblema p opues o. En cuan o a la a ea de ob ención de da ase s pa a la in es igación, mi con ibución ha sido apo a el conjun o de da os de la neumonía y con ac- a , de mane a in uc uosa, con la uni e sidad de uni e sidad poli écnica de O leans (F ancia) con el p opósi o de ob ene un da ase de os eopo osis. Sin emba go, di ía que la mayo pa e de mi abajo ha es ado des inado, en p ime a ins ancia, a la in es igación de las ecnologías u ilizadas y de las posibles aplicaciones del p oyec o y, en úl imo é mino, a la elabo ación de la mayo pa e de es a memo ia, pa a lo cual ha sido necesa io ap ende LaTex desde ce o pues ningún miemb o del equipo enía expe iencia p e ia con es e 52 Capí ulo 7. Con ibuciones indi iduales sis ema de composición de ex os. Capí ulo 8 Apéndice A: Ejemplo de ejecución Como ejemplo de ejecución oma emos una imagen de neumonía bac e- iana: Figu a 8.1 Usa emos la aplicación del módulo 1 pa a i dibujando algunas mues as de neumonía y del es o del cue po. En o al se oman 260 mues as: 130 posi i as y 130 nega i as: 53 60 Capí ulo 8. Apéndice A: Ejemplo de ejecución Figu a 8.12 Es o nos ab i á o a en ana pa a escoge nues o zip. Es a en ana so- lamen e admi i á o ma o zip: Figu a 8.13 61 Aho a solo nos queda ap e a en "S a "pa a empeza con el ba ido de imagen y gene a odos los casos de neumonía que encuen e el SVM. Figu a 8.14 Capí ulo 9 Apéndice B: Manual de usua io Pa a empeza , lo p ime o es ob ene los di e en es módulos, pa a el p i- me o y el e ce o eque imos Py hon 3.7 y cie os módulos ins alados, po el o o lado el módulo 2 eque i á OpenJDK 12 y ya pues al es a mon ado con ma en el mismo ca ga á odas sus dependencias. Pa a ins ala las dependencias de Py hon una o ma ecomendada es ha- ce uso de anaconda pues se adap a a los di e en es en o nos. Una ez ins alado desde la consola de anaconda (conda p omp ) bas a ejecu a los comandos conda ins all: conda ins all -c anaconda numpy conda ins all -c anaconda pil conda ins all -c anaconda scipy conda ins all -c dsdale24 pyq 5 El es o a excepción de Tools debe ía eni ins alado po de ec o, con la ins alación de Py hon 3.7 de anaconda Aquí esumi é las ecnologías y he amien as necesa ias pa a la ejecución comple a de nues a he amien a. Requisi os: Clasicado (Módulo 1) SVM (Módulo 2) Analizado (Módulo 3) Py hon 3.7 Numpy 63 64 Capí ulo 9. Apéndice B: Manual de usua io Pillow Scipy PyQ Tools (Py hon lib) ZipFile (Py hon lib) Ma h(Py hon lib) IO (Py hon lib) OpenJDK 12 Bibliog a ía [1] V. A guedas. La geome ía de la na u aleza: Benoi Mandelb o . Escula ma emá ica, Uni e sidad de Cos a Rica, Feb e o, 2012. [2] A.Rosen eld and E.T oy. Visual ex u e analysis . 1970. [3] V. Bush. As we may hink . The A lan ic Mon ly, Julio, 1945. [4] M. M. Galloway. Tex u e analysis using g ay le el un-leng hs . Compu- e G aphics and Image P ocessing, 1975. [5] S. K. D. Ha alick, R.M. Tex u al ea u es o image classica ion, 1973. [6] H.Kaize . A quan ica ion o ex u es on ae ial pho og aphs . Bos on Uni ., 1955. [7] A. Kowalczyk. Suppo Vec o Machines Succinc ly . Sync usion, 2501 Ae ial Cen e Pa kway Sui e 200 Mo is ille, NC 27560 USA, 2017. [8] F. J. M. Na as. Desa ollo de un p oceso de decon olución pa a imágenes usando GPUs . Facul ad de in o má ica, Uni e sidad de Mu cia, 2009. [9] M. P esu i. la ma iz de co-ocu encia en la clasicación mul iespec- al: u o ial pa a la enseñanza de medidas ex u ales en cu sos de g ado uni e si a io. Uni e sidad Nacional de La Pla a, Agos o, 2004. [10] V. J. R.Bixby, G. Ele ding and R.Loewe. Na u al image compu e . 1967. [11] J. A. Rod igo. Máquinas de Vec o Sopo e (Suppo Vec o Machines, SVMs) . h ps:// pubs.com/Joaquin_AR/267926, Ab il, 2017. [12] J. L. G. Rod íguez. Es ado Ac ual de la Rep esen ación y Análisis de Tex u a en Imágenes. Julio, 2008. [13] X. Wang e al. Ches X- ay8: Hospi al-scale Ches X- ay Da abase and Benchma ks on Weakly-Supe ised Classica ion and Localiza ion o Common Tho ax Diseases . Na ional Ins i u es o Heal h, Be hesda, MD 20892, Na ional Cen e o Bio echnology In o ma ion, Na ional Lib a y o Medicine, Depa men o Radiology and Imaging Sciences, Clinical Cen e . 65