SIMPOSIO DE TRATAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL 2016 MEMORIAS EN ESPAÑOL
SIMPOSIO DE PROCESAMIENTO DE SEÑALES, IMÁGENES Y VISIÓN ARTIFICIAL 2016 EDITORES Luis Ángel Silva, Jhon Jairo Padilla. UNIVERSIDAD PONTIFICIA BOLIVARIANA, SECCIONAL BUCARAMANGA
COMITÉ ORGANIZADOR
Raúl Restrepo, MSc, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Miguel Altuve, PhD, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Luis Ángel Silva, PhD, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Hernán Benítez, PhD, IEEE SPS, Pontificia Universidad Javeriana, Bogotá, Colombia Claudia Rueda, MSc, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Jhon Jairo Padilla, PhD, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Omar Pinzon, PhD, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Cesar Aceros, MSc, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Juan Carlos Mantilla, Esp, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Cesar Aceros, MSc, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Sergio Salinas, MSc, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Rubbermaid Laverde, MSc student, Universidad Pontificia Bolivariana, Bucaramanga, Colombia
JEFES DE AREAS TEMÁTICAS Video Processing: motion estimation, activities and surveillance Hernán Darío Benítez, PhD Pontificia Universidad Javeriana, Cali, Colombia. Biomedical Signal and Image Processing Rubén Medina, PhD Universidad de Los Andes, Venezuela DSP-and FPGA-based Applications Sebastian Hoyos, PhD Texas A&M University, College Station, USA. Computer Vision: 3D reconstruction and recognition Flavio Augusto Prieto, PhD Universidad Nacional de Colombia, Bogotá, Colombia. Image and multi-Dimensional Signal Processing Henry Arguello, PhD Universidad Industrial Santander, Bucaramanga, Colombia. Signals, Images and Computer Vision Education Pedro Vizcaya, PhD Pontificia Universidad Javeriana, Bogotá, Colombia. Machine Learning and Pattern Recognition Carol Viviana Martínez, PhD Pontificia Universidad Javeriana, Bogotá, Colombia. Signal Processing Techniques and Applications José Luis Paredes, PhD Universidad de los Andes, Venezuela Voice, Audio and Multimedia Processing Juan Rafael Orozco Arroyave, PhD Universidad de Antioquia, Medellín, Colombia.
COMITÉ CIENTÍFICO Alex Monclou, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Alexander Cerón, Universidad Militar Nueva Granada, Bogotá, Colombia Alexander López Parrado, Universidad del Quindío, Quindío, Colombia Ana Ramírez, Universidad Industrial de Santander, Bucaramanga, Colombia Andrés Marrugo, Universidad Tecnológica de Bolívar, Cartagena, Colombia Andrés Castro Ospina, Instituto Tecnológico Metropolitano – ITM, Medellín, Colombia Andrés Restrepo Girón, Universidad del Valle, Cali, Colombia Antonio Bravo, Universidad Nacional Experimental del Táchira, San Cristóbal, Venezuela Blanca Guillen, Universidad Nacional Experimental del Táchira, San Cristóbal, Venezuela Carlos Peña, Instituto Nacional de Vias – INVIAS, Bogotá, Colombia Carlos Velásquez Hernández, Universidad Nacional de Colombia, Bogotá, Colombia Carlos Villie Morocho, Universidad de Cuenca, Cuenca, Ecuador Carol Martínez, Pontificia Universidad Javeriana, Bogotá, Colombia Cesar Aceros Moreno, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Claudia Rueda, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Daniel Hernando Gómez Gómez, Universidad Nacional de Colombia, Bogotá, Colombia David Rojas, Universidad de Toronto, Toronto, Canadá David Ojeda, Mensia Technologies, Paris, France Diego Tibaduiza Burgos, Universidad Santo Tomás, Bucaramanga, Colombia Edgar Sierra, Universidad Nacional de Colombia, Bogotá, Colombia Elkin García, Synaptics, California, USA Enrique Carrera, Universidad de las Fuerzas Armadas ESPE, Sangolquí, Ecuador Erika Severeyn, Universidad Simón Bolívar, Caracas, Venezuela Eval Bacca, Universidad el Valle, Cali, Colombia Fabián Benítez Quiroz, Ohio State University, Ohio, USA Fabián Narváez, Universidad Nacional de Colombia, Bogotá, Colombia Flavio Prieto, Universidad Nacional de Colombia, Bogotá, Colombia Francisco Vargas, Universidad de Antioquia, Medellín, Colombia Francisco Calderón, Pontificia Universidad Javeriana, Bogotá, Colombia Gerardo Sarria, Pontificia Universidad Javeriana, Bogotá, Colombia Gianfranco Passariello, Universidad Simón Bolívar, Caracas, Venezuela Gilberto Perpiñan, Universidad Simón Bolívar, Caracas, Venezuela Henry Arguello Universidad Industrial de Santander, Bucaramanga, Colombia Henry Carrillo, Universidad Sergio Arboleda, Bogotá, Colombia
Hernán Benítez, Pontificia Universidad Javeriana, Bogotá, Colombia Hernán García, Universidad Tecnológica de Pereira, Pereira, Colombia Iván Cabezas, Universidad San Buenaventura, Cali, Colombia Jairo Viola, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Jairo Alberto Hurtado Londoño, Pontificia Universidad Javeriana, Bogotá, Colombia Jhon Padilla, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Jonathan Avendaño, Universidad ECCI, Bogotá, Colombia José Vega Riveros, Universidad de Puerto Rico-Mayagüez, Mayagüez, Puerto Rico Juan Orozco, Universidad de Antioquia/ Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany Juan Pulgarín Giraldo, Universidad Nacional de Colombia, Bogotá, Colombia Juan Mantilla, Laboratoire Traitement du Signal et de l’Image, Rennes, France Juan Ospina, Laboratoire Traitement du Signal et de l’Image, Rennes, France Julián Betancur, Cedars Sinai Medical Center, Los Angeles, USA Luis Ángel, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Luis Espinosa Moreno, Universidad Nacional de Colombia, Bogotá, Colombia Luis Omar Sarmiento Álvarez, Unidades Tecnológicas de Santander, Bucaramanga, Colombia María Ximena Bastidas Rodríguez, Universidad Nacional de Colombia, Bogotá, Colombia Miguel Altuve, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Miguel Vera, Universidad de los Andes, San Cristóbal, Venezuela Miguel Vélez, University of Texas at El Paso, El Paso, USA Miguel Castro, Laboratoire Traitement du Signal et de l’Image, Rennes, France Milton Sarria, INRS-EMT, Montreal, Canada Omar Pinzón Ardila, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Paula Ramos, Cenicafé, Chinchiná, Colombia Pedro Vizcaya, Pontificia Universidad Javeriana, Bogotá, Colombia Rafael Banchs, Institute for Infocomm Research, Fusionopolis, Singapore Rafael Carillo, EPFL, Lausanne, Switzerland Richard Rios, Universidad Nacional de Colombia, Bogotá, Colombia Rubén Medina, Universidad de Cuenca, Cuenca, Ecuador Said Pertuz, Universidad Industrial de Santander, Bucaramanga, Colombia Sandra Nope, Universidad del Valle, Cali, Colombia Sara Wong, Universidad Simón Bolivar, Caracas, Venezuela Sergio García Vega, Universidad Nacional de Colombia, Bogotá, Colombia Sergio Salinas, Universidad Pontificia Bolivariana, Bucaramanga, Colombia Winston Percybrooks, Universidad del Norte, Barranquilla, Colombia Yesenia Lacouture, HUAWEI’s European Research Center, Munich, Germany
TABLA DE CONTENIDO
Algoritmo de navegación de un robot Lego NXT basado en descomposición de celdas y técnicas de visión artificial Bryan García, Universidad del Valle Hermes Tenorio, Universidad del Valle Eval Bacca, Universidad del Valle Comparative analysis of distances between histograms Manuel Forero, Universidad de Ibagué Carlos Arias, Universidad de Ibagué Brigete González, Universidad de Ibagué Robot autónomo guiado por señales de tránsito reconocidas con procesamiento de imágenes Jorge Sinisterra, Universidad Santiago de Cali Yana Saint-Priest, Universidad Santiago de Cali Katherine Ruiz, Universidad Santiago de Cali Implementación de filtros para el mejoramiento de imágenes en Raspberry pi. Claudia Rueda, Universidad Pontificia Bolivariana Daniel Montero, Universidad Pontificia Bolivariana Javier Bautista, Universidad Pontificia Bolivariana Análisis motriz en las extremidades inferiores para el monitoreo del estado neurológico de pacientes con enfermedad de Parkinson Paula Pérez, University of Antioquia Juan Vasquez-Correa, University of Antioquia Juan Orozco, Universidad de Antioquia/Friedrich-Alexander-Universität Erlangen-Nürnberg
Diseño Del Sistema De Telemetría Del Monoplaza Fso2e Para El Proyecto Fórmula Sena Eco Forssa Oriente -Prototipo Para El Laboratorio De Telecomunicaciones De La Universidad Pontificia Bolivariana Seccional Bucaramanga Alex Monclou, UPB Bucaramanga Cindy Quintero, UPB Bucaramanga Automatic Brain Tumor Segmentation in Magnetic Resonance Images Using Graph Cuts Jonnatan Arias García, Universidad del Quindío Hernán Felipe García, Universidad Tecnológica de Pereira Un Método de Segmentación de Nódulos Pulmonares en Imágenes de Tomografía Computarizada basado en la Localización Automática de un Umbral Pedro Romero, Universidad del Magdalena Idanis Beatriz Díaz, Universidad del Magdalena Germán Sanchez, Universidad del Magdalena
Sistema de telemonitoreo de niveles de glucosa en pacientes con diabetes mellitus tipo 2 Iván Prada Ramirez, Universidad Pontificia Bolivariana Julian Leonardo Gómez , Universidad Pontificia Bolivariana Sergio Alexander Salinas, Universidad Pontificia Bolivariana Miguel Alfonso Altuve, Universidad Pontificia Bolivariana Clasificación automatica de 5 tipos de setas usando Bag of Words y Saliency maps Luis Salazar Zapata, Universidad Nacional de Colombia Diego Patiño, Universidad Nacional de Colombia John W. Branch Bedoya, Universidad Nacional de Colombia
MEMORIAS EN WEB FACULTAD DE INGENIERÍA ELECTRÓNICA, UNIVERSIDAD PONTIFICIA BOLIVARIANA, SECCIONAL BUCARAMANGA. UNIVERSIDAD PONTIFICIA BOLIVARIANA SECCIONAL BUCARAMANGA CAMPUS UNIVERSITARIO, KM. 7 VÍA PIEDECUESTA ESCUELA DE INGENIERÍAS FACULTAD DE INGENIERÍA ELECTRÓNICA EDIFICIO K OFICINA 403 TELÉFONO: 6796220 EXTS. 437 – 438 FLORIDABLANCA, SANTANDER COLOMBIA
Algoritmo de navegación de un robot Lego NXT basado en descomposición de celdas y técnicas de visión artificial Bryan García, Hermes A. Tenorio T Universidad del Valle
Eval Bladimir Bacca C. PhD Universidad del Valle
[email protected],
[email protected]
[email protected]
Resumen
hardware de bajo costo[5], como lo es el LEGO Mindstorm NTX [6].
El incremento en el desarrollo de aplicaciones robóticas hace necesario la creación de herramientas que faciliten la apropiación del conocimiento de los conceptos básicos para ésta tecnología. En éste artículo se realiza la descripción y resultados de la implementación de un algoritmo para la planeación y navegación, basada en descomposición de celdas, en un Robot Lego NXT. Usando Hardware de bajo costo y técnicas de procesamiento digital en imágenes, como lo son las operaciones morfológicas y transformaciones entre espacios de color, se crea una herramienta educativa para la apropiación del conocimiento de conceptos en visión artificial, planeación y navegación en robótica móvil. Finalmente, de la ejecución del algoritmo en 30 mapas con diferentes configuraciones de obstáculos, se obtuvo un acierto del 90% en la planeación de recorridos sin colisiones, y con un error de posición final del robot de ±5cm.
El metodo usado para la adquisición de las imágenes del entorno donde se desplazó el robot y el pre-procesamiento de éstas se define en 2.1, por otro lado, los procedimientos para la estimación del mapa del entorno, ubicación del robot y su dirección son tratados en el literal 2.2. Temas como la elección de la ruta de navegación y su recorrido son tratados en los literales 2.3 y 2.4 respectivamente. Finalmente se presentan los resultados de la implementación del algoritmo en 2.5
2. Metodología En la Figura 1 se muestra el diagrama de las diferentes etapas que conforman el algoritmo implementado. Para obtener la ruta que el robot debe seguir desde una posición inicial a una posición seleccionada, el algoritmo desarrollado tiene una etapa que almacena las imágenes del medio donde se moverá el robot, éstas son enviadas por comunicación IP y son procesadas en el computador, luego se procede a calcular la ruta a seguir y finalmente se envían los comandos al robot LEGO NXT, para que ejecute los movimientos respectivos y así seguir el plan de movilidad.
1. Introducción Los avances tecnológicos han desarrollado aplicaciones en robótica que día a día interactúan con las actividades de la vida humana, por lo tanto es necesario crear algoritmos que puedan ser implementados en hardware de bajo costo, esto con el objetivo de tener herramientas educativas que ofrezcan un acercamiento al conocimiento en robótica [1], y permita crear nuevas líneas de investigación. Se han desarrollado diferentes algoritmos educativos para enseñar conceptos de control [2], aplicados en brazos robóticos con 5 grados de libertad y controles de fluido. Por otro lado, conceptos de planeación, mapeo, control de movimiento e imágenes de profundidad son desarrollados mediante el uso de robots “bomberos” [3].
Figura 1. Diagrama del sistema desarrollado
Uno de los problemas comunes en robótica móvil es proveer al robot, sin importar su estructura motora, una ruta mediante la cual pueda desplazarse de manera eficiente y segura para llegar a su objetivo. El uso de algoritmos como el de descomposición de celdas es una propuesta para la detección de obstáculos en un ambiente[4], el cual ofrece un método implementable en
2.1 Adquisición y pre-procesamiento de imágenes La cámara usada para la adquisición de la imagen, del medio donde se desplazó el robot, tiene una resolución de 5MP y se encuentra en un celular Smartphone. La ubicación de ésta fué a 2.3m encima de la zona de desplazamiento del robot. El procesamiento se realizó 1
desde un computador que adquiere la imagen utilizando comunicación IP con el Smartphone. El espacio de trabajo para el desplazamiento del robot es representado mediante el color blanco, mientras que los obstáculos tendrán color negro o serán materiales de colores contrastantes con el suelo de color blanco.
2.2 Estimación del mapa, posición y orientación del robot móvil Una vez establecido el medio, donde se desarrolla la prueba del algoritmo, se procede a capturar una primera imagen del mapa sin el robot ubicado en él (Figura 2), y luego otra imagen con el robot en su posición de partida (Figura 4). De la primera imagen del entorno, donde interactúa el robot, se obtiene la zona donde no podrá desplazarse, y con la segunda se calcula la posición inicial del robot y la dirección hacia donde apunta el frente de su estructura.
Figura 3. Binarización y dilatación del mapa adquirido
Una vez adquirida la imagen del mapa, con zonas seguras, se procede a ubicar el robot, el cual posee dos círculos en su parte superior. El círculo verde corresponde al centro del robot, en cambio, el rojo permitirá calcular la dirección de este. Para obtener la información mencionada se usa la imagen de componentes verdes en la matriz “rgb” capturada desde la cámara, y mediante la transformada de Hough[9] se ubican los círculos y sus correspondientes centros en la imagen (Figura 4). Dado que el color verde posee en la imagen valores más cercanos a 255 se puede diferenciar entre la coordenada del centro del robot y la correspondiente a la dirección (círculo rojo).
Figura 2. Mapa adquirido desde la cámara en la parte superior
Al tener la imagen del mapa se procede a convertirla en una imagen en escala de grises y finalmente binarizarla, donde los pixeles con valor superior a 64 son tomados como uno en la nueva imagen, esto para obtener una ubicación de los obstáculos, recurriendo al contraste con el suelo; sin embargo para establecer una zona segura es necesario usar la operación morfológica de dilatación de imágenes binarias, para convertir los obstáculos en C-objetos, y así adquirir un mapa con zonas completamente seguras por las cuales el robot podrá moverse (Figura 4).
Figura 4. Detección de círculos mediante la transformada de Hough
Luego de tener la ubicación y dirección del robot se escoge un punto en el mapa donde éste deberá llegar (Figura 5).
2
Para determinar qué ruta de las permitidas se escoge, se comparan los pesos de cada una, los cuales son asignados de acuerdo a la distancia que cada centro tiene respecto a la coordenada de llegada del robot. El centro que posea el peso menor (menor distancia a la coordenada objetivo) será el seleccionado para el siguiente paso. Cada vez que se escoge un nuevo punto desde donde se mueve el robot los pesos de los centros ya escogidos son cambiados por un valor infinito, para que el robot no los escoja nuevamente.
Figura 5. Selección del punto objetivo del robot
2.3 Estimación de la ruta de navegación Para determinar la zona que el robot puede emplear para su recorrido, se usa el algoritmo de Quadtrees [4], que realiza una descomposición de celdas de la imagen binarizada, y si encuentra que en cada una de las nuevas celdas hay la presencia de obstáculos realiza una nueva descomposición. Luego de tener la imagen segmentada por celdas se procede a etiquetar cada cuadrado como un objeto independiente con su coordenada central.
Figura 6. Ruta escogida por el software desarrollado para llegar al punto objetivo del robot
A partir de los centros de las celdas y la coordenada central del robot, se ubica la celda de posición inicial, y desde ésta se utiliza la distancia euclidiana (ecuación 1) para determinar los centros de celda más cercanos.
Al tener todos los centroides que corresponden a la ruta que debe recorrer el robot (Figura 6), para evadir los obstáculos, se almacenan en un arreglo que contiene los valores de las etiquetas que identifican a cada celda que se usará para el desplazamiento del robot. Finalmente, en otro arreglo, se convierten las etiquetas en coordenadas, usando los centros de éstas, y se agrega en la última posición el valor correspondiente a la coordenada de posición final.
(1) Cuando los centros cercanos son identificados, se trazan líneas rectas hacia ellos desde la posición donde se encuentra el robot, y se analizan los valores de los pixeles de las rectas, de la imagen binaria, si existe algún valor de cero en la línea quiere decir que esa ruta cruza por algún obstáculo y por ello es descartada (Figura 5 ).
2.4 Navegación de la ruta planteada El robot usado para la implementación del algoritmo es un robot en configuración diferencial, éste posee dos ruedas controladas individualmente y una rueda “loca” como tercer punto de apoyo. La traslación y rotación de este tipo de configuraciones se determina por el movimiento independiente en cada rueda. Las ecuaciones cinemáticas del punto medio de las ruedas activas, referenciadas a un sistema global son [7][8]:
(2) Figura 5. Cálculo de la trayectoria permitida más cercana
3
La comunicación entre el robot y la computadora se realiza mediante Bluetooth, usando el programa de procesamiento matemático Matlab R2013a y la librería RWTH orientada a NXT, la cual fue elaborada por el Institute of Imaging and Computer Vision de la universidad de Lehrstuhl [10]. A partir del script para la planeación de ruta se obtiene un arreglo que contiene todos los puntos encontrados para el recorrido, y los centroides de los círculos del robot. Con los centroides, se halla el ángulo del robot respecto al eje X y paso seguido se orienta el robot hacia el mismo eje coordenado. Para determinar el ángulo entre dos puntos del plano, primero se referencia el punto con respecto al eje coordenado del robot de la siguiente forma: (3) Donde y son puntos referentes a la posición del robot en la imagen, y son las coordenadas del punto al cual debe de avanzar el robot. Lo anterior se hace con el fin de convertir la imagen en un marco referencial, en el cual se tiene como origen el centro del robot. Figura 7. Configuraciones para la validación del algoritmo desarrollado
Una vez orientado se recorre la distancia necesaria para llegar al siguiente centroide, usando la distancia euclidiana, repitiendo esta acción en cada punto del recorrido, hasta llegar a la última coordenada en el arreglo.
Finalmente se desarrolló un algoritmo con fines educativos que facilita la comprensión de conceptos como lo son: el uso de operaciones morfológicas, transformación de espacio de color e identificación de círculos en imágenes RGB, usando la transformada de Hough. Por otro lado, la implementación en un hardware de bajo costo permite relacionar el aprendizaje de los conceptos con aplicaciones en campo.
Por medio de un patrón de color negro, sobre la imagen del mapa, se encontró que para la altura a la cual se ubicó la cámara que captura las imágenes, tiene una relación de 127 pixeles por cada metro en el mapa; ésta relación se usa para definir el valor de la distancia a recorrer. En cuanto a la rotación se tuvo en cuenta la función tacholimit de la librería, la cual permite mover las ruedas para ubicar el robot en el ángulo deseado.
3. Conclusiones La operación morfológica de dilatación en la imagen binaria es crucial para determinar las zonas seguras donde se desplaza el robot, dado que al aumentar en la imagen la región ocupada por los obstáculos se disminuye la posibilidad de colisión a causa de giros o espacios reducidos entre obstáculos. El algoritmo de descomposición de celdas permite definir una zona segura para desplazar el robot hacia un objetivo determinado. A diferencia de otros algoritmos de planeación de rutas, el algoritmo creado e implementado no requiere gran capacidad de procesamiento; por lo tanto es una buena opción para ser utilizado en un Lego NXT. La capacidad estructural y de procesamiento del hardware de bajo costo Lego NXT, permite la
El software instalado en el robot NXT recibe los anteriores comandos desde el script desarrollado en Matlab y ejecuta los respectivos movimientos mediante el ajuste de las velocidades en cada rueda.
2.5 Resultados La implementación del algoritmo para planeación de ruta mediante el método de quadtrees presentó un acierto del 90%, ofreciendo un recorrido seguro y sin colisiones para un total de 30 mapas con distintas configuraciones (Figura 7). Por otro lado la implementación en el robot Lego NXT dio como resultado un error de ±5cm de la coordenada final a donde el robot debe llegar.
4
implementación del algoritmo desarrollado para el seguimiento de una ruta segura en un entorno. El uso de hardware de bajo costo, en educación preuniversitaria, permite la apropiación de conocimiento de conceptos en robótica móvil, procesamiento de imágenes y técnicas de visión artificial mediante el diseño, ejecución e implementación de algoritmos como el presentado en este artículo.
Referencias [1] M. U. Bers, I. Ponte, K. Juelich, and J. Schenker, “Teachers as Designers : Integrating Robotics in Early Childhood Education,” Inf. Technol. Child. Educ. Annu., vol. 2002, pp. 123–145, 2002. [2] A. E. Kuzucuoglu and G. Erdemir, “Development of a WebBased Control and Robotic Applications Laboratory for Control Engineering Education,” vol. 40, no. 4, pp. 352– 358, 2011. [3] Z. Shuying, T. Wenjun, W. Shiguang, and G. Chongshuang, “Research on robotic education based on LEGO bricks,” Proc. - Int. Conf. Comput. Sci. Softw. Eng. CSSE 2008, vol. 5, pp. 733–736, 2008. [4] A. Yahja, A. Stentz, S. Singh, and B. L. L. B. L. Brumitt, “Framed-quadtree path planning for mobile robots operating in sparse environments,” IEEE Int. Conf. Robot. Autom. 1998., vol. 1, no. May, pp. 650 –655, 1998. [5] J. Vörös, “Low-cost implementation of distance maps for path planning using matrix quadtrees and octrees,” Robot. Comput. Integr. Manuf., vol. 17, no. 6, pp. 447–459, 2001. [6] J. F. M. Lee and J. A. Buitrago, “Map generation and localization for a LEGO NXT robot.” Automatic Control (CCAC), 2015 IEEE 2nd Colombian Conference on, Manizales, 2015, pp. 1-5. [7] J. I. Pérez Arreguín, S. Tovar Arriaga, U. G. Villaseñor Carrillo, E. Gorrostieta Hurtado, J. C. Ortega Pedraza, J. E. Vargas Soto, J. M. Ramos Arreguín, and A. Sotomayor Olmedo, “Robot Móvil de Tracción Diferencial con Plataforma de Control Modular para Investigación y Desarrollo Ágil de Proyectos,” 10 Congr. Nac. Mecatrónica, pp. 78–83, 2011. [8] V. Valencia, a Jonny, and O. Montoya, “Modelo cinemático de un robot móvil tipo diferencial y navegación a partir de la estimación odométrica.,” Scientia, no. 41, 2009. [9] D. H. Ballard, “Generalizing the Hough transform to detect arbitrary shapes,” Pattern Recognition, vol. 13, no. 2, pp. 111–122, 1981. [10] RWTH Aachen University student project, “RWTH Mindstorms NXT Toolbox for MATLAB.” [Online]. Available: http://www.mindstorms.rwth-aachen.de/.
5
Análisis comparativo de distancias entre histogramas Manuel G. Forero, Brigete T. González, Carlos A. Arias Semillero Lún, Grupo D+Tec, Universidad de Ibagué
[email protected],
[email protected],
[email protected]
Resumen Este artículo presenta un estudio comparativo de diferentes distancias usadas para comparar histogramas, utilizados en aplicaciones como reconocimiento de patrones, selección, clasificación, agrupación, identificación, indización y recuperación de imágenes. Por lo tanto, se realizó un estudio de cómo las mediciones de distancia se ven afectadas por variaciones entre imágenes. De esta manera, en esta investigación diversas distancias entre histogramas fueron estudiados y probados para ver cómo se destacan sobre los demás. Tales comparaciones se realizaron con imágenes color y escala de grises. Diferentes comentarios fueron examinados con el fin de realizar un proceso de precisión en el cálculo de distancias en histogramas. Se encontró un estudio comparativo, donde se descartaron contenedores de histograma que tienen un valor de cero en el cálculo de ciertas distancias que son mostradas en una indeterminación matemáticamente. Exponemos que este es un enfoque inadecuado. Ahora, después de la prueba, se sugiere no para descartar estos valores. Por el contrario, tienen que ser incluidos para evitar cálculos erróneos. Las comparaciones de distancias muestran las ventajas de estas métricas. Palabras clave: Histogramas de distancias, bin, espacio de color, media.
1. Introducción Un histograma es una representación gráfica de la distribución de los píxeles de una imagen, que describe la cantidad o frecuencia de aparición de los valores de intensidad de la imagen. Cuando la clasificación se realiza a través de histogramas, hay una dificultad esencial que muestra claramente la dependencia del color del objeto que se está estudiando, haciendo caso omiso de su forma y textura. También, es importante mencionar que un histograma no contiene información espacial de la imagen, es decir, una imagen no puede ser recuperada de un histograma y dos imágenes diferentes pueden tener el mismo histogramas. Basado en la última función, histogramas pueden ser
idénticos en dos imágenes diferentes que contienen diversos objetos que comparten información de color. Sin embargo, si no hay espacial o información sobre la forma, los objetos relacionados de colores diferentes pueden ser idénticos basado solamente en la comparación de los histogramas del color. A pesar de las dificultades, soluciones como histogramas de color intersecciones, indexación de color constante, histogramas acumulativos color y distancias de color se utilizan para comparar imágenes. Aunque existen inconvenientes utilizando histogramas para la indización y clasificación, en tiempo real el color tiene varias ventajas. Una ventaja es que la información es más rápida de calcular en comparación con otros invariantes y se ha visto que el color puede ser un método eficaz para identificar objetos de ubicación conocida y la apariencia. Existen estudios actuales que relacionan datos de histogramas de color con las propiedades físicas de los objetos en una imagen. Estas investigaciones han expuesto que estas propiedades pueden representar no sólo la luminosidad y el color del objeto, además incluye la geometría de la imagen y de rugosidad, que da una mejor estimación de la luminiscencia del objeto y el color. En la literatura, existen diferentes soluciones para las dificultades en la comparación de histogramas de color, siendo el uso de distancias uno de los más empleados. La distancia euclidiana, la intersección del histograma y la distancia cuadrática suelen ser los métodos más representativos para calcular el grado de similitud entre imágenes. Además, la correlación se aplica extensamente. Aunque hay varios trabajos sobre distancias, sólo encontramos dos obras en el estudio de la comparación de histogramas. El primero es un estudio comparativo de distancias de histograma para identificación realizado por Pedro Marín [1], y el otro se titula "en la medición de la distancia entre histogramas" por Sung Hyuk Chae [2]. Sirvieron como base para este trabajo, comparar distancias entre histogramas y análisis matemático, que fueron corregidos para mejorar la precisión de algunas medidas de distancia, cuando se encontraron indeterminaciones. Por lo tanto, en este trabajo se presenta una comparación de algunas de las técnicas más populares para medir las distancias entre histogramas. Estas distancias se mejoran cuando se encuentran
indeterminaciones. Pueden producir un mejor desempeño en tareas como reconocimiento de patrones, selección, clasificación, agrupación, identificación, indización y recuperación de imágenes donde esta técnica se utiliza y generalmente está parado hacia fuera.
que básicamente compara los observados y valores esperados para una serie de datos. Es dado por la siguiente expresión [4]. (3)
2. Distancias
2.1.3
La correlación es una medida para describir el grado de dependencia lineal entre una imagen y otra. Su pronóstico varía entre -1 y + 1, pero si el resultado es cero. Significa que no hay Asociación lineal entre las dos imágenes comparadas. Su representación es como sigue [4].
2.1. Distancias entre histogramas Una distancia puede definirse como una medida numérica que define la cercanía entre dos puntos. Por extensión, la distancia entre dos histogramas A y B puede ser definida como una función matemática que cumpla con las siguientes condiciones: a) No negatividad: donde b) Simetría: c) Desigualdad
2.1.4
triangular:
(5) 2.1.5
KL: Kullback-Leibler
La pseudo-distancia de Kullback-Leibler es una medida asimétrica, dado que no cumple la condición (b) de una distancia, que originó de la teoría de la información para el manejo de la entropía relativa. Se utiliza para medir los bits promedio necesarios para identificar un evento de un conjunto de posibilidades y numéricamente indica cómo dos histogramas se asemejan. Es dado por la siguiente ecuación [5].
Bhattacharyya
La distancia de Bhattacharyya es usada para evaluar la igualdad entre las dos distribuciones y se espera tener dos respuestas; el primer valor representa la distancia más lejana entre los histogramas y la segunda la distancia más cercana entre ellos. La ecuación de la distancia está dada por [3]
2.1.6
Euclidiana
La distancia euclidiana se utiliza con frecuencia para evaluar la distancia en espacios numéricos. Se utiliza para determinar la distancia de cubo a cubo entre dos histogramas. La distancia se da la siguiente ecuación [2].
(1) donde N es el número de contenedores, generalmente 256, son los histogramas 1 y 2 respectivamente, y , representan su media dada por
(7)
2.2. Indeterminación
(2) 2.1.2
Intersección
La métrica de la intersección es una medida que viene desde la intersección de dos histogramas y dice cuantos niveles de gris desde el primer histograma se encuentran en el segundo. La ecuación está dado por [4]
Se utilizan dos tipos de medición para calcular distancias entre histogramas, uno se llama cubo a cubo y consiste en la comparación entre el primer compartimiento de un histograma con el primer compartimiento de otro y así sucesivamente. La segunda se llama Cruz-bin que se centra en los compartimientos adyacentes a la tratada. Se utilizaron las medidas de bin a bin, donde bin de cada histograma es tratada de forma independiente y, por lo tanto, se pueden calcular distancias desde sumas y promedios. La definición de las seis distancias distintas empleadas en este estudio se presentan a continuación. 2.1.1
Correlación
Como se aprecia en la ecuación (3) y EQ (6) y hay dos indeterminaciones en las distancias de Chi cuadrado y KL. En su obra, Marin [1]. simplemente deseche los contenedores que son cero para evitar esta indeterminación. Sin embargo, esta solución es
Chi-cuadrado
La distancia de Chi cuadrada es una medida estadística 2
Figura 2 . Representación gráfica de la función Chi-cuadrado, eq (a) Original, ecuación (b) modificado
inadecuada, porque como puede verse en los ejemplos mostrados en la figura 1, según Marin los histogramas a y b son iguales, dado que los contenedores se descartan cuando un recipiente es igual a cero,Chi-cuadrado de D (A, B) y DKL (A, B) son cero, pero por la definición de la distancia (a) la distancia entre dos variables A y B es cero sólo cuando A = B.
b) KL Al contrario de Chi-cuadrado la indeterminación en las distancias KL puede evitarse utilizando la siguiente expresión:
donde
es una pequeña cantidad (epsilon). Tomamos para nuestro cálculo. No nos hacemos porque cuando y son muy pequeñas, es muy diferente de
pero a
, cuando
es muy pequeña,
como puede verse en la figura 3, donde se muestra una representación gráfica de las distancias originales y la propuesta de modificación.
b
Figura 1 . Ejemplo de caso crítico en la medida de distancia entre dos histogramas (a) y (b).
Por lo tanto, para resolver la indeterminación, se consideraron la siguiente solución: a) Chi-cuadrado Indeterminación puede resolverse mediante la ecuación (8) en lugar de ecuación (3).
a
b
Figura 3 . Representación gráfica de la función KL, eq (a) Original, ecuación (b) modificado
Esta solución equivale a añadir un cargo a ambos histogramas teniendo en cuenta que
2.3. Material Para probar las imágenes sintéticas de distancias 5 diseñadas por uno de los miembros de la Universidad Fig 4, dos imágenes de microscopio de un fondo con condiciones de iluminación diferentes, cuatro imágenes de microscopio de un cerebro de rata en el Instituto de Neurociencias de Castilla y León (Salamanca, España) Fig 7 y dos imágenes con los mismos objetos pero diferente ampliación fueron realizadas por los autores, Fig 8 y 9. También cuatro histogramas sintéticos Fig 5 puestos en ejecución. Se calcularon las distancias entre la imagen A en la Fig 4 y cada una de las imágenes modificadas. Entre histograma a, b, c y d en la figura 5. Entre las imágenes en la Fig 6, 7, 8 y 9. Las distancias se implementan como plugins para el programa de código abierto ImageJ.
Simplemente, esta solución produce una reducción en cada uno de los sumandos. Nota que un epsilon no, en lugar de agregar uno, porque produciría un gran sumando introduciendo un error en el cálculo de la distancia. Figura 2 muestra una representación gráfica de la original y la fórmula propuesta mostrando cuán cerca están.
3. Resultados a
b
Los resultados se muestran en las tablas 1 a 5. 1 3
columna de cada tabla, muestra la distancia entre un histograma con sí mismo. Puede verse que cada distancia es cero excepto la correlación y de intersección. Esto es porque las dos medidas no son verdaderas distancias dada la definición de la misma. Incluso la correlación puede tener valores negativos. Las distancias Chi-cuadrado son similares entre la original y la invertida que entre la original y el brillo son muy diferentes dada la imagen sintética donde se observa muy pocos niveles de grises.
un
b
450
450
400
400
350
350
300
300
250
250
200
200
150
150
100
100
50 0
50
0
50
100
150
200
250
0
0
c
50
100
150
200
250
d
Figura 5 . Histograma sintético (a) Hist, (b) invertida (Hist invert), impar (c) sólo los valores (extraña Hist), (d) sólo incluso (Hist par).
Tabla 2. Distancia entre histogramas sintéticos en la Fig 5. un
b
c
e
d
1. hist Hist 0.0 56401.0 1.0 0.0 0.0 0.0
Distancias Chi-cuadrado Intersección Correlación Bhattacharyya KL Euclidiana
2. hist - Hist invertir 296673.98 24474.0 -0.9824 0.5037 27809.51 4466.46
3. hist - Hist impar 28084.34 28190.0 0.4725 0.5394 181815.72 2945.744
4. hist impar - Hist incluso 8761770.34 0.0 -0.5525 1.0 181671.72 4164.706
Tabla 2 . Resultado: como puede observarse la correlación da una buena indicación del histograma b es la invertida una. Al comparar Hist impar con Hist aún, muestra cómo la intersección es 0, dado que no es cruce entre ellos, aunque sean muy similares. También la correlación no indica que estos histogramas son muy similares.
f
Figura 4 . Imagen sintética (un) Original y (b) invertida, (c) alto brillo, brillo (d) baja, (e) alto contraste, (f) histograma de (a).
Tabla 1. Distancia entre las imágenes en la figura 4. 1. original Original 0.0 39831.0 1.0 0.0 0.0 0.0
Distancias Chi-cuadrado Intersección Correlación
Bhattacharyya KL Euclidiana
2. original -Invertida
3. original - De alto brillo
9.6771E8 0.0 -0.006445 1.0 326107.83 43992.50
9.676E8 341.0 -0.006281 0.9929 320314.15 43988.91
4. original bajo brillo 2.834E7 30797.0 0.9721 0.4386 64025.39 7983.16
5. original contraste 3.4928E7 30702.07 0.9669 0.4735 64340.34 8013.51
Tabla 1 . Resultado: entre imágenes sintéticas con una cantidad baja, de niveles de grises. Pueden verse todas las distancias mostrar el original e imágenes invertidas son muy diferentes, mostrando incluso que no existe correlación entre ellos. estos resultados sólo son adecuados para el brillo bajo original y medidas de contraste original.
un
450
400
400
350
350
300
300
250
250
200
200
150
150
100
100
50
50
0
0
50
100
150
200
250
0
b
Figura 6 . Imagen (a) intensidad 1, (b) intensidad 2.
Tabla 3. Distancias entre las imágenes en la Fig 6.
También se realizaron comparaciones con histogramas sintéticos. Los resultados obtenidos se muestran en la tabla 2. 450
Comparaciones entre imágenes en escala de grises con diferentes intensidades.
Distancias Chi-cuadrado Intersección Correlación Bhattacharyya KL Euclidiana
1. intensidad 1 – intensidad 1 0.0 1428988.0 1.0 0.0 0.0 0.0
2. intensidad 1intensidad 2 3. 9795E11 0.0 -0.01538 1.0 1.375019E7 1046609.95
Tabla 3 . Resultado: La columna 2 muestra imágenes en la figura 6 son bastante diferentes. 0
50
100
150
200
250
4
Imágenes de colores eran comparadas en el espacio de color RGB, midiendo la distancia entre el histograma de cada canal, y promediando el resultado, como es sugerido por Iyengar [6]. Distancias calculadas entre las imágenes en la figura 7 se muestran en la tabla 4. Como puede verse en el 4 cuadro, la variación en la intensidad de objetos puede hacer distancias para indicar que los histogramas son bastante diferentes. Sugiere que para comparar histogramas, imágenes de intensidad deben estar cercanas aunque la distancia de Bhattacharyya es más resistente a las variaciones de intensidad.
un
Figura 8 . Imagen de los objetos (Dist1).
b Figura 9 . Imagen de los objetos (Dist2).
Tabla 5. Distancias entre las imágenes de la Fig 8 y 9.
c
Distancias Chi-cuadrado Intersección Correlación Bhattacharyya KL Euclidiana
d
Figura 7 . Imagen del cerebro de la rata (a) Normal intensidad (CRnorm), (b) baja intensidad de luz (CRlow), intensidad de la luz (c) alta (CRhigh), ajuste de contraste (d) (CRcontr).
Chi-cuadrado Intersección Correlación Bhattacharyya KL Euclidiana
1. CRnorm CRnorm 0.0 1.253E7 1.0 0.0 0.0 0.0
2. CRnorm – CRlow
3. CRnorm – CRhigh
4. CRnorm CRcontr
1.6388E11 457896.66 -0.2619 0.6416 1.115001E8 2442346.47
3.8845E13 1421693.6 -0.0539 0.32919 2.47538E7 5865264.03
8.19834E12 5003024.33 0.2354 0.0 8332926.72 2537838.93
2. Dist1, Dist2 661342.262 1603531.0 0.8253 0.2647 461700.1 105320.75
Tabla 5 . Resultado: Columna 2 muestra que para las imágenes con resultados similares de la iluminación es particularmente exitoso para la correlación y distancias de Bhattacharyya.
Tabla 4. Resultados de las mediciones de distancia entre los respectivos Fig 7. Distancias
1. Dist1 – Dist1 0.0 2073600.0 1.0 0.0 0.0 0.0
Resultados muestran que un histograma de distancias no es buen indicador en comparación a dos imágenes que están cuando sus rayos son muy diferentes. Bhattacharyya muestra mejor comportamiento incluso cuando las intensidades son más. Cuando un rayo es similar a la correlación y Bhattacharyya muestran mejores resultados. Se observa también que otro problema en el cálculo de distancias, se produce porque el histograma no contiene información espacial de la imagen, y posiblemente dos imágenes diferentes pueden coincidir en histogramas.
Tabla 4 . Resultado: Muestra en las columnas 2 y 3 que una variación de brillo hace distancias más grandes. Esto ocurre en distancias excepto Bhattacharyya en las columnas 3 y 4, donde se obtuvo un valor de similitud cerca.
4. Conclusiones
Para probar la conclusión anterior se realizaron comparaciones con fotografías a color RGB, que muestra objetos con similar intensidad de luz a diferentes distancias. Como puede verse en la tabla 5. Correlación y Bhattacharyya producen buen resultado que muestran que estas dos imágenes están cercanas.
En este trabajo se compararon seis métricas entre histogramas. Algunas de ellas no son verdaderas distancias: correlación y Kullback-Leibler. Los parámetros de la Chi-cuadrado y K.L fueron modificados para evitar indeterminaciones cuando los contenedores eran iguales a cero. Nos mostró cómo la 5
solución propuesta es más apropiada que una anterior, dado que al evitar dos histogramas diferentes aparecen como iguales cuando se produce la indeterminación. Se encontraron distancias con malos resultados cuando histogramas no continuos o imágenes tienen una variación de intensidad alta y a la distancia de Bhattacharyya mostró dos imágenes cercanas cuando la intensidad era muy diferente. Cuando un rayo es similar, Bhattacharyya y la correlación fueron los mejores. Además, se encontró que aunque la correlación no es una distancia verdadera, puede ser útil comparar histogramas mostrando cómo relacionarlos entre si. En el futuro, queremos implementar mayor número de métricas, tales como el EMD (distancia móvil los de la tierra) y probar el comportamiento en un mayor número de imágenes y el uso de histogramas de más espacios de color.
5. Agradecimientos Agradecemos al ingeniero MIGUEL ANGEL MONTILLA que nos permite utilizar una de sus creaciones.
Referencias [1] Marín Reyes, Pedro Antonio, “Estudio comparativo de medidas de distancia para histogramas en problemas de re identificación”, 2015. [2] Cha, Sung Hyuk "en la medición de la distancia entre el histograma". 2002. [3] Bhattacharyya, A. (1943). "En una medida de divergencia entre dos poblaciones estadísticas definidas por sus distribuciones de probabilidad". Boletín de la Sociedad matemática de Calcuta 35: 99-109. SEÑOR 0010358. [4] OpenCV, "Comparación del histograma". Consultado en:http://docs.OpenCV.org/2.4/doc/tutorials/Imgproc/histog rams/histogram_comparison/histogram_comparison.html [5] Kullback, S.(1987). "carta al Editor: la distancia de Kullback-Leibler". El estadístico americano 41 (4): 340341. [6] Prashant Iyengar (pi19404), "Comparación del histograma", 15 de septiembre de 2013. Consultado en:https://es.scribd.com/doc/168216107/HistogramSimilarity
6
Robot Autónomo Guiado por Señales de Tránsito Reconocidas con Procesamiento de Imágenes Katherine Ruiz, Yana Saint-Priest, Jorge Sinisterra Ingeniería de Sistemas, Universidad Santiago de Cali Santiago de Cali, Colombia
[email protected] [email protected] [email protected]
Resumen Las señales de tránsito son esenciales para la movilidad vehicular, ya que permiten informar al conductor sobre las precauciones y obligaciones que debe tener en la vía, sin embargo, en ocasiones son pasadas por alto por algunos conductores imprudentes o distraídos, ocasionando graves accidentes. El presente proyecto fue diseñado en aras de disminuir el porcentaje de accidentalidad por esta causa. Consiste en un software de procesamiento de imágenes que reconoce señales reglamentarias de tránsito colombianas, y alerta al conductor sobre su presencia. Para demostrar el funcionamiento del software, se usa un robot autónomo equipado con la placa de hardware libre ArduinoMega para el procesamiento y sensores para la entrada de información (cámara, ultrasónico); el robot actúa de acuerdo a las imágenes capturadas por el software en un ambiente controlado.
1. Introducción En las últimas décadas han surgido nuevos sistemas de seguridad para conductores de vehículos: airbag, frenos antibloqueo, monitores de presión de los neumáticos; el asistente de cambio de carril, por ejemplo, advierte la proximidad de vehículos durante un cambio de carril. También existen asistentes para detección de somnolencia, detección de límites de velocidad en carretera, entre otros. Todos estos se han desarrollado en su mayoría gracias al procesamiento de imágenes, aumentando así la seguridad de los conductores. El reconocimiento de imágenes para señales de tráfico ha sido un tema de investigación amplio, no sólo a nivel académico, sino también por empresas como Ayonix y Continental. Los desarrollos se han implementado en marcas reconocidas de automóviles como: BMW, Mercedes Benz y Volkswagen. La empresa Continental ha desarrollado una cámara multifuncional capaz de identificar cuando la carretera está sola o si hay vehículos acercándose, puede reconocer señales de velocidad en el
día y en la noche1. En un artículo de Ching-Hao Lai publicado en el 2010 [1], se expone el reconocimiento de imágenes de señales de tránsito a través de un dispositivo móvil y vehículos inteligentes. El dispositivo móvil captura a intervalos fotogramas del video, los cuales son transmitidos a la computadora del vehículo inteligente a través de una red inalámbrica (Bluetooth, Wi-Fi). En dicho artículo se evidencia el uso de técnicas de selección de color y detección de formas. En ese orden de ideas, el presente proyecto busca crear un mecanismo que identifique y entregue información de señalización de tránsito a un robot autónomo, para que éste pueda navegar dentro de un entorno controlado. Alerta al robot cuando se encuentre cerca de una señal de tránsito y de esta manera el robot pueda tomar una decisión: hacer giros a la derecha o izquierda; o detenerse. Inicialmente se han restringido las pruebas a sólo ciertos tipos de señales: PARE y Circulación Obligatoria. El primer paso consiste en verificar si hay una señal de tránsito en la imagen, si es el caso, ubicarla y delimitarla para eliminar el fondo, posteriormente se extrae la señal de la imagen; luego se desarrolla la segunda fase del procesamiento, cuyo objetivo es identificar el contenido de la señal capturada; por último se construye un vector de características que ingresa a una red neuronal artificial previamente entrenada para reconocer señales de tránsito. La red retorna la identificación de la señal y ésta es devuelta a través de WifiDirect al robot; a partir de ello y con los datos capturados por el sensor ultrasónico, el robot toma una decisión en su recorrido. De forma similar que el trabajo expuesto por Arriaga [2], las técnicas usadas para el reconocimiento de señales de tránsito, inicialmente están basadas en la detección por color RGB, a partir de esto se aplican diferentes técnicas de binarización, luego se procede a identificar una posible señal dentro de la imagen, con ayuda de la detección de 1 Continental AG. MFC 2 Multi-Function Camera. 2016. http://www.contionline.com/www/industrial_sensors_de_en/themes/mfc_2_en.ht ml
concentración de colores. Al final se recorta la posible señal de tránsito y ésta se convierte en un vector de características.
Universidad Santiago de Cali como proyecto final. A continuación se describe cada una de las etapas que siguen las imágenes capturadas para lograr una ubicación exitosa de la señal de tránsito cuando realmente se encuentran presentes dentro de ellas.
2. Señales de Tránsito Colombianas De acuerdo al Código Colombiano de Tránsito [3], las señales en Colombia se encuentran clasificadas en 4 categorías, a saber: Señales reglamentarias: Tienen por objeto indicar las limitaciones, prohibiciones o restricciones sobre el uso de una vía en particular. Son señales de color rojo, blanco y negro, entre ellas están pare, desvío, velocidad máxima y circulación obligatoria. Señales preventivas: Tienen por objeto advertir la existencia de un peligro y la naturaleza de éste. Son señales de color amarillo y negro, entre las más comunes están prevención, curva peligrosa a la derecha, curva peligrosa a la izquierda, peatones en la vía y zona escolar. Señales informativas: Tienen por objeto identificar las vías y guiar al usuario, proporcionando información. Señales transitorias: Pueden ser reglamentarias, preventivas o informativas y son de color naranja. Modifican transitoriamente el régimen normal de utilización de la vía. En la siguiente imagen se puede ver representada una pequeña muestra de las señales de tránsito de Colombia, con algunos ejemplos por categoría.
3.1. Captura de las imágenes Para la pruebas de captura de las imágenes se utilizó una cámara celular que va incorporada al robot, ésta cámara capta las imágenes del entorno, y las envía vía Bluetooth como un arreglo de bytes, desde el sistema operativo Android a un computador portátil para luego procesarlas con el lenguaje de programación Java y la librería OpenCV. Al realizar la recolección de imágenes en las calles de la ciudad de Cali, y el posterior reconocimiento de las señales en las mismas, se descubrieron diferentes inconvenientes que dificultaron la detección de las señales. Uno de los escenarios más frecuentes fue encontrar señales de tránsito con grafitis, o algunas opacas y descoloridas, en ocasiones, objetos externos se interpusieron en la imagen como: ramas de árboles, lluvia o el reflejo del sol.
Figura 2. Señal de PARE con grafitis
Aunque el prototipo está diseñado para que funcione en un ambiente controlado, se busca que los resultados del procesamiento funcionen correctamente en las calles reales de la Ciudad.
3.2. Detección por color Las señales de tránsito obligatorias deben cumplir ciertas normas en cuanto a color, tamaño y forma. Los colores más utilizados son: el rojo, blanco, negro y amarillo, las formas mas utilizadas son: círculos, octágonos, triángulos, rombos. Las señales de tránsito que se utilizan en este proyecto tienen forma circular y octagonal, aunque este dato no es relevante para su detección, ya que se utiliza un patrón de búsqueda basado en los colores y no en figuras. No se trabajó con figuras amarillas. En las siguientes imágenes, se muestran los dos tipos de señales utilizadas en el proyecto.
Figura 1. Ejemplo de señales de tránsito colombianas [5]
3. Desarrollo del Proyecto El presente trabajo se desarrolla dentro del marco del curso Procesamiento Digital de Imágenes de la 2
Después de encontrar los píxeles que cumplan, se cambian a blanco. Finalmente en la imagen, los tonos restantes que no cumplan con las dos condiciones anteriores, se convierte a negro. En la siguiente imagen, se muestra el resultado obtenido con la primera técnica de binarización.
Figura 3. Circulación obligatoria a la derecha y pare2
Lo primero que se hace es una extracción de los colores primarios rojo, verde y azul, sobre la imagen original, y se usa esta información para realizar la binarización.
3.3. Binarización Si sólo se permiten dos niveles de cuantización (normalmente blanco y negro) se habla de imágenes bitonales o imágenes binarias. Para el caso de una imagen a color suelen usarse 256 niveles para representar la intensidad de cada uno de los tres colores primarios (RGB) [4]. Las señales de tránsito usadas en el proyecto tienen características que las hacen diferentes entre ellas. El PARE tiene fondo rojo y letras blancas. Las señales de limitación de velocidad y circulación obligatoria, comparten las mismas características de colores, éstas tienen fondo blanco, borde rojo y la señal que está en su interior es color negro, tal como lo muestra la Figura 2; es por ésta razón que se utiliza dos tipos de binarización diferentes. La primera binarización es utilizada para encontrar la Señal Circulación obligatoria y Límites de Velocidad buscando los pixeles con tonalidad roja. Como éstas señales en las ciudades pueden ser opacas, o tener sombras, se toman los colores que se encuentren en la paleta de rojos que cumplan con la siguiente condición:
Figura 4. Resultado binarización
La segunda técnica de binarización se aplica para la señal “PARE”. Debido a que se necesita el mismo patrón de búsqueda para los diferentes tipos de señales, es necesario que los colores con tonalidad roja de la señal, esta vez cambien a blanco, para esto se usa la Condición 1 propuesta. El resto de la imagen se convierte a verde, teniendo como resultado, una binarización como se muestra a continuación.
Rojo > Verde + 40 & Rojo > Azul + 40 Condición 1. Condición colores rojos
Una vez se encuentren los píxeles que cumplan con la condición, se cambian a color verde. La explicación del porque se cambia a verde y no a blanco o negro (como suele ser la binarización) es porque se necesita marcar una diferencia con los colores del ambiente y además estandarizar las dos binarizaciones de la imagen, con el fin de utilizar un solo algoritmo de búsqueda, para los diferentes tipos de señales. Luego se buscan los píxeles con una tonalidad de gris que cumpla con la siguiente condición:
Figura 5. Resultado binarización PARE
3.4. Recorte Una vez terminada la binarización, se hace una búsqueda de zonas con concentración de blancos, las cuales son posibles señales de tránsito. La técnica de búsqueda consiste en encontrar las líneas horizontales y verticales blancas más largas de la imagen que se intercepten en algún punto entre ellas y que además inicien y terminen en un color verde. Con la intercepción de las líneas se obtiene un recuadro, que representa una zona de concentración blanca, con una posible señal de tránsito. En la figura del lado izquierdo
Azul >120 & verde > 120 & rojo > 120 Condición 2. Condición colores grises
2
Escuela de Automovilismo http://www.conducircolombia.com/
Conducir
Colombia.
3
se muestra un zoom del área donde se encuentra la señal y el recuadro, en la derecha el recorte final.
Figura 7. Vector de características “PARE” Figura 6. Resultado del Recorte
3.5. Red Neuronal Para el desarrollo de la red neuronal artificial (RNA), se utilizó la librería SimpleOcr3 que está diseñada específicamente para reconocimiento de caracteres. Esta se compone de 3 etapas: Cargue de imágenes: Consiste en cargar a la RNA las imágenes en la cual se basará el software, para un posterior reconocimiento. Estas imágenes fueron capturadas en ambiente real tras un trabajo de campo realizado en la ciudad de Cali. No se cargan como un archivo de imagen, sino como el vector de características resultante después de que la imagen original se binariza. A cada vector de características cargado, se le asigna un identificador, que será el valor retornado en caso de ser esa la imagen reconocida en la etapa de reconocimiento. Es recomendable a cada identificador cargarle no solo una, sino varias imágenes del mismo tipo, pero en las diferentes situaciones en las que se puede llegar a encontrar, para hacer un reconocimiento de imagen mucho más preciso; para las imágenes utilizadas en este proyecto algunas de estas situaciones pueden ser grafitis o ramas sobre ellas. Las siguientes imágenes muestran ejemplos del vector de características que debe recibir la RNA.
Figura 8. Vector de características “giro a la izquierda”
Etapa de entrenamiento: En la etapa de entrenamiento es donde el software procesa los vectores de características insertados en la etapa de cargue, analizando la similitud entre todas las imágenes cargadas a un mismo identificador, para así definir un patrón diferente al de los demás identificadores que ayudará a reconocer la imagen. Etapa de reconocimiento: Esta etapa recibe el vector de características de las imágenes que captura la cámara del robot, mientras hace su recorrido, y las compara con los patrones definidos en la etapa de entrenamiento, de esta forma reconoce a qué imagen entrenada se parece más la imagen ingresada. Como resultado, el software devuelve el identificador de la imagen más parecida. En este proyecto se ha estandarizado que una señal es reconocida si el porcentaje de efectividad de la RNA supera el 80%, de no ser así, se considera que la imagen capturada no es una señal de tránsito.
4. Robot autónomo
3
Para demostrar el funcionamiento del software, se usa un robot autónomo el cual es capaz de desplazarse en las calles de una ciudad miniatura, obedeciendo a las señales de tránsito ya descritas en este proyecto.
http://www.simpleocr.com/
4
5. Resultados y Conclusiones Para probar el funcionamiento del software, se realizaron pruebas con 40 imágenes tomadas en trabajo de campo, entre estas imágenes tenemos señales a distancias entre 2mt y 40mt, desde diferentes ángulos, señales sucias, con grafitis, tapadas por arboles, descoloridas, dobladas, bajo la lluvia, con el reflejo del sol, entre otros, de todas estas pruebas se concluye que la calidad de la cámara es vital en este tipo de sistemas, ya que esta influye en detalles que modifican la información capturada, como intensidad de colores y cercanía de los objetos. Las señales a mas de 30mt de distancia, no son reconocidas como señales de transito, porque se pierde tonalidad en los colores. Los grafitis y otras obstrucciones, sobre las señales de transito, no son un impedimento para ser reconocidas siempre y cuando no tapen puntos clave de la imagen como: puntas de flechas (para señal de giro) o mas de 3 letras (para señal de PARE), esto es posible, gracias a que la RNA no reconoce las señales por exactitud, sino por similitud. Para las imagines tomadas desde diferentes ángulos y las señales deformes o dobladas, tampoco hubo inconveniente para ser reconocidas. En imágenes muy descoloridas, donde el color rojo tiende a ser blanco o con mucha discontinuidad, el sistema falló en la etapa de binarización, en la cual se pierden los bordes de las señal y no le es posible encontrar una concentración de colores que se pueda identificar como una posible señal de transito. En imagines con fuerte lluvia o reflejo del sol, se distorsionan los colores, impidiendo que se conserven los datos de interés después de la binarización. Analizando los resultados de las pruebas, se concluye que la binarización es la etapa de más impacto en la procesamiento de imágenes para este proyecto, por lo tanto fue necesario para reducir el margen de error del reconocimiento, optimizar los métodos de binarización, de forma que se ampliara la gama tonos rojos percibidos por el sistema. Después de realizar estos cambios se obtuvo un aumento en la efectividad del reconocimiento del 27.5%, pasando de reconocer 20 de 40 imágenes capturadas, a reconocer 31 de 40. Probando el sistema ya implementado en el robot, con señales de transito en miniatura, los resultados obtenidos son muy similares.
Figura 9. Señales miniatura diseñadas para pruebas
4.1. Sistema de control Este robot cuenta con un sistema de control que esta compuesto por la placa de hardware libre Arduino y es el encargado de tomar las decisiones dependiendo del entorno al que se vaya enfrentando en su recorrido, para tomar estas decisiones, se basa en los datos de entrada que son recibidos a través de WifiDirect y un sensor ultrasonido; una vez procesados estos datos, es posible controlar de manera correcta el sistema mecánico del robot.
4.2. Sistema mecánico Para el desplazamiento del robot, este cuenta con un sistema mecánico conformado por: -2 motores de 12Vdc - 175rpm – 2Kgf -1 MotorShield Arduino -1 Fuente de alimentación recargable 12Vdc/8Ah El motorShield controla la velocidad y dirección de giro de los motores, tras recibir órdenes del sistema de control, y es así como se logra el movimiento del robot. La fuente de alimentación está compuesta por 8 baterías recargables de 3Vdc/una y están conectadas como un circuito mixto que proporciona a su salida una diferencia de potencial de 12Vdc y una corriente de 8Ah. Esta fuente, se encarga de alimentar no solo el sistema mecánico, sino todos los componentes del robot.
4.3. Sistemas Externos Dada la alta capacidad de procesamiento que exigen los softwares utilizados en este proyecto (procesamiento de imágenes y red neuronal artificial), es necesario que estos sean procesados en un sistema externo al robot y luego de procesarlos, ser enviados los resultados de vuelta al robot inalámbricamente. Este sistema externo es un computador portátil corriendo bajo Windows, que tiene instalado el software que procesa la imagen y el software de RNA que reconoce la señal. La comunicación entre el robot y el sistema externo, se logra a través WifiDirect.
6. Trabajo Futuro Mejorar la técnica propuesta de reconocimiento de señales de tránsito, y así detectar otros tipos de señales. Realizar todo el procesamiento y la detección en el mismo robot, para evitar el uso de hardware externo. 5
Implementar el sistema en automóviles, para que avise al conductor sobre la presencia de señales de tránsito.
Referencias [1] L. Ching-Hao. An Efficient Real-Time Traffic Sign Recognition System for Intelligent Vehicles with Smart Phones. 2010 International Conference on Technologies and Applications of Artificial Intelligence. IEEE. 195-202, 2010. [2] C. Arriaga. Detección y Reconocimiento de Señales de Tránsito Utilizando Matching de Chamfer. Ingeniare. Revista Chilena de Ingeniería, 15(2):174-184,2007. [3] Ministerio de Transporte. Código Colombiano de Tránsito. Capítulo XII. Señales de Tránsito. 2004 [4] VV Staff. Vision Por Computador. Dykinson, S.L. Vol 1, 244, 2003.
6
Implementación de filtros para el mejoramiento de imágenes en Raspberry Pi Claudia Rueda #1, Daniel Montero #2, Javier Bautista #3 #
Facultad de Ingeniería Electrónica, Universidad Pontificia Bolivariana Bucaramanga, Colombia 1 3 2
[email protected] [email protected] [email protected]
Resumen Se describe en este trabajo el desarrollo de una aplicación, implementada en el sistema de procesamiento Raspberry Pi, con la finalidad de aplicar filtros para el mejoramiento de imágenes que son adquiridas por una cámara conectada al sistema. Se busca con este trabajo incentivar el desarrollo de aplicaciones para el tratamiento de imágenes implementadas en estos sistemas de bajo costo, que dan todas las utilidades de cualquier sistema computacional robusto, y ofrecen la ventaja de ser un sistema de poco consumo de energía y por su portabilidad y manejo de imágenes es útil para su posterior análisis en el ámbito de la visión artificial. Esta aplicación fue desarrollada en lenguaje Python y cuenta con dos interfaces de usuario, la primera de ellas captura la imagen que se observa en el instante en la cámara implementada en el sistema, posteriormente esta imagen es guardada en la memoria, y con la ayuda de la segunda interface de usuario se permite que esta imagen sea pasada a escala de grises y el usuario puede fácilmente aplicarle filtros como media, mediana, ecualización por histogramas, mínimos, máximos, etc., y puede almacenarse para su posterior utilización es sistemas de visión artificial.
1. Introducción Números desarrollos en el área de la visión artificial requieren alta capacidad de procesamiento y alta portabilidad, es por esto que es necesario buscar una alternativa económica, con bajo consumo energético y además de bajo costo. Para ello se cuenta actualmente con el sistema computacional llamado Raspberry Pi [1] [2]. Estos pueden llegar a ser implementados en plataformas móviles, robots de diferentes características, sistemas
aéreos no tripulados etc. Siendo un sistema ideal para el procesamiento de imágenes como base para el desarrollo de sistemas de visión artificial [3] [4] [5] [6]. La Raspberry Pi es un sistema computacional de bajo costo, cuenta con una arquitectura ARM, un procesador ARM1176JZF-S a 700 MHz, además de un procesador gráfico (GPU) VideoCore IV, y 512 MB de memoria RAM [7]. Para el almacenamiento permanente se emplea una tarjeta SD externa, en donde es instalado el sistema operativo, siendo el más conocido el Raspbian, que consiste en una distribución del sistema operativo GNU/Linux. Por medio de un conector en la parte superior de la tarjeta es posible realizar la conexión de un módulo de la cámara de 5 megapíxeles diseñada específicamente para Raspberry Pi, con un lente de foco fijo; la cámara es capaz de adquirir imágenes estáticas de 2592 x 1944, además es capaz de capturar video con formato de 1080p30, 720p60 y 640x480p60/90 [8]. En el mercado existen diversos sistemas de características similares, pero la Raspberry pi, por su bajo costo (aproximadamente 25$) ofrece una relación costo beneficio mayor que algunos otros sistemas comerciales como Arduino Tian, Snickerdoodle, MinnowBoard MAX entre otras [9]. Otro de sus beneficios es la gran cantidad de desarrolladores que están trabajando a nivel mundial sobre el software libre que maneja este sistema, permitiendo el crecimiento de la base de conocimiento y la masificación del uso de este sistemas, siendo este utilizado desde estudiantes de educación media hasta aplicaciones en investigación aplicada y empresas. Se plantea entonces en este proyecto la posibilidad de implementar una plataforma software, desarrollada para la Raspberry Pi, donde se implemente la etapa de mejoramiento de imágenes a partir de imágenes adquiridas con la cámara del sistemas. Este mejoramiento consistirá en la implementación de algunos de filtros para mejorar subjetivamente las características de la imagen. Se describe entonces en este trabajo la metodología
utilizada para la implementación de este software y los resultados obtenidos en este estudio.
2.2. Mejoramiento de la imagen En esta segunda etapa se utiliza una interfaz gráfica de usuario para el mejoramiento de la imagen que se muestra en la figura 5. Ésta permite cargar la imagen adquirida anteriormente y almacenada en la memoria SD y por medio de un menú pop-up seleccionar el tipo de filtro que se le desea aplicar, entre los que se encuentra filtro de mediana, media, máximos, mínimos, de umbral entre otros; este se mostrará en el centro de la interfaz y variará dependiendo del filtro aplicado, estos filtros se aplican a la imagen convertida en escala de grises y no son acumulables.
2. Metodología El sistema general para la adquisición de la imagen y su posterior mejoramiento por medio de la aplicación de filtros se muestra en la figura 1, y a continuación se explicaran cada una de las etapas de desarrollo del trabajo.
2.1. Adquisición de la imagen En esta primera etapa se utiliza para la adquisición de imágenes la cámara externa de la Raspberry pi, que se puede observar en la figura 2. Esta tiene la capacidad de capturar imágenes hasta de 5 megapíxeles posee un sensor OV5647, capaz de adquirir de imágenes estáticas con resolución de 2592 x 1944 pixel y 1080p30, 720p60 y 640x480p60 / 90 para video.
Figura 3. Interfaz gráfica para la adquisición de la imagen. Figura 1. Diagrama de bloques de la estructura general del sistema. Se desarrolló para esto una interfaz gráfica para que el usuario capture la imágenes a las cuales se desea hacerle el mejoramiento, en la figura 3 se muestra la interface diseñada en Python. En esta interface se permite visualizar en una ventana emergente la imágenes adquirida. Esta es creada en un arreglo de 512 x 512 pixeles y en formato PNG. Esta imagen es almacenada en la memoria SD para su posterior manejo.
Figura 4. Imagen adquirida por el módulo de la cámara de la Raspberry Pi. El mejoramiento de la imagen adquirida se realiza por medio de la librería Scikit-image [11] que permite implementar algoritmos para el procesamiento digital de imágenes que pueden ser empleados en búsqueda, educación o aplicaciones en la industria por medio del lenguaje de programación de Python [12]. Para la correcta compilación de la librería Scikit-image 0.10 en la Raspberry Pi se instaló en la versión de Python 3.3 en su sistema operativo Raspbian 4.2. Figura 2. Camara Raspeberry pi. [10]
2
imagegray=rgb2gray(image). En la figura 6 se puede observar la imagen original capturada por la cámara y la aplicaciones de la conversión a escala de grises, en la figura 7.
Figura 5. Interfaz gráfica para la aplicación de filtros en la imagen. Figura 6. Imagen original adquirida por la camara para aplicación de los diferenes filtros de mejoramiento.
2.3. Visualización de los resultados del mejoramiento La etapa de visualización permite a los usuarios de la plataforma observar los resultados de cada uno de los filtros aplicados, esto se logra con el uso de un monitor con entrada HDMI conectado a la salida de video digital de la tarjeta Raspberry PI. Sin embargo es importante señalar que la esta visualización es una etapa que para aplicaciones móviles puede omitirse, ya que pueden transmitirse los resultados vía Wifi o aplicando cualquier protocolo de comunicación que puede proveer la tarjeta.
3. Resultados Al aplicar cada una de las etapas del trabajo se obtiene los resultados descritos a continuación, donde se hará una descripción de cada uno de los filtros aplicados a la imagen que se adquiere por medio de la cámara. Todas son funciones aplicadas pertenecen a de la librería skimage 0.10 de scikit-image [11]
Figura 7. Imagen resultado de la aplicación de conversion a escala de grises.
3.2. Filtro de media
3.1. Conversión a Escala de grises
Se aplica un filtro de media, el cual calcula el valor promedio de la vecindad en forma de disco de radio 5 pixeles, para ello se usa la función avg=mean(imagegray, disk(5)) de la librería de Python, en la figura 8 se puede observar el resultado de la aplicación del filtro. Como se puede observar la imagen pierde nitidez pero se elimina el ruido de la misma.
Realiza la conversión de la imagen en RGB adquirida por la cámara a escalas de grises tomando los valores de peso en la conversión expresados en la ecuación (1), estos valores pertenecen a la librería aplicada. (1) La instrucción que se utiliza para la conversiones en el lenguaje Python es: 3
En la figura 10 se puede observar un ejemplo de la aplicación de este filtro.
Figura 8. Aplicación del filtro de media.
Figura 10. Aplicación del filtro de mínimos
3.3. Filtro de mediana Se aplica un filtro de mediana, el cual calcula el valor promedio de la vecindad en forma de disco de radio 10 pixeles. Este filtro es aplicado con la instrucción: med = median(imagegray, disk(10)), de la librería de Phyton. En la figura 9 se puede observar el resultado de la aplicación del filtro. Debido a que el disco es de 10 pixeles se pierde la definición de varias partes de la imagen, el usuario puede modificar estos parámetros para obtener resultados diferentes.
3.5. Filtro de máximos Con la aplicación de este filtro la instrucción retorna el valor máximo local de la vecindad en forma de disco con radio de 5 pixeles, para ello se usa la instrucción: max=maximum(imagegray, disk(5)). En la figura 11 se puede observar un ejemplo de la aplicación de este filtro.
Figura 11. Aplicación del filtro de maximos Figura 9. Aplicación del filtro de mediana
3.6. Ecualización por histograma 3.4. Filtro de mínimos
Lo que se busca con la instrucción: eq=equalize(imagegray, disk(5)) es obtener como resultado una imagen con ecualización por histograma local de la vecindad en forma de disco con 5 pixeles de radio. Se debe tener en cuenta que se pueden variar los parámetros y obtener los resultados que el usuario
La aplicación de este filtro permite retornar el valor mínimo local de la vecindad en forma de disco con radio de 5 pixeles, esto se logra con la aplicación de la instrucción: min=minimum(imagegray, disk(5)) de la librería. Cabe destacar que el usuario puede seleccionar cambiar los resultados al variar los parámetros del disco. 4
requiera. En la Figura 12 se observa la aplicación de esta ecualización.
Figura 13. Aplicación del filtro de Gaussiano
4. Análisis de resultados El tamaño de las imágenes que se seleccionaron para aplicar los filtros del sistemas son de 512x512 pixeles, en escala de grises, se tomaron los datos de los tiempos de ejecución de cada uno de los filtros aplicados, estos se registraron en la tabla 1. Se observa que el filtro de mediana es el de mayor tiempo de respuesta y el filtro Gaussiano es el de menor tiempo de respuesta. Se tiene entonces como resultado que el sistema en promedio toma un tiempo de 1,471 segundos en procesar la imagen. Sin embargo es un tiempo grande para sistemas que requieran respuestas en tiempo real, pero cabe destacar que para sistemas de media velocidad el sistema es ideal debido a sus bajos consumos de energía( alrededor de 3,5 Watt), bajo costo y alta portabilidad. Figura 12. histograma.
Aplicación
de
la
ecualización
por
Filtro Tiempo (s) Escala de grises 1.0815 Mediana 2.8994 Media 1.7412 Mínimo 1.0880 Máximo 1.0963 Ecualización por histograma 1.1713 Gaussiano 0.3340 Sal y pimienta 0.4013 Percentil 3.4304 Tabla 1. Tiempos de ejecución de los filtros aplicados en software desarrollado.
3.7. Filtro gaussiano Se aplica un filtro multidimensional gaussiano con desviación estándar de 0.7. Las desviaciones estándar del filtro gaussiano se dan para cada eje como una secuencia, o como un solo número, en cuyo caso es igual para todos los ejes. La instrucción utilizadas es : gauss=gaussian_filter(imagegray, sigma=0.7) de la librería de pyton. En la figura 13 se puede observar el resultado de este filtro. Cabe destacar que es el este filtro es el que simple vista da mejores resultados a la imagen tomada como ejemplo, sin embargo dependiendo de la imagen analizada y los resultados que el usuario requiera para cada aplicación, puede considerarse otros filtros como los de mejores resultados, dependiendo de las necesidades de la aplicación.
5. Conclusión Se busca con este trabajo incentivar el desarrollo de aplicaciones para el tratamiento de imágenes implementadas en estos sistemas de bajo costo, que dan todas las utilidades de cualquier sistema computacional robusto, y ofrecen la ventaja de ser un sistema de poco consumo de energía y por su portabilidad y tamaño se puede implementar en sistemas robóticos móviles con mucha facilidad, permitiendo que los sistemas desarrollados pueda ser provisto con adquisición y manejo de imágenes para su posterior análisis en el ámbito de la visión artificial. Se puede concluir que la aplicación desarrollada permite que la imagen adquirida por la cámara sea pasada a escala de grises y el usuario puede fácilmente aplicarle filtros como media, mediana, ecualización por histogramas, mínimos, máximos, etc. Además esta imagen resultante es mostrada automáticamente en el monitor para que el usuario pueda verificar su funcionamiento y posteriormente se almacena para ser 5
usada por el usuario en cualquiera otra utilidad. Sin embargo los tiempos de respuesta son lentos si se requiere utilizar el sistema para aplicaciones que requieran velocidad de respuestas rápidas.
6. Referencias [1] M. Islam, S. Uddin Azad, A. Alam y N. Hassan, «Raspberry Pi and image processing based Electronic Voting Machine (EVM),» International Journal of Scientific & Engineering Research, vol. 5, nº 1, pp. 1506-1510, 2014. [2] K. Jahan Raihan, M. Saifur Rahaman, M. Kaium Sarkar y S. Mahfuz, «Raspberry Pi Image Processing Based Economical Automated Toll System,» Global Journal of Researches in Engineering, vol. 13, nº 13, pp. 34-41, 2013. [3] F. C. Pereira y C. E. Pereira, «Embedded Image Processing Systems for Automatic Recognition of Cracks using UAVs,» IFAC, vol. 48, nº 10, pp. 16-21, 2015. [4] R. R. Mhaski, P. B. Chopade y M. P. Dale, «Determination of ripeness and grading of tomato using image analysis on Raspberry Pi,» de Communication, Control and Intelligent Systems (CCIS), 2015. [5] J. Barreiros y N. Magne, «Open source multispectral camera array for vegetation analysis,» de Conference on Electrical, Electronics Engineering, Information and Communication Technologies (CHILECON), 2015. [6] V. S. Variyar, N. Haridas, C. Aswathy y K. P. Soman, Proceedings of the International Conference on Soft Computing Systems, New Delhi: Springer India, 2016. [7] G. Senthilkumar, K. Gopalakrishnan y V. Sathish Kumar, «Embedded image capturing system using Raspberry Pi system,» International Journal of Emerging Trends & Technology in Computer Science (IJETTCS), vol. 3, nº 2, pp. 213-215, 2014. [8] E. Upton y G. Halfacree, «The Raspberry Pi camera module,» de Raspberry Pi User Guide, Wiley, 2014, pp. 237-241. [9] Comohacer, «Comparativa y análisis: Raspberry Pi vs competencia,» [En línea]. Available: http://comohacer.eu/comparativa-y-analisis-raspberry-pi-vscompetencia/. [Último acceso: 23 2 2016]. [10] T. M. Magazine, «The Official Raspberry Pi Magazine,» [En línea]. Available: https://www.raspberrypi.org/magpi/get-started-pi-camera/. [Último acceso: 05 03 2016]. [11] S. Van derWalt, J. L. Schonberger, J. Nunez Iglesias, F. Boulogne, J. D. Warner, N. Yager, E. Gouillart y T. Yu, «Scikit-image: Image processing in Python,» PeerJ, vol. 2, 2014. [12] S. Gowrishankar y Siddaraju, «Open Source Software Stack for Python Platform: From Academia to Industry,» CSI Communications, pp. 21-23, 2016. [13] Scikit-image, «Scikit-image,» [En línea]. Available: http://scikit-image.org/docs/0.10.x/api/api.html. [Último acceso: 17 Junio 2016].
6
An´alisis motriz en las extremidades inferiores para el monitoreo del estado neurol´ogico de pacientes con enfermedad de Parkinson Paula Andrea P´erez Toro* Juan Camilo Vasquez Correa Facultad de Ingenier´ıa Universidad de Antioquia Calle 70 No. 52-21, Medell´ın, Colombia *Correspondencia:
[email protected] [email protected]
Juan Rafael Orozco Arroyave Julius Hannick Elmar N¨oth Pattern Recognition Lab Friedrich Alexander Universit¨at Erlangen-N¨urnberg, Germany
[email protected] [email protected] [email protected]
Resumen
rios items para evaluar las capacidades motoras de los pacientes, como golpeteo de los dedos, marcha, moviemiento del cuello, evaluaci´on de la voz, entre otros.
La enfermedad de Parkinson es un desorden neurol´ogico que afecta al sistema motor produciendo falta de coordinaci´on, temblores y rigidez. El an´alisis de la marcha busca ser una herramienta de ayuda para la predicci´on del estado neurol´ogico del paciente. En este trabajo se calculan caracter´ısticas cinem´aticas relacionadas con el tiempo, la velocidad y la longitud del paso para predecir el estado neurol´ogico de los de acuerdo con la escala UPDRS . De acuerdo con los resultados, se puede predecir el estado neurol´ogico con una correlaci´on de Spearman de hasta 0.67 utilizando un algoritmo de regresi´on por vectores de soporte. Palabras Clave: Parkinson, Regresi´on, Dynamic time warping, MDS-UPDRS, An´alisis de marcha.
En trabajos relacionados, la comunidad cient´ıfica ha mostrado un creciente interes en el an´alisis de marcha y otras biose˜nales para detectar la EP y monitorear el estado neurol´ogico de los pacientes [4, 5, 6, 7, 8, 9, 10]. En [5] se realiza una clasificaci´on de 42 pacientes y 39 controles usando los sensores eGait [11], usando caracter´ısticas relacionadas con entrop´ıa y energia en tres momentos de cada zancada (impulsi´on, apoyo del tal´on, y apoyo total del pie). Los autores logran aciertos de hasta el 81 % en la detecci´on de todos los pacientes, y del 91 % cuando solo consideran los pacientes m´as afectados por la EP. En [6] se desarrolla un algoritmo para la segmentaci´on de los pasos de marcha en pacientes con EP basado en DTW (del ingl´es Dynamic time warping). Los autores construyen una plantilla usando informaci´on de marcha de 25 controles, y realizan pruebas para segmentar pasos de 40 controles, 15 pacientes con EP y 25 pacientes geriatricos. Los resultados indican que se puede segmentar los pasos individuales de los pacientes con una efectividad del 98 %. En [7], los autores proponen una red de area corporal formada por varios sensores inerciales ubicados en las extremidades superiores e inferiores, con el objetivo de monitorear el estado neurol´ogico de pacientes con EP de acuerdo con la escala UPDRS. Los autores analizan varias tareas incluyendo marcha continua, y calculan caracter´ısticas cinem´aticas como el tiempo en reposo, la longitud del paso, la velocidad del paso, y la potencia de la aceleraci´on, entre otras. La base de datos usada por los autores esta formada por 34 pacientes con EP, y obtienen un coeficiente de correlaci´on de 0.60 entre los valores predichos de la escala UPDRS y el valor real asigando por un
1.. Introducci´on La enfermedad de Parkinson (EP) es un desorden neurodegenerativo producido por la perdida progresiva de las neuronas encargadas de la producci´on de dopamina, generando deficiencias motoras y no motoras en los pacientes [1]. Los sintomas motores incluyen entre otros bradykinesia, rigidez, inestabilidad en la postura, y temblor en reposo. Los sintomas no motores incluyen deficiencias en el sistema sensorial, desordenes en el sue˜no, depresi´on entre otros [2]. La escala est´andar para evaluar el estado neurol´ogico de los pacientes con EP es la escala MDS-UPDRS (del ingl´es Movement Disorder Society-Unified Parkinson’s Disease Rating Scale) [3], asignada por neur´ologos expertos bajo su propio criterio cl´ınico. La escala MDS-UPDRS contiene va1
neur´ologo, usando un algoritmo basado en k-vecinos m´as cercanos (KNN por sus siglas en ingl´es). En [10] los autores realizan una predicci´on de la escala MDS-UPDRS por medio de caracter´ısticas extraidas de se˜nales de voz obteniendo un coeficiente de correlaci´on de Spearman de 0.72 de una base de datos formada por 50 pacientes con EP. En este trabajo se analizan caracter´ısticas cinem´aticas extraidas de sensores de marcha (consisten en aceler´ometros y giroscopios triaxiales) adheridos al borde externo del zapato, con el objetivo de predecir de forma autom´atica el estado neurol´ogico de pacientes con EP con base en la escala MDS-UPDRS, y observar de forma perceptual diferencias en la marcha de pacientes con distinto grado de la EP. Las caracter´ısticas extraidas estan relacionadas con el tiempo, velocidad, altura, y longitud de cada paso, y se utiliza regresi´on por vectores de soporte (SVR, por sus siglas en ingles) para predecir el estado neurol´ogico de los pacientes. Para la realizaci´on de este proyecto se tiene una base de datos de 30 pacientes con EP, 19 mujeres y 11 hombres, los cuales siguieron un protocolo espec´ıfico de pruebas de marcha que incluye marcha continua y realizando pausas cada cierta longitud. De acuerdo con los resultados obtenidos, se alcanza un coeficiente de correlaci´on de Spearman de hasta 0.67, indicando que la caracterizaci´on de se˜nales de marcha muestra ser prometedora para monitorear el estado neurol´ogico de los pacientes con EP, y puede ser util para el dise˜no de herramientas computacionales para monitoreo de movimientos anormales. El resto del art´ıculo se encuentra dividido de la siguiente forma: la secci´on 2 describe cada uno de las etapas de la metodolog´ıa seguida en este estudio, la secci´on 3 describe la base de datos y los experimentos realizados, la secci´on 4 muestra los resultados obtenidos, y finalmente la secci´on 5 describe las principales conclusiones derivadas de este estudio.
Figura 1. Esquema de sensado de se˜nales de marcha
2.2.. Segmetaci´on La etapa de segmentaci´on en est´a basada en el algoritmo DTW, el cual busca similitud entre dos series de tiempo. El algoritmo se aplica cuando las dos secuencias pueden variar en tiempo o velocidad, es decir, cuando ambas secuencias tienen diferente longitud. Este algoritmo arroja un valor de similitud que va desde 0 hasta 1. Este algoritmo realiza el siguiente procedimiento: Se normalizan los datos. Se calcula una matriz de distancias. Se calcula una matriz de costo acumulado. Funci´on de distancia. Se arroja la se˜nal ya segmentada. La segmentaci´on se realiza en dos etapas, la primera segmenta cada uno de los pasos individuales, y la segunda segmenta cada paso en tres momentos diferentes para cada zancada. Para la primera etapa se utiliza el algoritmo DTW para comparar las se˜nales obtenidas de los sensores con una plantilla pre-definida de pasos [6], y con base en la distancia ente las dos secuencias se obtiene el inicio y final de cada paso. La figura 2 resume el proceso de segmentaci´on. La segunda parte de la segmentaci´on recoge lo segmentado anteriormente dividiendo cada zancada en 3 momentos guiados por la fase de impulsi´on del pie (inicia en los dedos del pie y termina en el tal´on):
2.. Metodolog´ıa 2.1.. Sensado En este trabajo, los datos son capturados usando el sistema automatizado de an´alisis de la marcha eGalT [11], el cual consiste en bio–sensores adheridos a la parte lateral exterior del zapato, estos capturan datos por medio inal´ambrico gracias a giroscopios y aceler´ometros triaxiales contenidos en los sensores. Los aceler´ometros utilizados tienen un rango de 66g (sensibilidad 300 mV / g), el gir´oscopo tiene un rango de 6500 grados/segundo (sensibilidad 2 mV / grado / seg), y una frecuencia de muestreo de 102.4 Hz. Las se˜nales del sensor se transmiten a trav´es de Bluetooth a una tablet para su posterior an´alisis. La figura 1 muestra un esquema de los sensores utilizados y las se˜nales capturadas.
1. HS: Este sucede cuando el tal´on toca el piso al llegar de la fase de impulsi´on. 2. TO: Este ocurre cuando los dedos de los pies se encuentran en el piso para ir a la fase de impulsi´on. 3. MS: Este pasa cuando el pie est´a totalmente apoyado en el piso dando la sensaci´on de un reposo.
2
de ωj establece el peso de cada vector de soporte, y b es el t´ermino independiente. yb =
m X
ωj gj (x) + b
(2)
j=1
Los parametros de la regresi´on (C and ε) son optimizados en una malla con C ∈ [10−4 , 10−3 , 10−2 , . . . , 100] y ε ∈ [10−4 , 10−3 , 10−2 , 10−1 , 1, 10, 20], en el conjunto de desarrollo usando una validaci´on cruzada de 10 folds. El desempe˜no es evaluado usando el coeficiente de correlaci´on de Spearman entre los valores predichos y los valores reales de la escala MDS-UPDRS.
Figura 2. Esquema algoritmo DTW para segmentaci´on de pasos
2.3.. Caracterizaci´on Diferentes caracter´ısticas cinem´aticas se calculan sobre las se˜nales capturadas. El conjunto de caracter´ısticas est´a formado por 14 medidas relacionadas con el tiempo, distancia recorrida, y velocidad. cada una de las caracter´ısticas se calcula tanto para el pie izquierdo y el derecho, formando un vector de 28 caracter´ısticas. Las caracter´ısticas se calculan para cada paso, y se calculan funciones estad´ısticas como la media y la desviaci´on est´andar. Un resumen de las caracter´ısticas implementadas se observa en la tabla 1.
3.. Marco experimental 3.1.. Base de datos La base de datos est´a formada con datos de 30 pacientes (19 mujeres y 11 hombres). La edad de los pacientes se encuentra en un rango entre 48 y 83 a˜nos (promedio 63.3±7.61). Todos los pacientes son nacidos en Colombia, y fueron etiquetados por un neur´ologo experto de acuerdo con la escala MDS-UPDRS. Una completa descripci´on de cada paciente se muestra en la tabla 2. La tabla incluye un identificador para cada paciente, el genero, la edad, el tiempo desde el diagn´ostico (en a˜nos), y el valor de la escala MDS-UPDRS asignada por el neur´ologo.
Cuadro 1. Caracter´ısticas calculadas sobre las se˜nales de marcha
Caracter´ısticas Tiempo promedio de reposo Desviaci´on est´andar del tiempo del reposo Tiempo promedio de la zancada Desviaci´on est´andar del tiempo de la zancada Tiempo promedio del swing Desviaci´on est´andar del tiempo del swing Promedio de la distancia recorrida en cada paso Desviaci´on est´andar de la distancia recorrida en cada paso Velocidad promedio del paso Desviaci´on est´andar de la velocidad del paso ´ Angulo promedio de la rotaci´on del pie Desviaci´on est´andar del a´ ngulo de la rotaci´on del pie Altura m´axima promedio del pie Desviaci´on es´andar de la Altura m´axima del pie
3.2.. Experimentos En este trabajo se analizan tres diferentes tareas realizadas por los pacientes, descritas a continuaci´on. 1. Ex01: 10 metros ida pausa y vuelta. 2. Ex02: 10 metros ida y vuelta dos veces sin pausa. 3. Ex03: 10 metros ida y vuelta dos veces parando cada 3 metros.
2.4.. Predicci´on del estado neurol´ogico
El paciente camina sobre una superficie plana en una linea recta de 10 metros demarcada por un principio y fin, y dependiendo de la prueba se marcan tambi´en divisiones donde requiera hacer alguna pausa o actividad. Este tipo de pruebas se realizan de esta forma, ya que basandose en estudios y situaciones previas, se puede dar un aproximado de lo que pasara en una situaci´on real.
La predicci´on del estado neurol´ogico de los pacientes de acuerdo con la escala MDS-UPDRS es realizado utilizando una SVR con un kernel lineal. Esta t´ecnica permite predecir el valor de la escala (b y ) usando una funci´on de perdidas L(y, yb) que asegura la existencia del o´ ptimo global. Dicha funci´on es calculada con la ecuaci´on 1. L(y, yb)) =
0 |y − yb| − ε
if |y − yb| ≤ ε en otros casos.
4.. Resultados y discusi´on
(1)
4.1.. Evaluaci´on de Caracter´ısticas
Los vectores de caracter´ısticas x son mapeados en un espacio m−dimensional usando un kernel lineal g(x). Los valores predichos yb son estimados usando la ecuaci´on 2, don-
Esta primera parte consiste en la evaluaci´on perceptual de las caracter´ısticas calculadas. Se escogen como ejemplo 3
A
B
Pie Izquierdo
0.5
1.5
1
Tiempo [s]
1
Tiempo [s]
Tiempo [s]
UPDRS 47
1.5
1.5
0.5
0.5
Pie Izquierdo
0
0 0
5
10
15
20
0
25
5
10
15
20
25
30
0
35
0
1
0.5
0
5
10
15
20
25
Tiempo del swing Us
Tiempo de reposo Us
25
30
1
0.5
0
5
10
15
20
25
30
Pie Derecho
0
35
0
5
10
Numero de pasos
Numero de pasos Tiempo de la zancada Us
20
Pie Derecho
0
0
15
1.5
Tiempo [s]
Tiempo [s]
Pie Derecho
10
Numero de pasos
1.5
0.5
5
Numero de pasos
Numero de pasos
1
1
Pie Izquierdo
1.5
Tiempo [s]
C
UPDRS 26
UPDRS 8
Tiempo de la zancada Us
Tiempo de swing Us
15
20
25
30
Numero de pasos Tiempo de reposo Us
Tiempo de la zancada Us
Tiempo de swing Us
Tiempo de reposo Us
Figura 3. Tiempo de zancada, swing y en reposo para tres pacientes con EP, para el pie derecho e izquierdo de cada uno.
Sexo H H H H H H M M M H M M M M M M M M M H M M M M H M M H H M
Edad 66 60 67 67 70 61 71 56 61 69 74 61 56 51 62 58 53 65 72 70 71 60 63 59 66 68 55 83 48 57
Tiemp diag. 6 11 5 9 3 10 0,5 14 1,5 2 6 15 48 45 6 28 1 5 5 7 10 2,5 10 19 8 6 8 14 15 13
UPDRS 19 8 58 43 64 82 27 10 36 25 64 33 26 49 20 35 31 46 19 40 20 47 19 35 12 18 14 28 13 38
30 20 10 0
Pie Izquierdo
−10 −20
0
5
10
15
20
25
30
20
25
30
35
Numero de pasos Angulo de Rotación del pie (°)
ID 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030
Angulo de Rotación del pie (°)
Cuadro 2. Descripci´on de los pacientes de la base de datos
30 20 10 0
Pie Derecho
−10 −20
0
5
10
15
35
Numero de pasos UPDRS 47
UPDRS 26
UPDRS 8
´ Figura 4. Angulo de rotaci´on del pie para tres pacientes con EP, para el pie derecho e izquierdo de cada uno.
ciente 013 con UPDRS de 26, y el paciente 22 con UPDRS de 47. La figura 3 muestra el tiempo en reposo, de swing y de zancada para los tres pacientes, tanto para el pie derecho e izquierdo. N´otese que a medida que el nivel de UPDRS es m´as alto, aumenta la inestabilidad en los tiempos (paciente con UPDRS 47 respecto a los otros dos). La figura 4 muestra el a´ ngulo de rotaci´on del pie para los tres pacientes elegidos. Notese que los pacientes con UPDRS (8) y UPDRS (26) tienen grandes rotaciones del pie, comparadas con el tercer paciente, el cual tiene movimientos m´as rigidos y a´ ngulos de rotaci´on son m´as peque˜nos. La figura 5 muestra la longitud del paso para los tres pacientes escogidos. Note que la longitud de la zancada del paciente con UPDRS (8) es mayor que la de los otros dos pacientes, especialmente que el paciente con UPDRS(47), el cual presenta la menor longitud. La figura 6 contiene la velocidad estimada de cada paso para los tres pacientes. Se puede observar que el paciente con UPDRS (8) es el que tiene velocidad m´as alta, seguido del paciente con UPDRS (26). Finalmente, el paciente con
tres pacientes con distinto grado de UPDRS desde leve hasta avanzado: (1) El paciente 002 con UPDRS de 8, (2) el pa4
4.2.. Predicci´on del estado neurol´ogico
Longitud de la zancada [cm]
150
Pie Izquierdo
La tabla 3 contiene los resultados de la predicci´on del estado neurol´ogico de los pacientes para cada una de las tres tareas de marcha analizadas. La tabla contiene el coeficiente de correlaci´on obtenido tanto en el conjunto de prueba como de desarrollo (en parentesis), el valor del parametro de complejidad de la SVR (C), y el valor del parametro de la constante de perdidas (ε). El mejor resultado se obtiene en la tarea 1, con un coeficiente de correlaci´on de 0.67, indicando que las caracter´ısticas propuestas pueden ser utiles para monitorear de forma autom´atica el estado neurol´ogico de los pacientes. Note tambi´en la estabilidad de los parametros de la SVR, especialmente en las tareas Ex01, y Ex02, se obtienen valores peque˜nos y del mismo orden tanto para los parametros de complejidad como para la constante de perdidas de la SVR.
100
50
0
5
10
15
20
25
30
35
Numero de pasos
Pie Derecho 100
50
0
5
10
15
20
25
30
35
Numero de pasos UPDRS 47
UPDRS 26
UPDRS 8
Figura 5. Longitud de la zancada para tres pacientes con EP, para el pie derecho e izquierdo de cada uno.
1.4
Pie Izquierdo
Velocidad [m/s]
1.2 1
Cuadro 3. Correlaci´on de Spearman en la predicci´on del estado neurol´ogico de pacientes con EP usando caracter´ısticas
0.8 0.6
0
5
10
15
20
25
30
# Tarea Ex01 Ex02 Ex03
35
Numero de pasos 1.4
Pie Derecho
Velocidad [m/s]
1.2 1 0.8
Correlaci´on 0.67 (0.70) 0.40 (0.55) 0.40 (0.59)
C 1e-5 1e-5 1
ε 1e-4 1e-4 1e-4
0.6 0.4
0
5
10
15
20
25
30
35
Numero de pasos UPDRS 47
UPDRS 26
UPDRS 8
5.. Conclusiones
Figura 6. Velocidad en la marcha para tres pacientes con EP, para el pie derecho e izquierdo de cada uno.
En este trabajo se realiza un an´alisis de marcha de pacientes con EP utilizando aceler´ometros y gir´oscopos adheridos al borde del zapato. Para esto se calculan distintas caracter´ısticas relacionadas con la velocidad, el tiempo y la longitud de cada paso. Con las caracter´ısticas obtenidas se predice el estado neurol´ogico de los pacientes de acuerdo con la escala MDS-UPDRS, logrando un coeficiente de correlaci´on de hasta 0.67. De acuerdo con las carater´ısticas estimadas, a mayor ´ındice MDS-UPDRS se observan en general mayores fluctuaciones en el tiempo, reducci´on de la velocidad, se acortan las longitudes del paso, entre otras. Como trabajo futuro se busca analizar la metodolog´ıa propuesta para mapear solamente aquellas componentes de la escala MDS-UPDRS relacionadas con el movimiento de las extremidades inferiores, con el objetivo de mejorar los resultados en el monitoreo de los pacientes.
Altura máxima del pie [cm]
60
Pie Izquierdo
50 40 30 20 10 0
0
5
10
15
20
25
30
35
Numero de pasos 60
Altura máxima del pie [cm]
Longitud de la zancada [cm]
150
Pie Derecho
50 40 30 20 10 0
0
5
10
15
20
25
30
35
Numero de pasos UPDRS 47
UPDRS 26
UPDRS 8
Figura 7. Altura estimada del paso para tres pacientes con EP, para el pie derecho e izquierdo de cada uno.
UPDRS(47) presenta la velocidad m´as baja y m´as fluctuante.
6.. Agradecimientos
Finalmente, la figura 7 muestra la altura de elevaci´on del pie para los tres pacientes. El paciente con UPDRS(8) es el paciente que m´as levanta el pie, seguido por el paciente con UPDRS(26). Finalmente, el paciente con UPDRS (47) es el que presenta la menor altura y mayor inestabilidad en la elevaci´on de cada paso.
Los autores agradecen a la fundaci´on Fundalianza Parkinson Colombia por el apoyo en la recolecci´on de los datos, al proyecto COLCIENCIAS # 111556933858 por la financiaci´on del estudio, y al CODI de la Universidad de Antioquia. 5
Referencias [1] O. Hornykiewicz. Biochemical aspects of Parkinson’s disease. Neurology, 51(2):S2–S9, 1998. [2] J. A. Logemann, H. B. Fisher, B. Boshes, and E. R. Blonsky. Frequency and cooccurrence of vocal tract dysfunctions in the speech of a large sample of Parkinson patients. Journal of Speech and Hearing Disorders, 43(1):47–57, 1978. [3] C. G. Goetz et al. Movement Disorder Society-sponsored revision of the Unified Parkinson’s Disease Rating Scale (MDS-UPDRS): Scale presentation and clinimetric testing results. Movement Disorders, 23(15):2129–2170, 2008. [4] Sang-Hong Lee and Joon S Lim. Parkinson’s disease classification using gait characteristics and wavelet-based feature extraction. Expert Systems with Applications, 39(8):7338– 7344, 2012. [5] Jochen Klucken, Jens Barth, Patrick Kugler, Johannes Schlachetzki, Thore Henze, Franz Marxreiter, Zacharias Kohl, Ralph Steidl, Joachim Hornegger, Bjoern Eskofier, et al. Unbiased and mobile gait analysis detects motor impairment in parkinson’s disease. PloS one, 8(2):e56956, 2013. [6] Jens Barth, C¨acilia Oberndorfer, Cristian Pasluosta, Samuel Sch¨ulein, Heiko Gassner, Samuel Reinfelder, Patrick Kugler, Dominik Schuldhaus, J¨urgen Winkler, Jochen Klucken, et al. Stride segmentation during free walk movements using multi-dimensional subsequence dynamic time warping on inertial sensor data. Sensors, 15(3):6419–6440, 2015. [7] Federico Parisi, Gianluigi Ferrari, Matteo Giuberti, Laura Contin, Veronica Cimolin, Corrado Azzaro, Giovanni Albani, and Alessandro Mauro. Body-sensor-network-based kinematic characterization and comparative outlook of updrs scoring in leg agility, sit-to-stand, and gait tasks in parkinson’s disease. IEEE journal of biomedical and health informatics, 19(6):1777–1793, 2015. [8] Ferdous Wahid, Rezaul K Begg, Chris J Hass, Saman Halgamuge, and David C Ackland. Classification of parkinson’s disease gait using spatial-temporal gait features. IEEE journal of biomedical and health informatics, 19(6):1794–1802, 2015. [9] Marie Demonceau, Anne-Franc¸oise Donneau, Jean-Louis Croisier, Eva Skawiniak, Mohamed Boutaayamou, Didier Maquet, and Ga¨etan Garraux. Contribution of a trunk accelerometer system to the characterization of gait in patients with mild-to-moderate parkinson’s disease. IEEE journal of biomedical and health informatics, 19(6):1803–1808, 2015. [10] J. R. Orozco-Arroyave, J. C. V´asquez-Correa, F. H¨onig, J. D. Arias-Londo˜no, J. F. Vargas-Bonilla, S. Skodda, J. Rusz, and E. N¨oth. Towards an automatic monitoring of the neurological state of the Parkinson’s patients from speech. In 41st International Conference on Acoustic, Speech, and Signal Processing (ICASSP), 2016. [11] eGaIT - embedded Gait analysis using Intelligent Technology, http://www.egait.de/, 2011.
6
DISEÑO DEL SISTEMA DE TELEMETRÍA DEL MONOPLAZA FSO2e PARA EL PROYECTO FÓRMULA SENA eco FORSSA ORIENTE Alex A Monclou S UPB Bucaramanga
[email protected]
Cindy P Quintero D UPB Bucaramanga
[email protected]
Resumen El proyecto Fórmula SENA eco impulsa el desarrollo automotriz a través de competencias automovilísticas. Por tal razón el proyecto tuvo como objetivo la construcción y puesta en marcha de un monoplaza eléctrico, del cual se creó el sistema de telemetría y se monitorearon tres variables. Monitoreo que se transmitió mediante radio frecuencia con módems XBee. Para el laboratorio de telecomunicaciones de la facultad de ingeniería electrónica se desarrolló un prototipo transmisor – receptor que replica el monitoreo de las variables del Fórmula SENA eco.
El proyecto de grado posteriormente desarrolló un sistema trasmisor – receptor para las mismas variables como prototipo para el laboratorio de telecomunicaciones partiendo de la experiencia adquirida en la pasantía realizada en el SENA y con componentes, materiales y equipos que el laboratorio tiene para uso de los estudiantes en sus prácticas.[1].
1. Introduccion
Diseñar para el laboratorio de telecomunicaciones un prototipo básico que simule el sistema de telemetría del monoplaza Fórmula SENA eco regional Santander FSO2e.
La industria automotriz en Colombia ha tenido un crecimiento representativo generando desarrollo tecnológico y económico en el territorio nacional. A su vez se han revisado diversas competencias automovilísticas internacionales como la Fórmula Uno, Fórmula Student y a nivel nacional y local la Fórmula SENA. Surge el proyecto Fórmula SENA eco para impulsar el desarrollo automotriz en el país a través de competencias automovilísticas utilizando herramientas empleadas en los niveles educativos de ingeniería, tecnología y áreas afines que permiten mejorar las habilidades de los estudiantes y aprendices para desenvolverse eficientemente en el ámbito laboral. Por tal razón, el proyecto Fórmula SENA eco tuvo como objetivo la construcción y puesta en marcha de un monoplaza eléctrico, del cual se creó el sistema de telemetría y se participó en una pasantía durante el desarrollo de dicho proyecto en el Centro Industrial de Mantenimiento Integral - SENA Regional Santander. En el proyecto Fórmula SENA eco se monitorearon tres variables: el nivel de carga de las baterías (VDC), las revoluciones por minuto del motor (RPM) y la temperatura del motor (°C). El monitoreo de las variables se transmitió mediante radio frecuencia.
2. Objetivos 2.1. Objetivo general
2.2. Objetivos especificos • Conocer el desarrollo del monoplaza Fórmula SENA eco regional Santander FSO2e para simular el monitoreo de las variables utilizadas en dicho proyecto. • Diseñar e implementar los módulos de temperatura, nivel de carga de tensión de las baterías y RPM del motor y documentarlos para usarlos en el laboratorio de telecomunicaciones. • Obtener el conocimiento necesario para el uso del Arduino, plataforma electrónica abierta para la creación de prototipos basados en softwares y hardwares flexibles. • Obtener el conocimiento necesario para el uso de los módulos XBee, que brindan un medio inalámbrico para la interconexión y comunicación entre dispositivos. • Generar un curso de capacitación que involucra la integración de la plataforma Arduino con los módulos XBee en la implementación del prototipo de telemetría de las tres variables.
3. Marco teórico La telemetría es un procedimiento para medir magnitudes físicas o químicas desde el lugar en donde éstas se producen hasta un punto de supervisión o control.
Es utilizada para monitoreo y en ocasiones para el control de grandes sistemas industriales tales como: procesos químicos, fábricas textiles, procesos en la industria del petróleo, monitoreo e instrumentación de naves espaciales y en competencias de autos para seguir el funcionamiento del vehículo e informar tanto al equipo técnico como al piloto del estado de las variables sensadas [2].
Carga de las baterías.
La importancia de la telemetría en competencias deportivas de monoplazas ha llegado al punto en el que los equipos dependen tanto de estos sistemas como de los fabricantes de motores o de neumáticos.
Durante la pasantía se programaron tres microcontroladores Arduino, uno de ellos ubicado en el monoplaza, el segundo en un punto repetidor con la antena Yagi y el tercero en el punto de control (pits) comunicados mediante radio frecuencia empleando módems XBee. Además una interfaz gráfica para almacenamiento de datos y su correspondiente visualización en tiempo real, la cual se empleó de acuerdo a las necesidades y solicitudes del sistema durante su proceso. Dicha interfaz fue elaborada por aprendices del SENA Regional Norte de Santander.
Dicho monitoreo permitió la transmisión de datos del monoplaza FSO2e en tiempo real y de forma remota basado en la comunicación entre módulos XBee de radio frecuencia a 2.4GHz utilizando el estándar IEEE 802.15.4 para redes de área personal (WPAN).
La información adquirida en la telemetría mientras el vehículo está en competencia, permite evaluar el funcionamiento del mismo ante situaciones no controladas. Esto ha incentivado la creación de bancos de pruebas que permiten simular y desarrollar sistemas acordes a la realidad y así determinar fallas y mejorar el rendimiento del vehículo con las correcciones adecuadas [3].
4.1 Pruebas preliminares.
El automovilismo en Colombia ha tenido cambios importantes desde la participación de Juan Pablo Montoya en la Fórmula1, evento que disparó el número de aficionados al automovilismo y pilotos en las competencias que se efectúan en el país. La tecnología utilizada en el automovilismo colombiano es limitada porque las herramientas son costosas o difíciles de conseguir. Por ello se ha visto la necesidad de investigar y desarrollar instrumentos con tecnología que se encuentre en el país y que faciliten el monitoreo en tiempo real de los datos tal que garanticen dar soporte en la toma de decisiones.
Se iniciaron las pruebas de alcance máximo del sistema con tres puntos de comunicación y simulando las variables a sensar. En el conjunto transmisor – receptor se utilizaron los siguientes componentes. 2 Potenciómetros simuladores de variables 2 Potenciómetros de ajuste de contraste de las pantallas LCD 2 Arduinos UNO 2 Pantallas LCD 2 XBee shield 2 Modem XBee PRO S2 de antenna Wire
4. Proyecto formula SENA eco El sistema de telemetría de la escudería Forssa Oriente del proyecto Fórmula SENA eco se centró en la construcción de un monoplaza eléctrico a partir de un kit proporcionado por el SENA en conjunto con la empresa VECTRIX, compuesto por: un tablero de visualización, un acelerador manual, dos motores eléctricos, dos controladores, dos ICM (Interfaz Control Motor), dos cargadores de baterías y dos paquetes de baterías. Cada componente se interconecta mediante una red CAN (Controller Area Network) con los otros dispositivos.
4.2 Kit VECTRIX Con el motor de la empresa VECTRIX se inició la construcción del sistema de telemetría. Este kit estaba diseñado para 2 motos eléctricas y constaba de: • 2 Motores Brushless trifásicos, potencia máxima continua: 5,1 Hp (3,8 KW) y torque máximo continuo: 23 Nm • 2 Controladores diseñados especialmente para los motores • 2 ICM (Interface Control Module) • 2 Packs de baterías LiFePO4, 128 Voltios, 42 Ah • 2 Cargadores de baterías 110 – 220 Voltios • Arnés eléctrico para cada motor (Cables) • 1 Acelerador con sensor magnético (que debía conectarse a ambos paquetes)
En el proyecto Fórmula SENA eco se monitorearon las siguientes variables: Revoluciones por minuto del monoplaza FSO2e. Temperatura de los motores. 2
• Tablero indicador
Con las hojas de datos que suministró la empresa VECTRIX se encontró que el controlador del motor constaba de un encoder y que en el diseño tenía sensores de efecto Hall para cada fase del motor que se podían utilizar en la caracterización de la velocidad. Los datos se registraron en la table 3
Se hizo un rediseño para el emparejamiento entre los dos kits y se armó para un vehículo monoplaza. La telemetría se centró en los controladores de los motores y las baterías.
5. Módulo telemetría FSO2e V
10
20
30
40
50
60
70
80
90
100
110
236
116
73,6
57,6
44
37,6
32
28
24,7
23,1
20,7
Km/h
5.1 Temperatura
T µS
Se caracterizó el termopar tipo K, sensor de temperatura de uso industrial fabricado con dos alambres de distinto material unidos en un extremo. Al aplicar la temperatura en la unión de los metales se genera un voltaje pequeño (efecto Seebeck) del orden de los milivoltios el cual aumenta con la temperatura [4].
Tabla 3. Caracterización velocidad (V) y período (T)
En cada fase se analizó y se observó el mismo comportamiento entre ellas.
5.4 Interfaz gráfica
Las pruebas se realizaron en el laboratorio del SENA CIMI (Centro Industrial de Mantenimiento Integral) – Girón. Se caracterizó la temperatura y los datos recibidos se registraron en la tabla 1. El valor análogo se toma de las tablas entregadas por el fabricante del termopar. T (°C)
10
20
30
40
50
60
70
80
90
100
análogo
53
106
159
212
265
318
371
424
477
530
La interfaz gráfica estuvo a cargo de aprendices de la Regional Norte de Santander, quienes realizaron el diseño en lenguaje JAVA. La figura 1 representa lo que el usuario observaba en tiempo real.
Tabla 1. Caracterización de la temperatura
5.2 Baterias Para las baterías de LiFePO4 de 42 Ah y 128 Voltios se construyó un voltímetro. Como el amperaje y la tensión de las baterías eran altas para conectarse al microcontrolador Arduino, se realizó un circuito divisor de tensión. El valor análogo se obtuvo del desarrollo del Arduino para este valor análogo. Con el diseño se inicia la caracterización de la carga de las baterías para conectarse al microcontrolador Arduino, datos que se registran en la Tabla 2. Tensión (V) Valor analógico
10 9
40 37
70 64
100 91
Figura 1. Interfaz gráfica FSO2e
130 100
En esta interfaz se presentaba: • Tacómetro indicador de la velocidad del monoplaza FSO2e. • Termómetro indicador de la temperatura de la batería y del motor. • La gráfica de la señal cardiaca del piloto. • La gráfica de la velocidad del monoplaza FSO2e.
Tabla 2. Caracterización tensión en las baterías
5.3 Velocidad del motor 3
6. Prototipo para el laboratorio de la UPB Bucaramanga El trabajo de grado implementó un prototipo básico con la tecnología Arduino y modem XBee, el cual partió de la experiencia adquirida en la pasantía del proyecto Fórmula SENA eco y se adaptó al laboratorio de telecomunicaciones simulando las mismas variables (Velocidad, Temperatura y Carga de la batería).
Figura 3. Diagrama en bloques Receptor
XBee End Device: Modem que toma las señales emitidas desde el XBee transmisor y las procesa mediante el programa X-CTU propio del sistema XBee Digi.
6.1 Diagrama en bloques del Transmisor La figura 2 muestra el diagrama en bloques del prototipo transmisor.
PC: Toma la señal mediante el puerto USB directamente desde el XBee y se visualiza en el GUI desarrollada con LabView.
6.3 Caracterización transmitidas
de
las
variables
BATERÍA: Comercialmente en los autos eléctricos se utilizan baterías recargables de LiFePO4 (Fosfato de hierro de litio) de 128 VDC – 42 A/h. Para el diseño del laboratorio se tomó la fuente Protek Triple DC Power Supply 3033B con voltaje de salida de 0 V a 30 V; 1 a 5 A, valores que se adaptaron para el laboratorio. Según la hoja de datos del Arduino los valores máximos recomendados para este dispositivo son: 40 mA y 5 V. Se diseña el divisor de tensión de la figura 4. [5]. Las ecuaciones 1 y 2 muestran cómo se calcularon las resistencias del divisor de tensión.
Figura 2. Diagrama en bloques del Transmisor
BATERÍA: Se simuló con una fuente variable DC, con rango de 0 V hasta 30 V. VELOCIDAD: Este bloque se simuló con un generador de funciones que entregó una señal cuadrada de 5 voltios pico, con rango de frecuencia desde 1 KHz hasta 20 KHz. TEMPERATURA: Se Implementó con el sensor de temperatura LM35, con temperatura variable desde 26 °C (Temperatura ambiente) hasta 150 °C. ARDUINO: En el microcontrolador Arduino UNO se emplearon entradas analógicas para la Batería y la Temperatura; para la velocidad se utilizó una entrada digital. Dado que las entradas del Arduino son máximo 5 voltios, las señales simuladas para los bloques: Velocidad, Batería y Temperatura se adaptaron para ser leídas por dicho dispositivo. XBee Coordinador: Modem que toma las señales leídas por el Arduino y las transmite de manera serial al receptor.
Figura 4. Divisor de tensión para alimentar al ARDUINO
Resistencia de entrada:
(1)
6.2 Diagrama en bloques del Receptor La figura 3 muestra el diagrama en bloques del sistema receptor. Consta de: Xbee End Device, PC y una GUI 4
Resistencia de Arduino
T (°C) 26 30 40 50 60 70 80 90 100 120 150
(2)
Las medidas con diferentes valores para la bacteria se muestran en la Tabla 4 Tensión de Entrada (V)
Tensión de Salida (V)
Corriente de Salida (mA)
Valor Análogico
0 3 6 9 12 15 18 21 24 27 30
0 0,51 1,03 1,53 2,05 2,57 3,07 3,58 4,1 4,61 5,12
0 4,2 8,1 12,1 16,1 20,1 24,1 28,2 32,1 36,2 40
0 100 205 310 414 517 619 722 826 932 1023
V salida (V) 0,25 0,29 0,39 0,49 0,59 0,69 0,78 0,88 0,98 1,17 1,47
Valor análogo 52 60 80 100 120 140 160 180 200 240 300
Tabla 5. Caracterización del sensor de temperatura LM35
6.5 Dispositivo simulador de la velocidad En el proyecto Fórmula SENA eco se sensó la velocidad con el encoder AS5040, el cual es un codificador magnético rotatorio sin contacto que entrega pulsos. En el prototipo del laboratorio se utilizó el generador de funciones RIGOL DG1022 para simular la variación de la velocidad. De este generador se tomaron pulsos de amplitud 5 V pico y frecuencias desde 1 KHz hasta 20 KHz, señal similar a la del codificador. Características de onda del generador RIGOL DG1022 • Onda cuadrada • 5 voltios pico • Duty cycle 50% • Offset 0V • Fase 0° • Frecuencia: 1 KHz – 20 KHz
Tabla 4. Caracterización de la Bateria
Temperatura: En el motor del sistema fórmula SENA eco se utilizó el termopar tipo K para sensar la temperatura. En el diseño se utilizó el circuito integrado LM35, cuyo voltaje de salida es linealmente proporcional a la temperatura en grados Celsius y para desarrollos académicos no requiere ajustes finos en el rango de los 55°C hasta 150°C según la tabla de datos que entrega National Semiconductor [6]. Datos del sensor de temperatura LM35 • Factor de escala: 1 ºC equivale a 10mV • Rango: - 55 °C hasta 150 °C Para el prototipo del laboratorio el LM35 se conectó directamente a una entrada análoga del Arduino. El máximo valor de voltaje que entrega el LM35 es 5 V, valor que se ajusta al máximo de entrada permitido por el Arduino. Se observó que el valor análogo era el doble de la temperatura, este valor se emplea en la programación para que se visualice la temperatura en grados Celsius en la interfaz gráfica del usuario como se ve en la tabla 5.
De manera práctica con el generador se realizaron pruebas empleando la función de interrupción del Arduino y con ello se generó la Tabla 6, relacionando las RPM con el valor análogico observado.
5
F (KHz) 0 2 4 6 8 10 12 14 16 18 20
RPM 0 468,98 937,96 1324,68 1876,18 2345,16 2814,14 3283,12 3752,1 4221,1 4693,12
empleada en las variables sensadas. Esta permitió al usuario configurar el puerto de comunicación serial entre el modem XBee y el software LabView y visualizar las variables Temperatura, Carga de la batería y Velocidad de forma gráfica
VELOCIDAD 0 15 30 45 60 75 90 105 120 135 150
Se añadió una pestaña con el historial de cada dato mediante gráficos, datos históricos que pueden ser utilizados en trabajos posteriores.
Tabla 6. Caracterización de la Velocidad
6.6 Programación de modem Xbee [7] y Arduino [8]. Para la conexión entre el microcontrolador Arduino y los modem RF se emplearon: • 2 módems XBee S1 • 1 XBee shield • 1 Exploradora XBee USB • 1 Arduino con su respectivo cable • Alimentador para Arduino 9 Voltios – 1 Amperio
Figura 5. Interfaz gráfica en LabView
Modem XBee S1: Se utilizaron los modem XBee S1 por ser prácticos para proyectos de corto alcance. En este caso se eligió uno para el transmisor y otro para el receptor.
7. Resultados obtenidos El desarrollo del trabajo de grado logró el objetivo de realizar el sistema simulador de la telemetría del monoplaza Formula SENA eco (FSO2e) con dispositivos de práctico acceso para los estudiantes de la facultad de Ingeniería Electrónica. Se diseñaron e implementar los módulos de temperatura, nivel de carga de tensión de las baterías y revoluciones del motor y se documentaron para tenerlos disponibles en el laboratorio de telecomunicaciones de la facultad de ingeniería electrónica de la UPB seccional Bucaramanga. El sistema como prototipo funciona de manera adecuada y permite al estudiante hacer paso a paso su desarrollo para así afianzar sus conocimientos y proyectarlos a un uso industrial. Para el desarrollo de este proyecto de grado se hizo un estudio en el uso de los dispositivos y programas empleados los cuales fueron: el Arduino, los módulos XBee, el Software X – CTU, el software LabView y su aplicación en la interfaz gráfica de usuario.
Software X – CTU: Los modem XBee se configuran desde el programa X – CTU el cual especifica: • La red de comunicación que para el presente proyecto fue 3332 • La velocidad de comunicación se configuró a 19200 baudios. • Código serial único de cada XBee para privacidad en la comunicación. Éste se encuentra en la vista posterior del modem. El del transmisor es: 13A200 40B0ACA9 El del receptor es: 13A200 40ACE1CF • Jerarquización entre los dispositivos. Esta permite designar al coordinador y al END DEVICE del sistema de comunicación. Para el transmisor es Coordinador Para el receptor es END DEVICE
6.7 Interfaz de usuario El receptor se conecta al computador que contiene la interfaz desarrollada en LabView. En la figura 5 se muestra la interfaz de usuario 6
Referencias [1] Quintero, D. Cindy P. Diseño del Sistema de Telemetría
del Monoplaza fso2e para el Proyecto Fórmula SENA eco Forssa Oriente. Prototipo para el Laboratorio de Telecomunicaciones de la Universidad Pontificia Bolivariana Seccional Bucaramanga. Trabajo de grado. Universidad Pontificia Bolivariana. Bucaramanga 2016. [2] MORALES BEJARANO, José Daniel. Diseño, construcción e implementación de un sistema de telemetría para un vehículo de Karting. Escuela Politécnica Nacional. Quito, Ecuador. Agosto 2012.Tomado de: http://bibdigital.epn.edu.ec/bitstream/15000/4941/1/CD4478.pdf. Consultado: Agosto de 2015. [3] BARRAGÁN C, Bladimir. MORA C, Miguel Á. Telemetría para un automóvil de carreras. Universidad de la Salle. Bogotá, Colombia. 2007. Tomado de: http://repository.lasalle.edu.co/bitstream/10185/16189/2/44 991102.pdf. Consultado: Agosto de 2015. [4] AVENDAÑO, Luis Enrique. Universidad Tecnológica De Pereira. Tomado de: http://www.utp.edu.co/~mauriciorami/libro2.pdf. Consultado: Agosto de 2015. [5] HAYT, William. KEMMERLY, Jack. Análisis de circuitos en ingeniería. 5a Edición. Mexico. McGraw Hill. 1993. [6] LM35. PDF. https://es.scribd.com/doc/134422500/lm355pdf. Consultado: Noviembre de 2015. [7] CARRERA C, Carlos A. GUAINA M, Luis M. Control remoto de robots usando módulos de radiofrecuencia XBee a 2.4GHz con capacidad de comunicación serial a datalogger e interfaz gráfica. Escuela Superior Politécnica del Litoral. Guayaquil, Ecuador. 23 de julio de 2010. Tomado de: http://www.dspace.espol.edu.ec/handle/123456789/11180 Consultado: Noviembre de 2015 [8] Tojeiro Calaza, Germán. Taller de Arduino: un enfoque práctico para principiantes. Primera edición. México: Alfaomega Grupo editor. 2015
7
SEGMENTACIÓN AUTOMÁTICA DE TUMORES EN IMAGEN DE RESONANCIA MAGNÉTICA, UTILIZANDO GRAPH CUTS Jonnatan Arias Garcia1,3, Hernán F. Garcia 1,2,3 e-mail:
[email protected],
[email protected] 1 GAMMA Research Group, Universidad del Quindío, Quindío-Colombia 2 Research Group in Automatics, Universidad Tecnológica de Pereira, Risaralda-Colombia 2 GIDET Research Group, Universidad del Quindío, Quindío-Colombia
Resumen El cáncer o tumor en el cuerpo es una de las enfermedades más mortales en el mundo, según la OMS en 2014 era la segunda enfermedad con mayor índice de mortalidad, de ahí la importancia de la detección de estos tumores, más aún si se encuentran en zonas sensibles como el cerebro; La segmentación de tumores cerebrales es una técnica de separación de diferentes características cerebrales que se basa en la identificación de las características normales del cerebro como la materia gris, la sustancia blanca, líquido cefalorraquídeo y los tejidos cerebrales, en contraste con aquellas no reconocidas las cuales se podrá definir como un área anormal y posible tumor. La segmentación de los tumores cerebrales en imágenes de resonancia magnética (RMI) es un método no invasivo, donde hay varias técnicas de segmentación que se clasifican según el grado de supervisión E intervención humana siendo, estos de forma manual, semiautomática o totalmente automática. La técnica de graph cuts permite una segmentación totalmente automática de tumores que se desarrolla en base al análisis de diferentes energías en una MRI del cerebro y la expansión de estas energías en una línea o una serie de líneas que a través de parámetros propuestos se llevan a una deformación hacia los puntos mínimos, logrado determinar todas las áreas que deberían pertenecer a los tumores Keywords: MRI, Brain tumor segmentation, Segmentation Fully-automatic, Graph Cuts.
PDI,
mejoramiento y más sabiendo que en el mundo de hoy, es común la aparición de nuevas y variadas enfermedades las cuales no dan espera un desarrollo simplista. [8, 10] La biomedicina, y principalmente la biomédica viene dada como una sub-parte de la medicina en la cual se aplican métodos de ingeniería para intentar resolver problemas médicos, dando así un soporte más al desarrollo médico, además de ir generando unas bases más robustas para lo ya establecido en la medicina. El procesamiento digital de imágenes trata de un conjunto de técnicas las cuales son aplicadas por medio de software a una plantilla o imagen, e intentan lograr un mejoramiento de la imagen en términos de calidad en cuanto al brillo, contraste, filtrado de ruido, entre otros. [9] Además, con dicho procesamiento también es usado en la búsqueda de información relevante sobre una imagen. Las aplicaciones medicaciones medicas del procesamiento digital hacen uso de varias técnicas, pero se resalta las de segmentación, las cuales buscan resaltar por secciones, distintos factores en la imagen. La técnica de graph cuts es un algoritmo de procesamiento de imágenes el cual intenta segmentar o dividir una imagen en varias secciones a través de un proceso de minimización de energías; este algoritmo hace parte de una gran variedad de técnicas de segmentación los cuales son muy usadas en el actualmente. [4][5]
2. Segmentación vía Graph Cuts 1. Introducción La medicina es uno de las principales áreas de conocimiento humano debido a que esta es la encargada de hacer un estudio en el cual se interpreten los diferentes factores que afecten la vida y salud humana, por ende, es de suma importancia recalcar que esta área de conocimiento siempre debe estar a pleno, en términos de desarrollo y con un gran énfasis en el continuo
El proceso de segmentación de una imagen puede ser interpretado como la partición de una imagen en distintas zonas las cuales van divididas por diferentes categorías de pixeles. Un método novedoso para la descripción de segmentos en imágenes se puede dar usando la teoría de grafos, la cual define la unión de un conjunto de vértices V y un conjunto de conexiones E, donde representa un peso
asignado a dicha unión de vértices; el peso puede ser representado por la variación de niveles grises entre nodos o directamente por la distancia entre estos vértices, además se resalta que se usa el análisis de estos pesos para la generación de un corte.
Para el método desarrollado actualmente como parte primordial se definió el siguiente termino de energía (Ver Ec. 1). En donde es el termino de datos, el cual asegura que el etiquetado actual sea coherente con los datos observados ( . es penalizados si es muy diferente a los observados . el segundo término es conocido como el smooth term, el cual conlleva el etiquetado base o trazo inicial y se asegura de la eficacia general del etiquetado, penalizando etiquetas vecinas si son muy diferentes. Cabe resaltar que este término esta dado en base al algoritmo de expansión alfa [2, 6] y hace uso dos limitaciones.
El conjunto de nodos que representan el corte vienen dados por la elección de aquellas conexiones con menor peso, los cuales indican niveles de gris o textura similares en la imagen. [7] Un corte de grafo puede ser denominado como una partición de los vértices del grafo el cual divide dicho grafo en varios subconjuntos. Figura 2.
(1) Limitaciones para el smooth term. 1.
Si la energía entre dos etiquetas adyacentes es cero, el etiquetado es el mismo.
2.
Un corte directo entre nodos es igual o más barato que hacer todo un Snake o ruta.
El algoritmo de expansión alpha, es una técnica de minimización de energía basada en lógica de graph cuts, en donde la idea principal se enfoca en la variación de unos valores de etiquetas y la expansión de unas regiones Ῥα creadas en base a dichas etiquetas; Las etiquetas irán variando en cada iteración en base a los valores del pixel α y a unos pesos dados en base a la tabla 1. Se resalta también que cuando dos nodos vecinos no cuentan con la misma etiqueta, se inserta un nodo intermedio.
Puesto así, el problema de la técnica de graph cuts consiste básicamente el encontrar aquellos puntos de mínimo, los cuales permitan delimitar una región con niveles similares.[1] 2
Se resalta del actual proceso que solo se va a limitar al desarrollo informático de la imagen, obviando, que la etapa de adquisición de la imagen en RMI se ha hecho con anterioridad. Puesto así, de la Figura 1. Podemos observar el proceso base el cual deberá pasar la imagen para llegar finalmente al objetivo de delimitación deseado. Figura 3, Entorno de Expansión Alfa [6]
El punto de partida es la aplicación de un preprocesamiento el cual limite la zona de detección dentro del borde craneal, y posteriormente resalte contrastes en la imagen dejando así una delimitación entre zonas más marcadas, posteriormente se aplicó una etapa de filtrado los cuales reduzcan factores no deseados, logrando una imagen inicial la cual permita que el proceso de segmentación sea desarrollado lo mejor posible.
La Tabla 1 es basada en el análisis de la Figura 3 en donde se toma en cuenta como sería la asignación de pesos, partiendo del análisis de los valores de gris de los pixeles vecinos. Tabla 1. Definición de Pesos para expansión alfa y entorno [6]
= = = = = =
si
Posteriormente se plantea el comienzo del método de segmentación graph cuts en donde inicialmente se crea una aproximación de trazos iniciales en base a una matriz de etiquetas iniciales los cuales den un punto de partida hacia la localización de distintos segmentos.
si y similar para
cuando si el enlace cortado si el enlace cortado
Después se plantea el desarrollo de la ecuación de energía principal del sistema, donde se toma en consideración todas aquellas texturas o pixeles relevantes de la imagen y la matriz de etiquetas anteriormente creada.
es es
Una vez que se tiene expresadas las funciones de energía se procede a buscar un mínimo local de energía e ir iterando hasta lograr una delimitación adecuada, quedando así la expresión minimizada enganchada a la zona detectada la cual sería directamente la zona del tumor.
Cabe resaltar que el algoritmo de expansión alfa es usado bajo la garantía de que el mínimo local está dentro de un factor conocido del mínimo global.
Cabe resaltar que para la identificación de parámetros que permiten segmentar un determinado tejido relacionado con el tumor, es tomado en consideración que, debido a la naturaleza propia de la MRI, la textura o niveles de grises los cuales recalcan un tumor, tienen cierta variación con respecto a la textura normal de los tejidos cerebrales visibles en dicha MRI, variación la cual es detectada y aprovechada para lograr la adecuada segmentación.
Este factor es dado por: (2) Es válido resaltar que existe otro algoritmo de minimización denominado alpha Beta swap el cual varia con respecto al de expansión alfa en el uso de términos de semi-métrica y la elección de sus pesos también propuesto en [1], pero se optó por el de expansión alpha debido a que presenta un enfoque más directo frente a una variación de nivel frente a la textura de la imagen.
4. Algoritmo Propuesto El algoritmo propuesto fue el siguiente:
3. Propuesta Metodológica
1. 2.
Para el desarrollo de la segmentación de tumores cerebrales a través de la técnica graph cuts, se ha propuesto una serie de etapas lógicas las cuales debe llevar el procesamiento de la imagen, partiendo desde una entrada de RMI del cerebro y llegando hasta la delimitación del tumor en dicha imagen.
3. 4. 5.
3
Hacer una lectura de la MRI en escala de grises. Aplicar un pre-procesamiento el cual limite la detección a factores intracraneales. Hacer la creación de la matriz de etiquetas. Obtenemos la matriz de pesos y la energía actual. Si ejecuta graph cuts en su versión expansión alfa:
6. 7.
5.1 Recalculamos un nuevo etiquetado 5.2 Asignamos nuevo etiquetado Obtenemos la energía saliente, si no es mejor que la actual volvemos a 5. Mostramos trazos salientes e imagen segmentada, delimitando el tumor.
en donde la entrada inicial fue la RMI superior y la parte inferior fue el contorno segmentado por el algoritmo, el cual representa directamente la zona del tumor.
6. Conclusiones El uso de la técnica de graph cuts presenta un amplio desarrollo de investigación y aplicación, puesto que, aunque generalmente presenta un gran consumo de recursos es posible limitar su modo de etiquetado y generación de pesos hacia desempeños deseados.
5. Resultados La segmentación de tumores cerebrales fue lograda haciendo uso del algoritmo propuesto de graphs cuts, Con el software de Simulación Matlab, junto con su herramienta para uso de archivos en c y c++, denominada mex. Se destaca que los algoritmos aquí desarrollados son basados en un modelo establecido y aceptado en el estado del arte, el cual fue inicialmente propuestos en [1], desarrollado y aplicado en [2] y [3] por sus mismos autores.
En el actual estado del arte, es común encontrar diversas técnicas de segmentación de tumores, las cuales dan un buen índice de desempeño, pero con la falencia de que es necesario aplicar un pre-procesamiento robusto el cual limite la importancia del método principal.
7. Trabajos Futuros Como trabajos futuros se plantea la reconstrucción de la zona del tumor en un gráfico 3D, el cual nos dé una mejor visión del tumor y permita hacer mediciones sobre el tamaño de este. También se plantea el mejoramiento del método con la creación de una matriz de etiquetas inicial, la cual nos refiera a una delimitación previa de la zona a del tumor, dejando así que el método aquí aplicado, sea un refinamiento de la zona del tumor.
En base al resultado del algoritmo de segmentación desarrollado, se resalta que el método de graph cuts es una herramienta potente de segmentación la cual presento en general un tiempo corto de operación, además se denota que en pruebas sin un pre-procesamiento se lograba obtener delimitaciones del tumor y parte de la corteza craneal.
Referencias [1] Efficient Approximate Energy Minimization via Graph Cuts, Yuri Boykov, Olga Veksler, Ramin Zabih, IEEE transactions on PAMI, vol. 20, no. 12, p. 1222-1239, November 2001. [2] What Energy Functions can be Minimized via Graph Cuts? Vladimir Kolmogorov and Ramin Zabih. To appear in IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI). Earlier version appeared in European Conference on Computer Vision (ECCV), May 2002. [3] An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision. Yuri Boykov and Vladimir Kolmogorov. In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), September 2004 [4] Gordillo N, et al, State of the art survey on MRI brain tumor segmentation, Magn Reson Imaging (2013), http://dx.doi.org/10.1016/j.mri.2013.05.002
Figura 3 Resultado segmentacion por grap cuts. En la figura 3 podemos ver uno prueba de funcionamiento 4
[5] Jin Liu, Min Li, J. Wang, Fangxiang Wu, T. Liu and Yi Pan, "A survey of MRI-based brain tumor segmentation methods," in Tsinghua Science and Technology, vol. 19, no. 6, pp. 578-595, Dec. 2014. [6] Spatio-Temporal Segmentation of Heartin 4D MRI images using Graph Cuts with Motion Cues. In International Symposioum in Biomedical Imaging (ISBI). Lombaert, H. and Cheriet, F. 2010 [7] Tobar Puente, M. del Carmen (2014). Optimización de una energía mediante cortes de grafos. Segmentación de imágenes. Tesis (Doctoral), E.T.S.I. Diseño Industrial (UPM). [8] Ambrad Chalela, A. "La Importancia de la Medicina en la ciudad moderna," Heraldp Médico, volumen XXII, 227 [9] González, R.C., Wintz, P. (1996). Procesamiento digital de imágenes. Addison-Wesley. [10] Lain Entralgo, P. "La tecnificación de la medicina,". La Medicina Actual, Cap, II, Hora h. Seminario y Ediciones S.A. Madrid, Españ.
5
Un Método de Segmentación de Nódulos Pulmonares en Imágenes de Tomografía Computarizada basado en la Localización Automática de un Umbral Pedro Romero Nieto Universidad del Magdalena
[email protected]
Idanis Díaz Bolaño Universidad del Magdalena
[email protected]
Resumen En este artículo se presenta un nuevo método de segmentación automática de nódulos pulmonares en imágenes de tomografía computarizada que consiste en la localización automática de un umbral, y en la reducción de falsos positivos aplicando criterios basados en características geométricas. La evaluación del método se realizó sobre un conjunto de casos de ejemplos tomados de diferentes bases de datos públicas. La precisión en la detección de nódulos pulmonares fue de un 88.6%, es decir, 31/35 nódulos verdaderos, y un 99% en la reducción de falsos-positivos. El método reduce la cantidad de información que debe ser analizada para distinguir visualmente nódulos pulmonares en imágenes de tomografía computarizadas.
1. Introducción El cáncer de pulmón es la principal causa de muertes por cáncer en el mundo [1]. En países desarrollados, entre el 10 y 16% de pacientes diagnosticados con esta patología tienen una tasa de supervivencia de cinco años. Esto ocurre principalmente porque un 70% de los casos de cáncer de pulmón son diagnosticados en estados avanzados. Sin embargo, en casos donde el cáncer de pulmón se diagnostica en etapas iniciales, la tasa de supervivencia se incrementa en un 70% [2]. La existencia del cáncer de pulmón es usualmente indicada por la presencia de nódulos pulmonares. La detección temprana de nódulos potencialmente cancerosos puede ser una forma de mejorar las posibilidades de supervivencia en los pacientes [3]. Las técnicas no invasivas basadas en imágenes tales como radiografía y tomografía de pecho son piezas fundamentales en la detección de nódulos pulmonares en estados iniciales [4]. La tomografía computarizada (TC) se ha convertido en la modalidad de imagen más común debido a su alta permisividad para identificar nódulos pulmonares pequeños y representar adecuadamente el tórax humano
Germán Sánchez Torres Universidad del Magdalena
[email protected]
[5]. Sin embargo, la identificación visual de nódulos en imágenes TC es particularmente difícil, estas imágenes llegan a presentar apariencias ruidosas y una gran cantidad de datos. En muchas ocasiones se generan imágenes con más de 300 cortes (slices) por escaneo [6]. La idea detrás de estos procedimientos automatizados consiste en proponer una forma de asistir al médico especialista, permitiéndole sospechar de ciertas estructuras visibles en las imágenes o proporcionar una segunda opinión respecto al diagnóstico previo [7]. Una de las técnicas para la segmentación automática de nódulos pulmonares de menor dificultad en su comprensión y mayor facilidad en la implementación es la umbralización. Esta técnica fue utilizada por Wiemker et al. [8], quienes aplicaron umbrales para separar la superficie de los nódulos del volumen del fondo, luego Zhao et al. [9], implementó un algoritmo de máxima densidad local, Messay et al. [10] combinó la umbralización con operaciones morfológicas; mientras que Iqbal et al. [11] aplicó umbrales en múltiples pasos. En este estudio proponemos un nuevo método de segmentación de nódulos pulmonares en imágenes de TC basado en la localización automática de un umbral. Nuestro método se basa en las notables diferencias de intensidad entre los nódulos y otras estructuras al interior del parénquima pulmonar, permitiendo así definir aquellos objetos candidatos, los cuales son clasificados en nódulos o no, a partir de características geométricas de los mismos. En la Sección 2 de este trabajo se describe el método de segmentación que proponemos, el cual consta de dos etapas principalmente, la segmentación de nódulos candidatos, y la reducción de falsos candidatos. En la Sección 3 presentamos los resultados de la evaluación del método sobre dos bases de datos públicas de imágenes de tomografía con la presencia de nódulos pulmonares. En la Sección 4 se presentan algunas conclusiones de este trabajo.
2.2. Detección de Nódulos Candidatos
2. Método de Segmentación de Nódulos Pulmonares
En esta fase se detectan todos aquellos objetos al interior del volumen pulmonar, de los cuales se sospecha que pueden ser nódulos.
Choi et al. [12] plantea que los métodos de detección de nódulos pulmonares cumplen una estructura específica la cual se resume en la Figura 1. Siguiendo esta estructura, explicaremos cada una de las fases del algoritmo desarrollado en este trabajo.
La premisa bajo la cual se realiza esa sospecha es el hecho que los nódulos pulmonares alcanzan niveles de intensidad superiores a los de otras estructuras internas en el parénquima pulmonar [9]. Nuestro algoritmo de detección de nódulos candidatos también se basa en el hecho que la segunda moda ( m2 ) del histograma del volumen pulmonar, generalmente representa la mayor parte del parénquima (Figura 3). Basado en esta información nuestro método localiza un valor de umbral después de, en el que se considera que se encuentran los valores de intensidad que corresponden a los nódulos candidatos, y antes de un punto característico, también localizado por el método en el extremo derecho del histograma.
Figura 1. Fases de un método de detección de nódulos pulmonares.
2.1. Segmentación de Pulmones El resultado del algoritmo de segmentación de los pulmones es una imagen binaria que representa el volumen de interés (VOI), el cual corresponde al volumen pulmonar. La segmentación de los pulmones se llevó a cabo utilizando el método de Otsu [13]. La Figura 2 es un ejemplo de la segmentación obtenida. La Figura 2A es la imagen original, que fue convertida a una imagen binaria al aplicar el procedimiento de Otsu, como se muestra en la Figura 2B. En la imagen resultante el mayor componente conectado corresponde al fondo de la imagen. La Figura 2C es el volumen pulmonar de interés, el cual es obtenido luego de eliminar el fondo de la imagen. Luego se aplicó un procedimiento de rellenado de huecos y operadores morfológicos de clausura, dando como resultado la Figura 2D. Finalmente se aplicó la máscara obtenida sobre la imagen inicial, logrando el objetivo que era la extracción de los valores de intensidad del volumen pulmonar, como se muestra en la Figura 2E.
Figura 3. Histograma del volumen pulmonar y umbral que selecciona parte del parénquima ( m2 , línea vertical roja).
La detección de nódulos candidatos se lleva a cabo mediante los siguientes procedimientos: 2.2.1
Localización de un Punto de Partida Ti
La búsqueda del valor de umbral que nódulos pulmonares candidatos se lleva histograma de derecha a izquierda, en valores de intensidad definido por m2
segmente los a cabo en el un rango de y un umbral
candidato inicial Ti . Este umbral es el valor de intensidad en el histograma que produce al menos un objeto cuyo tamaño sea mayor o igual a un mínimo tamaño preestablecido. El mínimo tamaño preestablecido para esta etapa se determinó experimentalmente de un conjunto de ejemplos seleccionados de las bases de datos utilizadas en este trabajo. Figura 2. Fases de la extracción automática de pulmones en imágenes TC. (A) Imagen original. (B) Imagen binaria. (C) Eliminación de máximo componente conectado de (B). (D) Máscara completa del pulmón. (E) Pulmones extraídos.
2
2.2.2
Localización Automática del Umbral
Las diferencias entre tamaños son insignificantes para un cierto subconjunto de umbrales, esto es:
Los objetos generados al aplicar Ti son tomados como objetos referencia para la búsqueda del umbral de interés. Básicamente, nuestro método observa la variación del tamaño de estos objetos a medida que decrementa Ti con un paso constante dt 10 .
d dij d jk 0
(6)
Sin embargo, como se puede observar en la Figura 4, hay otro subconjunto de umbrales que generan variaciones considerables en el conjunto V , para los que la Ecuación 6 no es verdadera. En este trabajo experimentalmente hemos escogido el valor medio de este subconjunto como un umbral definitivo para la segmentación de los nódulos pulmonares.
Sea vkj el volumen o tamaño (medido en número de vóxeles) del k ésimo objeto identificado en el volumen generado al aplicar como umbral el nivel de intensidad T j , Tj m2 ,..., Ti dt , Tdt . El algoritmo calcula la suma de los tamaños de cada uno de los objetos asociados a este nivel de intensidad, es decir:
V j vkj
(1)
k
Este procedimiento recolecta los siguientes conjuntos de datos:
U Ti ,
, Tm
(2)
V Vi ,
,Vm
(3)
Donde el conjunto U representa todos los umbrales candidatos a partir de Ti con decrementos dt 10 , hasta
Figura 4. Representación gráfica del conjunto de datos de tamaños de objetos por cada uno de los umbrales aplicados.
alcanzar m2 , y V contiene el tamaño total de los objetos segmentados por cada umbral candidato respectivamente.
2.3. Reducción de Falsos-Positivos Aplicando el umbral localizado en la fase anterior, se obtiene un volumen binario que corresponde a la segmentación de los nódulos candidatos.
Nuestro algoritmo de detección de nódulos analiza las variaciones de tamaños que se dan en el conjunto V . A medida que se aplican los umbrales candidatos el tamaño de los objetos iniciales varía lentamente hasta alcanzar cierto valor de umbral en el que el crecimiento se dispara (Figura 4). Este comportamiento se da cuando el umbral aplicado no discrimina valores de intensidad que pertenecen al parénquima pulmonar.
Según Zhao et al. [9] los nódulos generalmente son considerados entre elipsoidales y esféricos, lo cual nos permitió definir criterios de reducción en 2D y 3D para eliminar falsos candidatos. El siguiente gráfico resume el procedimiento desarrollado.
Sean Tx y Ty niveles de intensidad tal que Ty Tx , por lo tanto basados en la técnica de umbralización, esto implica que Vy Vx , y sea la diferencia entre V y y Vx :
d xy Vy Vx
Figura 5. Fases del algoritmo de reducción de nódulos candidatos.
(4)
Podemos definir un conjunto de diferencias entre elementos consecutivos del conjunto V de la siguiente manera:
Dn d12 ,
, d f 1 f , n 1,
, f 1
Los criterios de reducción son aplicados sobre cada objeto que hace parte de la segmentación. Los valores utilizados para cada criterio fueron establecidos experimentalmente a partir de un conjunto de imágenes de
(5) 3
ejemplos que entrenamiento. 2.3.1
fueron
utilizados
como
datos
1
y ELCAP Public Lung Image Database2. Se tomaron un total de 35 nódulos, distribuidos entre 16 casos (pacientes). Las imágenes seleccionadas contienen información acerca de las coordenadas de la localización del centroide del nódulo con su respectivo ground-truth (segmentación manual). Estos nódulos fueron verificados por un conjunto de expertos, garantizando tal condición. Las imágenes TC de estas bases de datos son anisotrópicas, con un espaciado entre píxeles de 0.7,0.7,1.3 mm . Este conjunto de datos seleccionado
de
Reducción 2D
Los criterios de reducción 2D se aplican sobre los slices de la imagen, los cuales definen cortes longitudinales de los objetos 3D. Todas las mediciones en este criterio tienen como unidad el píxel. Criterio del área:
4 Area 72
fue utilizado tanto para entrenamiento como para prueba del método propuesto.
(7)
Criterio de Excentricidad 2D:
3.1. Cuantificación del error de segmentación
0.3695 Exc2D 0.9276
Para tener una cuantificación comprensiva del error de segmentación ( ED ), se seleccionó como métrica de error el coeficiente de Sørensen-Dice, definida así:
(8)
Eliminación de regiones lineales:
ED Figura 6. Posibles regiones lineales que se eliminan.
2.3.2
Estos criterios se aplican a los componentes conectados en 3D que se encuentran en la imagen o volumen binario.
3.2. Resultados de la segmentación
(9)
Luego de la reducción de falsos positivos, persisten al interior del volumen pulmonar solo aquellos objetos que son considerados por el método como nódulos pulmonares. Para evaluar la precisión de la segmentación de estos objetos extrajimos aquellos que contenían los centroides de los nódulos manualmente segmentados por los expertos, información que es proporcionada por las bases de datos de imágenes con las que trabajamos.
Criterio de Excentricidad 3D (10)
0.3604 ExcZ 0.9634 , eje Z
(11)
(13)
Una buena segmentación ED se aproxima a 1 y una segmentación muy mala a 0.
Criterio del volumen
0.6 Exc3D 0.9
S G
Determina cuantitativamente la similitud entre dos conjuntos para los cuales se desea comparar la abundancia de elementos compartidos con la abundancia total entre ellos [14].
Reducción 3D
20 Vol 180, vóxeles
2 S G
Criterio de profundidad
2 long 7 , slices
En este estudio evaluamos principalmente las dos etapas fundamentales del método propuesto, primero la precisión o grado de coincidencia de los nódulos manualmente segmentados del conjunto de datos de prueba, y los nódulos segmentados por el umbral encontrado con el método propuesto. Luego evaluamos la precisión del método al eliminar falsos nódulos que también resultan al aplicar el umbral encontrado. En el parénquima pulmonar no solo los nódulos pulmonares aparecen con valores altos
(12)
Número de cortes o slices en los cuales se encuentran partes del objeto.
3. Evaluación del Método de Segmentación La evaluación del método propuesto se realizó sobre un conjunto de entrenamiento proporcionado por dos bases de datos públicas: SPIE-AAPM Lung CT Challenge Database
1 url: https://wiki.cancerimagingarchive.net/display/Public/SPIEAAPM+Lung+CT+Challenge 2 url: https://veet.via.cornell.edu/lungdb.html
4
de intensidad, si no también algunas otras estructuras como arterias o ruido de la imagen. 3.2.1
Comparación entre segmentación manual y segmentación automática de nódulos
Este primer experimento tiene como finalidad evaluar la capacidad del algoritmo para segmentar objetos de los cuales se tiene certeza que son nódulos pulmonares.
8. Comparación del número de nódulos manualmente segmentados contra el número de nódulos segmentado automáticamente para cada estudio de paciente. Figura
3.2.2
Evaluación del filtrado de falsos positivos
Para evaluar la precisión de la segunda etapa del método propuesto contabilizamos el número total de nódulos candidatos detectado por el umbral encontrado, y el número total de candidatos que fueron descartados por los procedimientos de filtrado que se explican en la Sección 2.3. Las columnas 2 y 5 de la Tabla 1 muestran los números de nódulos que resultan después de aplicar el umbral localizado con el procedimiento explicado en la Sección 2.2., y las columnas 3 y 6 muestran los números de nódulos que resultan luego de aplicar los procedimientos de reducción de falsos positivos explicados en la Sección 2.3.
Figura 7. Segmentación manual contra segmentación automática de nódulos verdaderos. Coeficiente de Sørensen-Dice para cada uno de los casos (Media: 0.8979, std: 0.1179).
La Figura 7 muestra el valor del coeficiente de Sørensen-Dice para cada uno de los casos luego de comparar la segmentación manual con la segmentación automática de los nódulos.
Caso
NC
NS
Caso
NC
NS
1 1839 6 9 40178 34 2 2412 4 10 12648 18 3 2661 19 11 6334 9 4 3630 32 12 32460 38 5 3288 20 13 19612 25 6 3652 25 14 12442 17 7 3045 17 15 38813 14 8 840 11 16 14228 16 Tabla 1. Numero de nódulos que resultan al aplicar el umbral estimado por cada caso (NC). Numero de nódulos que resultan después del filtrado (NS) para cada caso.
El valor medio de los coeficientes de Sørensen-Dice fue 0.8979, lo que indica que el algoritmo segmentó correctamente la mayoría de los nódulos de los casos de entrenamiento. De 35 nódulos tomados de los 16 casos de estudio, se segmentaron correctamente 31 de ellos. Una imagen o estudio de un paciente puede contener más de un nódulo. La Figura 8 muestra la superposición de las curvas generadas al ubicar en el plano el número de nódulos segmentados manualmente (curva azul), y el número de nódulos automáticamente segmentados (curva roja) para cada imagen o caso.
Para los 16 casos seleccionados en este estudio se encontraron en promedio 12380 nódulos candidatos (std: 13485) utilizando los umbrales localizados para cada caso. Luego de aplicar el procedimiento de reducción de falsos positivos se redujo el número a 19 nódulos candidatos en promedio (std: 10) para todos los casos (ver Tabla 1). Este
5
[3] Henschke, C. I., McCauley, D. I., Yankelevitz, D. F., Naidich, D. P., McGuinness, G., Miettinen, O. S., & Smith, J. P. (1999). Early Lung Cancer Action Project: overall design and findings from baseline screening. The Lancet, 354(9173), 99-105. [4] Netto, S. M. B., Silva, A. C., Nunes, R. A., & Gattass, M. (2012). Automatic segmentation of lung nodules with growing neural gas and support vector machine. Computers in biology and medicine, 42(11), 1110-1121. [5] Zhou, S., Cheng, Y., & Tamura, S. (2014). Automated lung segmentation and smoothing techniques for inclusion of juxtapleural nodules and pulmonary vessels on chest CT images. Biomedical Signal Processing and Control, 13, 6270. [6] Cascio, D., Magro, R., Fauci, F., Iacomi, M., & Raso, G. (2012). Automatic detection of lung nodules in CT datasets based on stable 3D mass–spring models. Computers in biology and medicine, 42(11), 1098-1109. [7] Badura, P., & Pietka, E. (2014). Soft computing approach to 3D lung nodule segmentation in CT. Computers in biology and medicine, 53, 230-243. [8] Wiemker Rafael, Zwartkruis André. 2001. Optimal thresholding for 3D segmentation of pulmonary nodules in high resolution CT. International Congress Series 1230 (2001) 653–658. PII: S0531-5131(01)00102-9. [9] Zhao Binsheg, Gamsu Gordon, Ginsberg M, Jiang Li, Schwartz L. 2003. Automatic detection of small lung nodules on CT utilizing a local density maximum algorithm. Journal of Applied Clinical Medical Physics, volume 4, Number 3, summer 2003. [10] Messay Temesguen, Russel C. Hardie, Rogers Steven. 2010. A new computationally efficient CAD system for pulmonary nodule detection in CT imagery. Medical Image Analysis 14 (2010) 390–406. Journal homepage: www.elsevier.com/locate/media. [11] Iqbal S, Iqbal K, Arif F, Shaukat A, Khanum A. 2014. Potential Lung Nodules Identification for Characterization by Variable Multistep Threshold and Shape Indices from CT Images. Hindawi Publishing Corporation. Computational and Mathematical Methods in Medicine. Volume 2014, Article ID 241647, 7 pages. http://dx.doi.org/10.1155/2014/241647. [12] Choi Tae-Sun, Choi Wook-Jin. 2014. Automated pulmonary nodule detection based on three-dimensional shape-based feature descriptor. Computher Methods and Programs in Biomedicine 113 (2014), 37-54. Journal home page: www.intl.elsevierhealth.com/journals/cmpb. [13] Otsu, N. (1975). A threshold selection method from graylevel histograms. Automatica, 11(285-296), 23-27.
resultado muestra un buen desempeño del método en la reducción de falsos positivos.
4.
Conclusiones En este trabajo se presentó un método para la segmentación automática de nódulos pulmonares basado en umbralización. El método consiste de dos etapas fundamentales, la búsqueda automática de un umbral para la segmentación de nódulos candidatos, y la reducción de falsos nódulos. La precisión en la segmentación de nódulos pulmonares fue de 89.8% en un conjunto de casos seleccionados tanto para entrenamiento como para prueba. De acuerdo a este resultado podemos decir que la técnica propuesta para la selección automática de umbrales para la detección de nódulos candidatos tuvo un buen desempeño y que se obtuvo un buen grado de coincidencia con las segmentaciones manuales realizadas por expertos. A pesar de que para muchos casos el método propuesto no eliminó todos los falsos candidatos detectados por el umbral, podemos decir que el número de ellos se redujo considerablemente, especialmente todos aquellos cuya forma geométrica no corresponden a la forma esférica característica de los nódulos pulmonares. El método propuesto puede ser visto como una forma de reducir la cantidad de información en 3D que un médico especialista debe analizar para determinar si existe la presencia de nódulos sospechosos en los pulmones de un paciente. Esto se logra no solo reduciendo el número de slices a analizar, sino además un alto número de nódulos candidatos que pueden ser producidos por ruido en la imagen o por otras estructuras que también presentan altos valores de intensidad en la imagen. Como trabajo futuro, estamos interesados en mejorar la segunda etapa del algoritmo, elaborando procedimientos que nos permita tener una mayor reducción de falsos positivos.
[14] Timo Kohlberger, Vivek Singh, Chris Alvino, Claus Bahlmann, and Leo Grady. 2012. Evaluating segmentation error without ground truth. In Proceedings of the 15th international conference on Medical Image Computing and Computer-Assisted Intervention - Volume Part I (MICCAI'12), Nicholas Ayache, Hervé Delingette, Polina Golland, and Kensaku Mori (Eds.), Vol. Part I. SpringerVerlag, Berlin, Heidelberg, 528-536. DOI=http://dx.doi.org/10.1007/978-3-642-33415-3_65.
Referencias [1] Siegel, R. L., Miller, K. D. and Jemal, A. (2016), Cancer statistics, 2016. CA: A Cancer Journal for Clinicians, 66: 7– 30. doi: 10.3322/caac.21332. [2] Camarlinghi, N. (2013). Automatic detection of lung nodules in computed tomography images: training and validation of algorithms using public research databases. The European Physical Journal Plus, 128(9), 1-21.
6
SISTEMA DE TELEMONITOREO DE NIVELES DE GLUCOSA EN PACIENTES CON DIABETES MELLITUS TIPO 2 Iván Prada, Julián Gómez Universidad Pontificia Bolivariana, Bucaramanga, Colombia.
[email protected],
[email protected]
Resumen Hoy en día la mala alimentación produce enfermedades que en su mayoría son silenciosas y mortales, una de estas enfermedades es la diabetes, la cual es una enfermedad crónica en donde el cuerpo no puede regular la cantidad de azúcar en la sangre [1], produciendo problemas cardiovasculares, neuronales, entre otros [2]. El proyecto presentado en este artículo consiste en llevar un monitoreo de pacientes diabéticos, utilizando un sistema de procesamiento de muestras, el cual está compuesto por un glucómetro, una tarjeta SHIELD y un Arduino. Se toman las muestras diarias y se llevan a una plataforma web previamente diseñada, donde se guardaría el historial clínico del paciente y mostraría de forma gráfica el progreso de la glucosa del paciente, además daría una alerta de peligro en el momento en que los datos presenten un cambio diferente a los que se consideran normales. Se espera que el sistema sea una herramienta de control de glucosa para pacientes diabéticos y que permita continuar con otras investigaciones en el área. Palabras Clave: Diabetes, E-Health, glucómetro, plataforma web.
1. INTRODUCCIÓN La diabetes es una enfermedad crónica que surge cuando el páncreas no produce suficiente insulina, o cuando el organismo no puede utilizar con eficacia la insulina que produce. Estudios realizados muestran que el aumento de ésta enfermedad, es producida principalmente por los altos casos de obesidad en los jóvenes, produciendo la aparición de la diabetes [3]. Estudios realizados a nivel mundial afirman que la mitad de los pacientes con diabetes mellitus tipo 2 (DM2) no siguen adecuadamente el tratamiento y que menos del 30\% cambian sus hábitos o estilos de vida. El cumplimiento adecuado e intensivo del tratamiento se relaciona con el retardo en la aparición y progresión de las complicaciones crónicas de la enfermedad [4]. Hay una atención especial en factores relacionados con el
Sergio A. Salinas, Miguel Altuve Universidad Pontificia Bolivariana, Bucaramanga, Colombia.
[email protected],
[email protected]
tratamiento de la diabetes, especialmente a nivel de conocimiento sobre la enfermedad, habilidades de autocuidado y afrontamiento, autoeficacia, percepción de síntomas, estrés y apoyo social. Mirando las altas cifras de personas en el mundo que sufren esta enfermedad, se plantea un sistema que permita telemonitorear los niveles de glucosa de los pacientes con DM2 de manera constante, llevando un historial que muestre a los especialistas el progreso de la enfermedad; además el sistema se desarrolla pensando en que tenga un fácil manejo para el usuario llevando un buen control de su enfermedad. Existen diferentes investigaciones que muestran lo eficaz que es un sistema e-Health en el proceso de control de la diabetes, estos sistemas permiten un envío de datos empleando tecnologías inalámbricas con aplicaciones cliente-servidor, utilizando cualquier aplicativo desarrollado en Android o iOS [4], esto brinda un gran apoyo a los médicos y permite el cumplimiento total del tratamiento de la enfermedad. El aumento de la expectativa de vida, el consiguiente incremento de las enfermedades crónicas no transmisibles, el aumento del costo de las prestaciones de salud y el explosivo desarrollo de las tecnologías de la información están determinando que la salud requiera de nuevas formas de manejo [5].
2. MATERIALES Y MÉTODOS Para el desarrollo del sistema se dispuso de diferentes elementos: una tarjeta Arduino Ethernet, una tarjeta SHIELD fabricada por Cooking Hacks y un glucómetro con sus respectivos sensores de sangre. Por su parte, en la revisión bibliográfica se encontraron varias investigaciones realizadas sobre el control de la diabetes, y del gran apoyo que brindan los sistemas de telemedicina. Un ejemplo de esto, es un producto llamado GlucoQuick, es un sistema de Telemonitoreo con una aplicación basada en web, que permite carga y análisis de datos en tiempo real [6]. Este tipo de sistemas, se hace principalmente para construir un concepto de hospital
virtual con apoyo de profesionales Médicos y conocedores del área de la telemedicina [7]. Para el sistema desarrollado, se planteó un diagrama de bloques, el cual muestra las fases del desarrollo del proyecto. La figura 1 muestra dicho diagrama.
desarrollar aplicaciones basadas en las necesidades del programador [9,10,11].
Figura 2. Hardware del sistema.
2.3. Protocolo de Toma de Datos
Figura 1. Diagrama de bloques de la metodología.
Para el control de la diabetes, el paciente debe tomar dos muestras diarias, la primera antes del desayuno (ayunas) y la segunda dos horas después (posprandial). Se limpia bien la zona donde se va a sacar la muestra, se usa la segunda gota de sangre que muestra un mejor valor de glucemia en el momento de la medición, luego se coloca la muestra de sangre en el sensor para que el glucómetro haga el debido análisis. Después el sistema se encarga de hacer el procesamiento y enviar los datos a la plataforma web. Una persona con diabetes tipo 2 presenta unos valores de glucosa de 120mg/dL en ayunas y de 200mg/dL posprandial; teniendo en cuenta estos valores, se tomaron dos límites que permiten dar aviso al profesional médico de un aumento inesperado en los niveles de glucemia en el paciente.
El proyecto se planteó principalmente por la necesidad que hay de hacer control y seguimiento a los pacientes con la enfermedad. Así, se decidió implementar un sistema eHealth que tomará los valores diarios (ayunas y postprandial) de glucosa y la llevará a una plataforma web.
2.1. Hardware El sistema cuenta con un Arduino Ethernet, que se encarga de procesar los datos y enviarlos hacia la plataforma web. Se utilizó, junto con el Arduino, una tarjeta SHIELD que se encarga de comunicar el Arduino con el glucómetro; este último es el encargado de determinar la concentración aproximada de la glucosa en la sangre [8]. La tarjeta SHIELD permite transformar los datos de azúcar tomados por el glucómetro a un lenguaje compatible con el Arduino para su debido procesamiento. La figura 2 muestra el hardware utilizado.
3. RESULTADOS Los resultados que se obtuvieron con la plataforma web muestran una buena conexión con el Arduino, permitiendo almacenar y graficar todas las muestras tomadas por el glucómetro. Además, tiene dos formas de acceso de usuario (uno para el médico y otro para el paciente), lo que permite tener confidencialidad entre usuarios, así el médico es el único que tiene acceso a los datos personales del paciente. Las figuras 3 y 4 muestran la forma del ingreso de los datos y la gráfica de los datos recogidos por el glucómetro.
2.2. Software En la parte de programación de algoritmos, se utilizaron librerías desarrolladas por la empresa Cooking Hacks, las cuales permiten la comunicación entre la tarjeta SHIELD y la tarjeta de Arduino Ethernet. Logrando así, recolectar las muestras almacenadas en la memoria del glucómetro y enviarlas a la plataforma web. Para la creación de la página web, se utilizaron programas que permitieran el completo desarrollo del sistema. HTML, PhP y JavaScript, son lenguajes de programación orientadas a objetos que permiten 2
Figura 3. Visualización de los datos del paciente.
La figura 4 muestra la tendencia de los datos de glucosa tomados a un paciente, durante una semana. Con estos datos, y por medio de una regresión lineal, se estima el valor de glucosa esperado para el siguiente día, lo cual puede generar un aviso de pronóstico preventivo si la estimación está por encima de los valores límites normales esperados.
Figura 5. Simulación de pacientes.
Una herramienta como la mostrada en este artículo, es muy importante para el seguimiento que se le lleva a una persona diabética y sería un sistema de bajo costo que brindaría gran ayuda en hospitales. Incluso podría disminuir el índice de muertes por esta enfermedad, dado que el sistema ayuda en el monitoreo y control de la enfermedad.
5. CONCLUSIONES Se desarrolló un sistema de telemonitoreo de niveles de glucosa para aplicarlo en pacientes con diabetes mellitus tipo 2; con una buena comunicación entre los instrumentos electrónicos y la plataforma web, teniendo un efectivo registro de medidas recolectadas de nivel de glucosa. El sistema de telemonitoreo permite realizar el seguimiento del paciente, a través del histórico de niveles de glucosa; así como desarrollar un tratamiento de la enfermedad, por medio de tecnología e-Health. Se obtuvo un sistema eficiente y económico que facilita el acceso, a personas de escasos recursos, a este tipo de tecnología; buscando brindar una herramienta para disminuir las altas cifras de mortalidad por no control de la diabetes. En trabajos futuros, se tomarán datos con pacientes diagnosticados con diabetes mellitus tipo 2, para realizar una validación estadística del sistema desarrollado.
Figura 4. Visualización de la plantilla del historial del paciente.
Para tener una mayor visión de lo que se podría lograr con el sistema, se simularon pacientes, tomando valores aleatorios en un rango, para ayunas y posprandial, y arrojó los resultados mostrados en la figura 5. Lo cual permite inferir que el sistema logra realizar un histórico de valores de glucosa del paciente de forma correcta.
4. DISCUSIÓN Este sistema e-Health puede dar la posibilidad a los pacientes de llevar una vida más tranquila, dado que el sistema brinda fiabilidad en el registro de valores de glucosa y es de fácil manejo. Se espera desarrollar más experimentos con el sistema, que permitan realizar análisis estadísticos con pacientes diagnosticados con diabetes mellitus tipo 2, utilizando el sistema de forma permanente.
REFERENCIAS [1] DMEDICINA.com, “Diabetes”. noviembre 2015. [En línea]. Disponible en: http://www.dmedicina.com/enfermedades/digestivas/diabete s.html [Accedido: 14-may-2016]. [2] MedlinePlus, Biblioteca Nacional de Medicina de los EE. UU, “Diabetes”, [En línea]. Disponible en:
3
[3]
[4]
[5]
[6]
[7]
[8]
[9] [10]
[11]
[12]
https://www.nlm.nih.gov/medlineplus/spanish/ency/article/0 01214.htm [Accedido: 14-may-2016]. Organización Mundial de la Salud, “Informe mundial sobre la diabetes: resumen de orientación”, Technical Documents, 2016, Disponible en: http://www.who.int/iris/handle/10665/204877 [Accedido: 13-may-2016]. A. Montaa, C. Amado y H. Eslava. “Sistemas para e-Salud el Tratamiento de la Diabetes”. Vínculos, [en línea] 11 (2), pp.111-126. 2015. Disponible en: http://revistas.udistrital.edu.co/ojs/index.php/vinculos/articl e/view/9683/10847 [Accedido: 14 -mayo -2016]. R. Quezada, J. Lastra, N. Espinoza, R. Vasquez, U. Xavier. “Programa de telemonitoreo en pacientes diabéticos en un servicio de salud público de Chile”, Latin Am J Telehealth, Edición Especial: 57-62, 2015. Circulo de la Vida, Club, “GlucoQuick sistema de Telemonitoreo”, [En línea]. Disponible en: http://www.circulodelavida.co/solucionesparadiabeticos/Telemonitoreo.aspx. [Accedido: 14-mayo2016]. G. Alejandro, H. Nelson, R. William; “Sistema prototipo de telemonitoreo para pacientes, usando tecnologías inalámbricas semimóviles de comunicación”, Proyecto de grado, Departamento de Ingeniería Electrónica, Pontificia Universidad Javeriana, Bogotá D.C., 2005. tiposdediabetes.org, “Medidor de glucosa o glucómetro” [En línea]. Disponible en: http://tiposdediabetes.org/medidor-de-glucosa-oglucometro/ [Accedido: 14-may-2016]. H. Spona, “Programación de Bases de Datos con MySQL y PHP”, Marcombo, Barcelona, 2010. A. Cobo, P. Gómez, D. Pérez, R. Rocha, “PHP y MySQL Tecnologías para el desarrollo de aplicaciones web”, Ediciones Díaz de Santos, España, 2005. D. Pérez Valdés. “Los diferentes lenguajes de programación para la web”. [En línea]. 2007. Disponible en: http://www.maestrosdelweb.com/los-diferentes-lenguajesde-programacion-para-la-web/ [Accedido: 14-may-2016]. JH. Cho, HC. Lee, DJ Lim, HS Kwon, KH Yoon. “Mobile communication using a mobile phone with a glucometer for glucose control in Type 2 patients with diabetes: as effective as an Internet-based glucose monitoring system”. J Telemed Telecare. 15(2):77-82. 2009.
4
Clasificaci´on autom´atica de im´agenes de cinco tipos de setas usando las metodolog´ıas: Bag of Words y Saliency maps Luis Salazar Zapata, Diego Pati˜no, John Willian Branch Departamento de Ciencias de la computaci´on y la decisi´on Universidad Nacional de Colombia Medell´ın, Colombia
[email protected],
[email protected],
[email protected]
Abstract
local. Otra t´ecnica com´un para reconocimiento de objetos es Bag of Word [18]. La metodolog´ıa BoW es tomada del dominio del procesamiento de lenguaje natural y el an´alisis de texto; y es usada en visi´on por computador para categorizaci´on de im´agenes en escenas generalmente complejas: fondos complejos, varios objetos, formas y colores variados. En este trabajo se desarrolla una metodolog´ıa para la clasificaci´on autom´atica de im´agenes de cinco especies de setas: Agaricus bisporus, Amanita muscaria, Amanita Phalloides, Deconica montana y Pycnoporus sanguineus. En este trabajo se combinan las dos mencionadas metodolog´ıas tratando de obtener el mejor desempe˜no de clasificaci´on posible para un conjunto de datos de 250 im´agenes: 50 im´agenes por cada tipo de seta. Estas especies fueron elegidas para este estudio debido a que son comunes en muchos ecosistemas o en cultivos artificiales; adem´as, dos de ellas son t´oxicas para el consumo humano: Amanita muscaria y Amanita Phalloides. Teniendo en cuenta lo anterior, uno de los objetivos de este trabajo es crear una t´ecnica que logre identificar si la seta que aparece en una imagen en particular es o no t´oxica. Para realizar la clasificaci´on se utiliz´o un SVM con un kernel RBF, y se cre´o un diccionario de palabras visuales (BoW) utilizando caracter´ısticas extra´ıdas de 250 im´agenes que contienen alguna de las especies de setas utilizadas. Se eligieron im´agenes tomadas en condiciones naturales: las setas aparecen en los ecosistemas donde normalmente crecen. Las caracter´ısticas fueron calculadas utilizando el algoritmo SIFT, junto con algunas caracter´ısticas adicionales basadas en propiedades del color en el espacio L*a*b*. El diccionario de palabras para el BoW se creo usando k-means como m´etodo de clusterizaci´on con un valor de k = 400 clusters. Al momento de crear el diccionario, este fue depurado para evitar la formaci´on de palabras poco significativas para la clasificaci´on a trav´es del uso de varios
En este trabajo se desarrolla una metodolog´ıa de clasificaci´on autom´atica de im´agenes de cinco tipos de setas: Agaricus bisporus, Amanita muscaria, Amanita Phalloides, Deconica montana y Pycnoporus sanguineus, con una base de datos de 250 im´agenes. Para la clasificaci´on se us´o Bag of Words con un diccionario de palabras visuales entrenado con SIFT y k-means. El diccionario us´o en su entrenamiento informaci´on de color proveniente del espacio L*a*b de cada imagen. Los resultados obtenidos alcanzan desempe˜nos de 90 % de datos bien clasificados; sin embargo, para incrementar a´un m´as el desempe˜no se adopt´o un estrategia basada en el saliency de cada punto extra´ıdo con SIFT, con el fin de hacer una selecci´on de caracter´ısticas del diccionario del Bag of Words. Los resultados finales alcanzan un desempe˜no del 93 % de im´agenes bien clasificadas.
1. Introducci´on El reconocimiento de objetos es una de las sub-´areas de la visi´on por computador que m´as atenci´on recibe en la comunidad cient´ıfica. Esto es f´acilmente comprobable al analizar la cantidad de documentos relacionados con el tema que pueden encontrarse en los principales congresos y revistas en visi´on por computador. Diversas t´ecnicas y metodolog´ıas son usadas con el prop´osito de lograr un buen reconocimiento de diferentes objetos en diferentes escenas. Entre esas t´ecnicas podemos encontrar aquellas basadas en el concepto de saliency[8]. El saliency puede definirse como una medida de que tan visible es una zona de una imagen de una escena en particular, o como una medida de que tanto llama la atenci´on dicha regi´on. Lo anterior lleva al concepto de saliency maps, que no son m´as que im´agenes donde cada pixel es asociado a un valor en el intervalo [0, 1] indicando que tan saliente es dicho pixel con respecto al resto de la imagen o a un vecindario 1
m´etodos de segmentaci´on que aislaran el objeto de inter´es (la seta) del resto de la imagen. Entre estos m´etodos de segmentaci´on se encuentran GrabCuts[14] y segmentaci´on basada en umbralizaci´on de Saliency Maps. El Saliency Map adem´as de permitir una segmentaci´on inicial de las im´agenes donde el objeto m´as saliente corresponde a la seta presente en la imagen; tambi´en permite la estimaci´on de un criterio basado en como de distribuye el saliency entre los puntos que forman cada uno de los clusters del diccionario de BoW. Este criterio se utiliza como score para identificar cuales palabras en el diccionario provienen de puntos significativos en la imagen, y poder as´ı hacer una selecci´on de caracter´ısticas. A trav´es de varios experimentos de clasificaci´on con validaci´on cruzada se comprob´o que BoW por si solo no entrega resultados de clasificaci´on aceptables (alrededor de un 57 % de im´agenes bien clasificadas). Sin embargo, al emplear alg´un m´etodo de segmentaci´on, mas la inclusi´on de descriptores de color, el desempe˜no se incrementa considerablemente alcanzando valores de alrededor de un 90 % de im´agenes bien clasificadas. Adicionalmente, el proceso de selecci´on de caracter´ısticas con el criterio de saliency increment´o a´un m´as el desempe˜no llegando a un porcentaje de clasificaci´on del 93 %. Este documento se organiza de la siguiente manera: en la secci´on 2 se presentan y analizan varios trabajos previos relacionados. En la secci´on 3 se describe con m´as detalle el problema de estudio, los datos utilizados y la metodolog´ıa que se sigui´o. Los resultados de los experimentos se muestran y se discuten en las secciones 4 y 5. Finalmente las conclusiones y el trabajo futuro son presentadas en la secci´on 6.
tenido una gran acogida en la comunidad cient´ıfica, ganando un especial impulso desde el a˜no 2007 con el trabajo de [8]. Los saliency maps son especialmente utilizados para reconocimiento de objetos, resaltando las zonas en la imagen donde es m´as posible hallar uno (objectness). Existe una gran cantidad de trabajos en la literatura relacionados tanto con nuevas t´ecnicas para crear saliency maps[9][7][2], pasando por diversas aplicaciones en diversas a´ reas como reconocimiento de objetos[13], hasta aplicaciones en a´ mbitos industriales [6][1]. Es posible encontrar en la literatura estudios que combinan los dos conceptos discutidos en esta secci´on. De esta manera en [19] vemos como los autores utilizan la metodolog´ıa est´andar de BoW, pero extrayendo y entrenando el diccionario con descriptores extra´ıdos de un saliency map. Nuestro trabajo difiere de [19] en que, el saliency es usado no para describir puntos sobre la imagen sino en cambio para realizar un proceso de selecci´on de caracter´ısticas sobre el diccionario entrenado del BoW. En la siguientes secciones se explicar´a en detalle el mecanismo empleado y los resultados obtenidos. Acerca del problema espec´ıfico de clasificaci´on y reconocimiento de im´agenes de setas, es posible encontrar tambi´en algunos trabajos de diversa ´ındole, no solo mediante el uso de im´agenes a color [12] sino tambi´en im´agenes multi-espectrales[3, 15]. Entre algunos de estos estudios encontramos[11], en donde el autor crea un sistema que reconoce las posiciones en una imagen de setas de la especie agaricus bisporus como parte de una sistema autom´atico de recolecci´on. Otro ejemplo es [4], en donde caracter´ısticas de textura y forma entre otros, junto con una extensa fase de pre-procesamiento de im´agenes, fueron usadas para clasificar varios tipos de setas venenosas y no venenosas. Tambi´en tenemos el trabajo realizado en [17], donde se clasifican varios tipos de setas usando an´alisis de componentes principales en una forma similar a como es usado en la metodolog´ıa de Eigenfaces[16]. En [17] los autores logran conseguir desempe˜nos de al rededor de 96 % de desempe˜no, pero con significativas reducciones debidos con cambios en el fondo, posici´on y escala de las im´agenes de las setas.
2. Antecedentes Dos conceptos ampliamente utilizados en visi´on por computador son aplicados en el desarrollo de este trabajo: Bag of Words y Saliency maps. Con estos conceptos se dise˜no´ un sistema para clasificar im´agenes de cinco tipos de setas. La metodolog´ıa Bag of Words (BoW) ha sido ampliamente utilizada en aplicaciones de visi´on por computador[18]. Esta metodolog´ıa consiste en crear un diccionario de palabras visuales a trav´es de la clusterizaci´on de patches de im´agenes provenientes de un conjunto de im´agenes de entrenamiento. Luego, para una imagen de prueba se crea un histograma donde cada bin corresponde al conteo de patches que pertenecen a ese cluster (palabra visual). El histograma resultante es entonces usado para entrenar un clasificador y reconocer el objeto o escena presente en la imagen bajo la premisa: Im´agenes/escenas similares tienen histogramas similares. Por otro lado, los saliency maps fueron inicialmente introducidos por Itti y Koch[5] en 1998. Desde entonces han
3. Metodolog´ıa El objetivo de este proyecto es presentar una clasificaci´on de im´agenes de cinco tipos diferentes de setas a trav´es del uso de la metodolog´ıa Bag of Words y un clasificador SVM. Adem´as de esto, los datos de entrenamiento que corresponden al diccionario de BoW son sometidos a un proceso de selecci´on de caracter´ısticas usando un criterio asociado a cada cluster. Dicho criterio es calculado usando el saliency de la imagen en los puntos que conforman cada uno de los clusters. 2
Figura 1. Descripci´on gr´afica del proceso de extracci´on de caracter´ısticas usando el algoritmo SIFT.
3.1. Extracci´on de caracter´ısticas
Todas las Xi fueron posteriormente concatenadas para obtener una matriz X que consolida todos los descriptores de todas las im´agenes del conjunto de datos. La figura 1 describe el proceso de extracci´on de caracter´ısticas con SIFT para dos de las setas. De izquierda a derecha en la figura 1 se tiene la imagen original, seguida de la imagen segmentada con los puntos SIFT asociados a ella. En la tercera columna se muestra la imagen PCA-Color, donde se puede observar de nuevo los puntos SIFT asociados a ella.
El conjunto de datos para la clasificaci´on consiste en 250 im´agenes de diferentes tama˜nos donde se puede apreciar un tipo de seta diferentes en cada una de ellas. De cada seta se tienen 50 im´agenes de las cuales se utilizaron 30 para el proceso de entrenamiento y 20 para las pruebas. Las im´agenes fueron obtenidas de diferentes fuentes: Internet, bases de datos de micolog´ıa de varias universidades, bases de datos de visi´on por computador como Image-Net, entre otras. Las im´agenes adem´as fueron seleccionadas de manera que se pudiera apreciar en ellas la seta en el ambiente natural en el cual crece; lo que con lleva a una gran cantidad de distractores y elementos que dificultan la clasificaci´on de la imagen, tales como: pasto, otras plantas, oclusiones, diferentes perspectivas, etc. La extracci´on de caracter´ısticas se llev´o a cabo en varias etapas utilizando el algoritmo SIFT[10]. Para cada imagen del conjunto de datos de entrenamiento se generaron otras dos im´agenes: la primera corresponde a la imagen original segmentada con el algoritmo GrabCuts. La segunda imagen corresponde a la representaci´on en escala de grises de la primera componente principal aplicada a los canales a* y b* del espacio de color L*a*b* de la imagen segmentada. De cada una de ellas se extrajo un conjunto de puntos KP 1 y KP 2, y de cada uno de estos puntos se calcularon 256 caracter´ısticas que corresponden a calcular dos veces los 128 descriptores del algoritmo SIFT; 128 para la imagen escala de gris y 128 en la imagen de PCA-Color. El resultado es una matriz de entrenamiento Xi con un tama˜no de p1 + p2 filas y 256 columnas, donde p1 y p2 son la cantidad de puntos extra´ıdos de la imagen 1 y la imagen 2 respectivamente.
3.2. Creaci´on del vocabulario de palabras visuales Con la matriz de caracter´ısticas X se cre´o un diccionario de palabras visuales utilizando el algoritmo k-Means, y como par´ametro un valor de k = 400. Este valor se obtuvo despu´es de analizar los posibles valores de k haciendo sucesivas clasificaciones con validaci´on cruzada y 10 divisiones. Los valores de k se variaron en un intervalo de k = [50, 1000], siendo 400 el valor medio aproximado de los mejores resultados obtenidos en la clasificaci´on. Los centroides formados por k-Means corresponden a las palabras visuales que conforman el diccionario. Dos tipos de experimentos se hicieron en este punto: primero utilizamos la metodolog´ıa cl´asica de BoW junto con la informaci´on de color para obtener un primer valor de desempe˜no. De este manera se prob´o que el enfoque utilizado es apropiado para el conjunto de datos al obtener errores de clasificaci´on del 28.8 % utilizando solo BoW, y de 15.8 % utilizando BoW con una imagen segmentada con GrabCuts. Adicionalmente, al agregar la informaci´on de color computada como de describe en 3.1, se obtuvieron desempe˜nos con errores de 9 %, mejorando notablemente 3
con respecto a los m´etodos anteriores. Posteriormente, para el segundo experimento se procedi´o a mejorar el desempe˜no del clasificador con una selecci´on de caracter´ısticas donde un subconjunto de palabras del diccionario visual son seleccionadas usando un criterio asociado a cada una de ellas. La clasificaci´on utilizando solo este conjunto de datos es realizada de nuevo y los resultados son evaluados y comparados. La selecci´on de caracter´ısticas se llev´o a cabo usando un criterio que denominamos: saliency score. El saliency score es calculado con base en los valores de saliency promedio y la entrop´ıa inform´atica de los valores de saliency de los puntos que forman cada palabra visual (cluster de k-means). Por lo tanto para cada palabra j tenemos:
saliency scorej =
Figura 2. Desempe˜no de clasificaci´on con la metodolog´ıa desarrollada
nj X sij i=1
! Pn j i=1 scij log(scij ) . − nj log(nj ) (1)
4. Resultados Los resultados mostraron desempe˜nos superiores al 70 % en todos los casos. Varios experimentos de clasificaci´on fueron llevados a cabo, entre ellos, uno especialmente dise˜nado para analizar la sensibilidad de los resultados de clasificaci´on al n´umero de cluster del diccionario BoW (par´ametro k). Cada una de estas pruebas se hizo con validaci´on cruzada con 10 particiones. Para cada valor de k se hall´o entonces el desempe˜no promedio utilizando solo BoW con SIFT, SIFT + segmentaci´on por GrabCuts y SIFT + segmentaci´on por GrabCuts + PCA-color. La tabla 1 y la figura 2 resumen los resultados obtenidos, donde puede apreciarse como los mejores desempe˜nos del SVM se obtienen con valores de k cercanos a 400. Incluso antes de la selecci´on de caracter´ısticas el porcentaje de im´agenes bien clasificadas asciende a alrededor de un 90 % al utilizar SIFT+GrabCuts+PCA-Color. Sin embargo, en aras de buscar un mejor desempe˜no, el saliency score definido en la secci´on 3 fue aplicado seleccionado subconjuntos acumulativos de palabras visuales de 10 en 10. Los 10 primeros corresponden a aquellas palabras con mayor saliency score, los 20 primeros corresponden aquellos 20 que tienen mayor saliency score y as´ı sucesivamente. Los resultados obtenidos se resumen en la figura 3 donde se puede apreciar una disminuci´on progresiva de los errores de clasificaci´on para un n´umero de descriptores menores que 400, que es el n´umero o´ ptimo con el que se obtuvieron los resultados de la tabla 1. Despu´es de la selecci´on de caracter´ısticas el desempe˜no total ascendi´o a un 93 % en promedio; resultado comparable con otros estudios [17], pero reduciendo la incidencia de algunos problemas como: fondos complejos, problemas de escala, rotaci´on, etc.
Donde nj es el n´umero de elementos del cluster j, sij es el valor de saliency del punto i en el cluster j, y scij es la contribuci´on del saliency del punto i al saliency total del cluster j. scij se define como: sij scij = Pnj
i=1 sij
(2)
Es importante notar que en la ecuaci´on 3.2 el factor de la izquierda corresponde al saliency promedio dentro del cluster, y el factor de la derecha corresponde con la entrop´ıa inform´atica normalizada, aplicada a la contribuci´on del saliency de cada punto del cluster. La selecci´on es entonces realizada ordenando las palabras visuales por su saliency score de mayor a menor, y tomando los m primeras palabras visuales con los scores mas altos.
3.3. Entrenamiento del clasificador SVM Para entrenar el clasificador SVM, construimos una matriz T de dimensiones [150, 400], donde 150 es el n´umero de setas utilizadas en el entrenamiento. Adem´as se cre´o un vector L con las etiquetas que indican a que clase pertenece cada imagen. Cada fila de la matriz T consiste en el histograma de frecuencias dado por los descriptores extra´ıdos por el algoritmo SIFT de una imagen en particular. Dado que es una clasificaci´on supervisada, a priori sabemos a qu´e clase pertenece cada seta y por tanto construimos el vector de etiquetas L, en el cual se indica que la seta i pertenece a la clase c. Cada clasificaci´on se realiz´o utilizando validaci´on cruzada con 10 divisiones del conjunto de datos. Para el entrenamiento se us´o la implementaci´on de OpenCV del algoritmo SVM, y se utilizaron los par´ametros est´andar de dicha implementaci´on: funciones de base radial como Kernel, un valor de c = 300 y un valor γ = 0,5.
5. Discusi´on La figura 4 muestra algunas de las im´agenes usadas en en la clasificaci´on para cada una de las cinco clases de setas. 4
k
SIFT
SIFT+GrabCuts
50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950 1000
28.3 % 26.1 % 25.0 % 24.9 % 23.5 % 23.5 % 24.1 % 22.8 % 23.6 % 22.9 % 24.2 % 24.1 % 24.3 % 23.4 % 24.1 % 25.1 % 24.9 % 26.2 % 26.2 % 26.5 %
21.2 % 19.5 % 18.8 % 18.7 % 16.7 % 16.7 % 16.7 % 15.8 % 16.3 % 16.6 % 16.3 % 17.1 % 16.3 % 16.9 % 16.4 % 17.3 % 16.9 % 17.4 % 17.2 % 16.7 %
SIFT+GrabCuts PCA-Color 12.9 % 10.7 % 11.1 % 10.1 % 10.5 % 10.5 % 10.4 % 9.00 % 9.90 % 9.90 % 9.80 % 9.20 % 9.30 % 10.2 % 9.70 % 9.70 % 9.60 % 9.90 % 9.10 % 9.70 %
va el sombrero) que no pudieron ser separadas con claridad por el clasificador. En los resultados se puede apreciar que la seta Agaricus bisporus se confunde con la seta Amanita phalloides y esta u´ ltima con Agaricus bisporus; ambas poseen semejanza en la forma del sombrero y del pie, adem´as el pie de la Amanita phalloides posee colores que tienden al blanco de la seta Agaricus bisporus; la Amanita muscaria fue confundida con Pycnoporus sanguineus y esta a su vez con Amanita muscaria. Entre ambas setas es evidente que el color es semejante; y la seta Deconica montana fue confundida con la Amanita phalloides, se observa semejanza en la forma del sombrero. Pese a lo anterior, la similitud entre la forma de las setas no represent´o un problema mayor gracias a la capacidad de SIFT de extraer informaci´on de textura alrededor de los puntos de inter´es. SIFT tambi´en posee cierto grado de invarianza a la rotaci´on y la escala, situaci´on que evita incrementos en el error como los ocurridos en [17]. Por otro lado la figura 3 muestra una marcada tendencia a la disminuci´on del error de clasificaci´on con subconjuntos de descriptores asociados a valores altos de saliency score. Esta disminuci´on es relevante debido a que se obtienen tienen errores menores con menos descriptores que con la metodolog´ıa est´andar utilizando el total de los 400 palabras visuales de BoW. Otro aspecto a resaltar radica en que, si bien el porcentaje de incremento no es muy alto, es significativo debido al elevar el desempe˜no por encima del 91 % obtenido es siempre una tarea dif´ıcil, por lo que incluso el 2 % m´as puede ser considerado un incremento importante. Por otro lado, se resalta que nuestra metodolog´ıa muestra adem´as que el uso del saliency score tiene un efecto progresivo en el mejoramiento de los resultados de clasificaci´on con menos descriptores como se puede observar en la tendencia que siguen los valores de la figura 3.
Cuadro 1. Error promedio de clasificaci´on para diferentes tama˜nos de diccionario.
6. Conclusiones y trabajo futuro En este trabajo se implement´o un m´etodo de calificaci´on de cinco tipos de setas utilizando SIFT como m´etodo de extracci´on de caracter´ısticas aplicado a las im´agenes segmentadas y a la representaci´on en escala de grises de los valores de PCA-Color de cada imagen. Con estos descriptores se construy´o un diccionario BoW utilizando k-Means como m´etodo de clusterizaci´on, que a su vez permiti´o construir una matriz con los histogramas de las palabras visuales que representan a cada imagen. A partir del uso de saliency maps y la entrop´ıa inform´atica se gener´o un saliency score con el fin de hacer una selecci´on de los descriptores con mayor peso dentro de la matriz de histogramas que alimenta al clasificador SVM. Lo anterior permiti´o eliminar ruido o descriptores con poco peso en el diccionario, y por tanto, en el proceso de clasificaci´on se obtuvieron mejores resultados. Aunque BoW y SVM por si solos entregan resultados
Figura 3. Desempe˜no del clasificador utilizando subconjuntos de palabras ordenadas por el criterio de saliency score
La primera fila muestra im´agenes que fueron bien clasificadas por el algoritmo; la segunda fila muestra im´agenes que fueran mal clasificadas. Al analizar visualmente cada una de las setas mal clasificadas y compararlas entre s´ı, nos damos cuenta que la clasificaci´on err´onea se debe a las caracter´ısticas semejantes entre las diferentes clases de setas, como el color, la forma del sombrero o la forma del pie (Parte que sostiene y ele5
Figura 4. Ejemplo de resultados de clasificaci´on. Primera fila im´agenes bien clasificadas, segunda fila im´agenes mal clasificadas. De izquierda a derecha las 5 clases: Agaricus bisporus, Amanita muscaria, Amanita Phalloides, Deconica montana y Pycnoporus sanguineus.
que son suficientemente satisfactorios, nuestra metodolog´ıa prob´o ser u´ til al incluir la informaci´on de color del espacio L*a*b con PCA, junto con la selecci´on de caracter´ısticas basada en el saliency score. Este saliency puede finalmente verse como el peso de cada cluster dentro del diccionario del BoW teniendo en cuenta el saliency map de cada imagen. Como trabajo futuro se plantea la opci´on de probar las bondades del m´etodo propuesto con una variedad m´as amplia de objetos, no solo im´agenes de setas. De esta manera se puede empezar a evaluar si el saliency score tiene un efecto generalizado sobre la clasificaci´on de objetos usando BoW, o si por el contrario los resultados obtenidos se ajustan solo al modelo de datos utilizado en el desarrollo de este trabajo.
[8] T. Liu, Z. Yuan, J. Sun, J. Wang, N. Zheng, X. Tang, and H.Y. Shum. Learning to detect a salient object. Conference on Computer Vision and Pattern Recognition (CVPR), 33(2):1– 8, 2007. [9] Z. Liu, W. Zou, and O. Le Meur. Saliency tree: A novel saliency detection framework. IEEE Transactions on Image Processing, 23(5):1937–1952, 2014. [10] D. G. Lowe. Object recognition from local scale-invariant features. Proceedings of the Seventh IEEE International Conference on Computer Vision, 2([8):1150–1157, 1999. [11] A. Masoudian. Computer Vision Algorithms for an Automated Harvester. Master’s thesis, 2013. [12] A. Masoudian and K. A. McIsaac. Application of support vector machine to detect microbial spoilage of mushrooms. Proceedings - 2013 International Conference on Computer and Robot Vision, CRV 2013, pages 281–287, 2013. [13] Z. Ren, S. Gao, L.-t. Chia, and I. W.-h. Tsang. Region-Based Saliency Detection and Its Application in Object Recognition. IEEE Transactions on Circuits and Systems for Video Technology, 24(5):769–779, 2014. [14] C. Rother, V. Kolmogorov, and A. Blake. ”GrabCut”: interactive foreground extraction using iterated graph cuts. ACM Transactions on Graphics, 23(3):309, 2004. [15] Y. M. Shi, C. Q. Yan, D. Y. Li, and G. Liu. Discrimination of Amanita mushrooms using Fourier transform infrared difference spectroscopy and cluster analysis. 2011 Symposium on Photonics and Optoelectronics, SOPO 2011, (30960179), 2011. [16] L. Sirovich and M. Kirby. Low-dimensional procedure for the characterization of human faces. Journal of the Optical Society of America, 4:519, 1987. [17] A. Subramaniam and B.-j. Oh. Mushroom Recognition Using PCA Algorithm. International Journal of Software Engineering and Its Applications, 10(1):43–50, 2016. [18] C.-F. Tsai. Bag-of-Words Representation in Image Annotation: A Review. ISRN Artificial Intelligence, 2012:1–19, 2012. [19] L. Zhi-Jie. Image Classification Method Based on Visual Saliency and Bag of Words Model. 2015 8th International Conference on Intelligent Computation Technology and Automation (ICICTA), pages 466–469, 2015.
Referencias [1] X. Bai, Y. Fang, W. Lin, L. Wang, and B. F. Ju. Saliencybased defect detection in industrial images by using phase spectrum. IEEE Transactions on Industrial Informatics, 10(4):2135–2145, 2014. [2] F. Bonnin-Pascual and A. Ortiz. A probabilistic approach for defect detection based on saliency mechanisms. 19th IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2014, pages 1–4, 2014. [3] C. Dublin and E. Terrace. Hyperspectral Imaging For Mushroom (Agaricus Bisporus) Quality Monitoring. In First Workshop on Hyperspectral Image and Signal Processing: Evolution in Remote Sensing, pages 2–5, 2009. [4] T. Ebrahimi. Mushroom Recognition. Master’s thesis, 2010. [5] L. Itti, C. Koch, and E. Niebur. A Model of Saliency-based Visual Attention for Rapid Scene Analysis. IEEE transactions on pattern analysis and machine intelligence, 20, 1998. [6] K.-B. Lee, M.-S. Ko, J.-J. Lee, T.-M. Koo, and K.-H. Park. Defect Detection Method for TFT-LCD Panel Based on Saliency Map Model. Region 10 Conf., A(c):223–226 Vol. 1, 2004. [7] Y. Lin. A Computational Model for Saliency Maps by Using Local Entropy. Artificial Intelligence, pages 967–973, 2001.
6