26
Visin por computadora usando redes neuronales celulares Proyecto SIP: 20062090, 20070612, 20080185 Reporte Final de Actividades 1 Antecedentes El proyecto se fundamenta en la experiencia del investigador responsable, sus colegas y alumnos participantes en el estudio de las redes neuronales celulares (CNN, por sus siglas en inglØs) y las redes basadas en el modelo del cerebelo con articulacin controlada (CMAC, por sus siglas en inglØs). Estas dos conguraciones de redes neuronales han mostrado tener excelentes resultados en aplicaciones en visin por computadora, identicacin y control de sistemas en diversos proyectos realizados anteriormente por los miembros de este grupo de investigacin. Con base en estos exitosos resultados, este trabajo desarrollara una nueva estructura de red neuronal que sea capaz de incorporar la habilidad de procesar imagenes y controlar un sistema en tiempo real y as tener una poderosa herramienta capaz de trabajar en una Ærea de gran desarrollo en la actualidad: El control visual (visual servoing ) de servomecanismos. Por otra parte, se obtendrÆn nuevas estrucuturas de redes neuronalas que tendrÆn la capacidad de realizar la identicacin de sistemas no lineales. As como, la identicacin de parÆmetros de un sistema desconocido la cuÆl es una Ærea relevante dentro del control automÆtico. AdemÆs, se investigara el poder se usada como un observador libre de modelo, con el cual, construir nuevos esquemas de control para sistemas de tipo caja negra, donde solo se tiene acceso a la mediciones a sus seæales de entrada y/o salida. 2 Justicacin Aunque muchos resultados y desarrollos importantes has sido hecho sobre estos esquemas de redes neuronales, existe aœn una gran cantidad de problemas abiertos entre los mas importantes estan: 1. Visin por computadora: Entre los diferentes tipos de redes neuronales (NN), las re- des neuronales celulares en tiempo discreto (DT-CNN) [1] son de las que tienen una topologa muy simple. Debido a esto, el funcionamiento de estas redes esta determi- nado por un pequeæo nœmero de parÆmetros, usualmente tres matrices llamadas cloning 1

Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

  • Upload
    buithu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

Visión por computadora usando redesneuronales celulares

Proyecto SIP: 20062090, 20070612, 20080185

Reporte Final de Actividades

1 Antecedentes

El proyecto se fundamenta en la experiencia del investigador responsable, sus colegas y

alumnos participantes en el estudio de las redes neuronales celulares (CNN, por sus siglas

en inglés) y las redes basadas en el modelo del cerebelo con articulación controlada (CMAC,

por sus siglas en inglés). Estas dos con�guraciones de redes neuronales han mostrado tener

excelentes resultados en aplicaciones en visión por computadora, identi�cación y control de

sistemas en diversos proyectos realizados anteriormente por los miembros de este grupo de

investigación.

Con base en estos exitosos resultados, este trabajo desarrollara una nueva estructura de

red neuronal que sea capaz de incorporar la habilidad de procesar imagenes y controlar un

sistema en tiempo real y así tener una poderosa herramienta capaz de trabajar en una área

de gran desarrollo en la actualidad: El control visual (visual servoing) de servomecanismos.

Por otra parte, se obtendrán nuevas estrucuturas de redes neuronalas que tendrán la

capacidad de realizar la identi�cación de sistemas no lineales. Así como, la identi�cación

de parámetros de un sistema desconocido la cuál es una área relevante dentro del control

automático. Además, se investigara el poder se usada como un observador libre de modelo,

con el cual, construir nuevos esquemas de control para sistemas de tipo caja negra, donde

solo se tiene acceso a la mediciones a sus señales de entrada y/o salida.

2 Justi�cación

Aunque muchos resultados y desarrollos importantes has sido hecho sobre estos esquemas

de redes neuronales, existe aún una gran cantidad de problemas abiertos entre los mas

importantes estan:

1. Visión por computadora: Entre los diferentes tipos de redes neuronales (NN), las re-

des neuronales celulares en tiempo discreto (DT-CNN) [1] son de las que tienen una

topología muy simple. Debido a esto, el funcionamiento de estas redes esta determi-

nado por un pequeño número de parámetros, usualmente tres matrices llamadas cloning

1

Page 2: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

templates. Algunas veces es posible diseñar un cloning template para una tarea especi-

�ca [2], o alternativamante se pueden consultar librerias de templates [3]. De todas

formas, un algoritmo explicito de aprendizaje capaz de obtener nuevos templates para

esta red capaces de realizar una operación dada es aún un problema abierto.

2. Identi�cación: Es bien conocido que los algoritmos de identi�cación tradicionales (por

ejemplo, el gradiente descendente y mínimos cuadrados) son estables en condiciones

ideales. En presencia de dinámicas no modeladas, estos procedimientos adaptativos se

pueden hacer inestables facílmente. La falta de robustez del parámetro de identi�cación

fue demostrado en [4] y fue un tema importante en los 1980s, cuando algunas técnicas

con una modi�cación robusta para identi�cación adaptable fueron presentadas [5].

Algunas de estas modi�caciones robustas fueron aplicadas para asegurar estabilidad

con respecto a incertidumbres. El operador de proyección es una herramienta efectiva

para garantizar modelado difuso acotado [6]. Este operador es también usado por

muchos sistemas neuro-difusos [7]. Otro enfoque general es usar técnicas adaptables

robustas [5] para modelado neuro-difuso. Por ejemplo, [8] aplica un swicheo llamado

modi�cación � para prevenir que los parámetros se vayan a la deriva. Usando la

teoría de pasividad, hemos mostrado que las redes neuronales recurrentes en tiempo

continuo usando el algoritmo de grandiente descendente, sin modi�cación robusta son

estables y robustas para cualquier tipo de incertidumbres acotadas [9], y también para

identi�cación en tiempo continuo estas redes son tambien estables y robustas [10]. Sin

embargo, las redes CMAC podrían ser usadas para identi�cación de sistemas no lineales

y tener caracteristicas similares a estas redes recurrentes?.

3. Control visual: El control basado en visión por computadora para robots tiene un

enorme potencial de aplicaciones cuando los robots requieren ser operados en ambientes

no estructurados. En este enfoque, el sistema de visón busca reproducir el sentido de

la vista del ser humano y permite realizar mediciones del ambiente sin ningun tipo de

contacto. El objetivo de esta técnica es hacer que el gripper del robot llegue a una

posición deseada [11] o proveer de valiosa información al sistema de navegación de un

robot móvil. El control visual requiere de la transformación del espacio de trabajo

a espacio de las articulaciones. Esto requiere el conocimiento exacto de la matriz

Jacobiana [12]. La fricción y gravedad en el robot puede in�uenciar en las propiedades

estacionarias y dinámicas del sistema en lazo cerrado. La estabilidad global asintotica

de un control PD fue realizada al compensar la gravedad usando una medición de

esta en [13]. Cuando la fricción y la gravedad son desconocidas, las redes neuronales

