You are on page 1of 12

Diseo e implementacin de una RNA en FPGA para el reconocimiento de objetos simples

Claudia Corts Lpez, Ignacio Algredo-Badillo, Ernesto Corts Prez, Silvia Reyes Jimnez Universidad del Istmo, Campus Tehuantepec Ciudad Universitaria S/N, Barrio Santa Cruz, 4a. Seccin, Sto. Domingo Tehuantepec, Oaxaca, CP 70760, tel:01-971-5224050. clcortes.lpz@gmail.com, algredobadillo@sandunga.unistmo.edu.mx, cope_144@hotmail.com, chivisza9@gmail.com
Resumen. Para que las computadoras, sistemas digitales o robots puedan realizar diversas actividades como lo hara un ser humano, es necesario tener un sistema robusto de reconocimiento de objetos que asemeje a los procesos de anlisis como lo hacen las personas. El rea que ms acerca a esta funcionalidad se basa en tcnicas de Inteligencia Artificial. En este trabajo se presenta la simulacin e implementacin de una red neuronal artificial para el reconocimiento de objetos. Se propone una arquitectura de red multicapa con entrenamiento Backpropagation. Se realiza la simulacin software de la red neuronal y la implementacin hardware de la etapa de reconocimiento. Se presenta el desarrollo de la simulacin, los valores obtenidos y denominados pesos y cmo se utilizan esos pesos en la implementacin hardware. Los resultados de la implementacin hardware muestran un uso de 147 slices a una frecuencia de operacin de 186.644MHz en un dispositivo FPGA Kintex-7k325. .Abstract. For computers, digital systems or robots perform several activities as would a human being, it is necessary to have a system object recognition that resembles analysis processes as the people does. The area about this functionality is based on Artificial Intelligence techniques. This paper presents the simulation and implementation of an artificial neural network for object recognition. It is proposed a multi-layer network architecture with Backpropagation training. Simulation is performed in the neural network software and then, hardware implementation is made. It is reported the development of the simulation, the values obtained named weights and how to use those weights in the hardware implementation. The results show hardware implementation of 147 slices to use an operating frequency of 186.644MHz in an FPGA Kintex -7k325. 1. Introduccin Las Redes Neuronales Artificiales (RNA) son modelos matemticos basados en el funcionamiento del sistema nervioso humano aplicadas a tareas donde se requiere inteligencia. Son artificiales porque son implementadas a travs de algoritmos computacionales basados en un modelo biolgico. De esta manera, las RNA estn inspiradas en las redes neuronales biolgicas del cerebro humano y estn constituidas por elementos que se comportan de forma similar a la neurona biolgica en sus funciones ms comunes. Las RNA, al margen de "parecerse" al cerebro, presentan una serie de caractersticas propias del cerebro, por ejemplo, las RNA aprenden de la experiencia, generalizan de ejemplos previos a ejemplos nuevos y abstraen las caractersticas principales de una serie de datos, es decir: 1) Aprender en una RNA es adquirir el conocimiento de algo por medio del estudio, ejercicio o experiencia. Ellas pueden cambiar su comportamiento en funcin del entorno, donde se les muestra un conjunto de entradas y se ajustan para producir unas salidas consistentes, 2) Generalizar, extender o ampliar algo, permite a las RNA generalizar automticamente debido a su

