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