pueden ser aplicadas para aproximar todas las no linealidades presentes en la dinámica

del robot [14]. Apartir de estas ideas, sería posible usar una red CNN para extraer

2

Page 3: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

la información visual requerida para este tipo de control?. Será la red CMAC o otra

técnica de control capaz de realizar las acciones de control a partir de la información

provista por la red CNN?.

4. Emulación en dispositivos electronicos: Una de las primeras emulaciones de las redes

CNN aprecieron en el 2000, implementando una red de 256x512 con una precisión

de 8 bits en un FPGA Xilinx Spartan XCS30-3 [15]. En el 2002 una emulación mas

poderosa fue hecha en un FPGA de la familia Virtex de Xilinx [16],[18]. La principal

caracteristica de esta arquitectura - comunmente llamada �Procesador Falcon�- es su

�exibilidad, asi como su precisión, el tamaño del template, el tamaño del arreglo de

celdas, y el número de capas que puede ser con�gurado. Comparaciones con otros tipos

de sistemas, principalmente simulaciones en microprocesadores de proposito general,

pueden encontrarse en [18]. Además, el procesador Falcon ha probado se efectivo

en la simulación de retinas digitales [18] en tiempo real, demostrando ser cientos de

veces mas rapido que una simulación en un microprocesador Athlon de 2 GHz. Otros

sistemas CNN implementados en un FPGA y aplicados a problemas de la vida real

pueden revisarse en [19],[20],[21]. Este panorama nos plantea la posibilidad de buscar

la implementación de redes CNN y CMAC en un FPGA para resolver problemas donde

es indispensable que se lleven acabo en tiempo real. Un ejemplo de ello sería construir

un sistema de navegación (incluyendo el sub-sistema de visón por computadora y el

sub-sistema de control) para un robot movil.

3 Objetivos

Se realizará un amplio estudio teórico y se implementaran diversas aplicaciones sobre el uso

de los modelos de redes CNN y CMAC. Los objetivos generales son los siguientes:

1. Obtener nuevas reglas de aprendizaje para las redes CMAC : Se considera extender el

estudio de las redes desarrollando sus algoritmos de aprendizaje para diversos tipos

de redes CMAC. Primero, las redes difusas CMAC, conocidas como FCMAC [27] las

cuales son mas robustas y se usan variables lingüísticas para representar a las señales

de entrada. Si se requiere trabajar con sistemas que tengan una enorme cantidad de

información se propone usar un esquema jerárquico conocido como HFCMAC [28], [29]

el dominio de las aplicaciones para este tipo de red esta limitado a problemas estáti-

cos. Finalmente, se proponen redes de este tipo en forma recurrente (HRFCMAC)

que incorporan diversos tipos de retroalimentaciones, estas tienen una gran capacidad

de representación y supera las desventajas de las redes con retroalimentación hacia

3

Page 4: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

adelante. Se diseñaran nuevas reglas de aprendizaje para estos tres tipos de esque-

mas de redes CMAC. Estos algoritmos garantizaran convergencia sin tener problemas

comúnes, con lo es mínimos locales, lenta convergencia, etc.

2. Obtener nuevas reglas de aprendizaje para la redes CNN : Los primeros resultados de

aprendizaje CNN estaban restringidos a salidas binarias y asumiendo la estabildad de

la red [30], [31]. Estos algoritmos obtienen templates utiles si las condiciones iniciales

no estan muy lejos de la salida deseada, esto es debido a la presencia de minimos

locales en el espacio de estado. [32], [33], [34] usan diferentes metodos basados en

el gradiente y sufre de los tipicos problemas de este tipo de método, como lo es la

detección de mínimos locales. [35], [36] considera a los algoritmos geneticos que son

capaces de explorar completamente el espacio de trabajo pero comunmente toman

mucho tiempo en converger. En la busqueda de hacer este proceso mas rápido, [37]

propone métodos basados en Simulated Annealing, aunque el encontrar heuristicamente

el programa adecuado de annealing es usualmente di�cil. Recientemente, [38] trata de

�jar una in�uencia directa de los parámetros de la red CNN en la salida, estudiando

una con�guración con de dos neuronas CNN. Esto puede ser una buena manera de

evitar mínimos locales, pero es necesario mas investigación en este campo. En este

proyecto se propondrá un nuevo tipo de leyes aprendizaje que sea estable, de rapida

convergencia y que evite mínimos locales.

3. Aplicaciones: Se diseñara e implementaron el en Laboratorio de Reconocimiento de Pa-

trones del CIC-IPN dos prototipos cuya relevancia esta en ser de plataforma abierta al

tener como única unidad de procesamiento un FPGA. Todos los modulos se realizarán

en lenguaje VHDL. Estos prototipos son: Un sistema mesa-esfera (ver Figuras 1, 2)

donde se implementará un control visual con una red CNN como núcleo de proce-

samiento de imagenes. Un robot móvil (ver Figura 3) cuyo sub-sistema de navegación

será asistido con un sistema de visión por computadora CNN.

4 Metodología experimental

Con la �nalidad de cumplir con los objetivos propuestos en este projecto, se usarán los

siguientes enfoques:

4

Page 5: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

Figure 1: Diagrama general de sistema mesa-esfera.

5

Page 6: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

Figure 2: Implementación del sistema mesa-esfera con sistema de visión por computadora.

Figure 3: Robot movíl con visión por computadora.

6

Page 7: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

4.1 Redes Neuronales Celulares

Las redes neuronales celulares (CNN)[39] fueron diseñadas a partir de dos técnicas impor-

tantes, las Redes Neuronales Arti�ciales (ANN), ya que tratan de imitar el comportamiento

del cerebro y por otra parte tienen una estructura similar a la de los Autómatas Celulares

(AC). Por ello las CNN son arreglos de neuronas (celdas) con conexiones invariantes y lo-

cales, es decir el valor de cada neurona depende solo del que tengan sus celdas vecinas. Esta

con�guración permite llevar acabo su implementación a larga escala en un solo chip de tipo

VLSI [40],[41],[42].

Aunque la estructura de las CNN pueden tomar diversas formas geométricas regulares,

si las celdas se organizan en una malla rectangular de dos dimensiones, esta se convierte en

una útil herramienta para el procesamiento de imágenes [43]. Asociando cada pixel de la

imagen a una celda de la red, muchas operaciones pueden se aplicadas a la imagen, desde la

extracción de contornos hasta la proyección en los ejes coordenados [44]. La posibilidad de

realizar el procesamiento de imagenes de forma masiva en un procesador paralelo da una gran

posibilidad de realizar un sistema de visión por computadora en tiempo real - El paradigma

de la maquina universal (CNN-UM) [45]. De esta forma, las redes CNN pueden considerarse

como un candidato para crear una retina de silicon [46], [47].

Nuestro grupo a centrado su esfuerzo en explorar las posibilidades de usar las redes CNN

en un sistema de visión por computadora para robots móviles. El objetivo es determinar

que operaciones básicas de visión pueden ser realizadas por nuestro algortimos CNN. Ac-