propia estructura y naturaleza. Estas redes pueden ofrecer, dentro de un margen, respuestas correctas a entradas que presentan pequeas variaciones debido a los efectos de ruido o distorsin, y 3) Abstraer, aislar mentalmente o considerar por separado las cualidades de un objeto habilita a que algunas RNA sean capaces de abstraer la esencia de un conjunto de entradas que aparentemente no presentan aspectos comunes o relativos [1]. Estas cualidades permiten que las redes neuronales sean muy utilizadas para el reconocimiento de objetos ya que pueden realizar su funcin de forma eficaz discriminando perturbaciones como pueden ser el ruido, el brillo, el color, entre otros factores como lo haran los seres humanos. Hay diferentes tipos de redes neuronales y la eleccin depende de la aplicacin que se quiera realizar. Al inicio y durante varios aos no se obtuvo algn tipo de xito en el diseo de algoritmos de entrenamiento del tipo de redes multicapa, ya que haba problemas de diseo al presentar una severa limitacin de los sistemas de una capa, por lo que el mundo de la computacin neuronal entr en un obscurecimiento y abandono casi general durante dos dcadas. En los ltimos aos se ha retomado el camino siendo las RNA muy utilizadas en distintos campos de accin y la red con entrenamiento Backpropagation es una de las ms populares en el reconocimiento de objetos. Actualmente, con el desarrollo de la redes neuronales, se encuentran mquinas que tratan de asemejar el comportamiento del cerebro humano logrando desarrollar aplicaciones como el reconocimiento de imgenes, del habla, caracteres, control de robots, etctera. Las RNA son muy eficientes en cuanto al reconocimiento de objetos gracias a su robustez, la tolerancia a fallas, su flexibilidad, capacidad de aprendizaje, entre otras caractersticas y hay varias formas de realizar la implementacin, ya sea desde el punto de vista de software o de hardware. Las implementaciones en software utilizan elementos que se enlazan a una naturaleza secuencial y es difcil lograr un sistema paralelo con estos elementos, aunque son muy flexibles. Por otro lado, las implementaciones en hardware tienen mayor velocidad de procesamiento, adems de que pueden tener mdulos operando concurrentemente y en paralelo como en el FPGA ( field programmable gate array), debido a que estos dispositivos tienen la ventaja de que es posible implementar de forma eficiente algoritmos paralelos. Los FPGAs se basan en una matriz bidimensional de bloques congurables que se pueden conectar mediante recursos generales de interconexin. Estos recursos incluyen segmentos de pista de diferentes longitudes, ms unos conmutadores programables para enlazar bloques a pistas o pistas entre s. En realidad lo que se programa en una FPGA son los conmutadores que sirven para realizar las conexiones entre los diferentes bloques, ms la conguracin de los bloques [3]. En este trabajo se presenta la simulacin en una computadora personal e implementacin en FPGA de una RNA para el reconocimiento de objetos simples, se describe la arquitectura propuesta de red para la que se eligi una red neuronal multicapa con entrenamiento Backpropagation. El diseo propuesto de la red requiere de tres partes: entrenamiento, validacin y reconocimiento. El entrenamiento proporciona valores denominados pesos, las cuales son utilizadas para validar el funcionamiento en la segunda etapa de validacin, para que en el reconocimiento pueda identificar los objetos. La simulacin de la red se realiz utilizando Matlab 2010a y la implementacin en hardware se realiz utilizando System Generator para posteriormente realizar la co-simulacin con el FPGA.

2. Redes Neuronales Artificiales v Red/Algoritmo Backpropagation La invencin del algoritmo de entrenamiento Backpropagation ha desempeado un papel vital en el resurgimiento del inters de las redes neuronales artificiales. Backpropagation es un mtodo de entrenamiento de redes multicapa. Su potencia reside en su capacidad de entrenar capas ocultas y de este modo supera las posibilidades restringidas de las redes de una nica capa. Arquitectura de la red Backpropagation . Una red neuronal consiste en un conjunto de neuronas conectadas de una forma concreta. La unidad procesadora bsica de la red Backpropagation se representa en la Figura 1. La unidad procesadora se caracteriza por realizar una suma ponderada de las entradas llamada Sj, presentar una salida aj y tener un valor j asociado que se utilizar en el proceso de ajuste de los pesos. El peso asociado a la conexin desde la unidad i a la unidad j se representa por Wji, y es modificado durante el proceso de aprendizaje. Generalmente las neuronas o unidad procesadora estn organizadas en grupos llamados niveles o capas.

Figura 1. Unidad Procesadora Bsica Backpropagation. Normalmente, la Backpropagation utiliza tres o ms capas de unidades procesadoras. La Figura 2 muestra la topologa Backpropagation tpica de tres capas. La capa inferior es la capa de entrada, y se caracteriza por ser la nica capa cuyas unidades procesadoras reciben entradas desde el exterior. Estas unidades son utilizadas como puntos distribuidores y no realizan ninguna operacin de clculo. La siguiente capa superior es la capa oculta, y todas sus unidades procesadoras estn interconectadas con la capa inferior y con la capa superior. La capa superior es la capa de salida que presenta la respuesta de la red. Algoritmo de entrenamiento. Las redes neuronales son entrenadas con diferentes algoritmos segn sea el contexto en el que se desenvuelva y tambin varan de acuerdo al modelo de la red. Las redes Backpropagation tienen un mtodo de entrenamiento supervisado. A la red se le presenta parejas de patrones: un patrn de entrada emparejado con un patrn de salida deseada. Por cada presentacin, los pesos son ajustados de forma que disminuya el error entre la salida deseada y la respuesta de la red. El algoritmo de aprendizaje Backpropagation conlleva una fase de propagacin hacia adelante y otra fase de propagacin hacia atrs. Ambas fases se realizan por cada patrn presentado en la sesin de entrenamiento [1]. La fase de propagacin hacia adelante se inicia cuando se presenta un patrn en la capa de entrada de la red. Cada unidad de la entrada se corresponde con un elemento del vector patrn de entrada. Las unidades de entrada toman el valor de su correspondiente elemento del patrn de entrada y se calcula el valor de activacin o nivel de salida de la primera capa. A continuacin las dems capas realizarn la fase de propagacin hacia adelante para determinar el nivel de

