Redes Convolucionales en

´ n de Escenas
Comprensio
Trabajo Final por

Pablo D. Pusiol
´ tica, Astronom´ıa y F´ısica
Trabajo final realizado para la Facultad de Matema
´ rdoba, Argentina, en
(Fa.M.A.F), de la Universidad Nacional de Co
´ n del grado de Licenciado en Ciencias de
cumplimiento parcial para la obtencio
´ n.
la Computacio
Trabajo dirigido por
Guido T. Pusiol, PhD.
Daniel E. Fridlender, PhD.

17 de febrero de 2014
Redes Convolucionales en Comprension de escenas por Pablo Pusiol se distribuye bajo
una Licencia Creative Commons Atribuci´on-CompartirIgual 2.5 Argentina
http://creativecommons.org/licenses/by-sa/2.5/ar/

2

Resumen
Presentamos y aplicamos una t´ecnica de extracci´on no-supervisada de features de im´agenes
(Redes Neuronales Convolucionales) al problema de comprensi´on de escenas. Abarcamos las
sutilezas tanto para el dise˜
no como para el entrenamiento de estos modelos.
Mostramos el modelo, el entrenamiento y los resultados obtenidos para un problema espec´ıfico (determinar posici´
on discreta de jugadores de tenis), proveyendo tambi´en posibles estrategias
para generalizar a otros problemas.
Keywords:

Computer Vision, Scene Undestanding, Deep Learning, Redes Neuronales, Re-

des Neuronales Convolucionales (ConvNets, CNN, Deep Neural Networks), Tecnolog´ıa en el
deporte, Extracci´
on no-supervisada de features (UFL).
De acuerdo con 1998 ACM Computing Classification System:
I.5 PATTERN RECOGNITION
I.5.1 Models
I.5.2 Design Methodology
I.5.4 Applications

3

Agradecimientos
Agradecer a mi familia, en especial a mis padres Nora y Daniel, y a mis hermanos Dante y
Guido: sin su constante apoyo no estar´ıa aqui.
Agradecer a mi directores por tomarse el tiempo para evacuar mis dudas, en especial a mi
hermano Guido por sus consejos y por mantenerme motivado desde lejos.
A mis amigos por sus palabras de aliento y por interesarse en estas cosas raras y, por
u
´ltimo, tambi´en quiero agradecer a todas las personas a las que molest´e por correo, como
Andrej Karpathy: su ayuda fue necesaria y esclarecedora.

4

´Indice general
Resumen

3

Agradecimientos

4

1. Introducci´
on

10

1.1. El problema de visi´
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1. El concepto de “feature” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2. Enfoque Superficial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3. Enfoque No-Supervisado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4. Organizaci´
on del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Redes Neuronales Convolucionales

15

2.1. Evoluci´
on del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1. Aplicaciones exitosas de los u
´ltimos a˜
nos . . . . . . . . . . . . . . . . . . . 16
2.2. Arquitectura t´ıpica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3. Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3. Comprensi´
on de escenas

20

3.1. Descripci´
on del caso de estudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2. Descripci´
on nuestra CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3. Caracter´ısticas de las capas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.1. Capa 1 : C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.2. Capa 2 : S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.3. Capa 3 : FC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.1. Descripci´
on de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.2. Entrenamiento y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5.3. Posibles mejoras de rendimiento . . . . . . . . . . . . . . . . . . . . . . . 27
4. Conclusi´
on

31

4.1. Discusi´
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2. Objetivos y contribuciones a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5

. . . . . . . . . . . . . . . . . . . .1. . . . T´ ecnicas superficiales 6 32 A. . . .1. . . HOG .1. . . . . . . . Estructura t´ıpica de t´ecnicas superficiales . . . . . . Representaci´ on . . 42 B. . . . . Operaciones lineales en im´agenes . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 A. Preprocesamiento . . . Convoluci´ on . .4. . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .1. . . . Redes Neuronales 41 B. . . .2. . . . . . . . . . . . . . . . . . . . . . . . . .5. . . . 35 A.4. 36 A. . . . . . . . . . . . . . . Interpretaci´ on sem´ antica . . . . . . . . . . . . . . . . . . . . . . . . DPM . . . . . . . Modelos . . . . . . . .´ Indice general A. . . . . . . Redes “Feed-Forward” (FFNN) . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . .3. . . . Arquitecturas . . . . .1. . . . Redes recurrentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 A. . . . . . 45 B. . . . . . .1. . . . . . . . . . . . . . . . . . . . . . . . 35 A.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3. .2. . 45 B. . . 45 B. . . 45 Bibliograf´ıa 48 . . . . . . . . . . . . .4. . . . . . Descriptores para detecci´on . . . . . . . . . Entrenamiento . . . . . 35 A. . . . . . . 39 B. . . . . . .3. . . . . . 33 A. . . . . . . . . . . . . 42 B. . . . . . . . . . . . . . . . . . . . . . 32 A. . .1. . . . . . . . . . . . . . .4. . . . . . . . . . . . . . . . . . Filtro lineal . . . . . . . . . . . . . . . .

. . . . . . . . . . .3. . . . . . . . . . . . . en el caso (b) es sin superposici´ on. . . Diferentes ventanas del dataset . . . . . . . . . . . . . . . 24 3. . . . . . . . . . . . . .6. . .6. Convoluci´ on en f (x. . Resultados del modelo sobre el set de validaci´on. . . . . . . . . . . . . .1. . . . . . . 33 A. . . Clasificaci´ on usando SVM . . . . . . . . . Representaci´ on de los p´ıxeles . . . . . . . . . . . Replicaci´ on de features. . . . . Im´ agenes extra´ıdas de TEPOS para las 4 clases: derecha. . . . . . . . . . . . . . . . y) con kernel h(x. . . . . . . . . . . . . . . . . . . . . . .8. . . . Resultados de diferentes modelos entrenados. . . . . . No-linealidades contempladas . . . . . . . .3. . . . . . . . . . Arquitectura de 2 etapas CNN para posici´on de jugadores . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1. Arquitectura de LeNet-5 . . . . . . . . . .7. . . . . . . .1. . . . . . .3. . . . . . . Clasificaci´ on en las zonas de la cancha . . .2. . . . . . . . . 13 1. . . . . 33 A. . 96 filtros de bajo nivel aprendidos en la primer capa de convoluci´on . El recuadro negro indica la primer aplicaci´on y el gris la segunda. . . . . . . . . . . . . . . . . . . . . . . . . . . Arquitectura de CNN para posici´on de jugadores . . . . . . . . . . . . . . . . . . . . . . . . . . Visualizaci´ on de features de una Red Neuronal Convolucional. . . . . . . . . . . . . . . Decaimiento de la funci´ on de costo. red y no juegan. . . . . . . . . . . . . . . 22 3. . . . . . . Aplicaci´ on del Kernel. . . . . . . . Desaf´ıos de visi´ on . . .4. . . Estructura de t´ecnicas del Enfoque No-Supervisado (Deep) . . . . . . . Estructura de t´ecnicas del Enfoque Superficial (Shallow) . . . . . . . . . 11 1.3. . . . . . . . . . . .10. . . . 19 3. .1. . . 29 3. . . . . . En el caso (a) la selecci´on es con superposici´on. . . . . . . . . . .5. . . . . . . Equivarianza de activaciones de neuronas tras transladar feature de im´agen. . Zeiler & Fergus 2013 . p´ıxeles . . . . . . .4. . . . . . . . . . Diferentes vecinos de una im´agen . . . . . . . . . . . . .4. . . . . . . . . . . . . .1. .5. . 20 3. . .´Indice de figuras 1. . . 18 2. . 21 3. . . . . 34 A. . . . . . . . Comparando p´ıxel a p´ıxel . 28 3. . . . . . . . . . . . 24 3. . . . . . izquierda.7. . . . . . . . Comparando features vs. . . . . . .9. . . . . . . . y): La im´agen f es convolucionada con el filtro h para obtener g. . . . . . . . . . . 14 2. . . . . . . . Los p´ıxeles celestes indican la vecindad sobre la cual se opera h para obtener el p´ıxel verde. . . . . . . . . . . . . . . . . . . 19 2. . . . . . . . . . . . . . . . . 10 1. . 13 1. . . . . . . . 30 A. . . 37 7 . . . 29 3. . 29 3. . . . . . . . . . . . . . . . . 11 1.2. . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . .

. . . . . 37 A. . . . 43 B. . . . . . . . . 41 B. . . . . . . . . . . . . . . . . . . . . . . . 44 B.4. . . . . . . . . . . . . .3. . . . . . . . Salida de una neurona lineal . . . . .2. . . . . . . . . 39 B. . . . . .6. . . . . . . . . . . . . . . . . . . . . . . . . .5. .1. 43 B. 45 B. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Esquema de una neurona del sistema nervioso central . . 46 . . . . . . . . . . . . . . . . . DPM . . . . . Ejemplo de una red recurrente . . . .´ Indice de figuras 8 A. . . . . . . Salida de una neurona sigmoidea .6. . . . . . . . . . . . . . .5. Esquema de un perceptr´on multicapa con una capa oculta . . Salida de una neurona ReLU . . . . . . . . . . . . . . . . Obtenci´ on de los descriptores HOG . . . .

´ Indice de figuras 9 .

una im´agen es una colecci´on de valores. Otros desaf´ıos se identifican con la escala.1. El problema de visi´ on La visi´ on por computadora es un dominio abierto ya que abarca principalmente problemas inversos. la deformaci´ on del objeto. confusi´ on con el fondo y variaci´ on entre clases [47][46]. lo que un humano ve claramente como una escena de un partido de tenis. representados como p´ıxeles. ´angulo. Parte del problema est´a relacionado con la forma en la que se representa una im´ agen en el disco. en donde buscamos reconstruir inc´ognitas a partir de informaci´on insuficiente para especificar la soluci´ on.1: Representaci´on de los p´ıxeles 10 . donde cada valor representa la intensidad captada por un sensor de un determinado punto espacial.2 representan dos partidos del mismo torneo. contraste y tama˜ no que pueda existir. la computadora lo ve como n´ umeros.1 muestra como. Como se mostrar´a m´as adelante. afectando el angulo. La Figura 1. (a) Im´ agen original (b) Representaci´ on num´ erica de algunos p´ıxeles de (a) Figura 1. la luz/sombra. la oclusi´ on del objeto. La representaci´ on de los p´ıxeles es muy sensible a cambios en la iluminaci´on. s´ olo que en diferentes canchas y a diferente momento del d´ıa. Las dos im´agenes de la figura 1.Cap´ıtulo 1 Introducci´ on 1. tama˜ ´ no de la im´agen.