tualmente somos capaces de resolver el seguimiento de una linea, el problema de evasión de

obstaculos. Nuestro prototipo es es un pequeño robot completamente autonomo y capaz de

navegar exclusivamente con una retroalimentación visual [48].

Aunque existen diversos modelos de redes CNN, el modelo de Chua-Yang (CY-CNN)

no es que muestra el mejor desempeño cuando se desea realizar un emulación debido a su

naturaleza continua. Una alternativa valida es usar el modelo en tiempo discreto (DT-CNN)

[1], la cual es descrita por el siguiente sistema iterativo de ecuaciones:

xij(n+ 1) =X

kl2N(ij)

Ai�k;j�l � ykl(n) +X

kl2N(ij)

Bi�k;j�lukl(n) + I (1)

yij(n) = sign(xij(n)) (2)

donde:

xij(n) es el estado de la celda (neurona) en la posición ij, que corresponde a la misma

posición del pixel de la imagen. uij(n) es la entrada a la misma celda, representado el valor

de luminosidad del correspondiente pixel en la imagen, comunmente normalizado. A es la

matriz que representa la iteración entre las celdas, la cual es local e invariante en el tiempo.

7

Page 8: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

B es la matriz que representa las conexiones que van desde los vecinos de la celda y la

entrada A. I es el bias. N(i; j) es el conjunto de indices correspondiente a la celda ij y su

correspondiente vecindad.

4.1.1 Aprendizaje

Con el objetivo de desarrollar un algoritmo de aprendizaje para la red CNN de las ecs. (1)

y (2) se describe por el siguiente sistema de ecuaciones:

xij(k + 1) = �f

0@ Xkl2N(ij)

Ai�k;j�l � ykl(n) +X

kl2N(ij)

Bi�k;j�lukl(n) + I

1A (3)

donde: � es un valor escalar, � > 0: y la función de activación f es de�nida como una señal

signo, esto es:

f (x) =

8><>:1 x > 0

0 x = 0

�1 x < 0

En orden de realizar el aprendizaje, se aproxima la función signo por una función sigmoide

�(x) con la siguiente forma:

�(x) =a

1 + e�bx� c

Si a; b y c son seleccionados de forma adecuada, �(x) es similar a f(x). (3) puede ser

reescrita:

xij(k + 1) = �� [W1 (k)xij(k) +W2 (k)uij (k) +W3 (k)] (4)

donde las matrices W1 (k) = [Ai�k;j�l] 2 <n�n W2 (k) = [Bi�k;j�l] 2 <n�n W3 (k) = [I] 2<n�n. El sistema no lineal representado por (4) es BIBO1 estable, esto es debido a que x (k)y u (k) son acotados.

4.1.2 Visión por computadora

La operación realizada por la red es completamente de�nida por la tripleta de valores A;B; I

que se llama cloning template. La imagen a ser procesada se alimenta a la CNN como estado

inicial o entrada y el resultado se toma como el valor en estado estable. Este proyecto usará

el modo convoluciónal [22] de la red CNN de�nida por las ecs. (1) y (2) para desarrollar

diversas aplicaciones como se explica a continuación.

1bounded-input and bounded-output

8

Page 9: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

4.1.3 Aplicación

Durante los ultimos 10 años se han realizado muchos intentos para realizar una efectiva y

con�able implementación las redes CNN en un circuito analógico VLSI [49], [50], [51], y

eventualmente en nuestros dias los chips CNN son ya una realidad [52], [40], [42]. La ver-

sión mas avanzada [52], [41] permite la implementación de uan arreglo CNN de 128x128 con

entradas y salidas analogicas en una área de cm2 de silicon, alcanzando una velocidad com-

putacional de hasta un tera de operaciones por segundo. A pesar de su increible capacidad

de procesamiento, este dispositivo tiene cierto problemas de exactitud, dado que su precisión

- 7 o 8 bits - puede no ser su¢ ciente para algunas aplicaciones (ejm. en [53]). Aún mas los

chips CNN son comercializados por una sola compañia [54], y parece que por ahora estaran

di�cilmente disponibles debido a que usualmente se usan para el desarrollo de camaras muy

rapidas [55]. Consecuentemente, la cantidad de campos en los cuales se puede usar este chip

es muy limitado.

Por otra parte, aunque las arquitecturas digitales que emulan una red CNN no pueden

alcanzar el desempeño de los chips CNN, estas son mas �exibles, mas baratas y requieren

un menor tiempo de diseño [56]. Basicamente, identi�camos dos tipos de emulación de redes

CNN(1, 2): La emulación en un dispositivo electronico standard como los FPGAs y DSPs,

y las arquitecturas que usan la tecnología CMOS. Nuestro proyecto pertenece a la primer

categoria. Para la implementación se usará un FPGA de marca ALTERA y se programará

en el lenguaje VHDL. El diseño se basa en el diagrama de la Figura 4.

Figure 4: Esquema de implementación de la red CNN en lenguaje VHDL.

4.2 Redes CMAC

Una de las técnicas de control más utilizadas en la actualidad y que ha presentado un

incremento signi�cativo en su investigación y desarrollo en los últimos años han sido las

9

Page 10: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

redes neuronales arti�ciales (NNs, por sus cifras en inglés), las cuáles son muy poderosas

para controlar una amplia variedad de sistemas no lineales. Otra de las características de

las redes neuronales es su habilidad de aproximar e identi�car mapeos lineales y no lineales

en base a entradas y salidas de un sistema.

Los controladores basados en redes neuronales han sido desarrollados para compensar los

efectos no lineales presentes en los sistemas y plantas a controlar, en la topología de las redes

neuronales hacia adelante (feedforward) todos los pesos son actualizados en cada ciclo de

aprendizaje, donde el aprendizaje es de naturaleza global lo cual es una tarea que consume

tiempo, esto llega a ser una desventaja cuando se pretende realizar un aprendizaje en linea

o para control en tiempo real donde el tiempo de aprendizaje se vuelve crítico.

Una nueva topología de red neuronal que no presenta estas desventajas fue propuesta

por Albus J. (1975) llamada Cerebellar Model Articulatión Controller (CMAC), este modelo

es una representación arti�cial del modelo biologico del cerebelo el cuál controla y coordina

los movimientos de las articulaciones en el ser humano, controla millares de músculos para

producir un comportamiento coordinado en función del tiempo. La CMAC puede ser clasi-

�cada como un perceptrón de memoria asociativa el cuál no se encuentra completamente

conectada y la actualización de los pesos es local. La CMAC ha sido utilizado ampliamente

para control de sistemas en lazo cerrado de sistemas dinámicos complejos en tiempo real

debido principalmente a su rápido proceso de aprendizaje.

La CMAC es una clase de memoria, o mecanismo de búsqueda (look-up) por medio de una

tabla. Esta puede aprender relaciones no lineales de una amplia categoria de funciones por

lo que es una alternativa a las redes clásicas de propagación hacía atrás (backpropagation).