activacin de las otras capas. La unidad procesadora j obtiene la cantidad la salida o nivel de activacin

y genera

. El valor de la salida de la unidad j es enviado o

transmitido a lo largo de todas las conexiones de salida de dicha unidad. La funcin f(Sj) es una funcin umbral genrica o de activacin, entre las que cabe destacar la Sigmoid y la funcin Hiperblica.

Figura 2. Red Backpropagation completamente interconectada. Una vez que se ha completado la fase de propagacin hacia adelante, se inicia la fase de correccin o fase de propagacin hacia atrs . Los clculos de las modificaciones de todos los pesos de las conexiones empiezan por la capa de salida y continua hacia atrs a travs de todas las capas de la red hasta la capa de entrada. Dentro de los tipos de ajuste de pesos se puede clasificar dos grupos, ajuste de unidades procesadoras de la capa de salida y ajuste de unidades procesadoras de las capas ocultas. El ajuste de Pesos de la Capa de Salida es relativamente sencillo debido a que existe y se conoce el valor deseado para cada una de las unidades de la capa de salida. Cada unidad de la capa de salida produce un nmero real como salida y se compara con el valor deseado especificado en el patrn del conjunto de entrenamiento. A partir del resultado de la comparacin se calcula un valor de error para cada unidad de la capa de salida, siendo tj el valor de salida

deseado y f la derivada de la funcin umbral f. La Figura 4 muestra el clculo de los valores j de las unidades de la capa de salida y la obtencin del valor j para las unidades de las capas ocultas. En el ajuste de pesos de las capas ocultas las capas no tienen un vector de salida deseado y por tanto no se puede seguir el mtodo de propagacin de error mencionado en el caso de unidades procesadoras de la capa de salida. El valor de error calculado para este tipo de unidades procesadoras se obtiene a partir de . La Figura 5 representa el ajuste de

los pesos asociados a las conexiones se realiza a partir del valor de cada unidad de proceso. Cada peso es ajustado segn la regla generalizada, es decir . La variable es el

coeficiente de aprendizaje. Este coeficiente, normalmente entre 0.25 y 0.75 refleja el grado de

aprendizaje de la red. Algunas veces este coeficiente es modificado de un valor inicial alto a valores progresivamente menores durante la sesin del entrenamiento con el objetivo de lograr un mejor aprendizaje. Un proceso importante de la red que involucra el aprendizaje y error es la convergencia. En el proceso de entrenamiento o aprendizaje de la Backpropagation es frecuente medir cuantitativamente el aprendizaje mediante el valor RMS ( Root Mean Square) del error de la red. Esta medida refleja el modo en el que la red est logrando respuestas correctas; a medida que la red aprende, su valor RMS decrece. Debido a que los valores de salida de la red y los valores de salidas deseadas son valores reales, es necesario definir un parmetro de corte o un valor umbral del valor RMS del error de la red que permita decir que la red se aproxima a la salida deseada y considerar que la respuesta es correcta. La convergencia es un proceso en el que el valor RMS del error de la red tiende cada vez ms al valor 0. La convergencia no siempre es fcil de conseguirla porque a veces el proceso puede requerir un tiempo excesivo o bien porque la red alcanza un mnimo local y deja de aprender.
Patrones de entrada
e1

Patrones de salida
s 1

e2

s 2

e3 . . . en
. . .

. . .

s 3
. . .

. . . sn

Capa de entrada

Capa oculta

Capa de salida

