Services on Demand
Journal
Article
Indicators
-
Cited by SciELO
-
Access statistics
Related links
-
Similars in SciELO
uBio
Share
Universidad, Ciencia y Tecnología
Print version ISSN 1316-4821On-line version ISSN 2542-3401
uct vol.13 no.51 Puerto Ordaz June 2009
APLICACIÓN DE LAS REDES NEURONALES ARTIFICIALES EN PROCESADORES DIGITALES DE SEÑALES: CARACTERIZACIÓN DE SENSORES INFRARROJOS
Zambrano Escobar, Alejandro Pinto Mindiola, Lácides
Los autores del presente artículo desempeñan sus actividades en el Centro de Investigación de las Redes Neuronales Artificiales y la Robótica en la Universidad Nacional Experimental Politécnica Antonio José de Sucre, UNEXPO, Vicerrectorado Puerto Ordaz, final Calle China, Urbanización Villa Asia.
El Diplomado en Tecnología de las Telecomunicaciones Alejandro Rafael Zambrano Escobar es Investigador, correo electrónico alejandro.zambrano@gmail.com.
El MSc. Lácides Rafael Pinto Mindiola es Director del mencionado Centro, correo electrónico lacidesrafael@yahoo.com.
Resumen:
En este trabajo se propone un método para la caracterización de la respuesta no lineal de un sensor infrarrojo utilizado en la medición de distancias sensor - objeto, mediante un modelo de red neuronal artificial con entrenamiento supervisado. El modelo neuronal es desarrollado y entrenado empleando la herramienta de redes neuronales (NNT: Neural Networks Toolbox®) de MATLAB, y luego implantado vía lenguaje C, en un Procesador Digital de Señales (DSP), para su posterior aplicación en sistemas embebidos de adquisición de señales. Se comparan tres algoritmos de entrenamiento para verificar la factibilidad de una futura implementación de entrenamiento en línea. El algoritmo Levenberg Marquardt backpropagation ha permitido obtener los mejores resultados en el modelado de la curva característica del sensor, al obtener a través de su aplicación, un error en el aprendizaje de los datos de entrenamiento de 6x10-5, en el menor número de épocas de entrenamiento registrado comparado con los métodos Resilient backpropagation y quasi Newton backpropagation. Los resultados del modelo y la implementación confirman un desempeño satisfactorio del método aplicado, que puede ser extendido a la caracterización de otro tipo de sensores.
Palabras Clave: Sensor Infrarrojo/ Respuesta No Lineal/ Red Neuronal Artificial/ Backpropagation/ Procesador Digital de Señales.
ARTIFICIAL NEURAL NETWORKS APLICATION ON DIGITAL SIGNAL PROCCESORS: INFRARED SENSORS CHARACTERIZATION
Abstract:
This paper proposes a method for the characterization of the nonlinear response of an infrared sensor used in measuring distances, through an Artificial Neural Network model with supervised training. The neural network model is developed using the neural networks tools (NNT: Neural Networks Toolbox ®) of MATLAB , and then implemented via C language, in a Digital Signal Processor (DSP) for further application in embedded systems. We compare three training algorithms to verify the feasibility of future implementation of online training. Levenberg - Marquardt backpropagation algorithm has yielded the best results in modeling the sensor characteristic curve, getting through in this application, the lowest error in learning, in the lowest number of training times recorded compared with the other methods: Resilient backpropagation and quasi-Newton backpropagation Model results and implementation confirm a satisfactory performance of the method used, which can be extended to the characterization of other sensors.
Keywords: Infrared Sensor/ Nonlinear Response/ Artificial Neural Network/ Backpropagation/ Digital Signal Processor.
Manuscrito finalizado en Ciudad Guayana, Venezuela, el 2008/05/31, recibido el 2008/06/20, en su forma final (aceptado) el 2009/02/05.
I. INTRODUCCIÓN
Un sensor es un dispositivo capaz de transformar magnitudes físicas o químicas llamadas variables de instrumentación, en magnitudes eléctricas. Las variables de instrumentación dependen del tipo de sensor y pueden ser por ejemplo, temperatura, intensidad lumínica, distancia, velocidad, aceleración, inclinación, desplazamiento, presión, fuerza, torsión, humedad, pH, entre otras. Una magnitud eléctrica obtenida puede ser una tensión eléctrica, una corriente eléctrica [1]. En muchos casos, estas magnitudes eléctricas y sus correspondientes variables de instrumentación están relacionadas mediante una función no lineal, por lo que se precisan métodos, algoritmos ó circuitos que permitan hacer frente a este problema, ya que para el óptimo procesamiento de las magnitudes físicas o químicas es de vital importancia reducir la incertidumbre de la medición.
Este trabajo propone un método para caracterizar la respuesta no lineal del sensor infrarrojo SHARP® GP2Y0A021, mediante la implantación de un modelo de red neuronal artificial con entrenamiento supervisado fuera de línea, sobre un DSP.
Las redes neuronales artificiales son un paradigma de procesamiento inspirado en la forma en que funciona el sistema nervioso de los humanos, y caracterizado por su capacidad de generalización, robustez y tolerancia a fallas. Las redes neuronales artificiales son redes interconectadas, que operan en paralelo mediante procesadores simples (usualmente adaptativos) y con organización jerárquica que intentan interactuar con los objetos del mundo real, del mismo modo que lo hace el sistema nervioso central [2]. Las redes neuronales responden a un modelo biológico de interconexión entre elementos de procesamiento denominados neuronas artificiales. El aprendizaje en los seres vivos, en particular los animales, se realiza por ensayo y error, mediante ejemplos o demostraciones. Las redes neuronales biológicas ajustan dinámicamente parámetros internos (pesos y tendencias) que rigen la representación de la información o conocimiento, adoptando la capacidad de generalizar respuestas ante eventos nunca antes suscitados. De manera análoga, se representan estos procesos, mediante algoritmos o circuitos electrónicos.
El modelo neuronal es implantado en un DSP Microchip® dsPIC 30F3013, aprovechando la versatilidad y velocidad de procesamiento del dispositivo. El entrenamiento de la red se realiza fuera de línea, por lo que el costo computacional se reduce drásticamente, dando cabida a implementaciones perfectamente válidas en arquitecturas de menores recursos de cómputo. El modelo de red ha sido validado en MATLAB, en cuyo ambiente se han obtenido los resultados experimentales que confirman el desempeño óptimo de la aplicación.
II. DESARROLLO
1.- Sensor infrarrojo Un sensor infrarrojo es un dispositivo electrónico capaz de medir la radiación electromagnética infrarroja de los cuerpos presentes en su campo de visión. Todos los cuerpos reflejan una cierta cantidad de radiación que resulta invisible ante los ojos, pero no para estos dispositivos. Esto se debe a que la radiación infrarroja se encuentra en un rango del espectro electromagnético justo por debajo de la luz visible [3]. Este tipo de sensores pueden ser clasificados en pasivos, en el caso de que estén provistos únicamente de receptores infrarrojos, o activos, en el caso de estar conformados por pares emisorreceptor. Esta investigación propone el diseño de un método de caracterización de la respuesta no lineal de un sensor activo, modelo SHARP® GP2Y0A021, debido a que el dispositivo se basa en la combinación de un LED infrarrojo y un lente concentrador que forma un rayo único, como emisor, y un fototransistor acoplado a otro lente, como receptor. Los rayos infrarrojos emitidos por el LED infrarrojo son reflejados por los objetos que se encuentran en línea vista frente al emisor, con un ángulo de reflexión agudo que va disminuyendo a medida que dichos objetos se alejan del sensor y finalmente son captados por el receptor. El fototransistor ha sido construido con un material piroeléctrico, artificial, normalmente formando una lámina delgada dentro de nitrato de Galio (GaN), ó nitrato de Cesio (CsNO3), derivados de la fenilpirazina y ftalocianina de Cobalto, elementos con los que usualmente se construyen estos dispositivos. Generalmente, están integrados en diversas configuraciones (1,2,4 píxeles de material piroeléctrico). En el caso de parejas, se acostumbra a dar polaridades opuestas para trabajar con un amplificador diferencial, provocando la autocancelación de los incrementos de energía del rayo infrarrojo y el desacoplamiento del equipo. En la Figura 1, se muestra el modelo de sensor infrarrojo y la trayectoria descrita por el rayo infrarrojo emitido en presencia de dos obstáculos a diferentes distancias [4]:
La relación entre la tensión de salida del sensor y la distancia medida es representada mediante una función no lineal, descrita en [5] mediante la Figura 2:
2.- Arquitectura de la red neuronal
La tecnología de las redes neuronales ha sido ampliamente utilizada en problemas de generalización o aproximación de funciones de complejidad arbitraria, por lo que el diseño propuesto se vale de esta característica para
representar la respuesta no lineal del sensor infrarrojo, basado en un conjunto de valores distancia tensión eléctrica, para el entrenamiento de una red neuronal multicapa, mediante un algoritmo backpropagation con tres variantes diferentes. La neurona típica del modelo de red neuronal propuesto obedece a la siguiente relación, que expresa la salida del elemento de procesamiento i-ésimo:
El modelo seleccionado es el de una red neuronal multicapa con algoritmo de entrenamiento Backpropagation Levenberg- Marquardt [6]. La arquitectura de la red se muestra en la Figura 3.
Este modelo responde a la siguiente arquitectura de red: un vector de entradas, que almacena las señales de tensión provenientes del sensor infrarrojo; seis neuronas en la primera capa o capa oculta, cuyos parámetros almacenan el conocimiento producto de la fase de entrenamiento, y una neurona en la segunda capa o capa de salida, que emite el valor correspondiente a la distancia medida. La función de transferencia de las neuronas de la primera capa es de tipo sigmoidal asimétrica, y la función de transferencia de la neurona de la capa de salida es de tipo lineal. Para l entradas, la expresión de la entrada neta de la j-ésima neurona presente en la primera capa es [7]:
3.- Caracterización del sensor
En sentido estricto, se ha logrado caracterizar la respuesta no lineal de otros tipos de sensores: de temperatura [8], resonadores para aumento de su rango de respuesta dinámica [9]. Análogamente, las redes neuronales artificiales han sido utilizadas en el análisis en tiempo real de data suministrada por arreglos de sensores químicos [10], y en la integración de tecnologías de sensores inteligentes con aplicación en la industria aérea [11]. Resalta ampliamente [12], por tratarse de un método de caracterización de un sensor infrarrojo para mapeo en dos dimensiones, sin aplicación de redes neuronales. Sin embargo, no se ha considerado la implementación en arquitecturas embebidas de los algoritmos propuestos, ni la comparación entre distintos algoritmos de entrenamiento en el caso de los trabajos que implementan la tecnología de redes neuronales, con el objeto de identificar aquel cuyo costo computacional sea el más adecuado, para su implantación en las mencionadas arquitecturas. Debido a que la respuesta del sensor infrarrojo es no lineal, una red neuronal artificial es empleada para que, mediante un conjunto de patrones distancia - tensión, se logre obtener un modelo con una base de conocimiento tal, que permita generalizar la curva característica del sensor y, ante valores de tensión nunca antes conocidos por el sistema, pueda asignar un valor de distancia en concordancia con los patrones presentados en la fase de entrenamiento de la red. En la Tabla I se muestran 10 de los 21 patrones de entrenamiento empleados en el proceso de aprendizaje de la red neuronal propuesta.
El modelo fue diseñado y ejecutado empleando la Neural Networks Toolbox® (NNT) de MATLAB. La Tabla II muestra parte de las funciones utilizadas para la realización del modelo.
4.- Implementación en el DSP
El DSP empleado en la aplicación, es el dsPIC 30F3013, fabricado por la compañía Arizona Microchip®. La velocidad máxima de procesamiento es de 30 millones de instrucciones por segundo, ideal para aplicaciones embebidas de alto costo computacional. Dispone de funciones vía hardware para efectuar operaciones aritméticas con signo y multiplicación. Adicionalmente, la resolución del conversor análogo digital presente en este DSP es de 12 bits, con una velocidad máxima de muestreo de 200 ksps [13]. Estas características lo hacen propicio para la implementación de aplicaciones, de procesamiento de señales provenientes de sensores. El entorno de desarrollo empleado para elaborar el código de la red neuronal es MikroC_dsPIC®, diseñado por la compañía mikroElektronika. La codificación de la red es realizada una vez que se obtienen los parámetros en la NNT. A pesar que las redes neuronales, en general, precisan de una arquitectura de procesamiento en paralelo para su funcionamiento, es posible modelar mediante software dicho comportamiento en arquitecturas computacionales de procesamiento secuencial. Tal es el caso del DSP seleccionado para la implementación propuesta.
El diagrama en bloques de las partes que conforman el hardware de la aplicación y su interrelación con el modelo de red neuronal propuesto, se ilustra en la Figura 5. El sensor infrarrojo es conectado a través de su línea de salida analógica, al DSP. El software del procesador emplea el módulo conversor análogo digital para convertir la señal analógica emitida por el sensor a un formato digital para su posterior procesamiento mediante la red neuronal artificial. Este valor captado es presentado como entrada a la red, que debe finalmente arrojar en su salida la distancia correspondiente al valor de tensión suministrado por el sensor. A modo de prueba, los valores de la distancia medida se pueden apreciar en una pantalla de cristal líquido (LCD) conectada en uno de los puertos del DSP. La distancia resultante puede, en cualquier caso, ser utilizada para aplicaciones varias. En [14] por ejemplo, se utiliza este tipo de sensores para la detección de obstáculos alrededor de un robot móvil. Figura 5. Diagrama en bloques de la aplicación
5. Resultados y discusión
A continuación se presentan los resultados obtenidos del entrenamiento y simulación del modelo de red neuronal en la NNT de MATLAB, bajo tres paradigmas de entrenamiento distintos. Se emplea el algoritmo Resilient Backpropagation (trainrp) para entrenar la red, con el objeto de ajustar la matriz de los pesos y los vectores de las tendencias asociadas a cada capa de la red neuronal, para luego, cuantificar la magnitud del error entre el conjunto de entrenamiento y la aproximación que realiza la red; asimismo, se obtiene el número de iteraciones en las cuales la red neuronal alcanza su meta y converge a la cota de error global establecida, en este caso 6x10-5 para la aproximación de los pares de entrenamiento. Análogamente, se realiza el mismo análisis empleando los algoritmos de entrenamiento quasi-Newton Backpropagation (trainbfg) y Levenberg-Marquardt Backpropagation (trainlm).
Las Figuras 6, 7 y 8 muestran el error y el número de iteraciones del entrenamiento relativas a los algoritmos trainrp, trainbfg y trainlm, respectivamente:
Se aprecia claramente en la Figura 6, que el algoritmo Resilient Backpropagation no converge para un límite máximo de iteraciones establecidas (5000). Debido a que el entrenamiento no se realiza con el software cargado en el DSP, se pueden seleccionar los parámetros ajustados por alguno de los dos últimos métodos expuestos anteriormente. El análisis de los resultados obtenidos por las tres vías anteriores, ha sido realizado para comprobar la factibilidad de implantar entrenamiento en línea en el software cargado al DSP, por lo que el algoritmo Levenberg Marquardt Backpropagation ofrece en este caso, las mejores prestaciones en cuanto a rapidez de entrenamiento, debido a que requirió menor número de iteraciones para alcanzar la misma meta y cota de error establecida. La figura 9 muestra la respuesta aproximada por la red neuronal, luego de haber sido entrenada con el algoritmo Levenberg - Marquardt Backpropagation:
III. CONCLUSIONES
1. El modelo de red neuronal es capaz de generalizar la respuesta del sensor infrarrojo activo.
2. El algoritmo de entrenamiento Levenberg Marquardt es superior en cuanto a desempeño en la caracterización del sensor infrarrojo, frente a los algoritmos Resilient y quasi Newton.
3. El error absoluto de la distancia calculada por la red neuronal puede ser reducido incrementando el número de pares de entrenamiento empleados en la etapa de aprendizaje de la red.
4. El modelo propuesto no representa un modelo que sacrifica recursos computacionales, debido a que el entrenamiento es realizado fuera de línea.
5. Se demuestra que es factible implementar un algoritmo de entrenamiento online en el DSP, para aplicaciones en las que deba caracterizarse la respuesta de algún sensor en tiempo real.
6. El diseño puede ser adaptado para representar la respuesta, lineal y no lineal, de cualquier sensor, siempre y cuando las tensiones a la salida del sensor/transductor sean acondicionadas para su procesamiento por el DSP.
7. Se esperan resultados similares si se implanta el diseño en microcontroladores de menores recursos computacionales.
IV. REFERENCIAS
1) Espectro Electromagnético. Wikipedia, La enciclopedia libre. Artículo on-line. Disponible en: http://es.wikipedia.org/wiki [Consulta: 05/04/2008]. [ Links ]
2) Troncone N. Introducción a las Redes Neurales. UNEXPO Vicerrectorado Puerto Ordaz. Puerto Ordaz, Venezuela. Diciembre, 2002. pp 10-50. [ Links ]
3) Sensores Infrarrojos. Wikipedia, La enciclopedia libre. Artículo on-line. Disponible en: http://es.wikipedia.org/ wiki/Sensores_infrarrojos. [Consulta: 16/05/2008]. [ Links ]
4) Sensor óptico. Universidad de las Américas Puebla. Artículo on-line. Disponible en:catarina.udlap.mx/ u_dl_a/tales//documentos/lem/sandre_c_g/capitulo5.pdf. [Consulta: 10/04/2008]. pp 1-7.
5) SHARP Corporation. GP2Y0A21YK0F Datasheet. Sheet No.: E4-A00201EN. Diciembre, 2006. pp 1-10. [ Links ]
6) The Mathworks Inc., MATLAB 7.0. Neural Networks Toolbox. Help Notes. May, 2006. [ Links ]
7) Estructura Backpropagation. Facultad de Ingeniería Eléctrica, Universidad Tecnológica de Pereira. Artículo on-line. Disponible en: http://ohm.utp.edu.co/ neuronales/main2.htm. [Consulta: 10/02/2008]. [ Links ]
8) Vera A, et al. Red Neuronal para Caracterización de un Sensor de Temperatura No Lineal. Universidad de Sonora. México, 2004. pp 1-4. [ Links ]
9) Kacem N, et al. From MEMS to NEMS: Modelling and characterization of the non linear dynamics of resonators, a way to enhance the dynamic range. 8th. World Congress on Computational Mechanics (WCCM8). Italia, 2008. pp 1-2. [ Links ]
10) Hashem S, et al. Neural Network Based Analysis for Chemical Sensor Array. Aero Sense 1995 Conference. Estados Unidos de América, 1995. pp 1-10. [ Links ]
11) Bar-Cohen Y, et al. Smart Sensor System for NDE of Corrosion in Aiging Aircraft. ASNT '98 Spring Conference, Joint with 9th Asia-Pacific Conference on NDT, and 7th Annual Research Symposium, Aging Aircraft Track, Anaheim, CA, 1998. pp 1-3. [ Links ]
12) Alwan M, et al. Characterization Of Infrared Range- Finder PBS-03JN for 2-D Mapping. National Science Foundation Award Research. Estados Unidos de América, 2004. pp 1-6. [ Links ]
13) Microchip Technology Inc. dsPIC30F2011/ 2012/3012/3013 Data Sheet. DS70139E. 2006. [ Links ]
14) SENSORS - SHARP IR RANGE FINDER. Society of Robots. Artículo on-line. Disponible en: http://www.societyofrobots.com/ sensors_sharpirrange.shtml. [Consulta: 18/04/2008]. 136 [ Links ]