Algunas razones para utilizarla son:

� Los algoritmos de entrenamiento para las redes neuronales multi capa como el Per-ceptron (MLP) generalmente toman muchas iteraciones para converger, de aquí que

en aplicaciones de aprendizaje en linea en tiempo real no son muy recomendables. El

número de calculos por iteración es grande y el algoritmo corre lentamente, lo que hace

costoso su implementación en hardware.

� El modelo del cerebelo con articulación controlada (CMAC), no solo es utilizada pararesolver problemas de control, si no también se ha demostrado su capacidad de aproxi-

mar funciones no lineales muy rápidas debido a su naturaleza local en la actualización

de sus pesos.

10

Page 11: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

4.2.1 Modelo F.L. Lewis

El modelo del cerebelo con articulación controlada (CMAC), no solo es utilizada para resolver

problemas de control, si no también se ha demostrado su capacidad de aproximar funciones

no lineales muy rápidas debido a su naturaleza local en la actualización de sus pesos.

4.2.2 Modo de operación de la red CMAC

En una red neuronal CMAC, (de ahora en adelante por simplicidad, al referirnos a la red

neuronal CMAC lo haremos únicamente por su acrónimo "CMAC") se realizan dos mapeos

cada vez que existe un vector en el espacio de entrada y un vector de salida es calculado:

X ! m� ! A� ! A�p ! y

El primer mapeo es una función no lineal ' (�) = (X ! m� ! A�) ; el cuál transforma

los valores de entrada de�nidos por un vector X; en el cuál se realizan las operaciones de

normalización y cuantización, a un vector A� con valores binarios el cuál presenta una dimen-

sión muy grande con respecto a la entrada, esta función ' (�) permanece constante a travésdel tiempo, el conjunto m� contiene los campos receptivos ó los elementos de resolución. El

conjunto A� contiene los hypercubos del espacio de entrada con el índice de los pesos, la

segunda función es un mapeo que corresponde a una función lineal�A�p ! y

�4.2.3 Funciones del campo receptivo

Se describe la estructura de una red neuronal CMAC, estudiada por F.L. Lewis, para el

ejemplo de un vector de entrada con 2 elementos:

Sea X = [x1; x2] 2 R2; se de�ne el dominio de interés [ximin; ximax] 2 R 81 � i �2 , la cuantización de la entrada para x1 esta dada por �1 = [x1;1; x1;2; x1;3; x1;4] ; para

x2 : �2 = [x2;1; x2;2; x2;3; x2;4] ; por lo que x1min = x1;1 < x1;2 < x1;3 < x1;4 = x1max y

x2min = x2;1 < x2;2 < x2;3 < x2;4 = x2max

11

Page 12: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

C DA B

a

b

c

d

D

A B

C

A D BC

x1

x2

da

cb

x1,1 x1,2 x1,3 x1,4

x2,1

x2,2

x2,3

x2,4

a

dc

b

C DA B

a

b

c

d

D

A B

C

A D BC

x1

x2

da

cb

da

cb

x1,1 x1,2 x1,3 x1,4

x2,1

x2,2

x2,3

x2,4

a

dc

ba

dc

b

Para cada componente en el espacio de entrada se de�nen las funciones del campo re-

ceptivo, estas pueden ser funciones rectangulares, triangulares ó gaussianas, para el caso

anterior se de�nen funciones triangulares.

� (a; b; c) (y) =

8><>:y�ab�a ; a � y � b (= 1; si a = �1) ;c�yc�b ; b � y � c (= 1; si c =1) ;

0; en otro caso

Para xi:

�i;1 (xi) = � (�1; xi;1; xi;2)�i;2 (xi) = � (xi;1; xi;2; xi;3)

�i;3 (xi) = � (xi;2; xi;3; xi;4)

�i;4 (xi) = � (xi;3; xi;4;+1)

Al presentar la construcción de las funciones del campo receptivo en una dimensión, se

pueden construir las funciones del campo receptivo multidimensionales, se puede utilizar el

producto cruz para interconectar completamente las funciones del campo receptivo entre

cada entrada.

Lema : Las funciones del campo receptivo multidimensionales satisfacen 3 propiedadessigni�cativas:

1. Positividad

'j1;j2(X) > 08X 2 (x1;j1�1; x1;j1+1)� :::� (xn;jn�1; xn;jn+1)

12

Page 13: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

2. Compacto

'j1;j2(X) = 08X =2 (x1;j1�1; x1;j1+1)� :::� (xn;jn�1; xn;jn+1)

3. Normalización4X

j2=1

4Xj1=1

'j1;j2(X) = 18X

4.2.4 Funciones del campo receptivo multidimensionales

Sea X = [x1; x2; :::; xn] 2 Rn; se de�nen las funciones del campo receptivo como:

�j1;j2;:::;jn (X) =�1;j1 (x1) � �2;j2 (x2) � ::: � �n;jn (xn)

NnXjn=1

:::

N2Xj2=1

N1Xj1=1

nYi=1

�i;ji(xi)

4.2.5 CMAC como tabla de búsqueda

Una CMAC representada como una tabla de búsqueda es equivalente a la red descrita ante-

riormente. Las entradas x1 y x2 son escaladas y cuantizadas a enteros q1 y q2, para el caso

de una tabla bidimensional se muestra una CMAC en forma de tabla de búsqueda.

C DA B

a

b

c

d1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

∑w

C DA B

a

b

c

d1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

1,1 1,2 1,3

2,1

3,1

2,2

3,2

2,3

3,3

x1

x2

01

1

0

3

.3

6.6

1

0 3.3 6.6 1

∑w

Para el ejemplo existen 3 entradas de cuantización entre 0 y 1, los índices q1 y q2 son

usados para la búsqueda de pesos en na tablas de búsqueda bi dimensionales, na es el

número de asociaciones de neuronas activadas por cada entrada, cada una de estas tablas

son llamadas Unidades de Asociación UA, para el ejemplo existen cuatro tablas, cada tabla

AU1; :::; AU4 almacenan el valor de un peso en cada célula.

13

Page 14: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

La red CMAC es más rápido que su contraparte el Perceptrón Multi Capa porque sola-

mente na neuronas necesitan ser considerados para calcular la salida, mientras que el MLP

necesita calcular para todas sus neuronas.

La salida esta dada

y = W Tx = w2;2 + w1;2 + w2;3 + w1;3

Se toma el vertice superior izquierdo como índice de referencia para los pesos de cada

UA:

4.2.6 Aprendizaje para identi�cación y control de sistemas

En 1892 A. M. Lyapunov desarrolló dos métodos en su famosa monografía: Problema general

de la estabilidad del movimiento, en este trabajo presentó dos métodos para determinar la

estabilidad de los sistemas dinámicos descritos mediante ecuaciones diferenciales ordinarias.

El primer método se compone de todos los procedimientos en los cuales se usa la forma

explícita de la solución de las ecuaciones diferenciales para el análisis. En cambio, el segundo