Figura 4. Clculo de los valores j de la Capa de Salida. 3. Sistema Propuesto El sistema propuesto se basa en una RNA con entrenamiento Backpropagation que permita reconocer objetos aproximndose a como lo hara un ser humano y, al tener una estructura paralela, se disear una arquitectura hardware para ser implementada en FPGA. La metodologa de diseo en forma general se muestra en la Figura 6. La metodologa se divide en varios mdulos, primero se elige el conjunto de imgenes a trabajar para procesarlas y obtener la firma que contiene las caractersticas de la imagen. A partir del conjunto se obtendrn la firma que servirn para el entrenamiento de la red. Posteriormente se realizara la simulacin en software de la arquitectura de la red con su respectivo algoritmo de entrenamiento. Siguiendo con el entrenamiento de la red con el conjunto de firmas obtenidas, la red una vez entrenada se realizara validaciones para su correcto funcionamiento. Concluida la etapa de validacin de la simulacin software se obtienen unos pesos que sirven para implementar la parte de reconocimiento de la red en hardware. Una vez concluida la etapa de implementacin hardware se realizan las pruebas necesarias para validar el reconocimiento de la

arquitectura. Por ltimo se recopilaran los datos obtenidos de la simulacin e implementacin hardware para realizar una comparativa entre la implementacin en hardware como en la de software.
Inicio Implementacin hardware

Obtener la firma de la imagen

Simulacin de la arquitectura propuesta

Validacin del reconocimiento

Entrenamiento de la red

Resultados de las pruebas de reconocimiento

Fin

Figura 6. Diagrama de secuencia. Existen trabajos donde utilizan diferentes arquitecturas de red por el tipo de aplicacin que estn realizando, por ejemplo, en el trabajo de Jess Manuel Besada Juez y Miguel ngel Sanz Bobi [4] desarrollan la identificacin de un nmero indeterminado de diferentes objetos sobre una superficie dispuestos en cualquier orden. Para ello utilizan una red Perceptrn multicapa para la identificacin de objetos utilizando slo los bordes, posteriormente, despus de realizar el entrenamiento y el identificado de cada objeto, un brazo robot es el encargado de la clasificacin. La arquitectura de la red que utilizan es una multicapa con 4 neuronas de entrada, 12 en la capa oculta y 8 en la capa de salida. Por otro lado, Diana Lucia Clavijo Rodrguez y cols. [5] desarrollan una aplicacin de redes neuronales para el diagnostico de enfermedades coronarias mediante una prediccin automtica y exacta de las fallas del corazn a partir del anlisis de electrocardiogramas (ECG). Utilizaron la red neuronal Backpropagation con una arquitectura inicial de 6 neuronas en la capa de entrada, 5 en la capa oculta y 3 en la capa de salida. La red que se propone en este trabajo es la que se utilizara como una red inicial para la simulacin en software y para el entrenamiento y, despus, se realizar la implementacin hardware de la misma y se probara su eficiencia. Esta red solo es la base que abrir camino a nuevas pruebas con redes de diferente arquitectura y comportamiento. 4. Implementacin

La arquitectura propuesta para la simulacin software y hardware de la red se muestra en la figura 7. Primero se realizara la simulacin software de la red para realizar el entrenamiento de los pesos que sern utilizados posteriormente en la implementacin hardware. Esta arquitectura propuesta consiste en una red de tres capas, treinta y dos elementos en la capa de entrada, cinco neuronas en la capa oculta y una neurona en la capa de salida. La simulacin de la red se realiz utilizando Matlab 2010a y la implementacin en hardware se realiz utilizando System Generator para posteriormente realizar la co-simulacin con el FPGA.
W11 W11 N1

b11 N2 a11 a12 W21 W22 W23 W24 W25 b2

P1 . . . p32

W12 W12

b12 W13 W13 W14 W14 N3

a13 a14

N6

a2

b13 N4 a15

W15 W15

b14 N5

b15

Figura 7. Arquitectura para una red de 5 neuronas con 32 elementos de entrada. El conjunto de figuras que se utilizan en el entrenamiento de la red son vasos y objetos circulares, fotografas donde los objetos poseen diferentes caractersticas como en tamao y forma. Para obtener el conjunto de caractersticas se emplea un algoritmo con diferentes operaciones, lo que permite procesar la imagen y as obtener la firma que representa el vector del tamao del objeto.