4).3: Comparando p´ıxel a p´ıxel Es aqu´ı donde entran en juego las features: representan/describen caracter´ısticas de los objetos de inter´es. hasta capaces de representar el concepto de una persona o de una raqueta de tenis.1. a pesar de que las intensidades representadas por los p´ıxeles son diferentes en ambas. claramente ambas im´agenes corresponden a personas jugando al tenis. utilizamos el concepto de feature y comparamos features como la presencia de .Cap´ıtulo 1. Tomemos por ejemplo el problema de reconocer un tenista en una im´agen (Figura 1. El problema de visi´on consiste en hacer que la computadora interprete los p´ıxeles de ambas im´ agenes de la figura 1. Comparando p´ıxel a p´ıxel. El concepto de “feature” Si tomamos el caso de la Figura 1.3. En cambio.4). caracter´ısticas de color. si en lugar de comparar p´ıxeles. Figura 1. obtendr´ıamos una disposici´on sin una estructura que permita realizar una clasificaci´ on donde los “+” representan los casos donde hay tenistas en la im´agen y los “” las im´ agenes que no tienen tenistas (Cuadro 1 de la Figura 1.2: Desaf´ıos de visi´on 1.1. Necesitamos de alguna funci´ on compleja que comprenda el significado de la im´ agen m´ as all´ a de la representaci´ on num´ erica de la misma.3 como jugadores de tenis. Existen features de diferentes niveles de abstracci´on: desde bordes. Introducci´ on 11 Figura 1. ´ angulos.

Figura 1. utilizando principalmente t´ecnicas estad´ısticas a partir de conocimiento anterior del objeto y del contexto. A lo largo del desarrollo de la visi´on por computadora se distinguen dos enfoques para la generaci´ on de descriptores capaces de reconocer features: El enfoque basado en t´ecnicas superficiales (o “shallow” en ingl´es) y el enfoque de aprendizaje no-supervisado (UFL1 ). El proceso de clasificaci´on es independiente al proceso de extracci´on de features de la im´ agen. secci´ on A. Estos resultados permiten encontrar una funci´on que clasifique ambas categor´ıas. . El enfoque entonces no aprende features de los objetos sino que se procesa la im´agen de inter´es con extractor de features prefijadas y luego se pasa la nueva representaci´on a un clasificador entrenable. p´ıxeles Tenemos ahora en teor´ıa un concepto que nos abstrae de lidiar p´ıxel a p´ıxel.4 se profundiza sobre dos descriptores comunmente usados. sin embargo el concepto de un descriptor de features no es original para una pc por lo que hay que proveer las herramientas para que la pc pueda encontrarlas. Los descriptores superficiales son dise˜ nados a mano a partir de caracter´ısticas f´ısicas. 1. 1 UFL (del Ingl´ es): Unsupervised Feature Learning.4: Comparando features vs.4) En el ap´endice A. hip´otesis y observaci´ ones. etc. fondo.Cap´ıtulo 1. Enfoque Superficial El enfoque superficial responde a la manera tradicional de hacer visi´on por computadora.2. (Figura 1. iluminaci´on. pudiendo as´ı tomar decisiones sobre im´agenes no conocidas. obtendr´ıamos resultados similares a los que muestra el Cuadro 2 de la misma figura. Introducci´ on 12 una raqueta y de una persona. Se busca generar una representaci´on invariante a la posici´on.

Organizaci´ on del trabajo En el cap´ıtulo siguiente presentamos las redes neuronales convolucionales: tratamos el concepto de la aplicaci´ on en visi´ on. 30] y es el modelo que analizaremos (Ver Figura 1.5: Estructura de t´ecnicas del Enfoque Superficial (Shallow) 1. . haciendo que el m´odulo de clasificaci´on deje de ser independiente al resto de la estructura. hasta estructuras y objetos. sino en los datos. El enfoque no supervisado consiste de t´ecnicas. Como muestra la figura 1. algoritmos y estructuras inspiradas en el cerebro que son capaces de aprender features por s´ı mismas. Es entonces que en este enfoque se contempla que la complejidad de la percepci´on no est´ a en el algoritmo ni en las estructuras de aprendizaje. 1. Las Redes Neuronales Convolucionales soportan el aprendizaje de features [10. El cap´ıtulo 4 concluye el trabajo y seguido a este se encuentran los ap´endices que proveen el conocimiento te´orico para comprender en m´as profundidad lo desarrollado.3. en lugar de que sean dise˜ nadas a mano y prefijadas en el detector. mostrando los resultados obtenidos para la soluci´ on del problema planteado.4. la evoluci´on del modelo.6. arquitectura general. casos de uso exitosos que inspiraron el desarrollo de este trabajo y salvedades generales del entrenamiento del modelo. En el cap´ıtulo 3 presentamos nuestro caso de estudio y proponemos un modelo simple de red para la comprensi´on de escenas. Figura 1. Introducci´ on 13 Figura 1.6: Estructura de t´ecnicas del Enfoque No-Supervisado (Deep) Las estructuras de aprendizaje no-supervisado de features contemplan el concepto heredado de la neurobiolog´ıa de que las features son jer´arquicas: desde features de bajo nivel. el extractor de features pasa a ser parte del componente entrenable del detector.7).Cap´ıtulo 1. Enfoque No-Supervisado La filosof´ıa de estas t´ecnicas se basa en la hip´otesis de “un u ´nico algoritmo de aprendizaje”: El cerebro usa esencialmente el mismo algoritmo para comprender diferentes formas de entrada [53]. El problema asociado a esto es que no sabemos qu´e features el modelo aprende durante el entrenamiento.

Cap´ıtulo 1. Zeiler & Fergus 2013 . Introducci´ on 14 Figura 1.7: Visualizaci´ on de features de una Red Neuronal Convolucional.

En una FFNN todas las neuronas de la capa j est´an conectadas con todas las de la capa j + 1. = Retropropagaci´ on. dado que cada par de neuronas entre dos capas tienen su propio peso. 36. 32.1. 30. incorporando operaciones no-lineales de manipulaci´on de im´agenes.3. aprender a reconocer una feature en una ubicaci´on no se translada a la misma feature en otra parte de la im´agen. como el reconocer objetos presentados visualmente. las redes FFNN1 no fueron lo suficientemente buenas al enfrentarse a problemas pr´acticos. 54]. Estan inspiradas en las redes neuronales tradicionales. pudo entrenar un modelo similar para el reconocimiento de d´ıgitos en 1 FFNN = Feed Forward Neural Network. Ver ap´ endice B. con el algoritmo de Backpropagation 2 . se inspira en los descubrimientos en percepci´ on visual de Hubel y Wiesel (1962): los neurocient´ıficos encontraron dos tipos de c´elulas en la corteza primaria de visi´ on a las que llamaron c´elulas S y c´elulas C. lo que se traduce en una soluci´ on poco pr´ actica para el dominio de visi´on. 42. haciendo crecer r´apidamente el n´ umero de par´ametros. M´as a´ un.Cap´ıtulo 2 Redes Neuronales Convolucionales A pesar de tratarse de un aproximador universal en teor´ıa. Ver ap´ endices: B. Evoluci´ on del arte Las ConvNets fueron introducidas por Kunihiko Fukushima en 1980 [20][21]. 40. y propusieron un modelo de cascada de relaci´ on de estas. Las redes convolucionales (o CNN. Las features locales de la entrada son integradas gradualmente y clasificadas en capas superiores de la cascada. 46. Reci´en en 1998 las CNN’s volvieron tomar impulso cuando Yann LeCun. El Neocognitron es una extensi´on de estos modelos: Consiste en muchas c´elulas interconectadas siguiendo una estructura de cascada en donde las features locales son extra´ıdas por c´elulas S y las deformaciones son toleradas por c´elulas C. 2 Backpropagation 15 . Este modelo. ConvNets) son un tipo de red neuronal de la familia de deep learning espec´ıficamente dise˜ nadas para aprender y descubrir caracter´ısticas (features) de im´ agenes [10.1. en ese momento bautizado “Neocognitron”. 2.

14 % de las t´ecnicas shallow tradicionales. aprendizaje multimodal. que se produjo la revoluci´on en el campo de visi´ on computacional. Dan Ciresan logra superar el rendimiento humano con un 99. Kaggle para expresiones faciales. Se˜ nales de tr´ ansito En [61] se pueden encontrar los resultados para la clasificaci´on de se˜ nales de tr´ansito del concurso GTSRB[27] (The German Traffic Sign Recognition Benchmark). clasificaci´on de gatos/perros3 . Se˜ nales de tr´ ansito alemanas.html. donde cada una de estas capas usando el algoritmo dicho. MNIST no es el u ´nico dataset sobre el cual se han hecho avances en este problema: Ahranjany et al. Redes Neuronales Convolucionales 16 documentos de texto (es con este modelo que nacen las redes neuronales modernas que aplicaremos) de manera totalmente supervisada [37][38][35].17 % de efectividad en caracteres Farsi/Ar´abicos usando una CNN entrenada con SGD.3 % usando redes convolucionales con varias etapas a partir de im´ agenes de Google Street View. cuando Geoff Hinton propuso un modelo para clasificar im´ agenes en 1000 categor´ıas. Un a˜ no despu´es. LeNet-5 obtuvo un 99. 3 Ver http://www. pr´oximo al 98. Sermanet en el 2011 [58] logr´ o un 98. ambas CNN’s dejaron atr´ as el 96.1. como ya hemos dicho fue uno de los precursores del uso de redes convolucionales mostrando con Yann LeCun y su LeNet-5 que estas estructuras son u ´tiles para visi´on.1.com/2014/02/deep-learning-wins-dogs-vs-cats-competition. Se ha perfeccionado aquella primera red convolucional en una serie de oportunidades.CNN de Pierre Sermanet. cuyos resultados superan a otras t´ecnicas del estado del arte ganando numerosos concursos (ImageNet.77 % en 2012 superando cualquier otro resultado [7]. .3 % de efectividad en 1998 [37] sobre el dataset MNIST [39] usando tanh(x) como el componente no lineal y avg-pooling para el submuestreo. Veamos algunos de estos casos: Reconocimiento de escritura Este problema. OCR en numeraci´ on de casas Para el reconocimiento de los n´ umeros de las casas. Desde esa ´epoca hasta el 2012 se desarrollaron aplicaciones usando CNN’s pero no fue hasta el 2012.46 % de efectividad [7] tambi´en usando CNN’s para decidir en m´as de 40 clases. 2. Aplicaciones exitosas de los u ´ ltimos a˜ nos En los u ´ltimos 3 a˜ nos se han aplicado ConvNets para resolver diferentes problemas de visi´on.31 % de respuestas correctas usando una CNN. El enfoque de Yann LeCun tomo tanta importancia que al cabo de finales de los 90’s el 10 % de los cheques circulando en los Estados Unidos eran chequeados por ConvNets. en [1] alcanzan un 99. Consultado en Febrero 2014 . entre otros). aprende features de las im´agenes.84 % del rendimiento humano. en [19] (2009) y m´as recientemente en [23] (2014) se han alcanzado resultados del 94. alcanzando un 99.kdnuggets.Cap´ıtulo 2.

Redes Neuronales Convolucionales 17 Detecci´ on de peatones La detecci´ on de personas es un problema fundamental en visi´on. Estos resultados significaron una revoluci´on en visi´on por computadora.2. aprendiendo en cada una features de diferente abstracci´on. Pusiol P. haciendo de t´ecnica elemental las redes neuronales para atacar gran parte de los problemas del ´area. (Tambi´en se reportan resultados en otros datasets como Caltech [24]).image-net. En el a˜ no 2013. ImageNet Imagenet es un dataset compuesto de m´as de 100. nuevos modelos para resolverlo. . se encuentra entrenando un modelo capaz de reconocer las 100. SuperVision se trata de una red con 650K neuronas.2TB de im´ agenes. El entrenamiento se realiz´ o durante 1 semana y fue realizado sobre 2 GPU’s [2][6]. A la salida. cada mapa de features representa una feature particular extra´ıda de todas las ubicaciones de la entrada. CALTECH[12].edu/people. y Pusiol G. 832M de sinapsis y 60M de par´ ametros.com 5 http://www.2. la red de Yann LeCun para resolver el problema de los d´ıgitos manuscritos (LeNet). 4 Ver m´ as en http://activityrecognition. por ejemplo. Cada etapa de una ConvNet est´a compuesta por las siguientes tres capas: una capa de convoluci´ on7 . En trabajo previo. Sermanet et al. A lo largo de los a˜ nos se han incorporado nuevas t´ecnicas.stanford.1. Geoffrey Hinton particip´o de este concurso con un modelo de ConvNet [34] (SuperVision). Una t´ıpica ConvNet para clasificaci´on supervisada est´a contruida a partir de una o varias de estas etapas seguidas de un m´odulo de clasificaci´on. Arquitectura t´ıpica Las ConvNets son estructuras entrenables compuestas de varias etapas. 2. cuenta con dos etapas como las descritas. obteniendo resultados sobresalientes en diferentes datasets (INRIA[8].Cap´ıtulo 2. Andrej Karpathy quien coolabor´o en este trabajo y es miembro del laboratorio de visi´ on de Stanford6 . La entrada y salida de cada una de estas etapas son conjuntos de arreglos llamados “mapas de features”.org/ 6 http://vision.028 % sobre los datos de validaci´ on del mismo dataset4 .000 categor´ıas con cerca de 1. bajando el error de un ±25 % a un ±15 % en el desaf´ıo usando todas las t´ecnicas aprendidas para el dise˜ no y entrenamiento de CNN’s hasta la fecha [16].000 clases de ImageNet.html 7 Ver ap´ endice A. [50] (2014) han entrenado un modelo a partir de una ConvNet sobre im´ agenes del dataset INRIA obteniendo un error del 0. Imagenet organiza una competici´ on en la que se desaf´ıa a clasificar im´agenes de un subconjunto de categor´ıas de ImageNet (ILSVRC) [3][16]. una capa no lineal y una capa de sub-muestreo. [57] propusieron un modelo de ConvNets para resolver el problema de forma no supervisada. El entrenamiento fue totalmente supervisado. Actualmente. entre otros). desarrollado por el laboratorio de visi´on de la Universidad de Stanford5 [11].

en la capa C1 de 3. se aprenden features m´as complicadas pero m´as invariantes a posici´on (por el submuestreo). Redes Neuronales Convolucionales 18 Figura 2.3. un detector de una feature que funciona en una parte de la im´ agen. Las capas enteramente conectadas se encargan de evaluar las posibles combinaciones de las features aprendidas para salir de la red con el grado de confianza final de la im´agen para cada clase. dando como resultado un mapa m´as peque˜ no que servir´a de entrada a la siguiente etapa dedicada a encontrar features replicadas de mayor abstracci´on. donde se buscan los par´ ametros que hacen que la funci´on de costo sea m´ınima: al tratarse de una funci´ on multidimensional y no-convexa. A la entrada de cada etapa hay una secuencia de mapas de features (capa de convoluci´on) seguido por una capa de pooling (submuestreo). Entrenamiento Las redes neuronales convolucionales est´an basadas en la idea de que las features se replican: como un objeto se mueve y aparece en diferentes p´ıxeles.Cap´ıtulo 2. A medida que se avanza en esta jerarqu´ıa de etapas. En la im´ agen 2. tras . es probable que tambi´en vaya a funcionar en otra parte de la im´agen. A continuaci´on de esta capa est´ a la S2 (pooling) que agrupa las salidas de una serie de features replicadas vecinas en C1. Entonces.1: Arquitectura de LeNet-5 Sigamos paso a paso el funcionamiento de LeNet-5 (Fig. El algoritmo de entrenamiento consiste en resolver un problema de optimizaci´on. existen puntos de silla y m´ınimos locales que hay que evitar. Replicar a trav´es de posici´ on ayuda a reducir el n´ umero de par´ametros a aprender: para los 27 p´ıxeles que muestra la figura s´ olo hay 9 par´ametros diferentes. cada uno de los 6 mapas de features contiene peque˜ nas features con sus pesos agrupados. La idea es construir varias copias del mismo detector de features en diferentes posiciones y para una misma posici´ on tener muchos detectores de features. Adaptar el concepto de features replicadas a backpropagation no es complicado: se computan los gradientes de la forma usual (SGD) y luego se modifican para que satisfagan las restricciones lineales entre los par´ ametros. 2.2.2): toma como entrada p´ıxeles. de manera que si los pesos satisfacen las restricciones.2 se pueden ver tres detectores de features que son r´eplicas. y esos pesos son id´enticos en los tres diferentes detectores: tanto la flecha roja como la verde y la azul tienen el mismo peso para los tres detectores de la figura. 3. de manera que cada parte de la im´agen pueda ser representada con features de diferentes tipos. Cada uno de ellos tiene pesos a 9 p´ıxeles.

Necesitamos que ∆w1 = ∆w2 . Usando ∂E ∂w1 + ∂E ∂w2 para actualizar w1 y w2 forzamos al algoritmo de backpropagation a que aprenda para detectores de features replicadas. La no-linearidad de las funciones involucradas es expl´ıcita. pero las neuronas que se activan no son las mismas sino que son equivalentes a las activaciones originales como muestra la Figura 2.Cap´ıtulo 2. m´ as etapas tiene).e.3: Equivarianza de activaciones de neuronas tras transladar feature de im´agen. m´as compleja va a ser la funci´on de costo. Figura 2.. Si bien tanto la estructura como el algoritmo de entrenamiento de las ConvNets son sencillos. Supongamos que queremos restringir los pesos w1 y w2 tal que w1 = w2 .2: Replicaci´on de features. Redes Neuronales Convolucionales 19 Figura 2. entrenar un modelo no es algo simple. actualizarlos lo sigan haciendo. haciendo que la funci´ on de costo de cualquiera de estos modelos sea no convexa: mientras m´ as profunda es la red (i. El uso de detectores de features replicadas provee invarianza en el conocimiento de la red y equivarianza en las actividades de las neuronas: Si detectamos una feature en un lugar de la im´ agen la podremos detectar en otro lugar. .3.

entre otros. Si bien el problema ya ha sido estudiado en [22] y [9]. Descripci´ on del caso de estudio Consideramos que un jugador puede estar en 3 diferentes posiciones de la cancha: A la derecha de la l´ınea de base. descriptores para detectar los jugadores.1. el ´ area roja para la izquierda y finalmente el ´area amarillo para la red. como por ejemplo. son consideradas ambiguas y pueden ser clasificadas en cualquiera de las ´ areas vecinas. Proponemos clasificar las posibles posiciones del jugador como muestra la Figura 3. el espacio comprendido entre los rect´angulos azul y rojo puede entenderse como posici´on derecha y posici´on izquierda indistintamente. Cabe destacar que trabajamos con im´ agenes de partidos 1 hombre contra 1 hombre.1: Clasificaci´on en las zonas de la cancha 20 . y s´olo ubicaremos al jugador de la parte inferior de la cancha (el movimiento del jugador en la parte superior es ruido).Cap´ıtulo 3 Comprensi´ on de escenas En este cap´ıtulo aplicaremos las ConvNets a un caso de comprensi´on de escenas. teniendo el ´area azul para la derecha.1. 3. los enfoques que usan para abordarlo son superficiales: dependen fuertemente de descriptores para delimitar la cancha. a la izquierda de la l´ınea de base o en la red. Figura 3. En este caso de estudio s´ olo analizaremos posiciones discretas. en particular buscaremos extraer sem´ antica de im´agenes de transmisiones de partidos de tenis. hip´ otesis basadas en color. Las zonas no cubiertas por esta clasificaci´ on.

La primer capa C1 convoluciona cada una de estas im´agenes con 96 n´ ucleos RGB.1.3.3). . ya que se necesitan 55 aplicaciones de cada n´ ucleo para cubrir el alto y ancho de la im´agen de entrada: En cada aplicaci´on (horizontal y vertical) hay un salto de 4 p´ıxeles. son inicializadas con ruido blanco Gaussiano. donde todos los pesos de son inicializados con ruido gaussiano. Caracter´ısticas de las capas Capa 1 : C1 A la red ingresa una im´ agen cuadrada de 227x227 y 3 canales (RGB). cambios de color [31]. La salida consiste en 96x55x55 valores. Las salidas de las neuronas se conectan con la capa siguiente usando no-linealidades ReLU’s. proponemos un modelo simple. 1 de sub-sampling y 1 para la clasificaci´ on (Fig. 21 Descripci´ on nuestra CNN Para implementar una CNN capaz de extraer sem´antica de escenas. cambios de direcci´on.2). contando tambi´en con capas intermedias para normalizaci´on: C1 (Convoluci´ on) S1 (Submuestreo) N1 (Normalizaci´ on) FC (Clasificador) Figura 3.2: Arquitectura de CNN para posici´on de jugadores 3. las que. Cada kernel es de 11x11. totalmente supervisado. Al tratarse de clasificar s´ olo en 4 clases en lugar de 1000. como propuesto en [34] para resolver Imagenet (Fig. En esta capa se aprendieron features de bajo nivel: bordes. basamos nuestra arquitectura en la propuesta por Geoffrey Hinton para resolver la clasificaci´on de 1000 objetos de Imagenet [34]. 3. 3. Comprensi´ on de escenas 3. previa sustracci´on de la media del dataset. 3.3.2. como se dijo anteriormente.Cap´ıtulo 3. Este modelo cuenta con una etapa de 3 capas: 1 de convoluci´on.

y (2) Provee robustez frente a una traslaci´on o desplazamiento: Si consideramos que un s´olo p´ıxel puede transladar la im´agen original en 8 direcciones. De esta manera. va a aprender. En esta capa decidimos usar la operaci´on max-pooling (3. T´ıpicamente estas vecindades no se superponen ([28][33][41]). a las 96x55x55 valores de la capa C1. k) (3. Capa 2 : S1 Para llevar a cabo el submuestreo. se las submuestrea en 96x27x27.2. El caso de ventanas superpuestas no s´olo ayud´o a evitar el sobreajuste. mientras que el 3ro corresponde al mismo valor pero en un modelo con overlapping). haciendo que las ventanas de p´ıxeles se superpongan. Comprensi´ on de escenas 22 Figura 3. sino que tambi´en nos dio un rendimiento ±30 % superior para el mismo tiempo de entrenamiento (Ver Diagrama 3.y = m´ax h(i.Cap´ıtulo 3.x.1) (j. en [34] alcanzan una mejor generalizaci´on llevando a cabo una normalizaci´ on de brillo similar a la normalizaci´ on de contraste local [28]. s´ olo con que algunos ejemplos de entrenamiento generen una entrada positiva a una de estas neuronas.9: el 2do valor corresponde al porcentaje de predicciones correctas sin overlapping. hi+1.1) con un tama˜ no de ventana o n´ ucleo k = 3 y un paso s = 2 (overlapping) siguiendo la estrategia de [34] y contrastamos los resultados con k = 2 = s (no overlapping). Sin embargo.3: 96 filtros de bajo nivel aprendidos en la primer capa de convoluci´on 3.3. La operaci´ on de pooling se usa en visi´on con dos finalidades: (1) Reduce los costos computacionales de las capas siguientes (C2). delimitada por un n´ ucleo o tama˜ no de ventana [4][14][15]. m´ınimo (min-pooling) o promedio (avg-pooling) dentro de una vecindad. usamos una operaci´on llamada pooling. Con el objetivo de disminuir el error y reducir el overfitting.y) Subcapa N1 Las neuronas ReLU usadas en la capa de pooling no necesitan normalizar su entrada para evitar la saturaci´ on. Nosotros dise˜ namos nuestra red con . Alrededor de 5 de esas posibles configuraciones producir´an el mismo valor en la capa siguiente (Suponiendo un n´ ucleo k = 3). en [34] se propone usar un tama˜ no de n´ ucleo mayor al salto horizontal y vertical. j. Las capas de pooling en las CNN’s sintetizan las salidas de una vecindad de neuronas en el mismo n´ ucleo. que consiste en tomar el valor m´ aximo (max-pooling).k)∈N (x.

α = 10−4 y β = 0. Las im´ agenes del dataset TEPOS (Ver 3. se lo hace como una funci´ on de su entrada x. y N es el n´ umero total de n´ ucleos en la capa. y). para modelar la salida de una neurona f . donde la suma de las probabilidades es 1.3) exj La funci´ on se llama Softmax y permite que para cada posible clase (o salida del softmax) tengamos una probabilidad de que la entrada a la red neuronal pertenezca a cada clase.75.4. .1) tienen una resoluci´on mayor a la resoluci´ on admitida por la red.y dada por la siguiente expresi´on: bix.4.5. Aplicando esta normalizaci´ on no vimos una mejora sustancial sobre el error. Para cada neurona xi calcula la siguiente funci´on: exi f (xi ) = P4 j=1 (3. 3. En [33] y [34] usan la misma t´ecnica s´olo que la posici´on de las ventanas son aleatorias dentro de la im´ agen. Tambi´en proponen tomar las proyecciones horizontales de la im´ agen. con f (x) = tanh(x) o f (x) = 1 1+e−x (funci´on sigmoidea). El motivo de esta diferencia en tama˜ no es que.i−n/2) (3.Cap´ıtulo 3.y Pm´ın(N −1. Las ventanas que tomamos se muestran en 3. Uso de no-linearidad ReLU Tradicionalmente en redes neuronales. Una forma de aumentar el tama˜ no del dataset es tomar subim´ agenes del dataset [6]. la categor´ıa izquierda tendr´ıa la im´agen original y la proyectada -que deber´ıa estar en derecha-).2) (ajx. 3.i+n/2) j=m´ ax(0. lo que creemos que se debe al tama˜ no de la red ya que s´olo impacta en los pesos de una capa al momento de entrenar [64]. Las constantes toman los siguientes valores k = 2. Capa 3 : FC Esta es la u ´ltima capa que realiza la clasificaci´on de las features para 4 clases mutuamente excluyentes. Comprensi´ on de escenas 23 la siguiente: Llamemos aix.y a la actividad de la neurona computada al aplicar el kernel i en la posici´ on (x. Entrenamiento Aumento del tama˜ no del dataset Las CNN funcionan mejor a medida que m´as datos tienen.y = (k + α aix.3. Aplicar estas ventanas significa multiplicar el tama˜ no del dataset sin afectar la sem´antica.3. para aumentar el tama˜ no del dataset tomamos ventanas de 227x227x3 del ejemplo de entrenamiento.y )2 )β donde la sumatoria recorre n n´ ucleos en la misma posici´on espacial. obteniendo la respuesta normalizada bix. t´ecnica que no pudimos aplicar ya que hacerlo significa romper la clasificaci´on (por ejemplo. n = 5.

x) (d) f (x) = |tanh(x)| Figura 3.4) wi f (zi ) es la entrada total a la neurona. f (x) = m´ax(0. ingl´ es para Descenso de Gradiente Estoc´ astico. se realizan n propagaciones y luego se modifican los pesos en el modelo. x) donde x = P (3. Momentum (aceleraci´on) y Weight Decay (decaimiento de los pesos) [44][37][34][33][56]. Stochastic Gradient Descent. Cabe destacar que. por m´as que Batch Learning mantenga 1 RBM 2 SGD: = Restricted Boltzmann Machines. En lugar de actualizar luego de cada propagaci´on. En CNN’s tambi´en se entrena con Batch Learning (Aprendizaje de a lotes).4. .Cap´ıtulo 3. y f (x) su salida. (a) f (x) = tanh(x) (b) (f (x) = 1 + e−x )−1 (c) f (x) = m´ ax(0.5: No-linealidades contempladas Descenso de gradiente estoc´ astico El problema de aprendizaje de una red neuronal es un problema de optimizaci´on: consiste en obtener los par´ ametros (o pesos) que hacen que la funci´on de costo converja a un m´ınimo. Nair y Hinton bautizaron como ReLU a la neurona que computa la funci´on 3. probando un mejor rendimiento en CNN’s y RBM’s 1 [45]. Jarret et al. sin embargo el uso de esta requiere una normalizaci´ on diferente a la implementada.4: Diferentes ventanas del dataset Usar estas funciones traen dos problemas: (1) Suelen saturar y (2) Son muy lentas para entrenar. El algoritmo b´ asico para entrenar consiste en aplicar SGD2 usando la regla de la cadena (Backpropagation) (LeCun [35] y [38]). en [28] proponen otra no-linearidad f (x) = |tanh(x)|. A continuaci´on explicaremos brevemente como se incorporan cada una de estas estrategias: Batch Learning: Batch Learning consiste en reducir la cantidad de actualizaciones de pe- sos. Comprensi´ on de escenas 24 Figura 3.

w) es la derivada parcial del objetivo en el ejemplo zi .5. Hinton en [34] y en nuestros resultados comprobamos que tambi´en reduce el error de entrenamiento del modelo( El primer valor del diagrama 3.1. queda configurada como: vi+1 := M · vi − D ·  · wi −  · wi+1 := wi + vi+1 D ∂L ∂w |wi E Di (3. La resoluci´ on de las im´ agenes originales es de 640x360 p´ıxeles. Cada n propagaciones. 3. λw es el t´ermino de regularizaci´on. adhiere un t´ermino de multa a la funci´ on de error. evaluado en la i-´esima actualizaci´ on del peso.5.  es la tasa de ∂L aprendizaje.9 se corresponde al entrenamiento del modelo sin Weight Decay. con batch learning aplicamos la siguiente actualizaci´on a un peso w: n   1 X ∂L (zi . Momentum: El momentum (o acelereaci´on) simplemente suma una fracci´on M de los pesos anteriores al c´ alculo del nuevo. sin embargo esto aumenta el riesgo de exceder al m´ınimo. y ∂L ∂w (zi . v es la D variable E de momentum.Cap´ıtulo 3. Configuraci´ on final: Para una iteraci´on i+1. 3.6) donde M es el momentum (tasa constante). Un momentum alto (como el propuesto) tambi´en ayuda a la velocidad de convergencia. wi . . y ∂w |wi es el promedio sobre el i-´esimo Di lote Di de la derivada del objetivo con respecto al peso w. En [34] sugieren utilizar momentum para prevenir que el entrenamiento converja a un m´ınimo local o a un punto de Monutra. D es la constante de Weight Decay. Weight Decay y Batch Learning. sin embargo para im´ agenes. siendo la soluci´on escalable a im´ agenes de alta resoluci´ on. Normalmente los sensores capturan con un frame rate de 24fps. Weight Decay: El Weight Decay (o decaimiento de los pesos). w) w := w −  λw + n i=1 ∂w (3. la actualizaci´on del peso w usando Momentum.5) donde  es la taza de aprendizaje. Corresponde a la familia de m´etodos de regularizaci´on. Resultados Descripci´ on de los datos Decidimos trabajar con im´ agenes generadas a partir de transmisiones deportivas de diferentes canales de televisi´ on. Comprensi´ on de escenas 25 pesos constantes dentro de las n propagaciones del ciclo. mientras que en el 2do y el 3ro se entrena con weight decay). converge de manera m´as estable (pero m´ as lenta) al mismo m´ınimo que si fuese actualizando en tiempo real.

m´ as una cuarta indicando las im´agenes que no corresponden con ninguna de las 3 originales y son propias de las transmisiones deportivas como ser un acercamiento.0001 Momentum: 0.2. con desviaci´ on est´ andar σ = 0. Comprensi´ on de escenas 26 Dataset Tuvimos que dise˜ nar un dataset espec´ıfico para resolver el problema de la posici´on usando datos como los descritos en el p´arrafo anterior.0001 para todas las neuronas. A partir de esas dos horas clasificamos ±80000 im´agenes en las categor´ıas izquierda. Al no existir otros modelos con diferentes t´ecnicas sobre los mismos datos no podemos efectuar comparaciones de los resultados. Discutiremos algunas formas de lograr mejores resultados a continuaci´ on. los resultados alcanzan una efectividad del 76.5. El mismo dataset tiene 1600 im´agenes de validaci´ on.000 iteraciones (tercer valor del diagrama 3.0005 Inicializamos los pesos en cada capa usando una distribuci´on Gaussiana de media µ = 0. haciendo que decaiga tambi´en el tiempo en que se toma una decisi´on sin afectar al rendimiento. una repetici´ on. extrayendo entre 10 y 15 cuadros por segundo. 3. Este dataset recibe el nombre de TEPOS y las clases son: derecha. lo se corresponde con el m´ınimo de la funci´on de costo sobre la cual se entrena (Figura 3. El entrenamiento de esta configuraci´on tom´o alrededor de 2 d´ıas en GPU iterando cerca de 100. derecha y red. primer plano del p´ ublico entre otras.9 Weight Decay: 0.8).000 veces. Entrenamiento y resultados Entrenamos nuestro modelo con los siguientes par´ametros: Tasa de aprendizaje inicial: 0.Cap´ıtulo 3. haciendo que descienda en 1/10 cada 5000 iteraciones.7 podemos ver c´omo va mejorando el error mientras m´as se entrena el modelo.01 (igual que [34]). sin embargo sabemos que la efectividad del uso de CNN’s puede ser mejorada sustancialmente. son llevadas en TEPOS a un tama˜ no de 256x256x3. Siguiendo el modelo descrito. En la Figura 3. Para esto recurrimos a 2hs de filmaciones. obteniendo el mejor resultado en la iteraci´ on 21000. Inicializamos la tasa de aprendizaje en 0. De esta manera reducimos considerablemente la cantidad de par´ametros (tama˜ no de la red).8 % sobre el conjunto de validaci´ on (±1600 im´agenes) tras 20. red y no juegan. izquierda. Si bien las im´ agenes originales son de 640x360x3. Cada 1000 iteraciones (± 16 epoch) se valida el entrenamiento.9). . Cabe destacar que entrenamos sobre una submuestra de ±6000 im´agenes seleccionadas aleatoriamente de TEPOS.

9): si bien el overfitting se aten´ ua. tanto en clases como en cantidad de im´agenes. para la extracci´on no atendida de features. De tener un mejor dataset estas. Esto t´ecnica la han usado satisfactoriamente en el dataset MNIST para superar el rendimiento de LeNet-5. ya que la red est´a aprendiendo features de ese jugador mientras el dataset lo ignora. nos encontramos con un rendimiento inferior al 40 % de clasificaciones correctas (4to resultado del diagrama 3. Imagenet por ejemplo consta de 1. De esta manera tambi´en aumentamos la cantidad de p´ıxeles que var´ıan. 27 Posibles mejoras de rendimiento Pre-procesar los datos Tratar al jugador de la parte superior como ruido introduce sin duda error al modelo. probamos con otras normalizaciones espec´ıficas para tratar con overfitting. probamos con diferentes modelos m´as complejos (3. proponemos cortar la im´agen a la altura de la red y entrenar con esas im´ agenes. haciendo que m´ as features los detecten. Para contrarrestar esta situaci´ on. Para corregir esto. Parte del problema se trata de que. para lograr esto tambi´en es necesario aumentar significativamente el volumen de datos sobre el cual se entrena. 5. . haciendo decrecer el error. 4 y m´ as capas de convoluci´ on/pooling) las que terminaron sobreajustando el dataset (overfitting).3. ajustamos las tasas de aprendizaje. 25]. el bajo volumen de datos y la baja covarianza entre las categor´ıas hacen que las features intermedias aprendidas sean similares para diferentes categor´ıas. Weight decay.2TB en im´agenes. Otras aplicaciones de otras ´ areas como audio. Pre-entrenamiento de features Hay suficiente evidencia de que. para datasets peque˜ nos se puede direccionar la optimizaci´ on del modelo haciendo que el entrenamiento de la red comience con pesos pr´ oximos a los esperables. las capas de pooling (en cantidad) hacen que la ubicaci´on espacial de las features se pierda. mientras m´ as datos tenga el modelo mejores features va a descubrir. y aplicaciones basadas en texto han sido entrenadas “leyendo” Wikipedia [62]. inclu´ımos capas de Dropout [2. Complejizar el modelo Agregar capas de convoluci´on/pooling al modelo har´a que aprenda m´ as representaciones de nivel medio y alto logrando una mejor generalizaci´on. Comprensi´ on de escenas 3. 3. sin lograr resultados satisfactorios. En los casos donde pudimos corregir el overfitting siguiendo las estrategias rec´ıen mencionadas y usando un modelo de dos etapas (Fig. Durante el desarrollo de este trabajo. estas estrategias significar´ıan un mejor rendimiento en modelos de red m´as complejos. dado que la sem´ antica de nuestras escenas est´a fuertemente ligada a la posici´on. son entrenadas en  5000hs de grabaci´on [26] .Cap´ıtulo 3. Aumentar el tama˜ no del dataset Si bien para modelos de visi´on tradicionales el dataset que construimos podr´ıa ser considerado lo suficientemente grande.10). Sin embargo.5.

. red y no juegan.6: Im´ agenes extra´ıdas de TEPOS para las 4 clases: derecha. Comprensi´ on de escenas 28 Figura 3. izquierda.Cap´ıtulo 3.

7: Resultados del modelo sobre el set de validaci´on. Figura 3. Comprensi´ on de escenas Figura 3.9: Resultados de diferentes modelos entrenados.Cap´ıtulo 3.8: Decaimiento de la funci´on de costo. 29 . Figura 3.

Comprensi´ on de escenas Figura 3.10: Arquitectura de 2 etapas CNN para posici´on de jugadores 30 .Cap´ıtulo 3.

Objetivos y contribuciones a futuro Creemos que el paso inmediato para continuar con la aplicaci´on de ConvNets a la comprensi´ on de escenas es mejorar los resultados obtenidos aplicando las estrategias planteadas en este trabajo.5. proveyendo soluciones generalizables y aplicables a diferentes circunstancias.Cap´ıtulo 4 Conclusi´ on 4. la generalizaci´on a otras escenas y otros problemas no es posible sin generar un nuevo algoritmo para cada caso particular. 4. a nuestro criterio. Si bien el uso de CNN’s ha dado resultados que superan el estado del arte de t´ecnicas tradicionales relativo al reconocimiento de objetos.e jugadas). 31 .2. se pueden entrenar modelos complejos en tiempos m´ as que razonables. si bien los tiempos de entrenamiento a nivel de este trabajo resultan prolongados. donde obtuvimos rendimientos aceptables y.3). por ejemplo agregando clases para sacar y recibir. Sin duda una de las contribuci´ones m´as significativas ser´ıa brindarle a la red la capacidad de comprender escenas desarrolladas en dimensi´on temporal. Sin duda que este tipo de estructuras y modelos acercan la IA de un plano te´ orico a soluciones de la vida real. dando como producto tiempos de predicci´on acordes a sistemas de tiempo real. Otra posible contribuci´ on consiste en aumentar el tama˜ no de las clases diferenciadas. hasta el desarrollo de este trabajo no se reportan resultados en los que haya sido aplicada a comprensi´ on de escenas. Cabe destacar que. las CNN’s marcar´ an la nueva tendencia para la comprensi´on de escenas. Pese a la existencia de soluciones que usan t´ecnicas tradicionales (superficiales) para el caso de estudio planteado. todav´ıa largamente superables (Secci´ on 3.1. Discusi´ on Aplicamos t´ecnicas de aprendizaje no supervisado de features (ConvNets) para resolver el problema de comprensi´ on de escenas en visi´on. Es nuestra opini´ on al igual que con lo sucedido en el reconocimiento de objetos. pasando de comprender posiciones a comprender situaciones din´ amicas m´as complejas de juego (i. pudiendo as´ı crear modelos de juego de jugadores en particular.

Una im´ agen ser´ a tambi´en una funci´ on f(x. Si una im´ agen se dice que es RGB. donde cada uno de los valores es un p´ıxel con K = 3. En cambio. Definici´ on 2.Ap´ endice A T´ ecnicas superficiales A. Llamaremos im´ agen a una matriz I ∈ Rnxm de p´ıxeles. donde p representa el vector de intensidad en cada una de las K dimensiones.1. A. Llamaremos p´ıxel a p. una im´agen RGB de 512x512 se trata de una matriz de n = 512 = m.1.l donde a h(k. si una im´agen est´a en escala de grises.1) k. 32 . significa que cada p´ıxel tiene 3 intensidades: una para el azul. Por ejemplo. Operaciones lineales en im´ agenes Definici´ on 1.y).3). Para un p´ıxel (x. Notaci´ on 1. Filtro lineal En este tipo de operaci´ on. tal que p ∈ RK . j + l)h(k. l) se lo conoce como kernel o m´ ascara. Definici´ on 3.y) se define la vecindad como una funci´ on que enmascara p´ıxeles pr´ oximos a (x. el valor del p´ıxel de salida est´a determinado por la suma ponderada de los valores de p´ıxeles de entradas para una vecindad dada.1.y) = intensidad del p´ıxel (x. otra para el verde y finalmente una tercera para el rojo. La Figura A. cada p´ıxel tiene s´olo valor de gris. Si bien las definiciones anteriores son correctas para denotar las intensidades de se˜ nales. j) = X f (i + k. g(i. l) (A. donde n representa las filas (alto) y m las columnas (ancho).1 muestra diferentes vecindades para el p´ıxel (3. K para representar los p´ıxeles se limita el dominio dej´andolo en RK 0/255 en lugar de R .y) de la im´ agen.

j + l)h(k. l) = X f (k. g = f ∗ h: g(i.2) k. Convoluci´ on Si revertimos los offsets de f en la ecuaci´on anterior. T´ecnicas superficiales 33 Figura A. Los p´ıxeles celestes indican la vecindad sobre la cual se opera h para obtener el p´ıxel verde. Estas aplicaciones del kernel pueden solaparse o no entre s´ı (Figura A.Ap´endice A. y): La im´agen f es convolucionada con el filtro h para obtener g. .1. y) con kernel h(x. j − l) (A.l Figura A.2: Convoluci´ on en f (x. obtenemos lo que se llama el operador de convoluci´ on. la aplicaci´on de una de estas operaciones implica deslizar una ventana del tama˜ no del kernel sobre la im´agen. l)h(i − k.1.2.l f (i + k.1: Diferentes vecinos de una im´agen A.2). Para una im´ agen I. j) = X k.

.Ap´endice A. T´ecnicas superficiales (a) 34 (b) Figura A. en el caso (b) es sin superposici´on.3: Aplicaci´ on del Kernel. El recuadro negro indica la primer aplicaci´on y el gris la segunda. En el caso (a) la selecci´on es con superposici´on.

3 La magnitud del gradiente es: |G| = 1 Recortar la im´ agen la im´ agen. HOG Es uno de los m´ as usados. 2. Su nombre significa “Histograma de gradientes orientados”. Preprocesamiento La etapa de preprocesamiento por lo general involucra operaciones simples que facilitan la b´ usqueda de features al descriptor. cambio de color.1. Para una im´agen I. Obtenci´ on del frame. se obtiene Ix = I ∗ Dx e Ix = I ∗ Dy . Preprocesamiento del frame.Ap´endice A. 4. 3. 35 Estructura t´ıpica de t´ ecnicas superficiales En el problema del scene undestanding normalmente se sigue la siguiente estructura: 1. y luego clasifican la im´agen en b´ usqueda de equivalencias con alg´ un modelo aprendido usando t´ecnicas de machine learning. A. A. 3 El operador * es el operador de convoluci´ on.4. Calcular los gradientes: Para ello se aplica la m´ascara D = [−1 0 1] de forma vertical (Dy = DT ) y horizontal (Dx = D). Estos descriptores consisten de operaciones estad´ısticas y matem´aticas que se aplican sobre la im´ agen. B´ usqueda de features por medio del uso de alg´ un descriptor.4. Sem´ antica de la localizaci´ on del objeto. Consiste en: 1. en los u ´ltimos a˜ nos se han desarrollado una serie de complejos descriptores.2. T´ecnicas superficiales A. las que combinadas generan una nueva im´agen que busca resaltar las caracter´ısticas del objeto (features). Los descriptores que explicaremos brevemente a continuaci´on. comparten la misma estructura funcional: Primero aplican operaciones sobre la im´agen. A. entre otros. Por lo general se trata de normalizaciones. Localizaci´ on del objeto. Descriptores para detecci´ on Para el problema de la detecci´on/reconocimiento de objetos. cropping 1 . down/up-scaling. 5.2 .3. Fue introducido en el 2005 para la detecci´on de personas [13] obteniendo muy buenos resultados. 2 Achicar/agrandar q Ix2 + Iy2 . A continuaci´ on presentaremos algunos de los m´as comunes que conforman el estado del arte.

180). para obtener el ´angulo en grados. . Descriptor de bloques: Para tratar cambios en iluminaci´on y contraste.2.Una forma de obtener θ.5 resume secuencialmente el algoritmo para la obtencion de los descriptores de bloque. se generan celdas de p´ıxeles. Fue presentado en el 2012. sea e una constante. entre 0 y 360 grados. Para cada celda se define una orientaci´on de gradiente a partir de los gradientes de los p´ıxeles. si y < 0. x < 0. DPM Este descriptor es m´ as moderno y es actualmente muy utilizado para detectar personas y objetos en general [18] [52]. θ est´ a en radianes. 2. Normalizaci´ on de bloques: Sea v el vector no normalizado que contiene todos los histogramas para un bloque.4) (A. (A. kvkk ser´a la norma k para k = 1. x = 0. x < 0. Clasificaci´ on: Sobre la im´ agen de entrada se define una ventana o m´ascara y utilizando SVM (Del ingl´es Support Vector Machine)4 se decide la clase a la que pertenece la parte de la im´ agen cubierta por la ventana por el descriptor. 4.Ap´endice A. la intensidad del gradiente debe normalizarse localmente. mejorando el rendimiento de HOG en 4 Las SVM son uno de los dispositivos m´ as usados para resolver problema de clasificaci´ on binaria supervisada. hacemos α = θ 180 π . Para ello las celdas se agrupan en bloques vecinos. Los bloques suelen ser de geometr´ıa rectangular (R-HoG) o circular (C-HoG) y t´ıpicamente se superponen compartiendo celdas con los bloques vecinos. A partir de esta estructura se construye un vector de features. si y < 0.3) si y > 0.4.6) 5. x = 0. Determinar orientaci´ on: Para la im´agen producto del paso anterior. T´ecnicas superficiales 36 2. La Figura A. 3. El descriptor HOG entonces se trata de un vector de las componentes de histogramas de celdas para todos los bloques. con α ∈ (−180. seg´ un un modelo previamente entrenado usando los vectores de features. El factor de normalizaci´ on puede ser cualquiera de los siguientes: v L2 − norm : f = p kvk22 + e2 L1 − norm : f = v kvk1 + e r v L2 − Sqrt − norm : f = kvk1 + e (A. si y ≥ 0.5) (A. A. el ´angulo del gradiente en la celda es:    tan−1 IIxy       tan−1 IIxy + π   θ = tan−1 IIx − π y    π   +  2    − π 2 si x > 0.

5: Obtenci´on de los descriptores HOG muchos aspectos. donde a cada objeto se lo trata como una colecci´ on de partes articuladas. Es decir. .Ap´endice A. un objeto se lo representa con modelo de partes deformables 5 . Aporta una complejidad superior a HOG.4: Clasificaci´on usando SVM Figura A. permiti´endo de esta manera representar deformaciones de las subestructuras en posiciones est´andar. agreg´andole a cada una un factor de elasticidad. T´ecnicas superficiales 37 Figura A. 5 De all´ı su nombre en ingl´ es: Deformable Parts Models.

Sea z = {l1 .j∈E Queremos maximizar la equaci´on anterior sobre z. lj ) (A. dependiente de la posicion de los p´ıxeles. el modelo devuelve la mejor configuraci´on de partes.9) La figura A. transcribimos aqu´ı la funci´ on auxiliar: . Estos pasos pueden ser comprendidos como un descenso de coordenadas en una funci´on de costo auxiliar que depende de w y de los valores de los ejemplos positivos Zpos = {zn : n ∈ pos}. z) (A. podemos aprender un w que minimiza usando SVM. Luego se busca maximizar sobre diferentes posibles configuraciones para cada una de las partes. z) = K X i=1 wi · φ(I. La puntuaci´ on de la configuraci´on de z puede expresarse en t´erminos de la apariencia y de par´ ametros espaciales como [51]: S(I. reestimamos las etiquetas en los ejemplos positivos corriendo el modelo argmaxz∈Zn w · Φ(In . A partir de esta aproximaci´on..2 muestra estos conceptos en la pr´actica.7) i. orientaci´ on. . li . z) a la puntuaci´ on de la configuraci´on de partes z para la im´agen I de modo que: S(I. T´ ermino de apariencia: Escribimos φ(I. En HOG el objeto se lo trata como un todo. T´ecnicas superficiales 38 A cada parte se la representa con un descriptor de apariencia (por lo general HOG) y se le agrega un factor de deformaci´ on derivado de la ecuaci´on del resorte de la f´ısica. En cada uno de los rect´angulos pueden verse los descriptores HoG correspondientes. Otra complejidad a˜ nadida sobre HOG deriva de la articulaci´on/conexi´on de las partes. lk } una configuraci´on posible de las K partes. llamemos S(I. zn ) . Para una im´agen I. li ) para el descriptor de la im´agen extra´ıdo para la ubicaci´ on li en la im´ agen I. lj ) = [dx dx2 dy dy 2 ]T (A. La prueba est´a en [17]. Cada uno de los rect´angulos de (b) muestra una parte del modelo de una persona.8) que representa la energ´ıa negativa del resorte asociada con alejar las partes j de la i una distancia can´ onica relativa. y wi para el descriptor HOG para la parte i. en cambio aqu´ı cada modelo de objeto viene acompa˜ nado de una configuraci´ on espacial de sus partes.. Las figuras (a) y (c) muestra el concepto de articulaci´on de las partes.4. T´ ermino de deformaci´ on: Escribiendo dx = xj − xi y dy = yj − yi podemos definir: ψ(I. Para un modelo w. se comienza con una aproximaci´on para la localizaci´ on de las partes en ejemplos positivos. z) = w · Φ(I. Asumamos que tenemos un modelo de K partes. de manera tal que para una im´agen. entre otros. li ) + X wij · ψ(I. Li .Ap´endice A. Para aprender estos modelos estructurados. Llamemos lk a la ubicaci´on de la k-´esima parte. El par´ ametro wij especifica la posici´on de reposo y la rigidez del resorte que articula las partes i y j.

6: DPM LSV M (w. 1 − w · Φ(In . Interpretaci´ on sem´ antica Una vez localizado el objeto usando un descriptor. Existen m´etodos supervisados y no-supervisados. La utilizaci´on de una t´ecnica o la otra depende de los patrones que se est´en buscando y de la escena en particular. zn )) + m´ax(0. z)) z 2 n∈pos n∈neg (A. como t´ecnicas que posicionan teniendo en cuenta distancias.5. Posici´ on Se trata de ubicar espacialmente el objeto a partir de un sistema de referencia espec´ıfico para la escena. Zpos ) = X X λ kwk2 + m´ax(0. T´ecnicas superficiales 39 (a) Representaci´ on virtual del modelo (b) HOG de cada parte de un modelo de partes aprendido (c) Aplicaci´ on del modelo a una im´ agen Figura A. 1 + w · Φ(In . pasa a procesarse la sem´antica dependiente de ese objeto. Existen formas de posicionar discretas (decidir por ejemplo si el objeto est´ a arriba o abajo de alguna referencia). .Ap´endice A.10) A.

proveer informaci´on estad´ısti- ca de la escena. tiempos de espera en determinado sector. donde se buscan coincidencias para actividades aprendidas en un modelo [49][48].Ap´endice A. . etc. La sem´ antica derivada directamente de estos contempla casos como espacios m´ as usados. Reconocimiento de actividades Es una de las formas m´as abstractas de sem´antica en video. para tiempos prolongados. se traza la tra- yectoria para un per´ıodo de tiempo t. trajectorias m´ as comunes. Heat-maps Los heatmaps permiten. T´ecnicas superficiales Trayectoria 40 A partir de diferencias de posici´on del objeto cuadro a cuadro.

ANN por su nombre en ingl´es. cada una con alrededor de 104 salidas. Una persona tiene alrededor de 1011 neuronas. Las dentritas corresponden con las entradas a la c´elula. en donde cada una contribuye afectando su entrada para generar una salida.1 muestra el esquema t´ıpico de una neurona. seg´ un la experiencia se generan nuevas estructuras espec´ıficas al problema a resolver. Normalmente se las representa como un conjunto de neuronas interconectadas. son dispositivos de aprendizaje inspirados en el cerebro. Figura B. el n´ ucleo opera las entradas y el Ax´on es el encargado de enviar los mensajes a otras neuronas. La Figura B. La estructura de neuronas de la corteza cerebral es modular: si bien todas las partes del cerebro son relativamente similares.1: Esquema de una neurona del sistema nervioso central 41 . diferentes partes de hacen diferentes cosas.Ap´ endice B Redes Neuronales Las Redes Neuronales Artificiales. a partir de una estructura general.

la conexi´on se denomina excitatoria. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretaci´on que queramos darle a dichas salidas. (j) 2. El proceso de aprendizaje de actualizaci´on de Θ. Un ejemplo simple se puede ver en la Figura B. El sub´ındice i indica que el peso se corresponde con la entrada (o actividad) i-´esima. Definici´ on 4. A continuaci´ on se enumeran algunos modelos de neuronas.2.2. que se aplica al valor devuelto por la funci´on de activaci´on. Una hip´ otesis hθ (x). .Ap´endice B. que modifica a la anterior. 3. se denomina inhibitoria. Si el peso es positivo. Cada conexi´on entre neuronas tiene un par´ ametro llamado en la literatura par´ametro. B. La primer capa tiene las neuronas de entrada quienes se conectan por sinapsis a la capa oculta. la capa de salida. Al peso de una sinapsis lo denominamos con la letra griega θi o con la letra wi . sin embargo permiten crear ANN’s capaces de aprender cosas interesantes. Por lo general representa la salida de la u ´ltima capa de una red neuronal. La funci´ on de activaci´ on. 42 Representaci´ on La palabra red corresponde a la existencia de interconexiones (sinapsis) de las neuronas en las diferentes capas de la estructura. Notaci´ on 2. que por lo general consiste suma de cada entrada multiplicada por el peso de su interconexi´on. Una funcion de propagaci´ on g(θ). Redes Neuronales B. si es negativo. por el ingl´es weight. La propiedad de aprendizaje de la red neuronal viene dada por la capacidad de variar que tienen los pesos. donde (j) indica la capa e i la neurona.1. Puede no existir. siendo en este caso la salida la misma funci´on de propagaci´on. Estos modelos son mucho m´as simples que las neuronas reales. Modelos Una ANN se la define generalmente por tres par´ametros: La estructura de interconexi´on de las capas de neuronas. xi . Una funci´ on de activaci´ on ai . Llamaremos Θ(j) a la matriz de pesos correspondientes a las sinapsis de la capa j con la capa j + 1. y luego via m´ as sinapsis a la tercer capa. peso o peso de activaci´on que influye en los c´ alculos que se realizan en la neurona para generar su salida. Cada salida y de una neurona viene dada por tres funciones: 1.

2: Esquema de un perceptr´on multicapa con una capa oculta Neuronas lineales Son una de las estructuras m´as simples de neuronas. La salida y de la neurona queda definida como: y =b+ X xi wi (B. Figura B. xi es la i-´esima activaci´on y wi es el peso correspondiente. La particularidad es que su activaci´on queda condicionada por un umbral.1) i Donde b es una constante (bias). Los inventores tra- . Ver Figura B.3.Ap´endice B. Redes Neuronales 43 Figura B. se tratan de neuronas con salida binaria.3: Salida de una neurona lineal Neuronas McCulloch-Pitts Introducidas en 1943.

y su salida y es una funci´ on no-lineal. en cambio para valores peque˜ nos.3) Donde la equivalencia esta dada por umbral = −b Rectified Linear neurons (ReLU) Computan una suma lineal ponderada de sus entradas. si z ≥ umbral.4: Salida de una neurona ReLU Neuronas Sigmoideas Son muy utilizadas en la pr´actica. Las neuronas se combinaban para construir proposiciones m´ as grandes. donde para valores grandes de z. (B. Un ejemplo simple de neuronas sigmoideas. como veremos. caso contrario.4) Figura B. valioso a la hora de entrenar el modelo. es la neurona que calcula la funci´on log´ıstica. y tiende a 0. caso contrario. si z ≥ 0. En la Figura B.Ap´endice B. z =b+ X xi wi i  z. caso contrario. xi wi i (B.2) o tambi´en se puede escribir z =b+ X xi wi i  1. Redes Neuronales 44 taron las salidas como valores de verdad de l´ogica proposicional.5 se muestra este comportamiento. y= 0. y= 0. y tiende a 1. . si z ≥ 0.5) Este tipo de neuronas tienen la propiedad de que son derivables f´acilmente algo. z =b+ X i xi wi y= 1 1 + e−z (B. Hay dos formas equivalentes de escribir la ecuaci´ on de y para estas neuronas: z= X  1. (B. y= 0.

Redes recurrentes Las redes recurrentes son mucho m´as poderosas que las Feed Forward. Para problema el de clasificaci´ on en K clases. El cambio en las similaridades de los casos se logra haciendo que. obteniendo asi.3. Redes “Feed-Forward” (FFNN) Son la estructura m´ as simple de redes neuronales. proveen una forma muy natural de modelar datos secuenciales.4. sin embargo. El entrenamiento se realiza minimizando una funci´ on de costo J(Θ) propia del modelo. desde la capa de entrada hasta la de salida. Una ANN del tipo Feed-Forward ser´ a una Deep Network. B. Redes Neuronales 45 Figura B. La caracter´ıstica que define a esta categor´ıa es que las sinapses siempre ocurren de capa inferior a capa superior. llamaremos (hΘ (x))i a las i-´esima salida.1. lo que hace que el entrenamiento sea dif´ıcil. Si se las representa gr´ aficamente. .5: Salida de una neurona sigmoidea B. Definici´ on 5. Arquitecturas B. donde hΘ (x) ∈ RK . si tiene m´ as de una capa oculta entre la de entrada y la de salida. La Figura B. Por lo general.3.2. Entrenamiento En los a˜ nos ’80. Las redes Feed Forward. B. cuentan con ciclos dirigidos (Figura B.Ap´endice B. Notaci´ on 3. la salida de la capa j-´esima sea una funci´ on no lineal de la salida de la capa (j-1)-´esima. una nueva representaci´on de la entrada para cada capa.3.6). las redes FFNN tomaron fuerza dentro del ambiente cient´ıfico debido al descubrimiento del algoritmo de aprendizaje llamado “Backpropagation”. computan una serie de transformaciones que cambian las similaridades de los posibles casos. estas redes cuentan con una din´ amica muy compleja. con Θ vector de par´ametros del mismo.2 es un ejemplo de un Perceptr´ on Multicapa.

6: Ejemplo de una red recurrente 46 . Redes Neuronales Figura B.Ap´endice B.

3. .L 5. Redes Neuronales 47 Definici´ on 6. y (1) )..Ap´endice B... la funci´ on de costo ser´ a " m K # L−1 sl sX l+1 1 X X (i) λ XX (l) (i) (i) (i) (Θji )2 yk log(hΘ (x ))k )+(1−yk )log(1−hΘ (x ))k ) + J(Θ) = − m i=1 2m i=1 j=1 l=1 k=1 (B. . (x(2) . (l) Dij (l) (L+1) + aj δi (l) := 1 m ∆ij := 1 m ∆ij 11. Para ANN’s. δ := a − y i computar δ (L−1) . Por ahora lo ignoraremos. ∆ij := 0 2. Llamaremos δj al error del costo para aj . 6. (l) L (L) (l) := ∆ij /*termino b de cada capa*/ para l=2.m { /*para todos los l. a y suele identific´ arsela con la letra t. (x(m) ...6) donde L es la cantidad de capas de la red neuronal y sl el numero de neuronas de la capa l-´esima.. ∆ij (l) 8. computar a 4. Un training set es un conjunto de casos de entrenamiento (x(1) . (l) (l) Definici´ on 8. if (j == 0){ 10.8) Podemos ahora esquematizar el Algoritmo de Backpropagation como: (l) 1. (l) δj = ∂ (l) ∂Θij y (i) loghθ (x(i) ) + (1 − y (i) )loghθ (x(i) ) (B.j*/ a(1) := x(i) 3. δ (L−2) . y (m) ).7) Se puede comprobar que ∂ (l) ∂Θij (l) (l+1) J(Θ) = aj δi (l) = Dij (B.. Existen varios tipos de factores de regularizaci´ on [60].. esto es λ = 02 . factor de regularizaci´ on ayuda a resolver problemas de sobreajuste. } 9. donde x es la entrada e y es la clase a la que x pertenece 1 . y). } 1 En la literatura. (l) Dij (l) (l) + λΘij 13.. Un caso de entrenamiento para un problema supervisado ser´ a un par (x.. 2 El . por su nombre en ingl´ es (target).. }else{ 12. δ (2) 7..i. En efecto. for i=1. Definici´ on 7. y (2) ).. El segundo sumando de la ecuaci´on de la funci´on de costo se lo llama factor de regularizaci´on.

Francis Bach. 2014. High performance neural networks for visual object classification. [9] Bao Dang. ACIIDS’10 Proceedings of the Second international conference on Intelligent information and database systems: Part II.M. URL http://www.caltech. International Conference on Computer Vision (ICCV’11).inrialpes. Breiman. Arxiv preprint arXiv:1102. [6] D. Multi-column deep neural networks for image classification. A real time player tracking system for broadcast tennis video. A very high accuracy handwritten character recognition system for farsi/arabic digits using convolutional neural networks. ImageNet: A Large-Scale Hierarchical Image Database. [4] Y-Lan Boureau.M. y A. 2001. Ng. Ahranjany. Deng.fr/ data/human/. y Juergen Schmidhuber. [12] P. Senior. Schmidhuber. Monga. 2011. Corrado. 2014. Yang.S.-J. An Tran. M. Fei-Fei. Koren.C. Dean. y Fei-Fei L. P. M. En Proc. Random forests. Large scale distributed deep networks. ACM SIGKDD Explorations Newsletter. [8] Navneet Dalal. Lessons from the netflix prize challenge. y J. Mao.vision. Masci. Tien Dinh.0183. 2010. y M. R. Inria’s pedestrian dataset. Meier. Razzazi. Computer Vision and Pattern Recognition. Deng. Gambardella. y Thang Dinh. Berg. J. [7] Dan Cire¸san. 2011. R. Ciresan. J. [3] A. A. Caltech’s pedestrian dataset. [2] R. Li. [11] J. G. Bell y Y. F. 2012. Ueli Meier. Q. 2010. 2009. 48 . Advances in Neural Information Processing Systems 25 (NIPS 2012). y L. Li.edu/ Image_Datasets/CaltechPedestrians/. K. y Yann LeCun. U. Socher. Chen. Dong. L. 2007. [10] J.H. BioInspired Computing: Theories and Applications (BIC-TA). K. Ranzato. M. 2012. Ghassemian. K. Le. L. Tucker. Devin. Large scale visual recognition challenge. URL http://pascal. Machine Learning 45(1):5-32. Ask the locals: multi-way local pooling for image recognition. Dollar. Nicolas Le Roux. Jean Ponce. W. CVPR. [5] L.Bibliograf´ıa [1] S. 2010.

McAllester. y L. Computer Vision and Pattern Recognition. International Conference on Machine learning (ICML’12). y Yann LeCun. 2007. Salakhutdinov. Learning generative visual models from a few training examples: An incremental bayesian approach tested on 101 object categories. Li Deng. y P. Frome. A. Perona. Adam. Sutsjever. IEEE Transactions on Pattern Analysis and Machine Intelligence. Fukushima. [21] K. En Proc. Andrew Senior. 2009. Srivastava. Zennaro. H. Fei-Fei. 2007. George Dahl.0580. 3). Laurent Najman. Learning hierarchical features for scene labeling. purity trees. Felzenszwalb. Girshick. Camille Couprie. F. [16] L. [25] G. 1983. Laurent Najman. A. y T. 2012. S. Sacha Arnoud. IEEE Transactions on Pattern Analysis and Machine Intelligence. [18] P. Computer Vision and Image Understanding. IEEE Transactions on Systems. y D. D. Man. A discriminatively trained. Ramanan.R. Large-scale privacy protection in street-level imaginery. 2010. 2006.pdf. Fergus. D. B. ICCV. 1980. Object Detection with Discriminatively Trained Part Based Models.inrialpes. and Cybernetics. Hinton. [17] P. [15] Clement Farabet. Cheung. A. 2014. 2012. [24] G. Perona. Improving neural networks by preventing co-adaptation of feature detectors. H. y P. Griffin. Holub. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Bissacco. R. Tara Sainath. Julian Ibarz. and optimal covers. Vol. Ito. 2005. multiscale. 2008. Patrick Nguyen. Abdel rahman Mohamed. Ramanan. I. In press. [23] Ian J. deformable part model. SMC-13(Nb. Goodfellow. y Vinay Shet. Miyake. [22] Guangyu Zhu Changsheng Xu Qingming Huang Wen Gao y Liyuan Xing. Fukushima. Felzenszwalb. Krizhevsky. Wu. y D. Neven. [19] A. Deep neural networks for acoustic modeling in speech recognition. Player action recognition in broadcast tennis video with applications to semantic analysis of sports game. 2013. Camille Couprie. N. y Brian Kingsbury. . B. Navdeep Jaitly. Vincent Vanhoucke. 106(1):59-70. arXiv preprint arXiv:1207. 32(9):1627–1645. Yaroslav Bulatov. California Institute of Technology. G. [20] K. R. Vincent. URL http://lear. M. Multi-digit number recognition from street view imagery using deep convolutional neural networks. y R. McAllester. Technical Report 7694. Caltech 256 object category dataset. A. y Yann LeCun.E. Scene parsing with multiscale feature learning. [26] Geoffrey Hinton. Histograms of oriented gradients for human detection. Abdulkader. Dong Yu. Neocognitron: a neural network model for a mechanism of visual pattern recognition. 2012.fr/people/triggs/pubs/Dalal-cvpr05.Bibliograf´ıa 49 [13] Navneet Dalal et al. [14] Clement Farabet.

[33] A. Proceedings of the IEEE. A Theoretical Framework for Back-Propagation. y C. Using very deep autoencoders for content-based image retrieval. [41] Y. Sutskever. LeCun. Burges. y C. [32] A Krizhevsky. Handwritten digit recognition with a backpropagation network. Micha¨el Mathieu. LeCun. 2011. . Howard. D. Henderson. LeCun. Denker. [30] Koray Kavukcuoglu. 2012. Bottou. G. Pierre Sermanet. Huang. [29] A. Boser. W. R. M. Krizhevsky y G. What is the best multi-stage architecture for object recognition? International Conference on Computer Vision. Convolutional deep belief networks on Cifar-10. Krizhevsky. 2012. tomo 23. LeCun. Ranzato. Orr. y Yann LeCun. Karol Gregor. Learning methods for generic object recognition with invariance to pose and lighting. Grosse. Detection of traffic signs in real-world images: The German Traffic Sign Detection Benchmark. ESANN. Jan Salmen. Jarret.lecun. [39] Y. LeCun. ConvNetJS: deep learning library. Kavukcuoglu. LeCun. 1990. Y. Learning Multiple Layers of Features from Tiny Images.D. 1288. B. 2009. y G. Johannes Stallkamp. Farabet. 2010.Bibliograf´ıa 50 [27] Sebastian Houben. Hubbard. Kavukcuoglu. J. y L. L. y K. Efficient backprop. Mnist: A dataset of handwritten digits. [34] A. [38] Y. [36] Y.A.B. En Advances in Neural Information Processing Systems (NIPS 2010). URL http://yann. Ng. K. Hinton. [40] Y. En International Joint Conference on Neural Networks. y Y. R. Haffner. y A. Cortes. [31] A. Convolutional networks and applications in vision. 1998. Gradient-based learning applied to document recognition. y P. 2010. Proceedings of the 26th Annual International Conference on Machine Learning. 2014. C.com/exdb/mnist/. I. Bottou. Advances in neural information processing systems. LeCun. Y-Lan Boureau. y Christian Igel. Imagenet Classification with Deep Convolutional Neural Networks. 2013. supports convolutional (and ordinary) neural networks.E. [35] Y. 2004.S. Bottou. [42] H. y L. F. Karpathy. L. 1988. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. Jackel. 2014. Ranganath. LeCun. Marc Schlipsing. Bengio. 2009. R. Unpublished Manuscript. Circuits and Systems (ISCAS). Learning convolutional feature hierachies for visual recognition. 86(11):2278–2324. [28] K. Hinton.J. [37] Y. Proceedings of 2010 IEEE International Symposium. K. 1998.Y. M¨ uller. Krizhevsky. 2009. Lee. Computer Vision and Pattern Recognition.

[55] J. 7th IEEE International Conference on Advanced Video and Signal-Based Surveillance (AVSS). [56] Tom Schaul. Verbeek. y G. Y. High-dimensional signature compression for large-scale image classification. 2011. DiCarlo.P.C. Proc 27th International Conference on Machine Learning. 2014. 2011. Neural networks with adaptive learning rate and momentum terms. Nair y G. (CVPR’11). 2013. Hingon. y M. Pusiol. Pinto. 2008. Thonnat. Pusiol. 2013. D. [54] B. Metric learning for large scale image classification: Generalizing to new classes at near-zero cost. Lableme: a database and webbased tool for image annotation.D. International Conference on Machine learning (ICML’13). Bremond. Pedestrian detection with unsupervised multi-stage feature learning. [44] M. Florence Italy. International journal of computer vision. Traffic sign recognition with multi-scale convolutional networks.T. Soumith Chintala.. (ICVS). Trajectory Based Discovery. The 8th International Conference on Computer Vision Systems. [48] G. 2012. J.Bibliograf´ıa 51 [43] T. Pusiol y G. A high-throughput screening approach to discovering good forms of biologically inspired visual representation. F. Neurosci. 2008. [50] P. Torralba. F. [46] N. [49] G. [45] V. . Sixin Zhang. 2011. No more pesky learning rates. Cox. Visual Analysis of Humans.J.L. y Yann LeCun. Why is real-world visual object recognition hard? PLos computational biology. S. Thonnat. IDIAP Technical report. [53] A. Russell. 1992. Ramanan. [58] Pierre Sermanet y Yann LeCun. Computer Vision and Pattern Recognition. [57] Pierre Sermanet. Pinto. 1995. DiCarlo. Perronnin. y M. y D. En Proc. Mensink. PLos computational biology. Unsupervised Discovery and Recognition of long term Activities. Murphy. J. Pallas. Roe. D. adn Doukhan. Csurka. 2010. y W. Boston.W. Kwon. [51] D. y Yann LeCun. 2009. Rectified linear units improve restricted boltzmann machines. y M. ECCV . Koray Kavukcuoglu. F. Fiesler. Freeman. 2010. [47] N. Visual projections routed to the auditory pathway in ferrets: receptive fields of visual neurons in primary auditory cortex. Cox. 2013. [52] D.D. 12: 3651-3664. K. 2011. Sanchez y F.J. y J. Pusiol. Pedestrian detection using convnets and INRIA dataset. J.H. Ramanan. Moreira y E. Unpublished. Bremond. Perronnin. Sur. Articulated Human Detection with Flexible Mixtures-of-Parts.European Conference on COmputer Vision. A.

James Martens. F.Bibliograf´ıa 52 [59] P. En Proc. Matthew Zeiler.C. Seung. N.com/science/ article/pii/S0893608012000457. D. doi:10.Y. 2011. Igel. Schlipsing. M. M. Srihari. y Geoffrey Hinton. 2013. [64] Li Wan. Denk.1016/j. Salmen. Man vs. Simard. F. y J. V.sciencedirect.2012. 2012. [62] Ilya Sutskever. URL http://www. ISSN 08936080. Murray. International Conference on Machine learning (ICML’13). Helmstaedter. Turaga. Convolutional networks can learn to generate affinity graphs for image segmentation. Briggman. [63] S. Stallkamp. Regularization in neural networks.02. [60] S. Sixin Zhang. K. Jain. J. (0):–.S. Yann LeCun. y C. Regularization of neural networks using dropconnect.016. Roth.22(2):511-538. 2012. Neural Computation. Proceedings of the Seventh International Conference on Document Analysis and Recognition. 2003. Steinkraus. y Rob Fergus. W. y H. 2010. computer: Benchmarking machine learning algorithms for traffic sign recognition.neunet. . Neural Networks. Platt.J. Generating text with recurrent neural networks. [61] J. Best practices for convolutional neural networks applied to visual document analysis.C.