método no requiere de las soluciones de las ecuaciones diferenciales, es decir, mediante el

segundo método de Lyapunov se determina la estabilidad de un sistema sin resolver las

ecuaciones de estado, lo cuál resulta en un método más sencillo, de manera general el método

de Lyapunov es para sistemas autónomos y no autónomos sin perturbaciones del tipo x(k) =

f [k; x(k); 0].

Los teoremas de estabilidad de Lyapunov dan condiciones su�cientes para la estabilidad

y estabilidad asintótica, tambien pueden ser usados para mostrar acotamiento de la solución.

La noción de estabilidad entrada-estado (iss, por sus siglas en inglés) es una extensión natural

de la estabilidad de Lyapunov para sistemas con entradas. La iss es una de las herramientas

más importantes para estudiar la dependencia de la trayectoria de los estados de los sistemas

no lineales en tiempo continúo y discreto sobre la magnitud de las entradas, las cuáles pueden

representar entradas de control ó perturbaciones con estructura x(k + 1) = f [k; x(k); u(k)]

, es decir, un sistema es iss si cada trayectoria de los estados que corresponde a un control

acotado permenece acotado y la trayectoria eventualmente llega a ser pequeña si la señal de

entrada es pequeña independientemente del estado inicial.

Las redes neuronales hacia delante han demostrado que presentan resultados aceptables

en la identi�cación y control de sistemas, en donde hay un desconocimiento parcial ó total

de la planta y únicamente se dispone de los datos de entrada y salida, esta topología de red

en particular realiza un mapeo estático de entrada-salida aproximando funciones continúas

no lineales. Sin embargo una desventaja que presentan estas redes es que su aplicación están

limitados a problemas estáticos por la misma estructura de la red hacia adelante (feedfor-

ward). Para sistemas dinámicos las redes con estructura hacia adelante no son adecuados.

14

Page 15: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

Las redes neuronales recurrentes no presentan las desventajas de las redes estáticas y se

ha demostrado que son buenos aproximadores de sistemas dinámicos contínuos. Es tam-

bién conocido, que los sistemas difusos y las redes neuronales están dirigidos a procesar el

conocimiento humano, la combinación de ambas técnicas ha presentado una gran diversi-

dad de aplicaciones. En este proyecto se diseño una topología de red con recurrencia local

y recurrencia global neuro-difusa CMAC analizando las nuevas ventajas que presenta. Se

desarrollaron reglas de aprendizaje variantes en el tiempo usando el efoque de estabilidad

iss para actualizar los parámetros de las funciones de pertenencia. El uso de estas reglas

permitieron asegurar la estabilidad del proceso de aprendizaje.

15

Page 16: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

5 Miembros del proyecto

� Responsable Técnico:

Dr. Marco Antonio Moreno Armendariz (SNI - C, profesor investigador del CIC-IPN)

Jefe del Laboratorio de Reconocimiento de Patrones del CIC-IPN.

� Participantes:

Dr. Wen Yu Liu (SNI �II, investigador titular del CINVESTAV nivel 3C)

Dr. Juan Humberto Sossa Azuela (SNI �II, profesor investigador del CIC-IPN)

Dr. Maurcio Martinez Garcia (profesor de tiempo completo de la Universidad La Salle,

Méx.)

M. en C. Floriberto Ortiz Rodriguez (CINVESTAV, Estudiante de doctorado, gen. 2005)

Ing. Cesar Vázquez Cianca (CIC-IPN Estudiante de maestria, gen. 2005)

Ing. César Aarón Pérez Olvera (CIC-IPN Estudiante de maestria, gen. 2006)

Ing. Jose Omar Zaragoza Díaz de León (CIC-IPN Estudiante de maestria, gen. 2006)

6 Resultados

Se obtuvieron los siguientes productos de investigación:

� Lista de artículos publicados:

1. System identi�cation using hierarchical fuzzy CMAC neural networks, Floriberto

Ortiz Rodriguez, Wen Yu, Marco A. Moreno-Armendariz, International Confer-

ence on Intelligent Computing, Lecture Notes in Computer Science (0302-9743), LNAI 4114, 230-235, 2006. <indizada en: ISI>.

2. System identi�cation using hierarchical fuzzy neural networks with stable learning

algorithm, Wen Yu, Marco A. Moreno-Armendariz, Floriberto Ortiz Rodriguez,

Journal of Intelligent & Fuzzy Systems (1064-1246), vol. 18 (2), 171-183,2007. <indizada en: ISI>.

3. FPGA implementation of Hebbian neural network for Engineering Educational,

Marco A. Moreno-Armendariz, Osvaldo Espinosa Sosa and Floriberto Ortiz Ro-

driguez, 8th International Conference on Control, Virtual Instrumentation, and

Digital System, Research in Computing Science (1870-4069), 81-88, MéxicoD.F., México, 2007. < revista institucional del IPN >.

16

Page 17: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

4. Hierarchical fuzzy CMAC for nonlinear systems modeling, Wen Yu, Floriberto

Ortiz Rodriguez, Marco A. Moreno-Armendariz, IEEE Transactions on FuzzySystems (1063-6706), vol. 16 (5), 1302-1314, 2008. < indizada en: ISI conalto impacto >.

5. Modulo de visión por computadora en tiempo real para el control de un sistema

plano-esfera, César A. Pérez-Olvera, Marco A. Moreno-Armendáriz, Elsa Rubio-

Espino, J. O. Zaragoza-Díaz, Research in Computing Science (1870-4069),283-293, México D.F., México, 2008. < revista institucional del IPN >.

6. Nonlinear Systems Identi�cation via Two Types of Recurrent Fuzzy CMAC,

Floriberto Ortiz Rodriguez, Wen Yu, Marco A. Moreno-Armendariz, NeuralProcess Letter (1370-4621), vol. 28 (1), 49-62, 2008. < indizada en: ISI >.

7. A new fuzzy visual servoing with application to robot manipulator, Marco A.

Moreno-Armendariz, Wen Yu, Int. J. Mechatronic Systems (1756-8412),aceptado. < nueva revista aún no indizada, pero con arbitraje interna-cional >.

� Artículos en extenso publicados en memorias de congresos nacionales e internacionalescon arbitraje:

1. Stable Training cellular neural networks for computer vision, Marco A. Moreno-

Armendariz, Wen Yu, Juan Humberto Sossa-Azuela, Congreso Nacional deControl Automático 2006, 206-210, México, D.F., 2006.

2. Recurrent fuzzy CMAC in hierarchical form for dynamic system identi�cation,

Floriberto Ortiz, Wen Yu, Marco A. Moreno-Armendariz, 2007 American Con-trol Conference, 5706-5711, Times Square, New York, N.Y., 2007.

3. Nonlinear systems identi�cation via two types of recurrent fuzzy CMAC, Florib-

erto Ortiz Rodriguez, Wen Yu, Marco A. Moreno-Armendariz, 2007 Interna-tional Joint Conference on Neural Networks, Orlando, Florida, 2007.