(a) (b) Figura 11. (a) Imagen en escala de grises, con efecto cerradura, dilatacin y filtrada y (b) Imagen con centroide y distancias, grfica del patrn La firma fue utilizada para entrenar la red y tambin para la etapa de reconocimiento. La generacin de la firma de la imagen qued implementada mediante el siguiente pseudocdigo desarrollado en Matlab:
Inicio leer imagen a colores para procesar generar cuatro imgenes en secuencia: escala de grises, umbralizada, binarizada e invertida aplicar operaciones sobre el contorno: cerradura, dilatacin y filtrado. obtener las propiedades de la imagen: bordes, etiqueta y regin. calcular el centroide de la imagen: Y=centroide 1, X= centroide 2 iniciar con el primer punto del contorno Repetir <- dibujar punto en posicin boundaries Escribir lnea en posicin X, Y Calcular nueva distancia Hasta i igual a 32 Fin

Las siguientes figuras muestran los resultados de trabajar una imagen con el anterior pseudocdigo, la figura 11.a muestra el proceso de la imagen despus de convertirla a escala de grises y posteriormente aplicar operaciones de cerradura, dilatacin y filtrado para obtener la forma completa del objeto en blanco. La figura 11.b muestra en la parte izquierda el resultado de calcular el centroide de la imagen y el clculo de las distancias del centro al contorno del objeto, mientras que en la parte derecha se muestra la grafica que representa la firma obtenida del objeto. La implementacin en software de la red abarc la etapa de entrenamiento de la red, la cual nos sirvi para determinar las caractersticas de la red y la etapa de entrenamiento que posteriormente se implementa en hardware que fue el objetivo del proyecto. El pseudocdigo del algoritmo implementado en Matlab para una serie de patrones de entrada se describe en el siguiente pseudocdigo, donde los vectores P y T fueron previamente definidos, el vector P representa el conjunto de firmas de todas las imgenes para el entrenamiento y el vector T representa las etiquetas que identifican a cada tipo de objeto. Inicio Asignar valor inicial de la bias, alpha, pocas y neuronas Truncamos a P para tener solo valores enteros Asignar rango para los pesos y bias repetir asignar un valor a b1, b2,bn, W1, W2, W3,, Wn inicializamos los vectores de patrones y bias auxiliares hasta i igual al numero de neuronas aplicar traspuesta a los vectores de bias, pesos y patrones repetir repetir p<- asignamos una columna de la matriz P en la posicin i repetir pw1 <- limpiamos la variable igualando a 0

hasta c igual al numero de neuronas repetir a0<- asignamos un valor de p en la posicin j pw1<- pw1+(W1*a0) hasta j igual a longitud de la variable p aux <- quitamos la parte decimal de pw1+b1 aplicar la funcin logsig y purelin a las variables a1 y a2 respectivamente calcular el error y la sensibilidad Mat<- construimos la matriz diagonal repetir Mat <- rellenamos la matriz con las derivadas sobre los valores de a1 hasta a igual a longitud de a1 calcular la nueva sensibilidad, pesos y bias de los vectores principales asignar los nuevos valores a b1,W2, W1 y b2 hasta i igual a longitud del vector T hasta k igual a pocas aplicar traspuesta al vector patron repertir repetir pw1 <- inicializamos a cero hasta i igual a neuronas hasta c igual a longitud de T p<- asignamos una columna de la matriz P repetir a0<- asignamos un valor de p en la posicin j pw1<- pw1+(W1*a0) aux <- quitamos la parte decimal de pw1+b1 aplicar la funcin logsig y purelin a las variables a1 y a2 respectivamente, a2 indica si reconoci el objeto hasta j igual a longitud de p Fin Para definir las caractersticas de la red se realizaron una serie de pruebas con diferentes nmeros de neuronas, pocas y con una matriz de pesos previamente calculada. Los resultados de las pruebas para un caso sencillo de cinco neuronas quedaron como se muestra en la Tabla 1. Como se puede ver el nmero ideal de pocas respecto al nmero de neuronas es a partir de 10 a 20 de acuerdo al nmero de pruebas realizadas.

pocas 5 10 15

Neuronas 5 5 5

Aprendizaje 1.0061 1.0000 1.0000

Reconocimiento 0.9991 1.0000 1.0000

20

1.0000

1.0000

