scieee Open visual document viewer

Big data y deep learning para detección de objetos en imágenes

Fava Fernández, Alessandro Iván

Abstract

In this project we can see two fields that are very popular nowadays, Big Data and Deep Learning. In particular, the object detection is in the field of artificial vision. But we are not looking for detect an object within the image, we try to solve a problem. The problem to resolve is when we don't have a dataset large enough to get an optimal result. These days this problem persist, if we develop an application to looking for a rare animal species that is endangered, is more probably that the images that we have from this animal will be not enough to get a good result for detect them. To resolve this problem we have used two different technologies. The first one, it has proved it efficiency detecting faces, this is the Haar-Cascade over OpenCV. The second one is relatively newest, it is called transfer learning. In the case of transfer learning we use a framework called Cognitive Toolkit developed by Microsoft and also we use Azure cloud service developed by Microsoft. To prove the efficiency of this two methods we have tried to detect different objects: Watches, wolfs, sheep and helipad signs. We have chosen this last object because there isn't any dataset of it and this makes it closer to a one real case. Finally, we will test in practical way. If all we planned before is possible we will be able to find out interesting ideas for the future.

Full text

TRABAJO FINAL DE GRADO TÍTULO DEL TFG: Big da a y Deep Lea ning pa a la de ección de obje os en imágenes TITULACIÓN: G ado en Ingenie ía Telemá ica AUTOR: Alessand o I án Fa a Fe nández DIRECTORA: Es he Salamí San Juan FECHA: 31 de Oc ub e de 2017 Tí ulo: Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Au o : Alessand o I án Fa a Fe nández Di ec o : Es he Salamí San Juan Fecha: 31 de Oc ub e de 2017 Resumen En es e p oyec o podemos e dos campos que ac ualmen e es án en auge, Deep Lea ning y Big Da a. Conc e amen e la de ección de obje os que co esponde a la isión a i icial, no se a a simplemen e de la de ección de obje os den o de una imagen sino que se busca soluciona un p oblema. El p oblema a soluciona es cuando no poseemos un da ase de imágenes lo su icien emen e g ande como pa a pode ealiza una de ección óp ima. En la ac ualidad es e p oblema es ecu en e, si desa ollamos una aplicación pa a busca una especie conc e a de animal, y es á en pelig o de ex inción es muy p obable que el núme o de imágenes que poseemos se á demasiado pequeño pa a consegui nues o obje i o. Pa a soluciona es e p oblema hemos empleado dos ecnologías. La p ime a, que ya ha sido p obada su e icacia a la ho a de de ec a os os. Es a es Haa - Cascade sob e la lib e ía OpenCV. El segundo mé odo es ela i amen e nue o y se denomina ans e lea ning. En el caso de ans e lea ning u ilizamos el amewo k desa ollado po Mic oso denominado Cogni i e Toolki y ambién u ilizamos se icios de cloud de Mic oso como Azu e. Pa a p oba la e icacia de los mé odos que a amos en el p oyec o hemos p obado su capacidad de de ección y clasi icación con di e en es elemen os. Hemos empleado imágenes de elojes, lobos, o ejas y señales de helipue os. Es e úl imo obje o lo hemos escogido po que no hay un da ase de imágenes de él y es o hace que se ace que más a un caso eal. Finalmen e p oba emos de o ma expe imen al si odo es o es posible y que esul ados e ideas podemos ex ae de odo ello de ca a al u u o. Palab as cla es: Deep Lea ning, Máquina Vi ual, da ase , amewo k, sc ip , desc ip o s, elease. Ti le: Big da a and Deep Lea ning o he de ec ion o objec s wi hin images Au ho : Alessand o I án Fa a Fe nández Di ec o : Es he Salamí San Juan Da e: Oc obe 31s 2017 O e iew In his p ojec we can see wo ields ha a e e y popula nowadays, Big Da a and Deep Lea ning. In pa icula , he objec de ec ion is in he ield o a i icial ision. Bu we a e no looking o de ec an objec wi hin he image, we y o sol e a p oblem. The p oblem o esol e is when we don' ha e a da ase la ge enough o ge an op imal esul . These days his p oblem pe sis , i we de elop an applica ion o looking o a a e animal species ha is endange ed, is mo e p obably ha he images ha we ha e om his animal will be no enough o ge a good esul o de ec hem. To esol e his p oblem we ha e used wo di e en echnologies. The i s one, i has p o ed i e iciency de ec ing aces, his is he Haa -Cascade o e OpenCV. The second one is ela i ely newes , i is called ans e lea ning. In he case o ans e lea ning we use a amewo k called Cogni i e Toolki de eloped by Mic oso and also we use Azu e cloud se ice de eloped by Mic oso . To p o e he e iciency o his wo me hods we ha e ied o de ec di e en objec s: Wa ches, wol s, sheep and helipad signs. We ha e chosen his las objec because he e isn’ any da ase o i and his makes i close o a one eal case. Finally, we will es in p ac ical way. I all we planned be o e is possible we will be able o ind ou in e es ing ideas o he u u e. Key wo ds: Deep Lea ning, Vi ual Machine, da ase , amewo k, sc ip , desc ip o s, elease. ÍNDICE CAPÍTULO 1. INTRODUCCIÓN ........................................................................ 1 1.1. Mo i ación y obje i os ...................................................................................................... 1 1.2. O ganización del documen o ........................................................................................... 1 CAPÍTULO 2. MARCO CONCEPTUAL E HISTÓRICO .................................... 3 2.1. Ma co concep ual .............................................................................................................. 3 2.1.1. Image P ocessing ................................................................................................... 4 2.1.2. Machine lea ning .................................................................................................... 4 2.1.3. Machine ision ........................................................................................................ 4 2.2. Ma co his ó ico y e olución ............................................................................................. 4 2.3. ¿Qué es un clasi icado ? .................................................................................................. 7 2.3.1. Ap endizaje supe isado ........................................................................................ 9 2.3.2. Ap endizaje no supe isado ................................................................................... 9 2.3.3. Ap endizaje semi-supe isado ............................................................................. 10 CAPÍTULO 3. DETECCIÓN DE OBJETOS CON HAAR-CASCADE .............. 12 3.1. ¿Qué es OpenCV? ........................................................................................................... 12 3.2. Funcionamien o de Haa -cascade ................................................................................. 13 3.2.1. Imagen in eg al ..................................................................................................... 14 3.2.2. Adaboos (Adap a i e Boos ) ................................................................................ 14 3.2.3. Cascada de clasi icado es .................................................................................... 20 CAPÍTULO 4. FASE EXPERIMENTAL I: HAAR-CASCADE .......................... 22 4.1. Ins alación en o no expe imen al .................................................................................. 22 4.2. Desa ollo expe imen al .................................................................................................. 22 4.2.1. Ob ención de las imágenes .................................................................................. 22 4.2.2. C eación de imágenes posi i as........................................................................... 25 4.2.3. En enamien o del clasi icado ............................................................................. 27 4.2.4. Tes de p ecisión del clasi icado ......................................................................... 29 4.2. Conclusiones ................................................................................................................... 32 CAPÍTULO 5. DETECCIÓN DE OBJETOS CON TRANSFER LEARNING .... 33 5.1. Deep lea ning ................................................................................................................... 33 5.2. ¿Qué es CNTK (Cogni i e Toolki )?............................................................................... 34 5.3. Con olu ional Neu al Ne wo ks (CNN ó Con Ne s) ..................................................... 36 5.3.1. Con olución .......................................................................................................... 37 5.3.2. Funciones de ac i ación (Ac i a ion unc ions) .................................................... 40 5.3.3. Ag upación (Pooling) ............................................................................................ 41 5.3.4. Capa o almen e conec ada ( ully connec ed laye ) ............................................. 43 5.4. T ans e lea ning ............................................................................................................. 44 5.4.1. T ans e encia de conocimien os en DCNN .......................................................... 45 CAPÍTULO 6. FASE EXPERIMENTAL II: TRANSFER LEARNING ............... 47 6.1. En o no expe imen al ...................................................................................................... 47 6.1.1. Azu e .................................................................................................................... 47 6.1.2. Deep Lea ning Vi ual Machine (DLVM) ............................................................... 48 6.1.3. Despliegue de DLVM ............................................................................................ 48 6.2. Desa ollo expe imen al .................................................................................................. 49 6.2.1. Ob ención de las imágenes .................................................................................. 49 6.2.2. En anamien o y e aluación ................................................................................. 51 6.3. Conclusiones ................................................................................................................... 54 CONCLUSIONES ............................................................................................ 56 BIBLIOGRAFÍA ............................................................................................... 58 ANEXOS ............................................................................................................ 1 ANEXO I. MULTILAYER PERCEPTRON (MPL) ............................................... 1 ANEXO II. INSTALACIÓN OPENCV ................................................................. 3 ANEXO III. HAAR-CASCADE SCRIPTS ........................................................... 5 ANEXO IV. EVALUACIÓN DEL RENDIMIENTO DE UN CLASIFICADOR ...... 7 ANEXO V. TRANSFER LEARNING SCRIPTS .................................................. 8 In oducción 1 CAPÍTULO 1. INTRODUCCIÓN 1.1. Mo i ación y obje i os En la ac ualidad hay un c ecien e uso de ecnologías que emplean Big Da a y Deep lea ning a la ho a de encon a algo, es deci , an o a ni el lingüís ico como en imágenes se a a de encon a palab as cla es u obje os en imágenes pa a un in. Es e in pueden se ecomendaciones, la ubicación de un obje o en una ienda, a eas de esca e como encon a una pe sona, e c. Po ello es e p oyec o se cen a en la de ección de obje os y la clasi icación de imágenes. No se a a simplemen e en di e encia los elemen os que con o man una imagen, en la ac ualidad hay decenas de aplicaciones que nos pe mi en es o, el obje i o a más allá in en ando busca la solución a un p oblema. Es e p oblema es ecu en e cuando hablamos de Big Da a y Deep Lea ning y es la al a de mues as. Comúnmen e los algo i mos de clasi icación y de ección de obje os equie en de un g an núme o (decenas de miles) de mues as pa a en ena el sis ema. Pe o no siemp e disponemos de es a can idad en onces nos plan eamos: ¿Es posible alguna al e na i a u ob ene un esul ado óp imo? Du an e la ealización de es e p oyec o in en a emos e como esuel en es e p oblema algunas de las ecnologías exis en es. Las ecnologías que emplea emos son dos. Una más ecien e denominada ans e lea ning y o a no an ecien e pe o con esul ados óp imos en o os campos llamada Haa - Cascade. El p incipal obje i o es comp oba la e icacia y iabilidad de es as ecnologías, pe o pa a ello emplea emos di e sos ipos de mues as. Algunas sencillas como de ec a un eloj en una imagen y o as más complejas, an o como pa a la de ección como pa a ob ene imágenes, que es caso de una señal de helipue o. Es e segundo obje o es escogido pa a da le un sen ido p ác ico y ace ca nos a un caso eal, no como obje i o. Ya que no hay da ase de imágenes de es e obje o. Y po o o lado si log amos unos esul ados sa is ac o ios, es e ipo de obje o suele se empleado an o pa a sal amen o como pa a a e izaje de ehículos aé eos con conducción au ónoma. 1.2. O ganización del documen o El documen o se encuen a di idido en seis pa es, es pa es son eó icas y dos son a ni el expe imen al y una úl ima que co esponde a las conclusiones: - La p ime a pa e el capí ulo 2: Ma co concep ual e his ó ico, el obje i o es de explica los di e en es campos que encon amos en la isión a i icial y como es án elacionados en e ellos. También explica la e olución que 2 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes ha habido a la ho a de de ec a obje os den o de las imágenes, an o las écnicas como las ecnologías u ilizadas a lo la go de la his o ia. - Capí ulo 3: De ección de obje os con Haa -Cascade. En es a segunda pa e explica emos Haa -Cascade como mé odo de de ección de obje os, así como su uncionamien o y la lib e ía p incipal que necesi amos pa a abaja con el que es OpenCV. - Seguidamen e explicamos en el capí ulo 4 el uncionamien o a ni el expe imen al de Haa -Cascade. Explicamos an o la p epa ación del en o no de abajo como el desa ollo con los ecu sos (imágenes) u ilizados y unas conclusiones espec o a los esul ados ob enidos - La e ce a pa e co esponde al capí ulo 5: De ección de obje os con ans e lea ning. En es e capí ulo explicamos que es ans e lea ning, que he amien as empleamos, como el amewo k CNTK (Cogni i e Toolki ) desa ollada po Mic oso . También explica emos el uncionamien o del clasi icado u ilizado que es DCNN (Deep Con olu ional Neu al Ne wo k) - En el capí ulo 6 y segunda ase expe imen al emos el uncionamien o de ans e lea ning a ni el p ác ico. De la misma o ma que en el capí ulo an e io , analiza emos la ins alación y p epa ación del en o no. También analiza emos el desa ollo con las di e en es he amien as u ilizadas, y inalmen e unas conclusiones pa a analiza b e emen e los esul ados ob enidos si e an los espe ados. - Es a pa e inal co esponde a las conclusiones, donde analizamos odas las ideas ex aídas de ealización del p oyec o así como una e aluación de los obje i os plan eados inicialmen e. Ma co concep ual e his ó ico 3 CAPÍTULO 2. MARCO CONCEPTUAL E HISTÓRICO Ac ualmen e exis en miles de aplicaciones que emplean la de ección de obje os. Un ejemplo de es o es la de ección de os os en las cáma as de los mó iles. ¿Pe o sabemos ealmen e qué hay de ás de odo es o y su e olución a lo la go de los años? Es as son cues iones que esol e emos en es e apa ado. 2.1. Ma co concep ual Den o de una imagen podemos encon a di e sos obje os y o mas, las cuales que emos de ec a o iden i ica , pe o an es de en a en más de alle sob e la de ección y econocimien o de obje os debemos conoce sob e qué campo es amos abajando y cómo ha e olucionado. Todo es e abajo se desa olla den o del campo de la isión a i icial. A la ho a de de ini qué es la isión a i icial y su obje i o nos encon amos con dos pun os de is a. Po una pa e a ni el biológico se a a de consegui eplica el sen ido de la is a y odas sus capacidades. Po o o lado desde el pun o de is a de la ingenie ía el obje i o no es simplemen e el de eplica , sino que se a a de au oma iza a eas que ealizamos con la is a, po ejemplo iden i ica un obje o. No malmen e es a au oma ización sob epasa las capacidades humanas. Ambos obje i os es án elacionados, ya que desde siemp e en la c eación de nue os sis emas el se humano se ha ijado en la na u aleza. La isión a i icial implemen a écnicas y ecnologías de o os campos, de la misma o ma que o os campos u ilizan la isión a i icial como una he amien a pa a ob ene esul ados u obje i os. En la imagen siguien e podemos e los campos p incipales que en uel en la isión a i icial. Empleando la Fig. 2.1 nos cen a emos en es campos: Image P ocessing, Machine Lea ning y Machine Vision. Fig. 2. 1 Diag ama de los di e en es campos elacionados con compu e isión [6] 10 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes El obje i o de es e ipo de ap endizaje es ob ene mayo in o mación sob e los da os a ados, in en ando modela la es uc u a o dis ibución subyacen e. Pa a modela es a es uc u a se busca una asociación en e ellos, median e p obabilidades condicionales, o se ag upan (Clus e ing) según las ca ac e ís icas ob enidas po el desc ip o . La ag upación (Clus e ing) se emplea pa a ob ene g upos de da os elacionados den o del da ase , como po ejemplo los clien es que in ie en en el mismo ámbi o come cial. Po o o lado, la asociación se emplea pa a descub i eglas den o de los da os, como po el ejemplo los clien es que comp an cie o p oduc o comp an es e ambién. Algunos clasi icado es empleados pueden se neu onales como EM-algo i hm o de ipo ag upado como K-means. Fig. 2. 11 Ejemplo clasi icado k-means [12] 2.3.3. Ap endizaje semi-supe isado El ap endizaje semi-supe isado ha enido muchos a ances en es os úl imos años, ya que nos pe mi e educi el g an cos e que supone ob ene un da ase de imágenes e ique adas. Median e es e nue o mé odo empleamos una pequeña can idad de mues as con imágenes e ique adas que no suponen un g an cos e y un g an da ase de imágenes sin e ique a . Los es udios ecien es demues an que el emplea aunque sea un núme o muy pequeño de imágenes e ique adas nos pe mi e mejo a conside ablemen e la e icacia del en enamien o y po an o la clasi icación. Ma co concep ual e his ó ico 11 Pa a es a o ma de ap endizaje se suelen u iliza algo i mos de ag upación, que se emplean en ap endizaje no supe isado, ya que median e los da os e ique ados podemos e qué conjun o de mues as no e ique adas son elacionadas con es e g upo, y po an o ob ene un mayo núme o de mues as co ec as. Se puede supone que no odas las mues as asociadas al conjun o de mues as e ique adas pe enezcan a es e conjun o pe o aun siendo así el núme o de mues as e ique adas aumen a á. Fig. 2. 12 Ag upación de mues as no e ique adas con mues as e ique adas [14] De ección de obje os con Haa -Cascade 12 CAPÍTULO 3. DETECCIÓN DE OBJETOS CON HAAR- CASCADE Exis en di e sos mé odos pa a de ec a obje os, ac ualmen e uno de los más empleados pa a de ección de os os y obje os es Haa -Cascade, po ello es impo an e an es de empeza di ec amen e con la p ác ica en ende cómo unciona es a solución y el po qué de es a elección. 3.1. ¿Qué es OpenCV? Openc (OpenSou ce Compu e Vision) es una lib e ía de código abie o de isión a i icial y machine lea ning. Es a lib e ía ue desa ollada o iginalmen e po In el lanzando su p ime a al a en Ene o de 1999 y su p ime a e sión es able en 2006. T es años después en Oc ub e de 2009 se lanzó su segundo elease OpenCV 2. La lib e ía iene una licencia BSD, que pe mi e que el usua io pueda usa y modi ica el código. Po o a pa e es e ipo de licencia pe mi e que pueda se empleada an o pa a p opósi os come ciales como pa a la in es igación. En la ac ualidad muchas g andes mul inacionales la emplean, como Sony, Google, Yahoo, Honda, e c. De la misma mane a cuen a con una comunidad de más de 47000 pe sona y con más de 7 millones de desca gas. O iginalmen e ue esc i a pa a abaja con lenguaje C/C++, aunque su mayo i ud es que es mul ipla a o ma. Ac ualmen e podemos u iliza la con o os lenguajes como Ja a, Objec i e C, Py hon y C#. Como hemos comen ado se a a de un lib e ía mul ipla a o ma, po lo que podemos usa la en Linux, Windows, Mac OS X, And oid e iOS. Es a lib e ía ha sido muy obus a desde los inicios, po lo que hace 2 años en 2015 lanzó su e ce a elease (OpenCV 3), la cual nos pe mi e abaja con e siones más ecien es de algunos lenguajes, como Py hon 3.0. En la ac ualidad OpenCV cons a con más de 2500 algo i mos an o de machine lea ning como de isión a i icial. Es os algo i mos pe mi en iden i ica obje os, ca as, clasi ica acciones humanas en ídeo, hace acking de mo imien os de obje os, ex ae modelos 3D, encon a imágenes simila es, elimina ojos ojos, segui el mo imien o de los ojos, econoce escena ios, e c De ección de obje os con Haa -Cascade 13 Fig. 3. 1 Funcionalidades de OpenCV [17] 3.2. Funcionamien o de Haa -cascade En es e apa ado de ini emos el uncionamien o del p ime mé odo. El cual emplea emos pa a la de ección de obje os con un núme o muy educido de mues as e ique adas. Haa -cascade classi ie es un mé odo muy e ec i o de de ección de obje os p opues o po Paul Viola y Michael Jones. Es e mé odo u iliza un desc ip o Haa , el cual u ilizando unos il os conseguimos una g an can idad de ca ac e ís icas de la imagen. Fig. 3. 2 En es a imagen podemos e un ejemplo de il os de Haa [24] Es os il os eco en la imagen comple a a di e en es escalas y en múl iples posiciones de la imagen, es as múl iples posiciones incluyen el aplica los il os con una inclinación de 45º. Las ca ac e ís icas que se ob ienen es la suma de píxeles neg os menos la suma de píxeles blancos. Aplicando es os il os ob enemos una can idad muy g ande de ca ac e ís icas de Haa , ya que po cada eco ido que ealice un il o en un amaño y posición de e minada po la imagen ob enemos una ca ac e ís ica. El p incipal p oblema que su ge al u iliza es e desc ip o es la can idad de ca ac e ís icas que gene a y lo cos oso que esul a el iempo de cálculo, así como 14 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes el ap endizaje. Pa a soluciona es e p oblema y aumen a la e iciencia enemos di e en es écnicas y he amien as. 3.2.1. Imagen in eg al Una de las he amien as que u iliza es la imagen in eg al de la imagen. La imagen in eg al es una ans o mación de la imagen o iginal, que nos da como esul ado una imagen del mismo amaño que la o iginal. Pe o donde el alo de cada píxel co esponde a la suma de odos los píxel si uados a iba a la izquie da en la imagen o iginal. Fig. 3. 3 Explicación isual de imagen in eg al [24] Es o nos acili a y agiliza el cálculo de in ensidades de cualquie ec ángulo den o de la imagen, y como hemos comen ado an e io men e la ob ención de las ca ac e ís icas de haa es la aplicación de los il os, los cuales ealizan una suma de in ensidades. 3.2.2. Adaboos (Adap a i e Boos ) Una ez ob enidas odas las ca ac e ís icas de la imagen debe emos aplica un clasi icado adecuado que pueda a a con odas es as ca ac e ís icas, es e clasi icado es Adaboos . Es a he amien a nos pe mi i á agiliza el p oceso de clasi icación. Adaboos emplea un conjun o de clasi icado es denominados decision s ump. Es os clasi icado es son a boles de decisión bina ia de p o undidad uno, y su endimien o es lige amen e mayo al de uno de clasi icación alea o ia. Es e ipo de clasi icado es ablece las decisiones a pa i de un umb al y sepa ando en dos las mues as, -1 y +1. De ección de obje os con Haa -Cascade 15 Fig. 3. 4 Diag ama de un decision s ump [28] La unción en la que se basa á el clasi icado pa a decidi se á una ca ac e ís ica de Haa , pe o como hemos dicho emplea un conjun o de clasi icado es, de mane a que combinando es e ipo de clasi icado es ob enemos una clasi icación muy buena. Pa a en ende mejo el uncionamien o del clasi icado adaboos cuando lo en enamos, pa amos de un ejemplo:  P ime o con a emos con un núme o de mues as al que le aplica emos un p ime clasi icado . Fig. 3. 5 Diag ama de mues as alea o ias  Una ez hemos aplicado el p ime clasi icado ob enemos la siguien e clasi icación: Fig. 3. 6 U ilización del p ime clasi icado 16 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes  Adaboos aplica un peso mayo a las mues as clasi icadas de o ma inco ec a y un peso meno a las mues as clasi icadas co ec amen e. Fig. 3. 7 Ejemplo de cómo cambian los pesos en las mues as  De es a o ma el clasi icado ap ende de cada clasi icado que c ea y emplea, al aplica un siguien e clasi icado ol e án a cambia los pesos, ya que las mues as e óneas se án o as y ob end emos lo siguien e: Fig. 3. 8 U ilización del segundo clasi icado  Aho a aplica emos un e ce clasi icado que ol e á a ajus a los pesos Fig. 3. 9 U ilización e ce clasi icado y a iación de los pesos  Aho a se ob end á la combinación de odos los clasi icado es. En cada á ea e emos qué ipo de clasi icación se ha aplicado, es deci si la ha De ección de obje os con Haa -Cascade 17 clasi icado mayo i a iamen e como nega i a o posi i a, se á una egión posi i a o nega i a. Fig. 3. 10 En es a ilus ación emos cómo se compa an las di e en es clasi icaciones y la clasi icación esul an e Respec o al clasi icado decision s ump hemos de ene en cuen a un ac o . Es e ac o es cómo decide qué lado del umb al co esponde al nega i o o al posi i o. Pa a ello en la o mulación del clasi icado se aplica un pa áme o (al a) que nos pe mi e disce ni en qué si uación nos encon amos. Fig. 3. 11 En es a igu a se indica que la zona izquie da co esponde a la zona nega i a [28] Fig. 3. 12 En es a igu a se indica que la zona izquie da co esponde a la zona posi i a [28] 18 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Fig. 3. 13 Fo mula del decision s ump (al a solo puede ale -1 o 1) De es a o ma la e icacia de decisión del clasi icado depende únicamen e del pa áme o al a y del alo del umb al. Una ez hemos is o cómo en enamos el clasi icado , el algo i mo de clasi icación ha de decidi cuál es el umb al con meno e o . Pa a ello p ime o debe emos o dena las mues as y eco e la unción de (x). Tabla 3. 1 Mues a las ponde aciones y los alo es de las mues as Ponde ación 0.5 0.5 0.5 2 1 2 1 1 0.5 0.5 0.5 2 (x) 48 44 38 35 32 26 22 17 16 12 11 8 Mues as Po ejemplo si es ablecemos el umb al en 48 es amos diciendo que a la de echa del umb al se encuen an las mues as posi i as y a la izquie da las nega i as, de o ma que se e ía la siguien e abla: Tabla 3. 2 Mues a el c i e io de Umb al según el alo de mues a seleccionado Ponde ación 0.5 0.5 0.5 2 1 2 1 1 0.5 0.5 0.5 2 (x) 48 44 38 35 32 26 22 17 16 12 11 8 Mues as Posi i o Nega i o De mane a que end íamos mal clasi icadas sie e mues as. Pa a calcula el e o de clasi icación debemos de suma las ponde aciones de las mues as mal clasi icados y di idi las po el núme o de mues as. Fig. 3. 14 Ejemplo de aplica la ó mula de cálculo de e o De ección de obje os con Haa -Cascade 19 De es a o ma calculamos el e o con odos los umb ales y nos quedamos con aquel que el e o sea meno . Una ez seleccionado el mejo clasi icado . Aho a e emos cómo a ían los pesos en las di e en es mues as y cómo combinamos los di e en es clasi icado es. Cada uno de los clasi icado es se cen a en una ca ac e ís ica de Haa di e en e, ambién hay que ene en cuen a que Adaboos u iliza un mé odo i e a i o, de mane a que los pesos an e io es a ec an en la siguien e i e ación. Fig. 3. 15 Fó mula de cálculo de los pesos de las mues as En la Fig. 3.15 podemos e cómo se ob ienen los pesos de la siguien e i e ación dependiendo del e o del clasi icado ap endido an e io y el e o ac ual. De es a o ma podemos deduci que el e o de clasi icación iene que se supe io al de un clasi icado alea o io, como mínimo lige amen e. Fig. 3. 16 Fó mula pa a de e mina si es una mues a mal o bien clasi icada A pa i de la Fig. 3.16 podemos e como en el caso de una mues a mal clasi icada se mul iplica á su peso an e io po un ac o supe io a 1, y en el caso de una mues a bien clasi icada se mul iplica á po un ac o in e io a 1. De es a o ma se ajus a an los pesos de las mues as en cada i e ación. Una ez hemos is o cómo se ajus an los pesos de las mues as en cada i e ación, aho a e emos cómo es e eajus e con inuo a ec a al peso del clasi icado ap endido. También e emos cómo unimos los clasi icado es ap endidos y cómo c eamos el clasi icado ue e, que es la unión de odos los s ump classi ie . P ime o como hemos explicado an e io men e Adaboos se basa en los pesos pa a de e mina las ca ac e ís icas más impo an es, es deci , cada clasi icado se enca ga á de clasi ica a pa i de una ca ac e ís ica de Haa y en 26 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes openc _c ea esamples -img posi i eimage5050.jpg -bg bg. x -in o in o/in o.ls - pngou pu in o -maxxangle 0.5 -maxyangle 0.5 -maxzangle 0.5 -num 1800 Con el comando an e io lo que hacemos es median e -img es ablecemos como imagen uen e nues a imagen posi i a y empleamos como ondo las imágenes desc ip i as, es o con indicamos con el desc ip o an e io men e c eado, -bg bg. x . Con el a ibu o -in o indicamos donde c ea emos la lis a de imágenes posi i as así como la desc ipción de ellas como podemos e en la Fig. 4.8. En el a chi o in o podemos e como en cada línea se indica el nomb e de la imagen, el núme o de obje os de ec ados den o que co esponde al p ime núme o después del nomb e de la imagen y inalmen e se indica la posición del obje o. En la Fig. 4.8 podemos e un ejemplo de a chi o in o. En es e a chi o los úl imos cua o núme os indican los ejes X, Y y el al o y ancho el obje o de la imagen. A con inuación indicamos cuán o se mo e á nues a imagen uen e (imagen posi i a) den o del ondo, es o lo indicamos con la a iación en los di e en es ejes, -maxxangle 0.5 -maxyangle 0.5 -maxzangle 0.5. Fig. 4. 5 Ejemplo in o.ls Finalmen e, median e el a ibu o -num 1800 es amos indicando cuan as mues as posi i as que emos c ea . Fig. 4. 6 Ejemplo de imágenes posi i es c eadas a pa i de las o iginales Fase expe imen al I: Haa -Cascade 27 4.2.3. En enamien o del clasi icado Una ez enemos odas las imágenes necesa ias pa a en ena nues o clasi icado debemos de c ea el a chi o . ec. Es e a chi o con iene el nomb e de odas las imágenes posi i as y la localización del obje o a de ec a den o de la imagen. Necesi amos c ea es e a chi o po que en el ca ga emos la in o mación co espondien e a las imágenes, es o acili a la ca ga compu acional den o del clasi icado . Pa a c ea es e a chi o emplea emos el siguien e comando: openc _c ea esamples -in o in o/in o.ls -num 1800 -w 20 -h 20 - ec posi i es. ec Con es e comando es amos empaque ando las imágenes en un ec o , a chi o . ec, po an o debemos indica al clasi icado donde se encuen an las imágenes posi i as (-in o in o/in o.ls ), el núme o de imágenes, el amaño de las imágenes de en enamien o y las ca ac e ís icas de las imágenes. A con inuación, debemos de en ena nues o clasi icado pa a ello emplea emos el siguien e comando: openc _ aincascade -da a da a - ec posi i es. ec -bg bg. x -numPos 1900 - numNeg 900 -numS ages 15 -w 20 -h 20 Median e es e comando lo que es amos haciendo es indica , p ime o de odo donde gua da á los esul ados, en la ca pe a da a (-da a da a). Después le indicamos el a chi o . ec que es el que con iene la in o mación de las imágenes posi i as, seguidamen e añadimos el pa áme o pa a indica el a chi o bg. x donde apa ecen las ca ac e ís icas de las imágenes nega i as. A con inuación indicamos el núme o de imágenes nega i as (900 imágenes) y posi i as (1900 imágenes) que emplea emos en el en enamien o, así como su ancho y al o (-w 20 -h 20) que debe se la misma que asignamos en la c eación de las mues as. Po úl imo indicamos el núme o de e apas de ejecución de nues o clasi icado , hay que ene en cuen a que mien as más e apas ejecu en más p eciso es. 28 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Fig. 4. 7 En enamien o del clasi icado en 14 s ages Aunque median e es e mé odo únicamen e podemos emplea una imagen posi i a y a pa i de ella c ea más, exis e o a o ma de mejo a la capacidad de de ección o como mínimo in en a lo. En es e mé odo lo que hacemos es uni median e un sc ip los a chi os . ec ealizados con dos imágenes posi i as di e en es. De es a o ma ob enemos un mayo núme o de imágenes posi i as, es o a ni el eó ico mejo a la capacidad de de ección. Aunque se pa ezca mucho a la o ma o iginal de en enamien o de un clasi icado median e imágenes posi i as del obje o a de ec a , es o almen e di e en e, ya que empleamos un núme o ín imo de imágenes posi i as y c eamos más a pa i de ellas. Es a unión de a chi os . ec se suele usa pa a aumen a el núme o de imágenes posi i as en o os mé odos. En casos donde enemos pocas imágenes posi i as y que emos aumen a es e núme o con imágenes a i iciales. Las imágenes a i iciales son aquellas imágenes que se basan en las imágenes posi i as o iginales con alguna a iación, como modi ica el con as e, o a la imagen, e c. Es a solución no esul a muy ace ada po que es amos dis o sionando nues as mues as posi i as con o as que no co esponden al en o no eal. Pe o es e no es nues o caso. Noso os es amos empleando en ambos casos imágenes a i iciales c eadas a pa i de una imagen posi i a, más adelan e comp oba emos si esul a ú il o e ec i a es a opción. Ejecu ando el comando siguien e c eamos un a chi o . ec a pa i de di e en es a chi os . ec que se encuen an den o de una ca pe a. Fase expe imen al I: Haa -Cascade 29 py hon me ge ec.py - you _ ec_di ec o y -o you _ou pu _ ilename. ec Fig. 4. 8 Di ec o io donde aplicamos el me ge de los a chi os . ec pa a gene a uno que con enga oda la in o mación 4.2.4. Tes de p ecisión del clasi icado Una ez hemos en enado nues o clasi icado debemos de comp oba su e icacia. Hay que ene en cuen a que el en enamien o se ha ealizado sob e un po á il no mal y de gama baja, po lo que el núme o de e apas no ha sido muy ele ado. Una opción es emplea una máquina i ual y p epa a el en o no den o de ella, es o conlle a un cie o gas o. Pa a es ea el clasi icado hemos empleado dos o mas. Una median e la cáma a del po á il la cual cap u a imágenes a iempo eal y podemos e en la pan alla si el obje o ha sido de ec ado, y o a ía es aplica el clasi icado sob e una ca pe a con imágenes de es eo. Pa a ealiza es as p uebas hemos empleado di e sos sc ip s1 uno en el cual empleamos un conjun o de imágenes de es , y o o en el cual ealizamos una de ección a iempo eal empleando la webcam del po á il. En el segundo caso ha sido imposible ob ene una imagen de mues a en la cual se ea el obje o de ec ado. El p incipal p oblema es la di icul ad a la ho a de de ec a el obje o, pe o es o puede se debido a que empleábamos la cáma a del po á il y la calidad de la imagen no e a lo su icien emen e buena. Cuando hemos u ilizado imágenes de es eo hemos ob enido di e en es esul ados. Ninguno de ellos o ece unas buenas expec a i as. Fig. 4. 9 Resul ados con p ueba de de ección de elojes En la p ime a p ueba, el caso e e en e al eloj Fig. 4.14 hay cie o e o pe o unciona co ec amen e, como se ha comen ado an e io men e hay que ene en cuen a las he amien as empleadas pa a el en enamien o del clasi icado . 1. Anexo III. Haa -cascade sc ip s 30 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Po o o lado, en el segundo caso Fig. 4.15 y más complicado la de ección iene muchos e o es y p oblemas, aunque consigue de ec a en algunos casos el obje o. El núme o de alsos posi i os es demasiado ele ado. Es o e a algo que p e eíamos que pudie a pasa . Debido a que el obje o a de ec a es más pequeño y la en a en ana de búsqueda ambién. Además de suma le la capacidad compu acional del po á il. Fig. 4. 10 Resul ado p ueba de de ección de señal de helipue o (señal ma cada con lecha oja) En la Fig. 4.16 podemos e un ejemplo empleando el a chi o . ec c eado po el sc ip me ge. La p incipal di e encia es el núme o de alsos posi i os, pe o pe sis e el g an núme o de e o es. Fig. 4. 11 Resul ado de la p ueba de de ección con iche o . ec ealizado con me ge Aho a analiza emos con más de alle los esul ados ob enidos. Fase expe imen al I: Haa -Cascade 31 Tabla 4. 1 Resul ados es eo haa -cascade Obje o Mé odo Nº de imágenes (mues as) Falsos posi i os Posi i os eales Reloj Sin me ge 100 124 38 Con me ge 100 0 3 Señal de helipue o 1 Sin me ge 40 2534 5 Con me ge 40 2417 5 Señal de helipue o 2 Sin me ge 15 178 1 Con me ge 15 235 3 En la Tabla 4.1 podemos ap ecia que hay dos casos de la señal de helipue o. Es o es debido a que hemos empleado dos ipos de imágenes lige amen e di e en es. En el caso dos la imagen es con un en oque más ce cano a la señal de helipue o. Fig. 4. 12 Imágenes señales helipue o (caso 1 a la izquie da y caso 2 a la de echa) Analizando los esul ados de la Tabla 4.1 podemos saca di e en es conclusiones1. En el caso de los elojes podemos dis ingui dos esul ados. El p ime esul ado sin aplica me ge. En es e caso haa -cascade es capaz de de ec a 38 posi i os eales, 62 alsos nega i os y 124 alsos posi i os del o al de 100 mues a. Es o nos da una p ecisión del 23.46%. Pe o si analizamos la sensibilidad ( ecall) ob enemos que es del 38%. En el segundo esul ado u ilizando me ge no hay alsos posi i os. Es o nos da una p ecisión del 100%. Pe o po o o lado la sensibilidad es del 3%. Si analizamos los esul ados de la señal de helipue o nos encon amos con esul ados más dispe sos, ya que hemos ealizado dos casos. En el p ime caso y sin u iliza me ge ob enemos una p ecisión del 0.2% debido al g an núme o de alsos posi i os. Si es udiamos la sensibilidad es a es del 12.5%. En es e p ime caso u ilizando me ge la p ecisión es del 0.2% ambién debido al g an núme o de alsos posi i os. Respec o a la sensibilidad, es a no a ía en 1. Anexo III. E aluación del endimien o de un clasi icado 32 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes compa ación con no usa me ge. Debido a que el núme o de de ecciones es la misma en ambos casos. En el segundo caso empleando imágenes con un en oque más ce cano ob enemos o os esul ados. P ime o sin me ge la p ecisión sube has a 0.5% y la sensibilidad baja has a el 6.6%. Si analizamos es e caso empleando me ge nos encon amos con una p ecisión del 1.26%. Y espec o a la sensibilidad es a sube has a el 20%, bas an e más ele ada que en los o os casos. 4.2. Conclusiones Después de habe ealizado di e sas p uebas a di e en e núme o de s ages, ya que la capacidad compu acional del po á il no es muy ele ado y su gían algunos p oblemas, hemos ob enidos dos ipos de esul ados. Unos dependen del obje o a de ec a , como hemos podido e la capacidad de de ección del eloj ha sido mucho más e icaz y signi ica i a que a la ho a de de ec a la señal de a e izaje de un helicóp e o. Po o o lado, o o pun o impo an e son los esul ados ob enidos empleando el sc ip me ge. En el caso de los elojes hemos ob enido una p ecisión del 100%, pe o una sensibilidad del 3%, es deci , solo ha de ec ado el eloj en es imágenes de las 100 que hemos usado pa a es ea el clasi icado . En el caso de las señales de helipue o u iliza me ge educe el núme o de alsos posi i os. Pe o de odas o mas sigue siendo muy ele ado. Po odo es o podemos conclui que a la ho a de u iliza la unión de los iche os . ec depende á de la di icul ad que suponga de ec a es e obje o, es deci , con una is a p elimina podemos e que iden i ica un eloj es mucho más sencillo que una señal de a e izaje de helicóp e o. Es e es un ac o undamen al que nos pe mi e disce ni en e emplea un mé odo u o o. También analizando los esul ados numé icos nos encon amos con el úl imo caso. En es e caso usamos 16 imágenes de es y con un en oque más ce cano, además de usa me ge. En él ob enemos una sensibilidad del 20%. Pe o hay que ene en cuen a que en las imágenes donde de ec amos de o ma co ec a la señal hay un g an núme o de alsos posi i os, po an o enemos una p ecisión muy baja (1.26%). Es e es o o ac o a ene en cuen a, el núme o de alsos posi i os. De ección de obje os con ans e lea ning 33 CAPÍTULO 5. DETECCIÓN DE OBJETOS CON TRANSFER LEARNING 5.1. Deep lea ning Deep lea ning es un campo den o de machine lea ning que se ale de algo i mos inspi ados en la es uc u a y uncionamien o del ce eb o humano, c eando edes neu onales a i iciales. En si se a a de una eno me ed neu onal a i icial de inidas po di e en es capas y donde emplea una g an can idad de da os pa a en ena . Un pun o impo an e es que u iliza múl iples ans o madas no lineales. Es e ipo de ans o madas consis en en al al e a la posición de los pixeles pe o man ienen la in ensidad de ellos. Es o nos pe mi e dis ingui un obje o en di e en es posiciones y es ablece una e ique a. Además deep lea ning cuen a con bases de da os inmensas donde acumula es a in o mación. Es o con o ma un sis ema de g an capacidad que nos pe mi e po ejemplo, que si analizamos la imagen de un coche, no se á necesa io con e i la imagen en un ec o y pa i de que simplemen e se a a de una imagen. Es o quie e deci que hab á una e ique a que iden i ique inmedia amen e es a imagen, y sab á que se a a de un coche. Debido que al con ene an a in o mación y habe en enado an o ya sab á cie as cosas. Es e nue o sis ema de ap endizaje a di e encia de los algo i mos adicionales sigue ap endiendo a medida que más da os posean, siendo escalable y e sá il. Fig. 5. 1 Capacidad de ap endizaje a pa i de la can idad de in o mación [50] 34 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Un ac o impo an e en el ipo de da os que empleamos en deep lea ning es que se a a de da os e ique ados o po ap endizaje supe isado. Pe o es o no es algo nega i o, ya que la g an can idad de da os que posee y posee á la ed pe mi i á analiza in o mación median e un mé odo no supe isado sin p oblemas, simplemen e es cues ión de iempo. O o pun o impo an e es que se pueden inco po a nue os algo i mos según los da os a a a y nue os modelos a pa i de la in o mación adqui ida, como hemos comen ado se a a de un c ecimien o cons an e. Es a o ma de ap endizaje po capas nos pe mi e ob ene ca ac e ís icas a di e en es ni eles y po an o mejo a la de ección de obje os. Es e análisis más de allado de las ca ac e ís icas obliga a emplea elemen os con una capacidad mayo de p ocesado. A consecuencia de es o se u ilizan p ocesado es con una mayo capacidad o se busca combina di e en es o mas de ealiza las a eas. En esumen se emplean GPU (G aphicsl P ocesso Uni ) pa a el análisis de los da os que o ecen núcleos que ealizan ope aciones i e a i as en pa alelo mejo ando el endimien o, más adelan e en la ase expe imen al explica emos con más de alle las en ajas de es os p ocesado es o ecen. Fig. 5. 2 Rep esen ación de ca ac e ís icas de una imagen a di e en es ni eles Fig. 5. 3 Compa a i a de núcleos en CPU y GPU [51] 5.2. ¿Qué es CNTK (Cogni i e Toolki )? Se a a de un amewo k de deep lea ning desa ollado po el depa amen o de in es igación de Mic oso , el cual desc ibe di e sos ipos de edes neu onales. De ección de obje os con ans e lea ning 35 Den o de es e amewo k encon amos una g an can idad de ecu sos pa a di e en es lenguajes. También cons a con una a qui ec u a p opia. Fig. 5. 4 Diag ama de la a qui ec u a de CNTK [49] Po o o lado, cómo abaja emos empleando py hon como lenguaje de desa ollo u iliza emos la lib e ía de py hon que o ece CNTK donde incluye modelos de de inición y compu ación, algo i mos de ap endizaje y lec u a de da os y ap endizaje dis ibuido. CNTK o ece p incipalmen e di e en es modelos neu onales y o o ipo de modelos ambién de g an u ilidad:  Feed o wa d Deep Neu al Ne wo ks (mul ilaye pe cep on – MLPs1): Es e ipo de modelos se di e encia de una ed neu onal ípica en el núme o de capas que con iene, po ello se le p o unda. Fig. 5. 5 Compa ación en e una ed neu onal y una ed neu onal p o unda [49] O o ac o es el concep o eed o wa d que indica que es a edes la in o mación luye en un sen ido no hay p ocesos cíclicos en e los di e en es núcleos y capas, de mane a que no hay conexiones de eedback. 1. Anexo I: Mul ilaye pe cep on 42 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes  Sum Pooling: Es e mé odo aplica la suma como ope ación. El esul ado de la suma se compone po odos los alo es de las ca ac e ís icas que hay en la en ana. Fig. 5. 14 Ejemplo Sum Pooling  A e age Pooling: U ilizando es a mane a de ag upa las ca ac e ís icas lo que ob enemos es la media a i mé ica de los alo es que se encuen an den o de la en ana. Fig. 5. 15 Ejemplo A e age Pooling En la ag upación espacial la en ana se desplaza dependiendo del amaño de la en ana, es deci , si la en ana es de 2x2 se desplaza ca a dos celdas, de mane a que si aplicamos una en ana de NxN el desplazamien o de la en ana es de N. Las ca ac e ís icas p incipales que o ece y po qué se aplica la ag upación espacial es:  Hace que las ca ac e ís icas de en ada, co espondien es a las imágenes, más pequeñas, meno can idad, y más manejables.  Al educi el núme o de ca ac e ís icas se consigue una educción de pa áme os y cálculos den o de la ed, de mane a que se ob iene un con ol del sob eajus e.  Apo a un cie o con ol de e o es, haciendo la ed in a ian e a pequeñas ans o maciones, dis o siones o aslaciones en la imagen de en ada. Es o es debido a que empleamos mé odos como el max pooling, sum pooling y a e age pooling en una en ana local. De ección de obje os con ans e lea ning 43  Conseguimos una ep esen ación a escala casi in a ian e de nues a imagen de en ada, es o nos pe mi e localiza obje os den o de la imagen independien emen e de donde se encuen en den o de la imagen. Fig. 5. 16 Ejemplo y compa ación en e max pooling y sum pooling [60] 5.3.4. Capa o almen e conec ada ( ully connec ed laye ) Después de habe is o el g an bloque an e io que co esponde a la capa de con olución y ag upación, aho a analiza emos el siguien e g an bloque que es donde se in e conec an los di e en es núcleos (neu onas) que componen nues a ed con olucional neu onal. Una ez hemos ob enido las di e en es ea u es maps co espondien es a la imagen de en ada, debemos de ealiza una clasi icación de lo que es amos analizando. Pa a ealiza la clasi icación aplicamos un clasi icado denominado MLP (Mul ilaye Pe cep on)1. Es e clasi icado in e conec a median e nodos (neu onas) di e en es ca ac e ís icas ( ea u es maps) ob enidas an e io men e y aplica unos pesos sob e ella pa a pode así clasi ica el obje o. De es a o ma la úl ima capa con iene los nodos que ep esen an las e ique as. Es a clasi icación no se aplica una única ez. Como hemos comen ado an es se a a de una capa donde después de aplica el clasi icado se uel e a aplica una unción de ac i ación, como po ejemplo ReLU, es o es debido a que el clasi icado abaja con en adas no linea es. Todo es e p oceso se ealiza po que aunque se pueda ob ene una buena clasi icación a pa i de las ca ac e ís icas ob enidas an e io men e, el combina las mejo a es a clasi icación. 1. Anexo I: Mul ilaye pe cep on 44 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Fig. 5. 17 Ejemplo isual del uncionamien o y clasi icación son MLP [57] Fig. 5. 18 Ejemplo isual de las di e en es capes y uncionamien o de CNN [64] 5.4. T ans e lea ning Hoy en día, aun con ando con g andes bases de da os y con da ase s de g an amaño sigue habiendo el p oblema. Es e p oblema es que hay obje os o elemen os de los cuales no podemos ealiza una de ección co ec a debido a la al a de imágenes de mues a. Pe o ac ualmen e, las edes neu onales p o undas median e el ap endizaje consiguen un mapeo de allado an o de la en ada como de la salida. El uncionamien o de es a ans e encia de conocimien os no ob iene la p ecisión de clasi icación que se ob iene con el mé odo adicional supe isado, pe o la p incipal en aja es que nos pe mi e aho a nos el g an cos e que supone ob ene un da ase con imágenes su icien e pa a una clasi icación co ec a. Fig. 5. 19 Compa ación en e mé odos de clasi icación a ni el come cial [72] De ección de obje os con ans e lea ning 45 Median e el mé odo adicional en enamos nues o clasi icado con imágenes p e-e ique adas y de es a o ma c eamos un modelo, el cual es eamos con o o conjun o de imágenes. Todas las imágenes an o de en enamien o como es eo son del mismo dominio. Fig. 5. 20 Diag ama de ap endizaje median e mé odo adicional [72] U ilizando la ans e encia de conocimien o lo que ealizamos es un en enamien o con imágenes de un dominio que no es el obje i o, ob eniendo un mapeo o modelo. Es e conocimien o adqui ido en la gene ación del modelo se aplica pa a c ea o o modelo que pe enece a o o conjun o de imágenes de o o dominio. Finalmen e el nue o modelo se es ea sob e un conjun o de imágenes del nue o dominio, que el obje i o. Fig. 5. 21 Diag ama de ap endizaje median e ans e lea ning [72] 5.4.1. T ans e encia de conocimien os en DCNN En una ans e encia de conocimien os, como hemos comen ado an e io men e pa imos de un modelo que es en enado po una g an can idad de imágenes 46 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes e ique adas. A pa i del en enamien o p e io ob enemos las di e en es capas que con o man nues a ed neu onal con olucional incluyendo la capa o almen e conec ada. Excluyendo la úl ima capa ( ully connec ed laye ) enemos el es o de capas que nos pe mi en ob ene las ca ac e ís icas de las imágenes, las cuales empleamos pa a dis ingui los di e en es obje os den o de una imagen. U ilizando las capas ob enidas en el en enamien o an e io , en enamos el clasi icado con las mues as que poseemos de nues o dominio obje i o. Es as mues as son insu icien es pa a una de ección e icien e u ilizando el mé odo adicional. Pe o con es e nue o en enamien o conseguimos ap ende nue as ca ac e ís icas concen adas, con concen adas nos e e imos a que cuando aplicamos las capas del clasi icado p e-en enado educimos el núme o de ca ac e ís icas que puede se demasiado ele ado. Un ejemplo de ca ac e ís ica concen ada es el índice de masa co po al donde se es ablece una elación en e la al u a y el peso, aplicando es e ipo de elaciones ob enemos una educción de las ca ac e ís icas y conseguimos que nues o clasi icado es más e icien e. Básicamen e lo que ob enemos con el p ime en enamien o es un gene ado de ca ac e ís icas. Finalmen e debemos de añadi las úl imas capas ( ully connec ed laye ) del clasi icado . Es as capas son las que indican el obje o u obje i o que que emos de ec a , es donde se es ablecen las elaciones en e las ca ac e ís icas, seleccionando cuales son ú iles pa a la de ección. Fig. 5. 22 Diag ama de pasos y elemen os en ans e lea ning [70] Fase expe imen a II: ans e lea ning 47 CAPÍTULO 6. FASE EXPERIMENTAL II: TRANSFER LEARNING En es a segunda ase se han ealizado di e sas p uebas. Po un lado hemos ealizado el ejemplo que p opone Mic oso en su página web [73] pa a comp oba el co ec o uncionamien o Po o o lado hemos ealizado las p uebas con imágenes p opias u ilizadas an e io men e, las señales de a e izaje de helicóp e os y elojes. 6.1. En o no expe imen al Pa a es a segunda ase expe imen al la p epa ación del en o no de abajo ha sido o almen e di e en e a la p ime a, en es e caso hemos necesi ado de he amien as ex e nas y i uales. 6.1.1. Azu e Pa a la p epa ación del en o no expe imen al hemos empleado los se icios de i ualización de Azu e. Pe o an es de comen a qué he amien as hemos empleado de inamos b e emen e qué es Azu e. Azu e es una pla a o ma que o ece se icios en la nube pa a desa ollado es y p o esionales de la indus ia IT. Es os se icios pe mi en cons ui , desplega y ges iona aplicaciones a a és de una ed global de da acen e s, in eg ando di e en es he amien as y sopo es. No se a a de una simple pla a o ma de sopo e en la nube, ya que o ece un conjun o de he amien as que an desde applca ions insigh s (he amien as pa a el diagnós ico de páginas webs) has a se icios de bo s y machine lea ning. Se a a ambién de un se icio mul ipla a o ma que nos pe mi e abaja desde cualquie luga , de la misma mane a ambién es mul iusua io pe mi iéndonos abaja con cualquie sis ema ope a i o y ob iamen e podemos abaja con cualquie lenguaje. Fig. 6. 1 Icono co po a i o de Azu e [75] Fig. 6. 2 Se icios Azu e [75] 48 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes 6.1.2. Deep Lea ning Vi ual Machine (DLVM) Pa a ealiza las di e sas p uebas de de ección de obje os empleando la écnica de ans e lea ning hemos necesi ado de un ecu so conc e o que o ece Azu e. Es e ecu so de denomina Deep Lea ning Vi ual Machine, que la p incipal en aja y elección de es a he amien a es el pode emplea unidades de p ocesamien o g á ico (GPU). Las GPU son unidades de p ocesamien o dedicados y pe mi en abaja con una g an can idad de da os, así como ealiza ope aciones una y o a ez. El hecho de que son dedicadas es la p incipal di e encia con la unidad de p ocesamien o cen al (CPU), la cual como indica su nomb e es una unidad con un p opósi o gene al. Al se una máquina i ual basada en GPU es á p epa ada pa a en ena modelos de deep lea ning. Y po an o cons a con los amewo ks más popula es y u ilizados pa a es e ipo de unciones. F amewo ks como Mic oso Cogni i e Toolki , Tenso Flow, Ke as, Ca e2, Chaine ; he amien as pa a la ob ención y p e-p ocesado de imágenes, ex ual da a, he amien a pa a el modelado y desa ollo de da os pa a ac i idades como Mic oso R Se e De elope Edi ion, Anaconda Py hon, Jupy e no ebooks o Py hon and R, IDEs o Py hon and R , SQL da abase y o as he amien as pa a a a da os así como ML ools. 6.1.3. Despliegue de DLVM A la ho a de desplega el en o no de abajo hemos necesi ado de una susc ipción de Azu e. Como el gas o que ealiza íamos no se ía muy ele ado hemos op ado po una de susc ipción de pago po uso educiendo así los cos es. Una ez ob enida la susc ipción accedemos a los ecu sos desde el po al de Azu e pa a así pode u iliza las di e en es he amien as que nos p opo cionan. Fig. 6. 3 Pan alla p incipal del Po al de Azu e [78] Fase expe imen a II: ans e lea ning 49 En la Fig. 6.3 podemos e enma cado en ojo los ecu sos elacionados con DLVM, ya que Azu e como o e a nos o ece o os se icios g a ui os. DVLM no es simplemen e una máquina i ual sino que incluye o os elemen os que apo an un sopo e pe ec o pa a ealiza a eas de deep lea ning. Hay que ene en cuen a que pa a las p uebas que necesi amos ealiza hemos op ado po el se icio más ba a o y sencillo, ya que no necesi amos unas al as p es aciones. Aun así el se icio o ece 6 cpu con unos 56GB de memo ia. En la Fig. 6.4 podemos e los elemen os que con o man es e se icio. Fig. 6. 4 Elemen os de DLVM [78] 6.2. Desa ollo expe imen al 6.2.1. Ob ención de las imágenes A la ho a de selecciona las imágenes hemos de es ablece dos g upos, unas se án imágenes pa a en ena nues o clasi icado y o as se án imágenes pa a es ea el uncionamien o de es e. La p incipal di e encia en e es os dos g upos es el núme o de imágenes que end emos de cada. También hay que añadi que hay un g upo de imágenes den o de la ca pe a es que no son de los obje os que que emos de ec a sino que son p uebas de e o pa a e el compo amien o del clasi icado . Hay que esal a que pa a es e mé odo no son necesa ias imágenes nega i as, ya que nues o clasi icado in en a a clasi ica y di e encia cualquie imagen de en ada en e las opciones que le demos. En la Fig. 6.5 podemos e que las clases que enemos como ba emo son señal de helipue o y elojes. Po los esul ados pod emos e si se a a de una imagen de un eloj, de una señal de helipue o o de o a queno co esponde con ninguna de las dos. 50 Big da a y Deep Lea ning pa a la de ección de obje os en imágenes Fig. 6. 5 Con enido de la ca pe a Tes P ime o de odo debemos ob ene imágenes de los obje os que que emos de ec a , que son aquellos de los cuales poseemos muy pocas imágenes. Pa a ello emplea emos ImageNe al igual que en el ase expe imen al con Haa - cascade. Aunque pa a en ena nues o clasi icado empleemos más imágenes que pa a es ea . No u ilizamos un núme o muy g ande de imágenes, sino más bien educido, ya que es al p oblema al que nos en en amos en es e p oyec o. En la Fig. 6.6 podemos e como u ilizamos 5 imágenes de es y 15 de en enamien o. Un o al de 20 imágenes, un núme o muy educido. Fig. 6. 6 Compa a i a en e núme o de imágenes de en enamien o y de es Aho a la p egun a que nos plan eamos es si con es e núme o an educido de imágenes es posible ob ene algún ipo de esul ado óp imo. Bueno aun siendo el núme o de imágenes del elemen o obje i o muy educido, el clasi icado como hemos explicado an e io men e es en enado sob e o o g upo de imágenes y únicamen e se ealiza una ans e encia de conocimien os. Es e g upo de imágenes es con el que e dade amen e en enamos el clasi icado . Den o del ejemplo de ans e lea ning que nos p opo ciona Mic oso encon amos el código necesa io pa a ob ene es e da ase de imágenes. U ilizamos es e da ase po la acilidad que nos apo a a la ho a de ob ene las imágenes, ambién pod íamos habe empleado ImageNe y ealiza noso os mismo la c eación de es e da ase . Accediendo de o ma emo a a nues a máquina i ual, p oceso que explica emos más adelan e, podemos e la dimensión de es e da ase , en la Fase expe imen a II: ans e lea ning 51 Fig. 6.7 podemos e enma cado en ojo la úl ima imagen, que co esponde a la imagen 8189. Fig. 6. 7 Da ase de imágenes de en enamien o p e io 6.2.2. En anamien o y e aluación Pa a ealiza el en enamien o de nues o clasi icado y su pos e io es eo debemos de conec a nos a nues a máquina i ual, pa a ello u iliza emos un p og ama llamado PuTTY, el cual nos pe mi e ealiza una conexión SSH con nues a máquina i ual. Fig. 6. 8 Pan alla p incipal PuTTY Una ez conec ados a nues a maquina lo p ime o que debemos hace es ac ualiza el sis ema pa a e i a cualquie ipo de incohe encia o p oblema. Seguido de es a ac ualización debemos de ans e i a nues a maquina los sc ip s e imágenes pa a ealiza los en enamien os y e aluaciones. Pa a ealiza es a ans e encia u iliza emos un eposi o io de Gi Hub. El po qué u ilizamos Gi Hub es simple, es debido a que ya lo hemos empleado muchas eces du an e el g ado en di e sas asigna u as además e i amos ene que busca o o sis ema que pueda esul a más complicado. P ime o de odo ins ala emos Gi Hub en la máquina i ual con el siguien e comando: sudo ap -ge ins all gi . Una ez ins alado ealiza emos un gi clone de 58 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes BIBLIOGRAFÍA [1] Objec Recogni ion: His o y and o e iew [En línea] [Fecha de consul a: Feb e o de 2017]. Enlace: h p://www.cs.unc.edu/~lazebnik/sp ing10/lec16_ ecogni ion_in o.pd [2] The E olu ion o Objec Recogni ion in Embedded Compu e Vision [En línea] [Fecha de consul a: Feb e o de 2017]. Enlace: h ps://www.design- euse.com/a icles/37837/objec - ecogni ion-in-embedded- compu e - ision.h ml [3] Image ecogni ion and objec de ec ion [En línea] [Fecha de consul a: Feb e o de 2017]. Enlace: h ps://www.lea nopenc .com/image- ecogni ion-and-objec -de ec ion-pa 1/ [4] Gene ic objec de ec ion wi h de o mable pa -based models [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h p://slideplaye .com/slide/6030352/ [5] Face ecogni ion da ase [En línea] [Fecha de consul a: Feb e o de 2017]. Enlace: h p://ch isdeco o.com/eigen aces/ [6] Robo ision s Compu e ision: Wha ’s he di e ence? [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://blog. obo iq.com/ obo - ision- s-compu e - ision-wha s- he-di e ence [7] Compu e ision e olu ion and p omise [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://cds.ce n.ch/ eco d/400313/ iles/p21.pd [8] Compu e ision s machine ision [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://www. isiononline.o g/ ision- esou ces-de ails.c m/ ision- esou ces/Compu e -Vision- s-Machine-Vision/con en _id/4585 [9] Supe ised lea ning [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/Supe ised_lea ning [10] Unsupe ised lea ning [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/Unsupe ised_lea ning [11] Supe ised and unsupe ised machine lea nings algo i hms [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://machinelea ningmas e y.com/supe ised-and-unsupe ised-machine- lea ning-algo i hms/ [12] Clasi icación supe isada y no supe isada [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: Bibliog a ía 59 h p://www.cs.us.es/~ sancho/?e=77 [13] Wha 's he di e ence be ween a supe ised and unsupe ised image classi ica ion? [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://a icles.ex ension.o g/pages/40214/wha s- he-di e ence-be ween-a- supe ised-and-unsupe ised-image-classi ica ion [14] Semi-supe ised clus e ing [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h p://www.cs.upc.edu/~beja /aml /ma e ial/06a-Semisupe isedClus e ing.pd [15] Semi-supe ised lea ning [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/Semi-supe ised_lea ning [16] s acko e low: de ec an one objec on a pic u e [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://s acko e low.com/ques ions/41160721/de ec -mo e- han-1-objec -on- pic u e [17] OpenC : Lib e ía de isión po compu ado [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://osl.ull.es/so wa e-lib e/openc -lib e ia- ision-compu ado / [18] OpenC [En línea] [Fecha de consul a: Ma zo de 2017]. Enlace: h ps://es.wikipedia.o g/wiki/OpenCV [19] Face de ec ion using Haa cascade [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://docs.openc .o g/ unk/d7/d8b/ u o ial_py_ ace_de ec ion.h ml [20] Objec ca ego y de ec ion: sliding windows [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://cou ses.eng .illinois.edu/cs543/sp2011/lec u es/Lec u e%2019%20- %20Sliding%20Window%20De ec ion%20-%20Vision_Sp ing2011.pd [21] T aining Haa -Cascade [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://singhgaganp ee .wo dp ess.com/2012/10/14/ aining-haa -cascade/ [22] Wha is "His og am o O ien ed G adien s" and how does i wo k? [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://www.quo a.com/Wha -is-His og am-o -O ien ed-G adien s-and-how- does-i -wo k [23] Is Haa Cascade he only a ailable echnique o image ecogni ion in OpenCV? [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://s acko e low.com/ques ions/7601413/is-haa -cascade- he-only- a ailable- echnique- o -image- ecogni ion-in-openc 60 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes [24] De ec o de ca as basado en il os de Haa + Adaboos [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://es.cou se a.o g/lea n/de eccion-obje os/lec u e/eczp1/l5-1-de ec o -de- ca as-basado-en- il os-de-haa -adaboos [25] De ección de obje os [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://es.cou se a.o g/lea n/de eccion-obje os [26] Imagen in eg al [En línea] [Fecha de consul a: Ab il de 2017]. Enlace: h ps://es.cou se a.o g/lea n/de eccion-obje os/lec u e/CROQ4/l5-3-imagen- in eg al [27] Wha is Adaboos ? [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://www.quo a.com/Wha -is-AdaBoos [28] Adaboos [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://es.cou se a.o g/lea n/de eccion-obje os/lec u e/KMPxn/l5-4-adaboos [29] Compu e Vision: Wha is he di e ence be ween HOG and SIFT ea u e desc ip o ? [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://www.quo a.com/Compu e -Vision-Wha -is- he-di e ence-be ween-HOG- and-SIFT- ea u e-desc ip o [30] Fea u e de ec ion desc ip ion [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://docs.openc .o g/ unk/db/d27/ u o ial_py_ able_o _con en s_ ea u e2d.h ml [31] Why do we use keypoin desc ip o s? [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://dsp.s ackexchange.com/ques ions/10423/why-do-we-use-keypoin - desc ip o s [32] In oduc ion o SURF (Speeded-Up Robus Fea u es) [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://docs.openc .o g/3.0- be a/doc/py_ u o ials/py_ ea u e2d/py_su _in o/py_su _in o.h ml [33] In oduc ion o SIFT (Scale-In a ian Fea u e T ans o m) [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://docs.openc .o g/3.0- be a/doc/py_ u o ials/py_ ea u e2d/py_si _in o/py_si _in o.h ml?highligh =si [34] Wha a e he bes pa e n ma ching algo i hms in OpenCV? Is he e an algo i hm whe e I can ain on one model ins ead o a da a se ? [En línea] [Fecha de consul a: Mayo de 2017]. Enlace: h ps://www.quo a.com/Wha -a e- he-bes -pa e n-ma ching-algo i hms-in- OpenCV-Is- he e-an-algo i hm-whe e-I-can- ain-on-one-model-ins ead-o -a- da a-se Bibliog a ía 61 [35] Ubun u 16.04: How o ins all OpenCV [En línea] [Fecha de consul a: Junio de 2017]. Enlace: h ps://www.pyimagesea ch.com/2016/10/24/ubun u-16-04-how- o-ins all- openc / [36] Ins all OpenCV on Ubun u o Debian [En línea] [Fecha de consul a: Junio de 2017]. Enlace: h p://milq.gi hub.io/ins all-openc -ubun u-debian/ [37] How o de ec objec and ack wi h OpenCV [En línea] [Fecha de consul a: Junio de 2017]. Enlace: h ps://www.in o obo ics.com/how- o-de ec -and- ack-objec -wi h-openc / [38] C ea ing you own Haa Cascade OpenCV Py hon Tu o ial [En línea] [Fecha de consul a: Junio de 2017]. Enlace: h ps://py honp og amming.ne /haa -cascade-objec -de ec ion-py hon-openc - u o ial/ [39] ImageNe [En línea] [Fecha de consul a: Junio de 2017]. Enlace: h p://www.image-ne .o g/ [40] T ain you own OpenCV Haa classi ie [En línea] [Fecha de consul a: Junio de 2017]. Enlace: h p://coding- obin.de/2013/07/22/ ain-you -own-openc -haa -classi ie .h ml [41] Cascade classi ie aining [En línea] [Fecha de consul a: Julio de 2017]. Enlace: h ps://docs.openc .o g/2.4/doc/use _guide/ug_ aincascade.h ml [42] Tu o ial: OpenCV haa aining (Rapid Objec De ec ion Wi h A Cascade o Boos ed Classi ie s Based on Haa -like Fea u es) [En línea] [Fecha de consul a: Julio de 2017]. Enlace: h p://no e.sono s.com/SciSo wa e/haa aining.h ml [43] C ea ing a Cascade o Haa -Like Classi ie s: S ep by S ep [En línea] [Fecha de consul a: Julio de 2017]. Enlace: h ps://www.cs.auckland.ac.nz/~m. ezaei/Tu o ials/C ea ing_a_Cascade_o _Ha a -Like_Classi ie s_S ep_by_S ep.pd [44] Cascade classi ie aining [En línea] [Fecha de consul a: Julio de 2017]. Enlace: h ps://docs.openc .o g/2.4/doc/use _guide/ug_ aincascade.h ml [45] How do I un openc _c ea esamples wi h mul iple posi i e images? [En línea] [Fecha de consul a: Julio de 2017]. Enlace: h p://answe s.openc .o g/ques ion/29765/how-do-i- un-openc _c ea esamples- wi h-mul iple-posi i e-images/ [46] Me ge ec [En línea] [Fecha de consul a: Julio de 2017]. Enlace: h ps://gi hub.com/wul ebw/me ge ec 62 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes [47] CNTK 301: Image Recogni ion wi h Deep T ans e Lea ning [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://gi hub.com/Mic oso /CNTK/blob/ 2.0/Tu o ials/CNTK_301_Image_Reco gni ion_wi h_Deep_T ans e _Lea ning.ipynb [48] Deep Lea ning wi h Mic oso CNTK [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://www.pack pub.com/books/con en /deep-lea ning-mic oso -cn k [49] Compu a ional Neu al Toolki [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://www.cn k.ai/Fea u es/Index.h ml [50] Wha ’s Deep Lea ning? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://machinelea ningmas e y.com/wha -is-deep-lea ning/ [51] ¿Qué es la compu ación acele ada po GPU? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h p://la.n idia.com/objec /wha -is-gpu-compu ing-la.h ml [52] En que se di e encia la GPU de CPU [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h p://es.gizmodo.com/en-que-se-di e encia-la-gpu-de-la-cpu-explicado-en-cin- 1780816080 [53] Wha is he di e ence be ween a neu al ne wo k and a deep neu al ne wo k? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://s a s.s ackexchange.com/ques ions/182734/wha -is- he-di e ence- be ween-a-neu al-ne wo k-and-a-deep-neu al-ne wo k [54] Con olu ional Neu al Ne wo k [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/Con olu ional_neu al_ne wo k [55] CNTK FAQ [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://docs.mic oso .com/en-us/cogni i e- oolki /CNTK-FAQ [56] Wha is an in ui i e explana ion o Con olu ional Neu al Ne wo ks? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://www.quo a.com/Wha -is-an-in ui i e-explana ion-o -Con olu ional- Neu al-Ne wo ks [57] A quick in oduc ion o Neu al Ne wo ks [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://ujjwalka n.me/2016/08/09/quick-in o-neu al-ne wo ks/ [58] Unde s anding Con olu ional Neu al Ne wo ks o NLP [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: Bibliog a ía 63 h p://www.wildml.com/2015/11/unde s anding-con olu ional-neu al-ne wo ks- o -nlp/ [59] Why do we use ReLU in neu al ne wo ks and how do we use i ? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://s a s.s ackexchange.com/ques ions/226923/why-do-we-use- elu-in- neu al-ne wo ks-and-how-do-we-use-i [60] Neu al Ne wo ks [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h p://mlss. uebingen.mpg.de/2015/slides/ e gus/Fe gus_1.pd [61] S ochas ic g adien descen [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/S ochas ic_g adien _descen [62] Recu en neu al ne wo k [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/Recu en _neu al_ne wo k [63] Long sho - e m memo y [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://en.wikipedia.o g/wiki/Long_sho - e m_memo y [64] Long sho - e m memo y [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://ujjwalka n.me/2016/08/11/in ui i e-explana ion-con ne s/ [65] Wha is he ole o he ac i a ion unc ion in a neu al ne wo k? How does his unc ion in a human neu al ne wo k sys em? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://www.quo a.com/Wha -is- he- ole-o - he-ac i a ion- unc ion-in-a-neu al- ne wo k-How-does- his- unc ion-in-a-human-neu al-ne wo k-sys em [66] A Beginne 's Guide o Unde s anding Con olu ional Neu al Ne wo ks [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://adeshpande3.gi hub.io/adeshpande3.gi hub.io/A-Beginne %27s-Guide- To-Unde s anding-Con olu ional-Neu al-Ne wo ks/ [67] A Beginne 's Guide o Unde s anding Con olu ional Neu al Ne wo ks Pa 2 [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://adeshpande3.gi hub.io/adeshpande3.gi hub.io/A-Beginne %27s-Guide- To-Unde s anding-Con olu ional-Neu al-Ne wo ks-Pa -2/ [68] Wha is a global a e age pooling? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://www.quo a.com/Wha -is-global-a e age-pooling [69] Max pooling s Sum pooling? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://s acko e low.com/ques ions/37434426/max-pooling- s-sum-pooling 64 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes [70] Lea ning and T ans e ing Mid-Le el Image Rep esen a ions using Con olu ional Neu al Ne wo ks [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h p://www.di.ens. /~jose /publica ions/oquab14.pd [71] Why does deep lea ning/a chi ec u es only use he non-linea ac i a ion unc ion in he hidden laye s? [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h ps://www.quo a.com/Why-does-deep-lea ning-a chi ec u es-only-use- he- non-linea -ac i a ion- unc ion-in- he-hidden-laye s [72] T ans e lea ning – Machine lea ning’s nex on ie [En línea] [Fecha de consul a: Agos o de 2017]. Enlace: h p:// ude .io/ ans e -lea ning/ [73] Build you own image classi ie using T ans e Lea ning [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h ps://docs.mic oso .com/en-us/cogni i e- oolki /build-you -own-image- classi ie -using- ans e -lea ning#using-a-di e en -base-model [74] C ash Cou se On Mul i-Laye Pe cep on Neu al Ne wo ks [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h ps://machinelea ningmas e y.com/neu al-ne wo ks-c ash-cou se/ [75] Mic oso Azu e [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h ps://azu e.mic oso .com/es- es/?&WT.s ch=1&w .mc_id=AID631176_SEM_Qwn SFdW&gclid=EAIaIQobCh MIxO Sh6 61gIVCZ4bCh1snwaGEAAYASAAEgKhy D_BwE [76] Deep lea ning i ual machine [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h ps://azu ema ke place.mic oso .com/en-us/ma ke place/apps/mic oso - ads.ds m-deep-lea ning? ab=PlansAndP ice [77] Ap o isionamien o de Da a Science Vi ual Machine de Windows en Azu e [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h ps://docs.mic oso .com/es-es/azu e/machine-lea ning/da a-science- i ual- machine/p o ision- m [78] Po al Azu e [En línea] [Fecha de consul a: Sep iemb e de 2017]. Enlace: h ps://po al.azu e.com/ Bibliog a ía 1 ANEXOS TÍTULO DEL TFG: Big da a y Deep Lea ning pa a la de ección de obje os den o de imágenes TITULACIÓN: G ado en Ingenie ía Telemá ica AUTOR: Alessand o I án Fa a Fe nández DIRECTORA: Es he Salamí San Juan FECHA: 31 de Oc ub e del 2017 2 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes ANEXO I. MULTILAYER PERCEPTRON (MPL) 1 ANEXO I. MULTILAYER PERCEPTRON (MPL) En es e anexo explica emos que una ed neu onal mul ilaye pe cep on. Explica emos conc e amen e es e ipo de ed neu onal, ya que son las que se emplean no malmen e y ambién po que es es e ipo el que empleamos en el p oyec o. Es a ed neu onal a di e encia de una single pe cep on ( ed con un único nodo simple) es capaz de ap ende u ilizando unciones no lineales. La es uc u a es más compleja que una single pe cep on, ya que se pa e de un único nodo (neu ona) po cada en ada y se ex iende hacia una segunda capa y inalmen e has a una e ce a de salida. Fig. Anexo I. 1 Rep esen ación de una MPL En es e ipo de edes a eces ambién se emplean Bias que son nodos con alo es p e ijados, que adquie en dos posiciones 1 o 0, de es a o ma se asegu a un alo de en ada siemp e. Fig. Anexo I. 2 Rep esen ación de una MPL con Bias 8 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes ANEXO V. TRANSFER LEARNING SCRIPTS Mic os nos o ece el código necesa io pa a ejecu a una de ección e obje os median e ans e lea ning, pe o siemp e hay que hace una se ie de cambios así como iden i ica cuáles son los elemen os que debemos emplea . A con inuación encon a emos el código empleado en la ase de expe imen al II de es e p oyec o. T ans e Lea ning.py ANEXO V. TRANSFER LEARNING SCRIPTS 9 10 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes T ans e Lea ning_Ex ended.py ANEXO V. TRANSFER LEARNING SCRIPTS 11 12 Big da a y Deep Lea ning pa a la de ección de obje os den o den o de imágenes