4. Anti-swing control with hierarchical fuzzy CMAC compensation for an overhead

crane, Floriberto Ortiz Rodriguez, Wen Yu, Marco A. Moreno-Armendariz, 22ndIEEE International Symposium on Intelligent Control Part of IEEEMulti-conference on Systems and Control, 333-338, Singapore, 2007.

5. Optimized Cellular Neural Network Universal Machine Emulation on FPGA, Gio-

vanni Egidio Pazienza, Marco Antonio Moreno-Armendáriz, Marco Balsi, Jordi

17

Page 18: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

Bellana-Camañes, Jordi Riera-Baburés and Xavier Vilasís-Cardona, Proceed-ings of the European Conference on Circuit Theory and Design 2007,815-818, Sevilla, España, 2007.

6. Recurrent fuzzy CMAC for nonlinear system modeling, Floriberto Ortiz, Wen Yu,

Marco A. Moreno-Armendariz, Xiaoou Li, Fourth International Symposiumon Neural Networks, Lecture Notes in Computer Science (0302-9743), Part I,LNCS 4491, 487�495, 2007.

7. Adaptive hierarchical fuzzy CMAC controller with stable learning algorithm for

unknown nonlinear systems, Floriberto Ortiz, Wen Yu, MarcoMoreno-Armendariz,

Sixth Mexican International Conference on Arti�cial Intelligence, Spe-cial Session, 294-304, 2007.

8. Control visual de un prototipo de robot móvil para la evasión de obstáculos, J. O.

Zaragoza-Díaz de León, M. A. Moreno-Armendáriz, C. A. Pérez-Olvera, DécimoCongreso Mexicano de Robótica, 135-145, 2008.

� Trabajos aceptados y presentados en congreso nacional con arbitraje:

1. The Kora- Algorithm for Spatio-Temporal Prediction of Criminal Activity, Hi-

ramCalvo, S. Godoy-Calderón, V. M. Martínez-Hernández, M. A. Moreno-Armendáriz,

4to Congreso Internacional "Tendencias Tecnológicas en Computación2008".

2. Metodología para desarrollar un sistema de manipulación de objetos basado en

visión por computadora, C. Vazquez Cianca, M. A. Moreno-Armendáriz, J. H.

Sossa Azuela, XVII Congreso Internacional de Computación CIC 2008.

3. Discovering trends in criminal activity with data mining inductive learning tech-

niques, V. M. Martínez-Hernández, S. Godoy-Calderón, Hiram Calvo, M. A.

Moreno-Armendáriz, XVII Congreso Internacional de Computación CIC2008.

4. Crime analysis using non supervised classi�cation techniques in pattern recogni-

tion, F. Terreros-Romero, S. Godoy-Calderón, M. A. Moreno-Armendáriz, XVIICongreso Internacional de Computación CIC 2008.

5. Implementación en FPGA de un controlador difuso en tiempo-real para el sis-

tema plano-esfera, C. Pérez-Olvera, E. Rubio-Espino, M. A. Moreno-Armendáriz,

XVII Congreso Internacional de Computación CIC 2008.

18

Page 19: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

6. Arti�cial neural networks used as an objetive function for a compact genetic

algorithm with persistent elitism and mutation, A. León-Javier, N. Cruz-Cortes,

M. A. Moreno-Armendáriz, XVII Congreso Internacional de ComputaciónCIC 2008.

7. Segmentación de defectos super�ciales en piezas de polímero, J. León-Marquez,

M. A. Moreno-Armendáriz, XVII Congreso Internacional de ComputaciónCIC 2008.

� Tutoriales impartidos en Congreso Internacional:

1. Implementación de una Red Neuronal Celular en un FPGA para Visión por com-

putadora (Tutorial), Marco A. Moreno-Armendariz, Mauricio Martínez, FifthMexican Internacional Conference on Arti�cial Intelligence, InstitutoTecnológico de Apizaco, Tlaxcala, 2006.

� Prototipos desarrollados:

1. Prototipo A (Sistema mesa-esfera).

2. Prototipo B (Robot móvil controlado mediante un FPGA).

7 Análisis de resultados

7.1 Sobre los objetivos planteandos al inicio del proyecto

1. Obtener nuevas reglas de aprendizaje para las redes CMAC : Esta parte del proyecto

fue la mas exitosa, aunque no se menciona explicitamente en el titulo del proyecto si

es parte de mis líneas de investigación que son las redes neuronales arti�ciales. La

cantidad de publicaciones que se obtuvieron sobre este tema muestra la relevacia del

tema y que se logró una excelente aportación al conocimiento cientí�co.

2. Obtener nuevas reglas de aprendizaje para la redes CNN : Se obtuvieron y publicaron

en un Congreso Nacional.

3. Aplicaciones: Se concluyo exitosamente la implementacipon de los dos prototipos que

son: Un sistema mesa-esfera (ver Figura 2) con control visual y un robot móvil (ver

Figura 3) cuyo sub-sistema de navegación será asistido con un sistema de visión por

computadora y le permite navegar en una habitación sin colisionar con ningún objeto.

19

Page 20: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

7.2 Sobre alumnos de Maestría y Doctorado

La lista de alumnos de Maestría y Doctorado que he dirigido o co-dirigido durante la vigencia

de este proyecto es:

� Doctorado (CINVESTAV-IPN):

1. Floriberto Ortiz Rodríguez: Análisis y Diseño de redes jerárquicas neuro-difusas

para la identi�cación y control de sistemas <Titulado>.

� Maestría (CIC-IPN):

1. César Vázquez Cianca: Manipulación robotizada de de objetos basada en visión

por computadora. <Titulado>

2. César Aarón Pérez Olvera: Control visual difuso de un sistema no-lineal.

3. José Omar Zaragoza Díaz: Navegación de un robot móvil usando visión por com-

putadora.

4. Julio Cesar León Márquez: Detección de defectos en piezas de polímero por medio

de visión por computadora.

5. Alejandro León Javier: Diseño e implementación en hardware de un algoritmo

bio-inspirado.

6. Fernando Terreros Romero: Sistema de apoyo a la toma de decisiones criminológ-

icas mediante seguimiento espacio-temporal de patrones delictivos.

7.3 Sobre actividades adicionales

Otras actividades académicas realizadas son:

1. Miembro del comité organizador del congreso AMCA 2008 como Presidente del comite

de arreglos locales que se llevó acabo en las instalaciones del CIC-IPN del 15 al 17 de

octubre de 2008.

2. Estancia de investigación con el tema: "Diseño e implementación de redes neuronales

arti�ciales en circuitos lógicos recon�gurables (FPGA�s)" en Oklahoma State con el

Profesor Martin T. Hagan, Junio de 2008.

20

Page 21: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

8 Conclusiones

Del trabajo desarrollado se presentan las siguientes re�exiones:

1. La idea de desarrollar un algoritmo de aprendizaje tipo regla delta para una red neu-

ronal celular (CNN) sólo fue posible realizar el desarrollo teórico de las reglas de apren-