Tabla1. Evaluacin entre la etapa de entrenamiento y reconocimiento para una red de 5 neuronas. Como se puede observar para el caso de cinco neuronas los valores ptimos se encuentran entre 10 y 20 pocas, para un caso sencillo se tom como caso base para la implementacin de la red 20 pocas para la etapa de entrenamiento con 5 neuronas ya que para trabajos posteriores se analizara el comportamiento de la red con un mayor numero de patrones, neurona y pocas. Despus se configuran los bloques en System Generator considerando los pesos que se obtuvieron en la simulacin e implementacin software. La arquitectura hardware tiene un diagrama a bloques como se muestra en la Fig. 12. 5. Resultados Se implement una red neuronal con 32 elementos en el patrn de entrada, 5 neuronas para la capa oculta y una nica neurona en la capa de salida. A partir de la implementacin de la red en Matlab se logr disear una red simple que se adaptara a las necesidades del sistema y para su implementacin en System Generator, se realizaron ajustes a la red implementada para que los resultados del sistema concordaran con los obtenidos en la etapa de reconocimiento implementada en Matlab. Despus de las configuraciones se obtuvo un resultado aproximado al obtenido al de la red en Matlab con una diferencia de cntimas por parte de la red en System Generator.

Figura 12. Arquitectura hardware de la red

El sistema se compil en System Generator sobre Matlab 2012a y para la co-simulacin los mdulos en VHDL fueron generados en la herramie212nta Xilinx ISE Design Suite 14.2, implementado y co-simulando en el dispositivo FPGA Kintex-7k325 muestran un uso de 147 slices a una frecuencia de operacin de 186.644MHz. El resumen de los reportes de la implementacin se muestra a continuacin. Nmero de Slice Registers: Nmero de Slice LUTs: Nmero usado como Logic: Nmero usado como Memory: 147 de 407600 0% 677 de 203800 0% 669 de 203800 0% 8 de 64000 0% 680

Nmero de LUT Flip Flop pairs usados:

Nmero de IOs: 27 Nmero de Block RAM/FIFO: 3 de 445 0% Nmero de DSP48E1s: 10 de 840 1% Perodo del reloj: 5.358ns (Frecuencia: 186.644MHz) Como se observa los principales recursos del Sistema para la implementacin hardware se compone de 8 bloques de memoria, 680 flip flop, 27 puertos, 3 bloques de memoria RAM, 10 DSP y la frecuencia de operacin de 186.644 Mhz. Este trabajo es beneficiado y es parte de los proyectos PROMEP denominados UNISTMO-PTC056 y UNISTMO-CA-9. 6. Conclusiones Las RNA son eficaces para el reconocimiento y clasificacin de objetos, mostrndose en este trabajo el desarrollo de un modelo de Backpropagation e implementado en lgica reconfigurable. Al realizar la implementacin en FPGA se comprob la eficiencia de implementar la red en lgica reconfigurable, sin perder el nivel de paralelismo natural que la caracteriza. La herramienta System Generator es importante porque permite realizar modificaciones sin grandes problemas de diseo hardware y permite la evaluacin paso a paso para verificar el flujo correcto de los datos. Para trabajos grandes permite crear subsistemas que contienen a otros subsistemas y ello permite la interaccin ms visual para el desarrollo del sistema principal. A partir de este trabajo se pretende experimentar con nuevas redes para la clasificacin de objetos y hacer una comparacin de eficiencia entre varios modelos en FPGA. Tambin se desea ampliar la red neuronal para que funcione con una matriz de patrones y con una cantidad mayor de neuronas y pocas, ya que los experimentos realizados para una red pequea fueron satisfactorios. Este trabajo es parte de un proyecto ms grande en el que se utilizar el reconocimiento de objetos orientado al control de un brazo robtico.

Referencias

[1] Xabier Basogain Olabe. Redes neuronales artificiales y sus aplicaciones. Dpto. Ingeniera de Sistemas y Automtica. Escuela Superior de Ingeniera de Bilbao, EHU. Pg. 28-34. [2] Jos Manuel Marn de la Rosa. Field Programmable Gate Array. [3] Jaime Varela Rincn, Johan Eric Loaiza Pulgarn. Reconocimiento de palabras aisladas mediante rede neuronales sobre FPGA. [4] Jess Manuel Besada Juez, Miguel ngel Sanz Bobi. Reconocimiento visual de mltiples objetos sobre una superficie con redes neuronales y su clasificacin mediante un brazo robot. Universidad Pontificia Comillas. [5] Diana Lucia Clavijo Rodrguez, Marcelo Bernal Valencia, John Freddy Silva. Sistema inteligente de reconocimiento de enfermedad coronaria (isquemia). Universidad de Manizales - Facultad de Medicina. Diciembre de 2006.

You might also like