dizaje, pero las simulaciones no funcionaron y se concluye que no es viable su imple-

mentación. Por ello, se dio por terminada esta línea de investigación. Sin embargo,

existen librerias de clonning templates con las cuales se puede realizar visión por com-

putadora para diversas aplicaciones [22], [23].

2. En cuanto el desarrollo de nuevas estructuras de redes neuronales a partir de la red

CMAC fue muy exitosa. Se partió de la extensión que usa lógica difusa, conocida

como FCMAC. Con esta red neuronal se diseño nuevas arquitecturas incorporando

diversos tipos de recurrencia y usandolas en una estructura jerárquica y se nombraron

como: RFCMAC, HFCMAC, HRFCMAC. De todas estas nuevas redes neuronales se

obtuvo sus relgas de aprendizaje, se realizó en análisis de estabilidad y se aplicaron para

problemas de identi�cación y control de sistemas. Se obtuvieron varias publicaciones

en congresos nacionales e internacionales, así como en revistas.

3. El desarrollo de prototipos fue muy exitoso, ahora se tienen dos excelentes equipos con

los cuales continuar realizando experimentos reales, de las diversas arquitecturas de

redes neuronales obtenidas durante el proyecto.

References

[1] H. Harrer and J. Nossek, Discrete-time cellular neural networks, International Journal

of Circuit Theory and Applications, vol. 20, pp. 453�467, 1992.

[2] Á. Zarándy, The Art of CNN Template Design., Int. J. of Circ. Th. Appl, 27 (1999)5�23.

[3] Roska, T., Kék, L., Nemes, L., Zarandy, A. Brendel, M.: CSL-CNN Software Library.

Report of the Analogical and Neural Computing Laboratory, Computer and Automation

Institute, Hungarian Academy of Sciences, Budapest, Hungary (2000).

[4] B.Egardt, Stability of Adaptive Controllers, Lecture Notes in Control and Information

Sciences, Vol.20, Springer-Verlag, Berlin, 1979.

21

Page 22: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

[5] P.A.Ioannou and J.Sun, Robust Adaptive Control, Prentice-Hall, Inc, Upper Saddle

River: NJ, 1996.

[6] L. X. Wang, A course in fuzzy systems and control, Prentince Hall Inc., 1997.

[7] Y.G.Leu, T.T.Lee and W.Y.Wang, Observer-based adaptive fuzzy-neural control for

unknown nonlinear dynamical systems, IEEE Trans. Syst., Man, Cybern. B, Vol.29,

583-591, 1999.

[8] L. X. Wang, Analysis and Design of Hierarchical Fuzzy Systems, IEEE Transactions on

Fuzzy Systems, Vol.7, No.3, 617-624, 1999.

[9] W.Yu and X. Li, Some stability properties of dynamic neural networks, IEEE Trans.

Circuits and Systems, Part I, Vol.48, No.1, 256-259, 2001.

[10] W.Yu and X. Li, Some new results on system identi�cation with dynamic neural net-

works, IEEE Trans. Neural Networks, Vol.12, No.2, 412-417, 2001.

[11] S. Hutchison, G.D. Hager, P. Corke, A tutorial on visual servo control, IEEE Trans.

Robot, Automat. 12 (5) (1996) 651�670.

[12] C.C. Cheah, K. Lee, S. Kawamura, S. Arimoto, Asympototic stability of robot control

with approximate jacobian matrix and its application to visual servoing, Proc. of the

39th IEEE Conference on Decision and Control, Dic. 12-15, 2000, pp. 3939-3944.

[13] A.J. Koivo, N. Houshangi, Real-time version feedback for servoing robotic manipulator

with selftuning controller, IEEE Trans. Systems, Man Cybernet. 21 (1) (1992) 134�141.

[14] F.L. Lewis, A. Yesildirek, K. Liu, Multilayer neural-net robot controller with guaranteed

tracking performance IEEE Trans. Neural Networks, Vol.7 (2) 1996.

[15] M. Perko, I. Fajfar, T. Tuma, and J. Puhan, �Low-cost, high-performance CNN sim-

ulator implemented in FPGA,�in Proc. of 2000 6th IEEE International Workshop on

Cellular Neural Networks and their Applications (CNNA 2000), May 23�25, 2000, pp.

277�282.

[16] Z. Nagy and P. Szolgay, �Con�gurable multi-layer CNN-UM emulator on FPGA,� in

Proc. of 2002 7th IEEE International Workshop on Cellular Neural Networks and their

Applications (CNNA2002), July 22�24, 2002, pp. 164�171.

[17] � � , �Con�gurable multilayer CNN-UM emulator on FPGA,� IEEE Trans. Circuits

Syst. I, vol. 50, no. 6, pp. 774�778, June 2003.

22

Page 23: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

[18] Z. Nagy, Z. Voroshazi, and P. Szolgay, �An emulated digital retina model implementa-

tion on FPGA,�in Proc. of 2005 9th IEEE International Workshop on Cellular Neural

Networks and their Applications (CNNA2005), May 28�30, 2005, pp. 278�281.

[19] C. Baldanza et al., �A cellular neural network for peak �nding in high energy physics,�

in Proc. of 2000 6th IEEE International Workshop on Cellular Neural Networks and

their Applications (CNNA 2000), May 23�25, 2000, pp. 443�448.

[20] P. Kozma, P. Sonkoly, and P. Szolgay, �Elastic wave propagation modeling on emulated

digital cnn-um architecture,� in Proc. of 2005 9th IEEE International Workshop on

Cellular Neural Networks and their Applications (CNNA 2005), 8�10, 2005, pp. 906�

912.

[21] F. J. G. J. M. F. F. Javier Toledo, J. Javier Martínez, �Image processing with cnn in a

fpga-based augmented reality system for visually impaired people,�in Proc. of 8th In-

ternational Work-Conference on Arti�cial Neural Networks (IWANN 2005), Barcelona,

Spain, May 28�30, 2005, pp. 126�129.

[22] Giovanni Egidio Pazienza, Jordi Bellana-Camañes, Marco Antonio Moreno-Armendáriz,

Jordi Riera-Baburés, Marco Balsi, Xavier Vilasís-Cardona, A CNN-UM Emulator on

FPGA for the Visual System of an Autonomous Robot, IEEE Transactions on Circuits

and Systems I, enviado.

[23] Juan Carlos López, (2004) Implementación de Redes Neuronales Celulares sobre FP-

GAs. Treball Final de Carrera. Enginyeria i Arquitectura La Salle.

[24] Jordi Bellana Camañes, (2005) Implementació de CNN sobre una FPGA i adaptació

per una plataforma mòbil de visió en temps real. Treball Final de Carrera. Enginyeria

i Arquitectura La Salle.

[25] W.T. Miller, F.H. Glanz, L.G. Kraft, CMAS: an associative neural network alternative

to backpropagation, Proceedings of the IEEE, vol. 78, no. 10, pp. 1561-1567, Ago 2002.

[26] R. L. Smith, Intelligent motion control with an arti�cial crebellum, Phd. thesis, Uni-

versity of Auckland, New Zealand, 1998.

[27] C.-T. Chiang and C.-S. Lin, �CMAC with general basis functions,�Neural Networks,

vol. 9, no. 7, pp. 1199�1211, 1996.

[28] Lee, H., Chen, C.M., Lu, Y.F.: A Self-organizing HCMAC Neural Network Classi�er.

IEEE Transaction on Neural Networks Vol.14(1) (2003) 15-27.

23

Page 24: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

[29] Hu, J.S., Hu, G.W., Wang, J.B., Liu, B.: FCMAC Based On Minesweeping Strateg,

Proceedings of the Fourth International Conference on Machine Learning and Cyber-

netics, Guangzhou (2005) 18-21.

[30] Zou, F., Schwarz, S., Nossek J.A.: Cellular Neural Network Design using a Learning

Algorithm. Proc. IEEE CNNA-90, (1990) 73�81.

[31] Szolgay, P., Kozek, T.: Optical Detection of Layout Errors of Printed Circuit Boards us-

ing Learned CNN Templates. Report DNS-8-1991, Dual and Neural Computing Systems

Res. Lab., Comp. Aut. Inst., Hung Acad Sci. , Budapest, (1991).

[32] Nossek, J.A.: Design and Learning with Cellular Neural Networks. Proc. of IEEE

CNNA-94, Rome, (1994) 137�146

[33] Balsi, M.: Recurrent Back-Propagation for CNNs. Proc. of the ECCTD�03, Davos,

(1993) 677�682.

[34] Tealu¤, R., Wolf, D.: A Learning Algorithm for the Dynamics of CNN with Nonlinear

Templates - Part I Discrete-Time Case. Proc. IEEE CNNA-96 (1996) 461�466.

[35] Kozek, T., Roska, T.: Genetic Algorithm for CNN Template Learning. IEEE Trans.

Circuits and Systems� I, Fundamental Theory and Appl., 40(6) (1993) 392�402.

[36] Gómez-Ramírez, E., Mazzanti, F.: Cellular Neural Networks Learning using Genetic

Algorithms. In: Díaz de León J., Yáñez, C. (eds.): Reconocimiento de Patrones avances

y perspectivas. IPN, México (2002).

[37] Chandler, B., Rekeczky, C., Nishio, Y., Ushida, A.: Adaptative Simulated Annealing in

CNN Template Learning. IEICE Tran. Fundamentals, 82 (2) (1999) 398�402.

[38] Vilasís-Cardona, X., Vinyoles-Serra, M.: On Cellular Neural Network Learning. Proc.

of ECCTD 2005, Cork (2005).

[39] L. Chua and L. Yang, �Cellular neural networks: theory,�IEEE Trans. Circuits Syst.,

vol. 35, pp. 1257�1272, Oct. 1988.

[40] Á. Rodríguez-Vázquez et al., �ACE16k: The third generation of mixedsignal SIMD-

CNN ACE chips toward VSoCs,� IEEE Trans. Circuits Syst. I, vol. 51, no. 5, pp.

851�863, May 2004.

[41] G. L. Cembrano et al., �A 1000 FPS@128x128 vision processor with 8-bit digitized

I/O,�IEEE J. Solid-State Circuits, vol. 51, no. 5, pp. 1044�1055, July 2004.

24

Page 25: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

[42] R. Carmona, F. Jiménez-Carrido, R. Domínguez-Castro, S. Espejo-Meana, and Á.

Rodríguez-Vázquez, �CMOS realization of a 2-layer CNN universal machine chip,� in

Proc. of 2002 7th IEEE International Workshop on Cellular Neural Networks and their

Applications (CNNA2002), July 22�24, 2002, pp. 444�451.

[43] L. Chua and L. Yang, �Cellular neural networks: applications,�IEEE Trans. Circuits

Syst., vol. 35, pp. 1273�1290, Oct. 1988.

[44] T. Roska, T. Ke´K, L. Nemes, Á. Zarándy, and P. Szolgay.(1999) CSL-CNN software

library, version 7.3. [Online]. Available: http://lab.analogic.sztaki.hu/Candy/csl.html

[45] T. Roska and L. O. Chua, �The CNN universal machine: an analogic array computer,�

IEEE Trans. Circuits Syst. II, vol. 40, pp. 163�173, Mar. 1993.

[46] F.Werblin, T.Roska, and L.O.Chua, �The analogic cellular neural network as a bionic

eye,� International Journal of Circuit Theory and Applications, vol. 23, pp. 541�549,

1995.

[47] C. Cheng et al., �In the blink of a silicon eye,� IEEE Circuits Devices Mag., vol. 17,

no. 3, pp. 20�32, May 2001.

[48] (2006) Pasqual8: a CNN guided autonomous robot. [Online]. Available:

http://salle.url.edu/ ~de16393/cnn/pasqual8.html

[49] L. Yang, L. Chua, and K. Krieg, �VLSI implementation of cellular neural networks,�in

Proc. IEEE International Symposium on Circuits and Systems (ISCAS�90), vol. 3, May

1�3, 1990, pp. 2425�2427.

[50] S. Espejo, Á. Rodríguez-Vázquez, R. Domínguez-Castro, J. Huertas, and E. Sánchez-

Sinencio, �Smart-pixel cellular neural networks in analog current-mode CMOS technol-

ogy,�IEEE J. Solid-State Circuits, vol. 29, no. 8, pp. 895�905, Aug. 1994.

[51] R. Domínguez-Castro et al., �A 0.8�m CMOS programmable mixedsignal focal-plane

array processor with on-chip binary imaging and instructions storage,�IEEE J. Solid-

State Circuits, vol. 32, pp. 1013�1026, July 1997.

[52] G. L. Cembrano, S. Espejo-Meana, R. Domínguez-Castro, and Á. Rodríguez-Vázquez,

�ACE4k: An analog I/O 64x64 visual microprocessor chip with 7-bit analog accuracy,�

International Journal of Circuit Theory and Applications, vol. 30, pp. 89�116, 2002.

25

Page 26: Visión por computadora usando redes neuronales … · Comparaciones con otros tipos de ... a salidas binarias y asumiendo la estabildad de ... su implementación a larga escala en

[53] P. Szolgay and G. Voros, �Transient response computation of a mechanical vibrating

system using cellular neural networks,�in Proc. third IEEE International Workshop on

Cellular Neural Networks and their Applications (CNNA�94), Rome, Italy, Dec. 18�21,

1994, pp. 321�326.

[54] (2006) Anafocus. [Online]. Available: http://www.anafocus.com/

[55] (2006) Analogic computers ltd. [Online]. Available: http://www.analogic-

computers.com/

[56] Á . Zarándy et al., �Various implementations of topographic, sensory, cellular wave com-

puters,�in Proc. IEEE International Symposium on Circuits and Systems (ISCAS�05),

Kobe, 2005, pp. 5802�5805.

26