Más detalles - Departamento de Ingeniería Electrónica
Transcripción
Más detalles - Departamento de Ingeniería Electrónica
U N E X P O UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA “ANTONIO JOSÉ DE SUCRE” VICERRECTORADO BARQUISIMETO DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA SISTEMA DE RECONOCIMIENTO DE SEÑALES DE TRÁNSITO BASADO EN MODELOS OCULTOS DE MARKOV AUTOR: Br. Ramón Vásquez Expediente No. 20081-0074 C.I. No. 19324438 TUTOR: Ing. Raúl Abreu Barquisimeto, Julio 2012 U N E X P O UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA “ANTONIO JOSÉ DE SUCRE” VICERRECTORADO BARQUISIMETO DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA SISTEMA DE RECONOCIMIENTO DE SEÑALES DE TRÁNSITO BASADO EN MODELOS OCULTOS DE MARKOV AUTOR: Br. Ramón Vásquez Trabajo Especial presentado ante el Departamento de Ingeniería Electrónica de la Universidad Nacional Experimental Politécnica “Antonio José de Sucre” ViceRectorado Barquisimeto como requisito parcial para optar Al Título de Ingeniero Electrónico. Barquisimeto, Julio 2012 U N E X P O UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA “ANTONIO JOSÉ DE SUCRE” VICERRECTORADO BARQUISIMETO DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA iv ACTA DE APROBACIÓN Quienes suscriben la presente acta, miembros del Jurado Evaluador designados por la Coordinación de Trabajo Especial del Departamento de Ingeniería Electrónica del Vicerrectorado Barquisimeto, de la Universidad Nacional Experimental Politécnica “Antonio José de Sucre”, reunidos para examinar el Trabajo Especial titulado: “SISTEMA DE RECONOCIMIENTO DE SEÑALES DE TRÁNSITO BASADO EN MODELOS OCULTOS DE MARKOV” Presentado por la bachiller: VÁSQUEZ GÓMEZ, RAMÓN JOSÉ, titular de la cédula de Identidad No. 19.324.438 y expediente No. 20081-0074 como requisito parcial para optar al Título de Ingeniero Electrónico, consideramos que dicho trabajo cumple con lo establecido para tal efecto, y por lo tanto, lo declaramos APROBADO. En Barquisimeto a los 23 días del mes de Julio de 2012. __________________________ ING. JORGE AGÜERO Miembro del Jurado C.I. V – 10.374.546 _____________________________ ING. FULBIA TORRES Miembro del Jurado C.I. V– 9.173.155 ____________________________ ING. RAÚL ABREU Tutor C.I. V – 10.145.010 AGRADECIMIENTOS A Dios, por hacer coincidir mis caminos con los caminos de personas tan absurdamente maravillosas en mi vida. A mi madre Xiomara, por ser mi soporte emocional en todo momento, y preocuparse siempre porque la ruta que escogí en mi vida académica terminara en el éxito que he conseguido. A mi padre Pastor, por siempre pensar en mis necesidades y siempre ser empático conmigo, regalándome esa confianza que tanto he atesorado. A mi hermana Xioanny, de quien realmente puedo aprender a ser leal, y de quien he comprendido el sentido de la autenticidad. A mis abuelos, Isidra y Reinaldo, quienes me han brindado compresión y quienes me han ofrecido un apoyo incondicional en todo este largo trayecto. A mi familia, a todos y cada uno de los cuales siempre han estado atentos de mi crecimiento académico y quienes han puesto gran fe en mis logros. Al Ingeniero Raúl Abreu, por ser mi tutor académico y por haber transitado conmigo el camino dificultoso necesario para conseguir este objetivo. A mis amigos de la universidad quienes me apoyaron en todos los pasos necesarios para este logro y quienes se involucraron en la captura de las imágenes que fue necesaria para realizar este trabajo. A todos ellos, en especial a Rebeca quien siempre se mantuvo atenta conmigo y quién constantemente me brindó palabras de aliento cuando el camino se volvía menos claro. A mis amigos de AIESEC, quienes se mantuvieron siempre compresivos con mis labores, y quienes constantemente me impulsaban a terminar este trabajo a tiempo. A mi compañera de andanzas Myrle, quien al recorrer caminos similares al mío en este corto lapso de tiempo me brindo su ayuda. v ÍNDICE GENERAL Pág ÍNDICE DE TABLAS……………………………………………………... vi ÍNDICE DE FIGURAS…………………………………………………… vii RESUMEN………………………………………………………………… ix INTRODUCCION………………………………………………………... 10 CAPÍTULO I PLANTEAMIENTO DEL PROBLEMA…………………………….. 12 Descripción del Problema…………………………………………... 12 Justificación……………………………………………………….… 14 Objetivos………………………………………………………….…. 14 Objetivo General…………………………………………….…. 14 Objetivos Específicos………………………………………..…. 15 Alcances y Limitaciones………………………………………...….. 15 II MARCO TEÓRICO…………………………………………………... 17 Antecedentes………………………………………………………… 17 Bases Teóricas……………………………………………………… 19 III MARCO METODOLÓGICO……………………………………….. 54 Tipo de Investigación………………………………………………. 54 Identificación de las variables……………………………………… 54 Población……………………………………………………………. 55 Muestra……………………………………………………………… 55 Técnicas e instrumentos de recolección de datos…………………. 56 Técnicas de procesamiento y análisis de la información…………. 56 Descripción del procedimiento……………………………………... 57 Cronograma de actividades……………………………………… 60 Recursos…………………………………………………………….. 60 IV RESULTADOS Y ANÁLISIS DE LOS RESULTADOS………… 62 V CONCLUSIONES Y RECOMENDACIONES………………….…. 92 BIBLIOGRAFÍA………………………………………………………… 96 vi ÍNDICE DE TABLAS Pag 1 Cronograma de Actividades………………………………………………….. 60 2 Especificaciones de la Cámara Digital empleada para la captura de las 63 imágenes…………………………………………………………….……….. 3 Señales Empleadas por el Clasificador………………………………………. 64 4 Matriz de Covarianza Señal de Aeropuerto Normalizada……………………. 69 5 Matriz de Covarianza Señal de Autobús Normalizada………………………. 69 6 Matriz de Covarianza Señal de No Estacione Normalizada…………………. 69 7 Matriz de Covarianza Señal de Prohibido Cruce en U Normalizada………… 70 8 Matriz de Covarianza Señal de Paso Escolar Normalizada………………….. 70 9 Matriz de Covarianza Señal de Semáforo Normalizada……………………… 70 10 Matriz de Correlación Señal de Aeropuerto Normalizada…………………… 71 11 Matriz de Correlación Señal de Autobús Normalizada……………………… 71 12 Matriz de Correlación Señal No Estacione Normalizada……………………. 71 13 Matriz de Correlación Señal Prohibido Cruce en U Normalizada…………… 72 14 Matriz de Correlación Señal Paso Escolar Normalizada…………………….. 72 15 Matriz de Correlación Señal de Semáforo Normalizada…………………….. 72 16 Índice de Fisher para las Señales Sin Normalizar…………………………… 73 17 Índice de Fisher para las Señales Normalizado……………………………… 74 vii ÍNDICE DE FIGURAS Pag 1 Esquema de un sistema de reconocimiento de señales de tránsito…………… 22 2 Etapas de procesamiento de Imágenes……………………………………….. 25 3 Categoría de las Características………………………………………………. 27 4 Representación de una Imagen en el Modelo de Color RGB……………….. 30 5 Curvas FRR, FAR y EER…………………………………………………… 37 6 Curvas de Gauss con diferentes parámetros…………………………………. 39 7 Modelo de Generación de Markov………………………………………….. 40 8 La relación entre αt-1 y αt y βt y βt-1 en el algoritmo Forward-Backward……. 47 9 Ilustración de las operaciones necesarias para el cálculo de 10 Modelo Oculto de Markov de izquierda a derecha………………………….. 51 11 Modelo oculto de Markov Ergódico………………………………………… 52 12 Diferentes Imágenes de señales de tránsito segmentadas de forma manual…. 64 13 Diagrama de bloques para el tratado de la imagen digital…………………… 65 14 Imágenes para el cálculo del campo de orientación…………………………. 67 15 Algoritmo para Extracción de Características……………………………….. 75 16 Algoritmo para Entrenamiento del Modelo…………………………………. 77 17 Estructura de la Normalización para la Evaluación…………………………. 79 18 Modulo de evaluación y clasificación del sistema………………………….. 80 19 Algoritmo para el Módulo de Evaluación del Sistema……………………… 81 20 Interfaz de Usuario Software de Reconocimiento…………………………… 82 21 Señales de tránsito reconocidas por el sistema……………………………… 82 22 Menú para reentrenar el modelo……………………………………………. 83 23 Reentrenamiento de los parámetros…………………………………………. 83 ……….. 48 viii 24 Parámetros reentrenados para 15 imágenes…………………………………. 84 25 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Sin Normalizar….. 85 26 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Sin Normalizar y Suprimiendo el Nivel de Color Azul……………………………………… 27 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Normalizado…….. 28 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Normalizado Suprimiendo el Nivel de Color Rojo………………………………………... 29 Tasas de FAR y FRR con 20 Imágenes de Entrenamiento Sin Normalizar… 30 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Sin Normalizar y 85 86 86 87 Suprimiendo el Nivel de Color Azul……………………………………….. 87 31 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Normalizado……. 88 32 Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Normalizado Suprimiendo el Nivel de Color Rojo………………………………………. 88 33 Gráfica ROC para comparación de los sistemas…………………………… 89 34 Tasas de FAR y FRR del pre-clasificador con 20 Imágenes de Entrenamiento………………………………………………………………... 90 ix UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA “ANTONIO JOSÉ DE SUCRE” VICERRECTORADO BARQUISIMETO DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA SISTEMA DE RECONOCIMIENTO DE SEÑALES DE TRÁNSITO BASADO EN MODELOS OCULTOS DE MARKOV AUTOR: Br. Ramón J. Vásquez G. TUTOR: Ing. Raúl Abreu AÑO: 2012 RESUMEN Los sistemas de reconocimiento de señales de tránsito apuestan por aportarle a los conductores mayor seguridad al volante puesto que informan a la persona de elementos en su entorno que pueden pasar desapercibidos a su propia percepción visual. La presente investigación desarrolla un sistema computacional para la identificación de señales de tránsito a partir del empleo de modelos ocultos de Markov (HMM). Para poder caracterizar las señales se extrajeron vectores de observación de diferentes imágenes tomadas en sitios reales y condiciones controladas, estos vectores se constituyeron con información referente al nivel de color en el plano RGB y al campo de orientación promedio por celdas de cada imagen. Las herramientas utilizadas, dedicadas al tratamiento digital de imágenes y a las funciones estadísticas relacionadas a los HMM, fueron implementadas usando toolboxes contenidos en MatLab™. Con el uso de estos toolboxes se consiguió realizar el tratamiento digital de las imágenes, el entrenamiento y posterior clasificación del sistema. Para estos propósitos se emplearon 6 señales de tránsito diferentes, con 20 imágenes por señal para el entrenamiento y con 300 imágenes de prueba. El modelo fue entrenado para distinguir las señales individualmente y también como propuesta para una implementación futura, fue entrenado un preclasificador con base al tipo de señal (preventiva, informativa, reglamentaria). Para ambos se emplearon modelos de cuatro estados y se obtuvieron tasas de falsa identificación (False Identification Rate: FIR) de 3.5% y 0.475% respectivamente. Palabras Clave: Señal de tránsito, clasificador, FIR, HMM. 10 INTRODUCCIÓN Desde la invención del automóvil en el siglo XIX el ser humano ha hecho uso de la tecnología para generar nuevas y más accesibles alternativas, con el propósito de poder trasladarse de un lugar a otro. El auge de las industrias automovilísticas posterior al sistema de producción en línea implementado por Henry Ford ha tenido un impacto histórico en la sociedad actual. Tanto es así que se han desarrollado elementos para la comunicación terrestre y se han implementado normativas legales y estándares que estructuran el uso de automóviles, y que permiten que las personas manejen un idioma universal facilitando el entendimiento dentro de estos escenarios que ya forman parte de la vida cotidiana. Parte de las normativas mencionadas lo constituyen las señales de tránsito que regulan el comportamiento vial de automóviles y transeúntes, y que resguardan la seguridad de los conductores y peatones. Es por ello que en la actualidad gracias al avance de la tecnología se han venido desarrollando automóviles inteligentes capaces de obtener información de su entorno y de alguna manera reconocer o anticipar acciones preventivas. Estas fuentes de información pueden resultar muy variadas, como información acerca de la vía, de la cercanía de los otros automóviles, del tráfico, pero entre las más relevantes se pueden mencionar las señales de tránsito. El presente trabajo de grado busca desarrollar un sistema que sea capaz de identificar patrones de imágenes para la clasificación de señales de tránsito mediante el uso de Modelos Ocultos de Markov, lo que puede contribuir de gran manera al desarrollo de esta línea de investigación y a mejorar de forma notable las posibilidades de reconocimiento del entorno por parte de sistemas automatizados para poder obtener en un futuro no muy lejano un automóvil que pueda ser manipulado completamente por un computador sin intervención humana. El informe ha sido estructurado de la siguiente manera. En el capítulo I se aborda el problema haciendo una descripción detallada del contexto, explicando los objetivos específicos, alcances y la justificación de la investigación. En el capítulo II se 11 presenta una revisión de las teorías y conceptos que forman la base de este estudio, y en el capítulo III, una explicación de la metodología seguida para la obtención de los resultados y el análisis y discusión de éstos. Para finalizar, se presentan las conclusiones y recomendaciones necesarias para trabajos futuros. 12 CAPITULO I PLANTEAMIENTO DEL PROBLEMA 1.1 Descripción del Problema Es bastante común encontrar escenarios de la vida diaria en los que la imprudencia de una persona genere pérdidas materiales y humanas en situaciones viales. Según el anuario de mortalidad del Ministerio del Poder Popular para la Salud correspondiente al año 2008, en Venezuela murieron 7714 personas como consecuencia de accidentes de este tipo (una cifra que constituía el 5,8% de las muertes totales), lo que permite inferir que con el aumento del tránsito vehicular, esta cifra se ha elevado en los últimos años. Las causas de estos accidentes se extienden desde el congestionamiento de vehículos, las condiciones climáticas, semáforos con desperfectos, asaltos, ebriedad del conductor, hasta la poca visibilidad y falta de atención en las vías terrestres; lo que da cabida a considerar la búsqueda de posibles soluciones frente a esta amenazante situación. En la actualidad se han diseñado vehículos de alta tecnología con prestaciones especiales que permiten reforzar la seguridad sobre el conductor. Tal es el caso del Volkswagen Phaeton 2011, que presenta un sistema de reconocimiento de señales de tránsito que permite avisar al conductor de aquellas zonas en las que están prohibidos los adelantamientos. Reconoce también las señales, mostrando la información correspondiente en una pantalla táctil o en la pantalla multifunción de la instrumentación. 13 Estos sistemas pueden tener una implementación pasiva donde únicamente se reconocen las señales y se advierte al conductor de la misma, de modo que sirva de ayuda ante alguna distracción; o activa donde el dispositivo reconoce la señal y ejecuta alguna acción de control (disminución de la velocidad, por ejemplo) para evitar un accidente. De lo expuesto se puede considerar el proceso desarrollado en tres fases: la fase de captura de la imagen, la fase de reconocimiento y clasificación, y la fase de anuncio o acción de control. El reconocimiento se lleva a cabo a través de técnicas de visión artificial y análisis de la señal capturada, y hasta ahora se tiene constancia del empleo de redes neuronales (Rocha y Gutiérrez, 2010) pero no de modelos ocultos de Markov en el sistema, lo que pudiera otorgarle mejores prestaciones y robustez. Es por ello que se propone diseñar un software clasificador con un lenguaje de alto nivel, basado en los modelos ocultos de Markov para reconocer imágenes de señales de tránsito obtenidas a través de una base de datos previa. Este sistema estaría constituido por tres módulos: un módulo extractor de las características de las imágenes, un módulo de entrenamiento basado en los módelos ocultos de Markov y un módulo de reconocimiento que discernirá con base en los entrenamientos previos, la señal de tránsito correspondiente. Para finalizar se probaría a través de tasas de error pertinentes, el desempeño de todo el software. Esto puede dar paso a investigaciones futuras que emplearían este software como herramienta de registro y clasificación dentro de sistemas de captura en tiempo real, y sistemas de control automovilísticos. Al reconocer las señales desde una base de datos, sólo haría falta la implementación de la fase de captura, y la fase de control dentro del proceso, para conseguir una implementación activa. Una mejora en la detección y discernimiento de las señales obtenidas contribuiría enormemente con la fidelidad de este instrumento e impactaría en la calidad de vida de los individuos de la sociedad venezolana. 14 1.2 Justificación El campo de la visión artificial se presenta como un área que contribuye en forma directa con el reconocimiento y la detección de actividades que suceden de forma inadvertida a la percepción humana y que favorece en gran medida en el reconocimiento de patrones y formas. Esto genera una herramienta capaz de producir información importante a la hora de tomar acciones preventivas, que puede ser procesada y empleada en medios de control y procesamiento digital de señales. De aquí que surge la premisa por la cual la implementación de un sistema de reconocimiento de señales de tránsito resulta útil en las redes viales de Venezuela donde el índice de mortandad por accidentes de tránsito es notorio. En este sentido se pueden encontrar múltiples publicaciones donde se han realizado estudios sobre la implementación de estos sistemas, incluyendo algunos que se han basado en el uso de redes neuronales (Rocha y Gutiérrez, 2006). Sin embargo no existe constancia de investigaciones orientadas al reconocimiento de señales de tránsito a través de los modelos ocultos de Markov, aún cuando estos modelos presentan mayor robustez frente a las redes neuronales (Espinosa 1998). Al obtener mejores prestaciones y resultados en la fase de detección y reconocimiento de las señales, se puede mejorar de forma significativa el rendimiento de este instrumento que sirve como base para la automatización de los vehículos y como paso fundamental a la hora de generar automóviles inteligentes, que sean capaces de prevenir accidentes y garantizar una mejor calidad de vida. 1.3 Objetivos 1.3.1 Objetivo General: 15 Diseñar un sistema de reconocimiento de señales de tránsito basado en los modelos ocultos de Markov. 1.3.2 Objetivos Específicos: Construir una base de datos de imágenes que contengan señales de tránsito, a partir de la cual se desarrolle mediante un programa computacional, el módulo de extracción de características. Desarrollar mediante un programa computacional, el módulo de entrenamiento de los modelos ocultos de Markov que serán usados en el reconocimiento de las señales de tránsito. Desarrollar mediante un programa computacional, el módulo de reconocimiento de las señales de tránsito a partir de los modelos entrenados. Probar el desempeño del sistema de reconocimiento de señales de tránsito mediante las tasas de error pertinentes. 1.4 Alcances y Limitaciones El alcance de la presente investigación coincide con la posibilidad del empleo del software diseñado como punto de partida para la aplicación de un reconocedor basado en los modelos ocultos de Markov en las nuevas tecnologías de automóviles inteligentes, considerando su beneficio para la sociedad. Su repercusión se extiende hasta el desarrollo de la mejora en la calidad humana y la seguridad que proveen los sistemas automáticos de reconocimiento en situaciones como el manejo de vehículos. Cabe destacar que la investigación descrita no desarrolla el módulo de captura de la imagen, ni el módulo de control referente a acciones preventivas en el automóvil, como disminución de la velocidad entre otras. Únicamente se centra en el desarrollo del software de reconocimiento de las señales de tránsito que permite al usuario conocer qué señal se introdujo al sistema a través de una base de datos de imágenes previa. 16 La investigación se realizó en la Universidad Nacional Experimental Politécnica “Antonio José de Sucre” (UNEXPO), en específico en el Departamento de Ingeniería Electrónica ubicado en el Vice-Rectorado Barquisimeto de esta casa de estudio en un período de tiempo no mayor a cuatro meses. También se constituyó una base de datos de imágenes de señales de tránsito obtenidas en condiciones controladas de luz en distintos escenarios reales, necesarias para el entrenamiento del modelo y posterior construcción del software reconocedor. En este sentido la investigación se vio limitada por la cantidad de señales presentes en las vías urbanas de la ciudad de Barquisimeto y sus cercanías, y la cantidad considerada para el estudio descartando aquellas que presentaron condiciones desfavorables (desgastes, pintura, grafitis, entre otros). El código desarrollado fue elaborado utilizando el programa Matlab™ versión R2009a, el cual cuenta con un conjunto de toolboxes necesarios para el procesamiento de imágenes y el entrenamiento y clasificación de los Modelos Ocultos de Markov (HMM). Dicho programa debe ser instalado previamente en un computador, utilizando la versión mencionada o una superior. CAPITULO II MARCO TEÓRICO 2.1 Antecedentes Cabe destacar que para la presente investigación se encontraron varios tipos de documentación referente al desarrollo de sistemas de reconocimiento de señales de tránsito, sin embargo todos ellos estuvieron basados en técnicas de clasificación diferentes a los Modelos Ocultos de Markov. Para el desarrollo de este proyecto se toman como partida las investigaciones citadas a continuación: John Hatzidimos (2004), elaboró un algoritmo para detección automática de señales de tránsito en imágenes digitales. El algoritmo se dividió en dos fases: la primera correspondiente a la detección de la ubicación de la señal de tránsito dentro de la imagen, y la segunda fase donde se reconocía la señal en cuestión. Los valores del algoritmo empleado presentaron muy buenos resultados en la primera fase del mismo pero en la segunda fase no fueron tan satisfactorios, esto referido a las similitudes en cuanto al color presentada por las señales y otras áreas dentro de las imágenes. El aporte fundamental de esta investigación se le confiere a la estructura lógica que presenta para optimizar el tiempo de respuesta y la extracción de características de las señales de tránsito de forma que se pueda establecer una buena fase de reconocimiento basándose en los modelos ocultos de Markov. Por su parte Arriagada y Aracena (2006), desarrollaron un prototipo de detección y reconocimiento de señales de tránsito utilizando matching de Chamfer, obteniéndose resultados favorables pero con limitaciones en cuanto a ambientes externos y características de iluminación apropiada. Este estudio contribuye al desarrollo del trabajo investigativo por cuanto representa un punto de partida sobre sistemas de 18 reconocimiento empleando software basados en lenguajes de alto nivel. En este trabajo se evidencia el empleo de características como la forma y el color en el proceso de segmentación de la imagen, además de la propuesta de emplear nuevas técnicas de reconocimiento. De este modo es de notar que las características empleadas en segmentación se consideraron en la investigación actual como parte del módulo de reconocimiento además que el hecho de emplear HMM expande las técnicas hasta ese momento empleadas sobre la problemática presente. Abreu (2008), sistema biométrico multimodal autónomo para aplicaciones de seguridad, conjuga un clasificador por voz y uno por huella dactilar combinados con una arquitectura en paralelo, fusionando los puntajes de ambos clasificadores mediante el promedio geométrico ponderado para obtener el nuevo valor de puntaje. Como resultado final de la fusión se obtiene una disminución en la tasa de igual error EER de 1.5% hasta 1%. A partir de esta investigación se tiene una fuerte base sólida en cuanto a los sistemas de verificación e incluso identificación así como las tasas de error pertinentes que deben ser empleadas para caracterizar el sistema de reconocimiento propuesto. Así mismo, Rocha y Gutiérrez (2010), realizaron un sistema de visión artificial para la detección de señales de tránsito empleado redes neuronales, donde se obtuvieron mejores resultados en cuanto al tiempo de respuesta del método y su adaptabilidad frente a fenómenos ajenos como reflectividad y opacidad de la imagen. De esta investigación es importante considerar las herramientas empleadas, donde el empleo de redes neuronales ofreció buenos resultados, lo que da pie para inferir entonces que existirá una mejor caracterización del sistema mediante el empleo de los modelos ocultos de Markov. Por su parte Alejo (2012), completó el desarrollo de un software para la clasificación de huevos mediante modelos ocultos de Markov. El software mencionado fue modelado por características físicas estáticas de los huevos, como la textura y los resultados obtenidos en cuanto al modelo empleado fueron satisfactorios. Este trabajo investigativo constituye gracias a su naturaleza un fundamento del presente 19 sistema propuesto, ya que contribuye con un fuerte soporte teórico en áreas como el procesamiento digital más adecuado de las imágenes para ser empleadas dentro de un Modelo Oculto de Markov. Aunado a ello esta investigación proporcionó información adicional acerca de la herramienta matemática a emplear y los requerimientos de la misma. 2.2 Bases Teóricas Para alcanzar una mejor comprensión de la investigación planteada, es necesaria la explicación de algunos conceptos y teorías sobre las cuales se basa el desarrollo de este trabajo de grado. De esta manera, el siguiente apartado se dedicará a este propósito. 2.2.1 Señales de Tránsito en Venezuela Según el Manual Venezolano de Dispositivos Uniformes para el Control del Tránsito, las señales de tránsito son dispositivos que mediante símbolos o leyendas determinadas, reglamentan las prohibiciones o restricciones respecto al uso de vías, previenen a los usuarios sobre la existencia de peligros y su naturaleza, así como proporcionan información necesaria para guiar a los usuarios. Función de las señales de tránsito Las señales verticales se deberán usar solamente donde se requieran (según análisis de necesidades y estudios de campo), donde se apliquen reglamentaciones espaciales o donde los peligros no sean evidentes para los usuarios. También se utilizarán para proveer información sobre rutas, direcciones, destinos, puntos de interés y otras informaciones que se consideren necesarias. De acuerdo con la función que cumplen, las señales verticales se clasifican en: Señales de reglamentación: notifican a los usuarios de las vías, las limitaciones, prohibiciones o restricciones que gobiernan el uso de ellas y 20 cuya violación constituye una infracción penada por la Ley de Tránsito y Transporte Terrestre y el reglamento correspondiente en vigencia. Señales de prevención: advierten a los usuarios de las vías, la existencia de un peligro, su naturaleza o situaciones imprevistas presentes en la vía o en sus zonas adyacentes. Señales de información: notifican a los usuarios de las vías, las rutas, destinos. Direcciones, kilometrajes, distancias, servicios y puntos de interés turístico. 2.2.2 Sistemas de Reconocimiento de Señales de Tránsito El reconocimiento de señales de tránsito es una tecnología aplicada a la nueva generación de coches de tal manera que son capaces de identificar estas señales durante la circulación. El motivo de esta tecnología es ayudar en la seguridad vial del conductor, ya que de esta manera si el conductor se encuentra cansado o no ha sido capaz de fijarse en la señal, este sistema informa al conductor de la velocidad máxima permitida en aquella vía (Wikipedia, sf). 2.2.2.1 Arquitectura del Sistema A continuación presentamos la arquitectura del sistema de reconocimiento de señales de tránsito propuesto por Escalera y otros (2011). La arquitectura del sistema está dividida en tres bloques principales. El primer bloque considera la adquisición de los datos y la calibración de la cámara. En la fase de detección, los datos son suministrados en tres cascadas atencionales de clasificadores configurados para encontrar específicamente señales de peligro, de mandatos y de prohibición. Las cascadas atencionales emplean los conceptos del algoritmo de Adaboost y dipolos desasociados. Los resultados de estas cascadas son empleados en conjunción con los parámetros de calibración estéreo para verificar la 21 detección en ambos planos de la imagen. Finalmente el último bloque recibe la región de interés que contiene la señal detectada. Este bloque considera varias alternativas de procesamiento de acuerdo con la geometría de la imagen detectada. Las señales de peligro utilizan una etapa de pre-procesamiento basada en Transformada de Hough mientras que las demás utilizan la transformada rápida de simetría radial. El proceso de clasificación es ejecutado utilizando la aproximación Forest-ECOC (F-ECOC). 2.2.2.1.1 Módulo de Adquisición Un sistema de mapeo móvil posee un par estéreo de cámaras calibradas las cuales están sincronizadas con un sistema GPS/INS. De esta forma, el resultado de la fase de adquisición es un conjunto de pares estéreos de imágenes con la información sobre su posición y orientación. Esta información permite el uso de geometría epipolar con el fin de cambiar de una cámara a la otra y obtener la posición real en coordenadas de un punto. Para poder detectar todas las señales que aparecen en la imagen de entrada independientemente de su tamaño y posición, la imagen es escaneada utilizando ventanas en diferentes escalas. Todas estas ventanas son empleadas como entradas del detector. El detector puede ser definido como una función h: X → {-1,1} donde X es una de las ventanas de la imagen de entrada. El resultado del proceso de detección es un conjunto de imágenes que corresponden a objetos válidos, esto es, todas las ventanas X donde h(X) = 1. 2.2.2.1.2 Módulo de Detección Toda la data generada en el proceso de adquisición es presentada al detector. Los detectores entrenados están organizados como un arreglo de cascada atencional. La cascada atencional es un árbol de decisión degenerado donde en cada etapa un detector es entrenado para cada grupo. Cada ventana en la imagen de entrada es analizada por las otras cascadas, y todos los objetos de cada cascada resultan como salida del detector. 22 2.2.2.1.3 Módulo de Clasificación Emplea el algoritmo de Adaaboost sobre una región de interés (ROI) que contiene una señal determinada. Dependiendo del tipo de señal detectada un modelo de ajuste diferente se aplica antes de la clasificación, buscando transformaciones afines que ejecuten la normalización espacial de los objetos. Un ejemplo de todo el proceso se puede ver en la figura Nº1. Figura Nº1. Esquema de un sistema de reconocimiento de señales de tránsito. Fuente: Escalera y otros (2011) 23 2.2.3 Visión Artificial Se puede decir (Molina, 1998) que la visión artificial o comprensión de imágenes describe la deducción automática de la estructura y propiedades de un mundo tridimensional, posiblemente dinámico, bien a partir de una o varias imágenes bidimensionales de ese mundo. Las imágenes pueden ser monocromáticas (de niveles de gris) o multibanda, pueden provenir de una o varias cámaras e incluso cada cámara puede ser fija o móvil. 2.2.4 Reconocimiento de patrones Según Scarel (2010), un patrón es un arreglo de características que describen una señal, y es representado por un vector multidimensional. Una clase es un conjunto de patrones que comparten una propiedad en común. Las clases son denotadas por ω1,ω2,…,ωW donde W es la cantidad de clases. Las técnicas de reconocimiento de patrones son aquellas que asignan los patrones a sus respectivas clases teniendo en cuenta las características de estos. El reconocimiento de patrones se divide en dos áreas: reconocimiento basado en la teoría de la decisión y reconocimiento estructural. El primero trata con patrones representados por características cuantitativas, y el segundo con las relaciones estructurales de las características de los patrones. 2.2.5 Procesamiento digital de imágenes 2.2.5.1 Imagen digital Según Scarel (2010) se puede definir una imagen en escala de grises como una función bidimensional f(x,y), donde x e y son coordenadas espaciales, y el valor de f en un par de coordenadas dado es denominado intensidad o nivel de gris. Cuando x, y y f son cantidades discretas, la imagen es llamada imagen digital. De este modo, esta puede ser representada como una matriz de M × N elementos llamados píxeles. 24 Para el tratamiento digital de imágenes (Gonzales y Woods, 1996), los valores de M (filas), N (columnas) y el número de niveles de gris permitidos por cada pixel (G) son resultados de potencias enteras de 2, relacionándose con el código binario; esto es: N = 2n M = 2k G = 2m Donde n, k y m son números enteros; m representa la cantidad de bits a usar. Empleando los diferentes elementos de la ecuación anterior se obtiene la cantidad de bits (b) que representan el peso en memoria de la imagen: b=N·M·m La resolución de una imagen (el grado de detalle discernible) depende directamente del muestreo y la cuantización. Mientras más grande sea la resolución, más se aproximará la imagen digitalizada a la imagen real, pero esto conlleva al aumento del área de almacenamiento y peso en memoria, por lo que las necesidades de procesamiento crecen de forma proporcional con respecto a N, M y m; que se traduce en una velocidad de procesamiento mucho menor. 2.2.5.2 Etapas del Procesamiento de Imágenes El tratamiento digital de imágenes comprende hardware, software y recursos teóricos, donde debe existir un conocimiento previo sobre cómo será el resultado. González y Woods (1996) indican que este conocimiento no sólo guía la operación de cada módulo de procesamiento, sino que también ayuda en las operaciones de realimentación entre ellos a través de la base de conocimiento. Wainschenker (2011) menciona un diagrama (Ver figura Nº 2) donde se pueden apreciar las diferentes etapas dentro del procesamiento de imágenes. 25 Figura Nº 2. Etapas de procesamiento de Imágenes. Fuente: Wainschenker (2011) Captura: Adquisición de la imagen La primera etapa es la adquisición de la imagen. Para esta etapa se necesitan dos elementos: el primero es un dispositivo físico sensible a una determinada banda del espectro de energía electromagnética y que produzca una señal eléctrica de salida proporcional al nivel de energía detectado; el segundo, es un medio para convertir la señal de salida del sistema a forma digital. Entre estos dispositivos para adquirir imágenes destacan las cámaras digitales, cámaras filmadoras, cámaras web, entre otros. Pre-procesamiento de la imagen Su función es mejorar la imagen de forma que se aumenten las posibilidades de éxito en los procesos posteriores. Consiste en aplicar técnicas de mejoramiento del contraste, eliminar el ruido y aislar regiones cuya textura indica la probabilidad de información necesaria para el estudio mediante procedimientos que normalmente se expresan en forma de algoritmos. 26 Segmentación Dicha etapa consiste en partir una imagen de entrada en sus partes constituyentes, siendo esta etapa una de las más difíciles pues un procedimiento de segmentación mal realizado garantiza que tarde o temprano habrá un fallo. La segmentación busca destacar el objeto en estudio sobre el fondo de la imagen, desechando la información sin utilidad, para posteriormente aplicar las herramientas necesarias para el análisis del objeto destacado. Representación y Descripción A la salida del proceso de segmentación se tienen los datos de pixel en bruto, que constituyen el contorno de una región o bien todos los puntos de una región determinada. En cada caso es necesario convertir los datos a una forma adecuada para su procesamiento y decidir si los pixeles constituyen un contorno o una región completa: la representación como un contorno es la adecuada cuando el interés radica en las características de la forma exterior (esquinas o inflexiones), mientras que la representación regional es adecuada cuando el interés se centra en propiedades internas (como textura o estructuración). La descripción consiste en extraer los rasgos con alguna información cuantitativa de interés para poder diferenciar una clase de objetos de otra. Extracción de características Es el proceso de generar características que puedan ser usadas en la clasificación de los datos. En general, se busca el conjunto mínimo de características que permiten determinar de manera uniforme a qué clase pertenecen todos los objetos del universo de trabajo. La figura Nº 3 muestra las categorías de las características: funciones o parámetros. Cuando se utilizan las características de función, la imagen es usualmente caracterizada en términos de una función del tiempo cuyos valores constituyen un conjunto de características. Cuando 27 se utilizan características de parámetros, la imagen es caracterizada como un vector de elementos, cada elemento representa el valor de una característica. En general, las características de funciones tienen un mejor rendimiento que las de parámetros, pero consumen más tiempo. Figura Nº3. Categoría de las Características. Fuente: Impedovo y Pirlo 2008. Las características de parámetros se clasifican generalmente en dos categorías: global y local. La primera categoría concierne a la imagen completa, mientras que la segunda se refiere a características extraídas de partes específicas de la imagen. Dependiendo del nivel de detalle considerado, los parámetros locales pueden dividirse en parámetros de componente orientados, que son extraídos a nivel de cada componente, y parámetros orientados a pixel, que son extraídos a nivel de información de pixeles. Los parámetros extraídos a nivel de pixel pertenecen a características basadas en celdas, donde la imagen es dividida en regiones rectangulares y las características son evaluadas en cada región. (Impedovo y Pirlo, 2008). Las características de parámetros locales, especialmente las extraídas a nivel de pixel, son las que comúnmente se utilizan en los Modelos Ocultos de Markov, pues asemejan la forma de la secuencia de observaciones requerida para crear dichos modelos. 28 Algunos ejemplos de este tipo de características son: Profundidad de Color de la Imagen La profundidad de color o bits por pixel (bpp) es un concepto de la computación gráfica que se refiere a la cantidad de bits de información necesarios para representar el color de un píxel en una imagen digital o en un framebuffer. Debido a la naturaleza del sistema binario de numeración, una profundidad de bits de n implica que cada píxel de la imagen puede tener 2n posibles valores y por lo tanto, representar 2n colores distintos. Debido a la aceptación prácticamente universal de los octetos de 8 bits como unidades básicas de información en los dispositivos de almacenamiento, los valores de profundidad de color suelen ser divisores o múltiplos de 8, a saber 1, 2, 4, 8, 16, 24 y 32, con la excepción de la profundidad de color de 10 o 15, usada por ciertos dispositivos gráficos (Wikipedia sf). Color indexado Para las profundidades de color inferiores o iguales a 8, los valores de los píxeles hacen referencia a tonos RGB indexados en una tabla, llamada habitualmente caja creadora de colorización o paleta. Los tonos en dicha tabla pueden ser definidos por convención o bien ser configurables, en función de la aplicación que la defina. A continuación se mencionarán algunas profundidades de color en la gama baja, así como la cantidad de tonos que pueden representar en cada pixel y el nombre que se le otorga a las imágenes o framebuffers que los soportan. 1 bit por píxel: 2 bits por píxel: = 2 colores, también llamado monocromo. = 4 colores, o CGA. 29 4 bits por píxel: = 16 colores, la cual es la mínima profundidad aceptada por el estándar EGA. 8 bits por píxel: = 256 colores, también llamado VGA. Los archivos de extensión .gif utilizan la paleta de color indexado, mientras que en una toma de fotografía digital el color es de 24 bit u 8 bit por canal de color RGB Color directo Cuando los valores de la profundidad de colores aumentan, se torna impráctico mantener una tabla o mapa de colores debido a la progresión exponencial de la cantidad de valores que el pixel puede tomar. En esos casos se prefiere codificar dentro de cada pixel los tres valores de intensidad luminosa que definen un color cualquiera en el modelo de color RGB. Modelo de Color RGB La descripción RGB (de sus siglas en inglés Red, Green, Blue; "rojo, verde, azul") de un color hace referencia a la composición del color en términos de la intensidad de los colores primarios con que se forma: el rojo, el verde y el azul. Es un modelo de color basado en la síntesis aditiva, con el que es posible representar un color mediante la mezcla por adición de los tres colores luz primarios. El modelo de color RGB no define por sí mismo lo que significa exactamente rojo, verde o azul, por lo que los mismos valores RGB pueden mostrar colores notablemente diferentes en diferentes dispositivos que usen este modelo de color. Aunque utilicen un mismo modelo de color, sus espacios de color pueden variar considerablemente (Wikipedia sf). Una imagen de color RGB (la más usada para la visión computacional) es representada por una matriz tridimensional m x n x p, donde m y n tienen la misma significación que para el caso de las imágenes de escala de grises mientras 30 p representa el plano, que para RGB que puede ser 1 para el rojo, 2 para el verde y 3 para el azul. La figura Nº4 muestra detalles de estos conceptos. Figura Nº4. Representación de una Imagen en el Modelo de Color RGB. Fuente: Cuevas y Navarro (sf.) Campo de Orientación El campo de orientación en una imagen es una característica muy empleada en los sistemas de verificación e identificación basados en huellas dactilares, donde la imagen está formada por patrones de crestas y valles (Kalhil y otros 2010). La imagen de huella dactilar representa un sistema de textura 31 orientada y tiene información muy rica estructural dentro de la imagen. Este modelo parecido a un flujo forma un campo de orientación extraído del estilo de valles y crestas. El campo de orientación describe la consistencia de las orientaciones locales en una vecindad a lo largo de una orientación dominante que es empleada para localizar un punto de referencia único constantemente para todos los tipos de huellas digitales. Como se puede observar esta estimación describe y arroja gran cantidad de información acerca de la estructura de las líneas de la imagen, lo que directamente corresponde a la forma del objeto en estudio. De acá que el campo de orientación puede contribuir con la caracterización de la forma de un objeto en la imagen de estudio. La fiabilidad también puede ser calculada usando la coherencia propuesta por Kaas y Witkin (1987) y Bazen y Gerez, (2002). 1. La imagen de orientación casi nunca es calculada con resolución completa. En cambio cada bloque que no esté superpuesto de tamaño W × W de la imagen se le asigna una orientación única que corresponde a la orientación más evidente o dominante del bloque. 2. Los gradientes horizontales y verticales Gx (x, y) y Gy (x, y) respectivamente son calculados en cada pixel (x, y) usando operadores de gradiente simples como una máscara de Sobel. La máscara es puesta a 3 X 3. 3. Calcular la orientación de cada pixel (x, y) haciendo un promedio de los gradientes cuadriculados dentro de una ventana de W × W centrada en [la xi, yj] como sigue: 32 De acá que el valor obtenido del ángulo θ representa, en radianes, la orientación dominante de cada celda en la imagen y permite obtener un resultado intuitivo de la forma de los objetos presentes en la misma. Propiedades de las características Vélez y otros (2003) afirman que en general se busca el conjunto mínimo de características que permiten determinar de manera unívoca a qué clase pertenecen todos los objetos del universo de trabajo. Una elección mala de las características discriminantes puede hacer que el sistema sea innecesariamente caro y lento, o que sea imposible construir un clasificador para resolver un problema utilizando tales características. Conviene destacar las propiedades más importantes que deben barajarse en la elección y comprobación de las características. Rapidez de cálculo Las características deben calcularse en un tiempo aceptable, sin superar el umbral que lo haga inviable. Es un requisito que puede llegar a ser determinante en ciertas aplicaciones de tiempo real. Independencia Las características no deben guardar relación entre ellas. Una característica que depende fuertemente del resto no añade información discriminante y por 33 tanto puede eliminarse sin que esto suponga pérdida alguna de capacidad discriminante. La covarianza CX, Y permite medir la independencia lineal entre dos variables aleatorias X e Y. La estimación de la covarianza entre dos variables X e Y de las que hay P ocurrencias responde a la siguiente fórmula: Donde mx y my son las medias correspondientes a los valores de las variables X e Y. La matriz de covarianzas de las características permite medir la independencia lineal de cada par de ellas dentro de una clase. Para ello, si se tienen N características, se construye una matriz de NxN para cada clase, de manera que cada elemento de la matriz se corresponde con la covarianza de un par de características para esa clase. Estos cálculos deben realizarse con un número significativo de muestras para construir cada una de las matrices, pues en otro caso los resultados no tendrían ninguna validez. Así, por ejemplo, para la clase Ak se calcula la matriz Ck usando las Pk muestras para esa clase. En dicha matriz, cada coeficiente Cij corresponde a la covarianza entre la característica i y la característica j para la clase k Que se desarrolla como: Siendo mk la media de las Pk muestras de la clase k 34 X que pertenece a la clase Ak y siendo mkn la media de la característica n. En vez de utilizarse el parámetro Cij para medir la dependencia lineal entre las características i y j, se utiliza el parámetro rij, que es independiente de la escala, conocido como coeficiente de correlación. Este coeficiente toma valores entre 1 y -1, y si las características son linealmente independientes, el valor debe ser cercano a cero; de forma contraria, valores cercanos a 1 ó -1, indican fuertes dependencias lineales entre las características i y j. i, j= 1,2,…,N Fiabilidad Las características deben ser fiables, es decir, objetos de la misma clase deben tener vectores de características con valores numéricos similares; lo cual se cumple si dichos vectores tienen poca dispersión. La dispersión se puede medir sobre la diagonal de la matriz de covarianzas: a mayores valores de la diagonal, mayor es la dispersión. Capacidad discriminante La capacidad discriminante de una característica específica se puede describir como una propiedad que asegura que patrones de clases distintas tienen patrones numéricos bien diferenciados. Dicha capacidad se puede medir usando el coeficiente de Fisher. La siguiente fórmula permite el cálculo de este parámetro para una característica respecto a dos clases i y j. 35 , donde Según esta formulación una característica es tanto más discriminante cuanto mayor es su ratio de Fisher. Se puede ver que este parámetro tiene en cuenta la distancia entre las medias de las clases y de manera inversa las desviaciones típicas de las mismas. Por un lado se ve que, cuanto mayor distancia exista entre los centros de masas de las clases mayor es el ratio. Por otro lado, el denominador hace que cuanto menor sea la desviación también mayor sea el ratio. La expresión para el caso general de k clases y muestras para cada clase resulta en el siguiente vector F: Siendo: Reconocimiento e interpretación El primero es el proceso de asignar una etiqueta a un objeto basándose en la información suministrada por sus descriptores o características, mientras que la segunda implica asignar significados a un conjunto de objetos reconocidos. 2.2.6 Tasas de Error El sistema de reconocimiento de señales de tránsito representa un sistema de identificación basado en visión artificial. En este sentido, se puede distinguir entre el proceso de verificación y de identificación como sigue (Abreu, 2008): Verificación: El sistema autentica la identidad de una persona simplemente comparando sus propias características biométricas con la plantilla biométrica 36 almacenada en el sistema. En esencia realiza una comparación uno a uno (1:1) para determinar si la identidad reclamada por esa persona es verdadera. La verificación responde la siguiente pregunta: ¿Soy yo quien yo exijo ser? Identificación: El sistema reconoce a una persona buscando sus características en una base de datos de plantillas biométricas. En otras palabras, el método consiste en encontrar la identidad de una persona desconocida en una base de datos de personas registradas. Esto conlleva a la comparación uno a muchos (1:N) para seleccionar la identidad correcta. La identificación responde la siguiente pregunta: ¿Quién soy? El sistema puede generar varias tasas de error de decisión, estos son la Tasa de Falso Rechazo (FRR- False Rejection Rate), la Tasa de Falsa Aceptación (FAR-False Acceptance Rate) y la Tasa de Falsa Identificación (FIR-False Identification Rate). Uno de los aspectos claves es determinar el umbral de distancia t que condiciona dichos valores. Generalmente, se ajustan los umbrales para que dichas tasas sean idénticas. Ambas tasas de error se representan para un umbral t determinado dentro del rango de puntaje de los resultados obtenidos. 2.2.6.1 Tasa de Falsa Aceptación Es el porcentaje de veces que un sistema produce una falsa aceptación, lo cual ocurre cuando un evento es erróneamente vinculado con la información de una plantilla existente de otro evento. 2.2.6.2 Tasa de Falso Rechazo Es el porcentaje de veces que el sistema produce un falso rechazo. Ocurre un falso rechazo cuando un evento no es vinculado con su propia plantilla existente. 37 2.2.6.3 Tasa de errores idénticos (EER: Equal Error Rate) Se genera cuando la tasa de falsa aceptación es igual a la tasa de falso rechazo, referida a la colocación del umbral t donde FRR y FAR son iguales (ver figura Nº 5). Esta tasa se utiliza para resumir el rendimiento del sistema. Figura Nº 5. Curvas FRR, FAR y EER. Fuente: Maltoni y otros, 2003. Existe una manera de evaluar todos los sistemas a prueba para determinar el que genere mejores resultados en una sola gráfica, usando las Curvas características de Operación del Receptor (ROC). La curva ROC se grafica con (1-FRR) en el eje vertical y (FAR) para el eje horizontal (Abreu, 2008). Se grafica la curva ROC de cada sistema, y la curva EER, la cual es una curva complementaria; plasmando todas las curvas ROC en el mismo gráfico. Esto hace más sencillo comparar y analizar todos los sistemas entre sí, pues se determina la curva ROC de los sistemas a prueba que corte primero a la EER. El sistema que produzca dicha ROC será el que genere la menor Tasa de Igual Error. 2.2.6.4 Tasa de Falsa Identificación La tasa de identificación falsa es la probabilidad en una identificación de que los elementos biométricos sean falsamente asignados a una referencia. La definición 38 exacta depende de la estrategia de asignación, es decir, después de la comparación de características, a menudo más de una referencia superará el umbral de decisión. La tasa de falsa identificación se puede calcular primero después de seleccionar uno de los candidatos. Un estándar, que se encuentra a menudo en las aplicaciones prácticas, podría ser, por ejemplo, que el candidato con el mayor valor de similitud sea elegido (suponiendo que sólo hay una). Por desgracia, la FIR es sólo verificable cuando las funciones de densidad de probabilidad están disponibles para su aceptación falsa, así como de falso rechazo. Estas definiciones dan lugar a la siguiente fórmula en condiciones ideales, donde el índice de N representa el número de referencias y FAR1 es la tasa de falsa aceptación de un sistema con una referencia: FIRN = (N - 1) FRR1 FAR1 (1 - FAR1)N-2 2.2.7 Modelos Ocultos de Markov Una técnica de modelado estocástico muy utilizada son los modelos ocultos de Markov. La teoría básica de los modelos ocultos de Markov fue introducida por primera vez por Baum y sus colaboradores en una serie de artículos entre los años 1966 y 1972. La comparación de patrones en reconocimiento de locutor dependiente de texto se realiza midiendo la verosimilitud de una observación con el modelo del locutor que dice ser. Un HMM es una máquina de estados finita, en la que las observaciones son una función probabilística del estado, es decir, el modelo es un proceso doblemente estocástico formado por un proceso estocástico oculto no observable directamente, que corresponde a las transiciones entre estados y un proceso estocástico observable cuya salida es la secuencia de vectores espectrales (Esteve, 2007). Según Rabiner (1989), un modelo oculto de Markov (HMM, de sus siglas en inglés Hidden Markov Model) es un modelo estadístico en el cual el sistema que se está modelando se asume que es un proceso de Markov con estados ocultos. La 39 aplicación de los HMM se fundamenta en que el sistema a modelar consiste en una cadena de Markov de parámetros desconocidos, de allí viene en adjetivo “oculto”. Una cadena de Markov es todo proceso que se mueve de un estado a otro dependiendo solamente de los n estados previos. El proceso se dice que es de orden n, donde n representa el número de estados que afectan la elección del próximo estado (González, 2010). Los vectores de características que se toman como observaciones en la etapa de entrenamiento, son usados para estimar una función de densidad, es decir, un GMM (Gaussian Mixture Model). A este GMM se le conoce como la "densidad de salida" de los estados del HMM (Abreu, 2008). Los GMM modelan la distribución estadística de los parámetros elegidos, mediante una suma de un número finito de Gaussianas. Una Gaussiana o Campana de Gauss es una función de densidad de probabilidad con la forma (Wikipedia, sf): Donde a, μ y σ son constantes reales (a > 0). La figura Nº 3 muestra un ejemplo de curvas gaussianas para diferentes parámetros: Figura Nº 6.Curvas de Gauss con diferentes parámetros. Fuente: Wikipedia, sf 40 Este método reduce considerablemente la cantidad de información a guardar en la base de datos del sistema (sólo hay que guardar los pesos, medias (μ) y varianzas (σ2) de la Gaussiana). Para ello, se crea un vector de medias y una matriz de covarianza diagonal a partir de los valores de la data; esto se realiza con el fin de crear la función de densidad para el sistema. A mayor cantidad de gaussianas, mayor es la complejidad del sistema; así, usar una sola gaussiana representa el caso más sencillo. En un modelo de Markov regular, el estado es directamente visible para el observador, y por lo tanto las probabilidades de transición de estados son los únicos parámetros. En un modelo oculto de Markov, el estado no es directamente visible, pero la salida, dependiendo del estado, es visible. Cada estado tiene una distribución de probabilidad sobre las posibles señales de salida. Por lo tanto, la secuencia de símbolos generados por un HMM brinda información sobre la secuencia de estados. Se debe tener en cuenta que el adjetivo oculto se refiere a la secuencia de estado a través del cual pasa el modelo, no a los parámetros del modelo. Incluso si los parámetros del modelo se conocen con exactitud, el modelo sigue siendo oculto. Figura Nº7. Modelo de Generación de Markov Fuente: Esteve (2007) En la Figura Nº 7 se pueden observar los elementos que definen un HMM: N: el número de estados del modelo, donde qt denota el estado en el instante de tiempo t. 41 La dimensión del conjunto de observaciones distintas de salida M, es decir, el tamaño del alfabeto V={v1,v2,...,vM} La distribución de probabilidad de transición entre estados A={aij}: aij=P(qt=sj | qt-1=si) 1≤ i,j ≤ N La distribución de probabilidades de emisión de símbolos entre estados B={bj(k)}: bj(Ok)=P(Ok | qt = sj) 1≤ j ≤ N, 1≤ k ≤ M , donde Ok es un símbolo perteneciente a V. Distribución del estado inicial = { i}: i = P(q0 = si) 1≤ i ≤ N. Con todo esto, un HMM se describe como = {A, B, }. Dada esta definición surgen tres problemas que son necesarios resolver para que los HMMs tengan utilidad en aplicaciones reales. 1. Problema de evaluación de la probabilidad 2. Problema de encontrar la secuencia de estados óptima 3. El problema de entrenamiento de un modelo 2.2.7.1 Evaluación de la probabilidad Se debe partir de una secuencia de observaciones inicial y mediante algoritmos determinados a generar los valores necesarios para la obtención del modelo más probable para generarlas. Dada una secuencia de observación O = { y un modelo = {A,B, } se debe calcular la probabilidad de la secuencia de observaciones. El modo más directo de lograr calcular esta probabilidad es enumerar todas las posibles secuencias de estados de longitud T que generen la secuencia de observación O y sumando sus probabilidades según el teorema de Probabilidad Total (Esteve, 2007). 42 Para esto consideremos una secuencia de estado: Q = (q1, q2,…, qT) donde q1 es el estado inicial. La probabilidad de la secuencia de observación O dada la secuencia de estado Q es (Esteve, 2007): Donde se asumen estadísticamente independientes las observaciones. Por lo tanto se obtiene (Esteve, 2007): Por otra parte la probabilidad de la secuencia de estados Q se puede expresar como: La cual se interpreta como la probabilidad del estado inicial, multiplicada por las probabilidades de transición de un estado a otro. Sustituyendo los dos términos anteriores en el sumatorio inicial se obtiene la probabilidad de la secuencia de observación: De la ecuación anterior se interpreta lo siguiente: • Inicialmente en t=1 nos encontramos en el estado q1 con probabilidad πq1 y generamos el símbolo O1 con probabilidad bq1(O1). • En t=2 se produce una transición al estado q2 con probabilidad aq1q2 y generamos el símbolo O2 con probabilidad bq2(O2). 43 Este proceso se repite hasta que se produce la última transición del estado qT-1 al estado qT con probabilidad aq(T–1)qT y generando el símbolo OT con probabilidad bqT(OT.) El cálculo de esta probabilidad es un poco compleja ya que requiere realizar 2T· operaciones y esto es computacionalmente muy pesado. Por lo tanto se hace necesario el uso de un algoritmo como el algoritmo de avance, el cual permite guardar los resultados intermedios y utilizarlos para los posteriores cálculos de la secuencia de estado. La clave está en guardar los resultados intermedios y utilizarlos para los posteriores cálculos de la secuencia de estados. El primer paso es definir la variable hacia delante como αt(i)=P(O1,O2,...,Ot, qt = Si | λ). Esta variable corresponde con la probabilidad de que el modelo λ se encuentre en el estado i habiendo generado la secuencia parcial O1,O2,...,Ot hasta el instante de tiempo t. αt(i) se puede calcular por inducción siguiendo los siguientes pasos: 1. Inicialización: α1(i)=πi .bi(O1), 1 ≤ i ≤ N En este paso se inicializan las probabilidades hacia delante como la probabilidad conjunta del estado Si y la observación inicial O1. 2. Inducción: 44 La expresión entre corchetes representa la probabilidad de alcanzar el estado Sj en el instante de tiempo t+1 partiendo de todos los estados posibles Si en el instante t habiendo observado hasta el instante t la secuencia parcial O1,O2,...,Ot. Si multiplicamos ahora dicho término por la probabilidad de observar Ot+1 se obtiene αt+1(j). 3. Finalización: P(O|λ) = El cálculo de P(O|λ) final se realiza sumando todas las variables hacia delante αT(i) en el instante final T. Esto es así ya que por definición αT(i) es igual a la probabilidad conjunta de haber observado la secuencia O1,O2,...,OT y encontrarnos en el estado Si: αT(i)= P(O1,O2,...,OT, qT = Si | λ), con lo que si sumamos dicha probabilidad para todos los estados posibles obtenemos la probabilidad esperada P(O|λ). La complejidad de este algoritmo comparado con la manera directa de calcular P(O|λ) es mucho menor y se encuentra en el orden de O(N2·T), con lo que se el ahorro computacional es claro. 2.2.7.2 Estimación de la secuencia de estados óptima En la obtención de la secuencia de observación que arroje la máxima probabilidad se implementa el algoritmo de Viterbi, que permite maximizar la probabilidad P(q|O,λ) o lo que es equivalente, maximizar P(O,q|λ). Decodificar un HMM consiste en encontrar la secuencia de estados óptima, dada una secuencia de observación. La resolución de este problema resulta muy importante para tareas de segmentación y reconocimiento de voz. Pasos a seguir en la implementación del algoritmo de Viterbi (Esteve, 2007).: 45 1. Inicialización: δ1(i) = i.bi(O1), 1≤i≤N (i)=0 Inicialmente se define la δ1(i) como la probabilidad de encontrarse en el estado i en el instante t=1 multiplicada por la probabilidad de generar el símbolo O1. El vector , en el que se va a almacenar el argumento que maximiza δt(j) para cada valor de t y de j, toma inicialmente el valor 0. 2. Recursión: δ1(j)= δ , 2 ≤ t ≤ T, 1 ≤ j ≤ N 3. Finalización: = δ = δ La iteración del punto 3 se termina cuando se han generado las T observaciones. 4. Backtracking: = ), t = T – 1, T-2, …, 1 En este último paso se reconstruye la secuencia de estados partiendo desde el estado final hasta llegar al principio. 46 2.2.7.3 Entrenamiento de un modelo Se deben ajustar los parámetros del modelo {A,B, } para maximizar la probabilidad de la secuencia de observación dado el modelo P(O| ). El principal inconveniente es que no existe ningún método analítico conocido que maximice el conjunto de parámetros a partir de los datos de entrenamiento. Se puede resolver, sin embargo, utilizando un procedimiento iterativo como el algoritmo de Baum-Welch, también conocido como el algoritmo de avance-retroceso. Este algoritmo usa los mismos principios que el algoritmo EM (Expectation Maximization).El procedimiento consiste en actualizar los pesos de forma iterativa para poder explicar mejor las secuencias de entrenamiento observadas. Antes de describir formalmente el algoritmo de Baum- Welch es necesario definir la probabilidad hacia atrás de manera similar a como se definió la probabilidad hacia delante: βt(i)=P(Ot+1,Ot+2,...,OT, qt = Si| ). βt(i) es en este caso la probabilidad de generar la observación parcial O={Ot+1,Ot+2,...,OT} desde el instante t+1 hasta el instante final T dado que el modelo se encuentra en el estado Si en el instante de tiempo t. βt(i) se puede calcular por inducción como sigue: 1. Inicialización: βT (i) = 1, 1 ≤ i ≤ N 2. Recursión: 47 La relación entre α y β adyacentes se puede observar mejor en la siguiente figura α se calcula recursivamente de izquierda a derecha mientras β se calcula recursivamente de derecha a izquierda. Figura Nº 8. La relación entre αt-1 y αt y βt y βt-1 en el algoritmo Forward-Backward. Fuente: Esteve (2007). A continuación se define la variable que representa la probabilidad de realizar una transición del estado Si al estado Sj en el instante de tiempo t dado el modelo y dada la secuencia de observación, es decir: Este resultado se puede ilustrar mejor con la siguiente figura: 48 Figura Nº 9. Ilustración de las operaciones necesarias para el cálculo de Fuente: Esteve (2007). Es posible refinar iterativamente el vector de parámetros del HMM = {A, B,} si se maximiza la probabilidad de la observación, P(O| ), en cada iteración. Para ello denotamos como al nuevo vector de parámetros calculado a partir del vector de parámetros , obtenido en la iteración anterior. De acuerdo con el algoritmo EM, esto es equivalente a maximizar la siguiente función Q: Donde P(O,S| ) y log P(O,S| ) se definen como sigue: 49 Por lo tanto la ecuación inicial se puede rescribir de la siguiente manera: Como hemos separado la función en tres términos independientes, se puede maximizar Q( | ) maximizando cada uno de los términos por separado, sujeto a las siguientes restricciones: Además, los términos en las ecuaciones anteriores tienen todos, la siguiente forma: Haciendo uso de los multiplicadores de Lagrange, se demuestra que la función F(x) toma su valor máximo en: A partir de todo esto, se obtienen las estimaciones de los parámetros del modelo HMM: 50 La probabilidad inicial se puede derivar como un caso especial de la probabilidad de transición. Sin embargo, por ejemplo se suele fijar para la mayoría de aplicaciones de voz, = 1 para el estado inicial. Al observar las ecuaciones anteriores, se puede ver que la primera corresponde con el cociente entre el número medio de transiciones del estado i al estado j y el número medio de transiciones desde el estado i. La segunda ecuación se puede interpretar también como el cociente entre el número medio de veces que el símbolo Vk se emite desde el estado j y el número medio de veces que se emite un símbolo desde el estado j. De acuerdo con el algoritmo EM, el algoritmo de reestimación de Baum-Welch garantiza una mejora monótona en la probabilidad en cada iteración hasta que ésta converge en un máximo local. El algoritmo se puede resumir en los siguientes pasos: 1. Inicialización: Se escoge una estimación inicial del modelo . 2. Paso E: Se calcula la función auxiliar Q( 3. Paso M: Se calcula ) a partir de . de acuerdo con las ecuaciones de reestimación para maximizar la función auxiliar Q. 4. Iteración: pasa a tomar el valor de 2 hasta que converge. y se repite el algoritmo desde el paso 51 2.2.7.4 Arquitectura de los HMM Esta arquitectura se da de acuerdo al número de estados que lo componen y las transiciones permitidas entre dichos estados (Becerra y otros 2009). Los principales modelos existentes son: Modelos de izquierda a derecha Modelos ergódicos. Modelos de izquierda a derecha Los elementos de la matriz de probabilidades de transición A deben cumplir la siguiente condición: aij = 0 j <i , es decir , si en el instante t, el modelo se encuentra en el estado i-ésimo, en el siguiente instante de tiempo, t+1, el modelo permanecerá en el mismo estado con probabilidad aii, o bien el modelo pasará al estado j-ésimo (j>i) con probabilidad aij. Esta configuración de la matriz de transiciones A da lugar a modelos con arquitecturas que se denominan de izquierda a derecha. Figura Nº 10. Modelo Oculto de Markov de izquierda a derecha Fuente: Becerra y otros (2009) Como se muestra en la figura Nº 10, el estado 1 (estado inicial) y el 3 (estado final) se denominan no emisores y las flechas en líneas continuas indican las posibles transiciones entre estados. Se puede notar la particularidad de que las transiciones se dan solamente de izquierda a derecha (Becerra y otros 2009) 52 Modelos Ergódicos Pueden evolucionar desde cualquier estado a otro en un número finito de transiciones, todas las transiciones son posibles. Figura Nº 11. Modelo oculto de Markov Ergódico Fuente: Becerra y otros (2009) 2.2.7.5 Tipos de Modelos Ocultos de Markov HMM discretos Aquí las observaciones son vectores de símbolos de un alfabeto finito con M + 1 elementos diferentes, cada uno denominado codeward, que se agrupan en un Codebook, V = {v0,.....,vm}. La distribución de probabilidad de un símbolo entonces se define como B = {bj (k)} donde bj(k) = P(yt = vk | xt = sj), es la probabilidad de observación del Codebook vk (Becerra y otros 2009) HMM continuos Aquí se asume que las distribuciones de los símbolos observables son densidades de probabilidad definidas sobre espacios de observación continuos. La forma más extendida de distribución es la de una mezcla de funciones de densidad de tipo gaussiano (Becerra y otros 2009). 53 HMM semicontinuos Al igual que los continuos se modelan a partir de un conjunto de mezclas de funciones de densidad de probabilidad gaussiana. La principal diferencia radica en que las funciones base son comunes o todos los modelos, como ocurre en el caso de los modelos discretos donde existe un Codebook común a todos ellos (Becerra y otros 2009). CAPITULO III MARCO METODOLÓGICO 3.1 Tipo de la Investigación De acuerdo al propósito de la investigación se caracteriza por ser una investigación del tipo aplicada. La definición proporcionada por Farci y Ruiz en el año 2002 indica: “La indagación aplicada se dirige básicamente al uso inmediato del conocimiento y no al desarrollo de la teoría. Produce conocimientos dirigidos a la solución de problemas prácticos”. Efectivamente a partir de bases teóricas desarrolladas se pretende la consecución de una solución a problemas reales. En lo referente al tipo de producto a obtener, esta investigación se ubicará en la clasificación correspondiente a la investigación tecnológica, que según Farci y Ruiz en el año 2002 tiene como propósito la producción de conocimientos aplicables a la producción de bienes y servicios para satisfacer necesidades humanas. Esta clase de investigación plantea el estudio de problemas concretos a los cuales se les da la solución práctica elaborando un producto o servicio para su posterior aplicación. 3.2 Identificación de las variables En la presente investigación se emplearon variables del tipo cuantitativas que se pueden medir en términos de cantidad. Existe además una relación estrecha entre las variables empleadas con respecto al papel que desempeñan dentro de la investigación. En este sentido se distinguen variables independientes, dependientes e intervinientes. La variable independiente es la variable causa, es manipulada a conveniencia del investigador para descubrir el efecto que esta produce en la variable dependiente, la variable dependiente es la variable efecto, que se detectará por el 55 estímulo de otras variables y finalmente la variable interviniente es aquella variable cuyo efecto hay que controlar puesto que de lo contrario pueden ser fuentes de error. En el caso del software reconocedor de las señales de tránsito, la variable dependiente está representada por la exactitud en la decisión tomada por el sistema y los indicadores de desempeño de la exactitud están representado por la Tasa de Falsa Identificación (FIR) la cual puede ser obtenida a partir de las tasas de Falso Rechazo (FRR) y Falsa Aceptación (FAR), la variable independiente será el umbral de decisión t, que se manipula para lograr el mayor desempeño en la exactitud del sistema. Entre las variables intervinientes se encuentra el ruido introducido al sistema por cuantizaciones, la iluminación irregular del ambiente donde se obtuvieron las imágenes, la distancia medida desde la captura de la imagen y la señal, las variaciones marcadas del color en las imágenes provenientes de agentes externos, el grado de deterioro de las señales a causa de agentes externos como el clima y el vandalismo, es decir, aquellos factores no deseados que se puedan introducir en el procesamiento de la imagen de la señal. 3.3 Población La población estuvo integrada por las imágenes de las señales de tránsito disponibles en las bases de datos creadas para el entrenamiento y reconocimiento. 3.4 Muestra La selección de la muestra de este trabajo se determinó mediante un muestreo probabilístico. Bijarro (2007) indica que un muestreo probabilístico es aquel en el cual “cada elemento de la población tiene la misma probabilidad para ser seleccionado en la muestra”. Haciendo énfasis con respecto a lo anterior, la escogencia de la muestra fue realizada al azar (Farci y Ruiz (2007)). Para determinar el tamaño de la muestra se aplicó la regla de 3, la cual es sugerida por Mansfield y Wayman (2002), pues la misma indica que “el tamaño de una evaluación, en términos del número de voluntarios y el número de ensayos afectará 56 la medición de las tasas de error. Mientras más grande es la prueba, más grande será la probabilidad de que los resultados sean más exactos”. La regla de 3 (Mansfield y Wayman (2002)) responde a la pregunta ¿Cuál es la tasa de error más baja que puede ser establecida con un número particular de N comparaciones (distribuidas idénticamente independientes)? Esto es la tasa de error p para la cual la probabilidad de cero errores en N ensayos, por pura casualidad, es 5%. Esto resulta en: para un nivel de confiabilidad de 95% De este modo, por ejemplo, una prueba con 300 muestras independientes que no retornen error pueden representar, con un 95% de confiabilidad, una tasa de error de 1% o menos. En efecto: 3.5 Técnicas e Instrumentos de Recolección de Datos De acuerdo a los parámetros indicados por Arias (2006), las técnicas de recolección de datos de esta investigación serán: • Análisis documental • Observación científica directa, participante y de laboratorio. Como instrumentos de recolección de información utilizados se pueden establecer los siguientes: • Libros, trabajos de investigación, documentos de fuentes electrónicas. • Computador personal 3.6 Técnicas de Procesamiento y Análisis de la Información 57 Las técnicas que se esperan emplear para el procesamiento de la información basado en lo planteado por Arias en el 2003, son: • Clasificación • Registro • Tabulación y graficado En cuanto al análisis de la información y basándose en lo proporcionado por Arias en el 2003, se utilizaron técnicas lógicas y estadísticas. Para las primeras se utilizaron técnicas de deducción, síntesis y análisis, mientras que para la segunda se empleó la técnica de descripción. Con el empleo de estas técnicas se pudo otorgar significancia a los resultados y así mismo descifrar lo que revelan los mismos. 3.7 Descripción del Procedimiento Para dar lugar al cumplimiento de los objetivos específicos, el trabajo investigativo presentado se desarrolló en cuatro fases principales. Las actividades correspondientes a cada fase dan cabida a la obtención de los resultados plateados de forma secuencial y esquemática, facilitando la ejecución de la investigación planteada. A continuación, se listan dichas actividades por objetivos específicos. La primera fase constituye la construcción de una base de datos con imágenes de señales de tránsito con el propósito de generar un punto de partida para el módulo extractor de las características. Contempló la planificación, recolección y creación de la base de datos necesaria para las pruebas de desempeño. Los procedimientos seguidos con este propósito se pueden enlistar como: Se determinó el dispositivo de captura a emplear para la toma de las imágenes de las señales de tránsito considerando las mejores prestaciones para los propósitos de la investigación. 58 Se realizaron constantes observaciones para determinar los lugares de la ciudad donde existieran señales de tránsito en condiciones adecuadas para su captura. Se capturaron las imágenes de cada señal directamente en escenarios reales, una a una con el dispositivo escogido y en los lugares observados durante las mismas fases del día. Las imágenes tomadas fueron descargadas en un ordenador personal y almacenadas en un directorio específico para las pruebas pertinentes. La segunda fase corresponde al desarrollo del módulo extractor de las características provenientes de las imágenes de la base de datos previas. Para ello se siguió el procedimiento citado a continuación: Se diseñó la aplicación utilizando un diagrama de flujo, donde se incluirán todos los módulos de procesamiento. Se definió un conjunto de características que pueden ser extraídas de la imagen. Se realizó una segmentación manual del fondo para distinguir la señal capturada en la foto y se realizó un re-dimensionamiento de la misma para obtener la misma cantidad de pixeles por imagen en estudio. Se dividió la imagen en celdas y se extrajeron las características de cada celda. La siguiente fase es la correspondiente al entrenamiento de los modelos ocultos de Markov para el reconocedor de las señales de tránsito. Los procedimientos seguidos pueden ser citados como: 59 Se revisaron los pasos que se deben seguir para la creación de un modelo de imágenes usando modelos ocultos de Markov. Se seleccionó de la base de datos, las imágenes correspondientes que fueron utilizadas como data de entrenamiento. Se seleccionaron las herramientas computacionales que se adecuaron a los requerimientos de los modelos ocultos de Markov. Se crearon conjuntos de características para utilizarlos como material para la creación y entrenamiento del sistema. Se creó y verificó el correcto funcionamiento del algoritmo para realizar el entrenamiento de los modelos ocultos de Markov. En lo referente a la siguiente fase de la investigación, para el desarrollo del módulo de reconocimiento de señales de tránsito empleando modelos ocultos de Markov se ejecutó el procedimiento listado como sigue: Se evaluó los problemas de Markov y se eligió aquellos a los que se le buscó respuesta: problema de evaluación de la probabilidad y problema de entrenamiento de un modelo. Se analizaron los pasos que se debían seguir para responder los problemas de Markov que se eligieron. Se seleccionó las herramientas computacionales que se adecuaron a los requerimientos para la verificación de las imágenes usando modelos ocultos de Markov. Se creó y verificó el correcto funcionamiento del algoritmo para realizar el reconocimiento usando modelos ocultos de Markov para el reconocedor de señales de tránsito. 60 En las fases expuestas anteriormente, es notable destacar que la consecución de los objetivos se debió gracias al empleo de la técnica de análisis documental y la observación científica directa. Para cada una de las fases el software elaborado se basa en el lenguaje utilizado por un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). En específico el software empleado fue MatLab 7.8.0 pues contiene un toolbox dedicado al entrenamiento y clasificación de modelos usando HMM orientado a imágenes. Para la última fase del diseño, se procedió a realizar la prueba de desempeño de todo el sistema basándose en las tasas de error correspondientes y en las gráficas pertinentes para descifrar la significancia de los resultados obtenidos previamente. En este caso por tratarse de un sistema de identificación y no de verificación, se calculará el valor de la Tasa de Falsa Identificación (FIR) la cual caracteriza el sistema a partir de la Tasa de Falsa Aceptación (FAR) y la Tasa Falso Rechazo (FRR). 3.8 Cronograma de Actividades Tabla Nº1. Cronograma de Actividades Fase 1 3 4 5 5 6 Nombre Creación de la Base de Datos de Imágenes de Señales de Tránsito Desarrollo del módulo extractor de características Desarrollo del módulo de entrenamiento Desarrollo del módulo de reconocimiento de las señales de tránsito Comprobación del desempeño del prototipo Elaboración del informe de investigación TOTAL Duración 2 semanas 3 semanas 1 semanas 1 semanas 2 semanas 2 semanas 11 semanas Fuente: El autor. 3.9 Recursos Para la consecución de los objetivos planteados previamente se tiene una segmentación de los recursos como sigue: 1. Bibliográficos 61 2. Técnicos 3. Humanos Dichos recursos permiten el desarrollo de la investigación desde su planteamiento hasta la obtención de las metas propuestas. Recursos bibliográficos: La bibliografía a consultar está conformada por libros de textos, investigaciones previas, presentaciones y clases, entre otras que en su mayoría son encontradas en Internet. La investigación estuvo centrada en textos sobre tratado de imágenes, sistemas de identificación biométrica, sistemas de reconocimiento de señales de tránsito y modelos ocultos de Markov, con una fuerte base en los antecedentes citados previamente. Recursos técnicos: Se tienen los siguientes: • Computador o PC Marca: Toshiba Satellite L515 Procesador: Pentium Dual Core 2,20 GHz Memoria RAM : 2GB • Cámara fotográfica digital Marca: Sony Resolución: 7.2 Megapíxeles Formato de Salida: .JPEG • Software matemático para el filtrado de imágenes Matlab2009R versión 7.8.0 Recursos humanos: Los recursos humanos que se pretenden utilizar en la consecución de los objetivos son: - Tutor Académico: Ing. Raúl Abreu - Estudiante: Br. Ramón Vásquez CAPITULO IV RESULTADOS Y ANÁLISIS DE LOS RESULTADOS 4.1 Construcción de la Base de Datos y Módulo de extracción de Características 4.1.1 Base de Datos Para la consecución del objetivo previsto relacionado con la construcción de una base de datos segmentada que contenga señales de tránsito se realizó la planificación, recolección y creación de la base de datos necesaria para las pruebas de desempeño como se describió en el capítulo III. La base de datos construida se obtuvo de imágenes provenientes de la captura de las señales de tránsito con una cámara digital en condiciones controladas de luz y ruido. En este sentido las fotos fueron tomadas de día y de forma estacionaria. Se evitó el uso de señales que presentasen un grave deterioro debido a grafitis, calcomanías, vandalismo, antigüedad, entre otros, que entorpecieran el posterior desarrollo del sistema. Las imágenes fueron tomadas en distintas localidades de la ciudad de Barquisimeto, Quibor y Sanare. La cámara empleada en la captura de las imágenes fue una cámara digital Sony Cyber-Shot de 7.2 Megapixeles (Ver tabla Nº 2). Es importante resaltar la dificultad que representó la captura de las imágenes para el desarrollo de la investigación, esto debido a la poca señalización presente en la ciudad de Barquisimeto y sus cercanías, y más aún la cantidad de señales en condiciones adecuadas para la identificación. 63 Tabla Nº 2. Especificaciones de la Cámara Digital empleada para la captura de las imágenes. Resolución Zoom Óptico Formato de Salida 7.2 Megapixel ZEISS 3x .JPG Fuente: Manual de Usuario. Luego de hacer la captura de las imágenes se procedió a realizar una segmentación manual del fondo, de manera que la imagen de la señal de tránsito ocupara la mayor proporción de la figura. Esto con la finalidad de disminuir la interferencia por ruido y agentes externos. El formato empleado para guardar las imágenes fue .jpg ya que es soportado por el toolbox de la herramienta computacional Matlab además de ser el formato de imagen por defecto de la cámara digital empleada. Para la prueba del sistema se obtuvieron imágenes de diferentes señales de tránsito, pero la elección de cuál señal en específico iba a ser utilizada en la demostración se tomaron en cuenta dos criterios: Facilidad de obtención: esto corresponde con la disponibilidad de la señal en ambientes reales dentro de las limitaciones de tiempo y espacio de esta investigación. Relevancia: en este caso se refiere a qué tan importante puede ser la elección si se desea una implementación futura del sistema con una mayor cantidad de imágenes y más tiempo para la realización de las pruebas. Evidentemente que se desea incluir la mayor cantidad de variaciones en cuanto a las características entre señales, es por ello que se escogieron señales de diferentes tipos como se mencionó en el capítulo II referente a la clasificación de las señales de tránsito en Venezuela. 64 En este sentido las señales seleccionadas para el sistema expuesto se muestran en la Tabla Nº3: Tabla Nº 3.Señales Empleadas por el Clasificador Informativa Señal de Aeropuerto Señal de Parada de Autobús Reglamentaria Señal de No Estacione Señal Prohibido Cruce Preventiva Señal Paso Escolar Señal Semáforo. Fuente: El autor. Del mismo modo la cantidad de imágenes resultantes para cada señal fueron: Señal de Aeropuerto: 300 imágenes Señal de Parada de Autobús: 60 imágenes Señal de No Estacione: 60 imágenes Señal de Prohibido el Cruce en U: 56 imágenes Señal de Paso Escolar: 93 imágenes Señal de Semáforo: 60 imágenes En la figura Nº 12 se pueden observar varios ejemplos de las imágenes capturadas. Figura Nº 12. Diferentes Imágenes de señales de tránsito segmentadas de forma manual. Fuente: El autor. 4.1.2 Módulo de Extracción de Características Para el desarrollo del módulo extractor de características se siguieron los pasos especificados en el capítulo III de la presente investigación. De esta manera primeramente se procedió a realizar un diagrama de flujo para representar las fases 65 de pre-procesamiento y de extracción de características requeridas por este módulo (Ver Figura Nº13). Figura Nº 13. Diagrama de bloques para el tratado de la imagen digital Fuente: El autor. Para realizar la lectura de la imagen se hizo uso del comando uigetfile, que permite elegir una imagen que está almacenada en una carpeta distinta a la carpeta raíz de MatLab. Para la fase de entrenamiento se utilizó el comando imread que permite cargar una imagen y asignarla a una variable como una matriz de tres dimensiones como se describió en el capítulo II, donde las dos primeras corresponden al alto y ancho de la imagen, y la última corresponde a los valores de rojo, verde y azul (modelo RGB) de la misma. En esta investigación se consideraron cómo características necesarias para posterior entrenamiento y clasificación del modelo a las características más intuitivas que permiten discriminar entre una señal y otra. Estas fueron el color de la imagen y su forma. Luego de determinar las características empleadas en el estudio el primer paso a realizar por el módulo fue el redimensionamiento de todas las imágenes, de modo que se pudiera normalizar el tamaño de cada una, y a partir de esto obtener la misma 66 cantidad de valores en el vector de observación y poder entrenar y probar el modelo a estudiar. El tamaño de cada imagen fue redimensionado utilizando el comando imresize de Matlab que usa por defecto el método de interpolación del vecino más cercano, consiguiendo así imágenes de 96x96 píxeles. El valor escogido para la dimensión del alto y ancho de la imagen reserva el propósito de que el sistema está pensado para ser ejecutado posteriormente en tiempo real, es por ello que la imagen destinada al reconocimiento puede resultar pequeña (proveniente de un módulo de detección hipotético), de hecho en el sistema propuesto por Escalona y otros (2011) las imágenes en estudio poseían un tamaño no menor a 30x30, lo que indica que un tamaño de 96x96 es suficiente como para obtener las características necesarias para el software. La ventaja de redimensionar cada imagen es facilitar la posterior división en cuadrículas, pues trabajar con imágenes implica trabajar con elementos discretos. Así, este reajuste de la imagen permitió obtener valores discretos al momento de la división en celdas. Por otro lado, con el propósito de extraer el color de la imagen se dividió la misma en celdas y para cada celda se obtuvo el valor promedio de cada uno de sus componentes en el plano RGB. Así de esta forma se tuvo un puntaje para el plano Rojo, Verde y Azul de cada celda. Esto se logró empleando el siguiente comando en Matlab: supóngase que se tiene la imagen RGB contenida en la variable image2 y se desea obtener el valor del píxel m=100 y n=100 para cada uno de los diferentes planos R, G y B. Se tendría que escribir: > >valueR=image2(100,100,1) ; > >valueG=image2(100,100,2) ; > >valueB=image2(100,100,3) ; Haciendo un recorrido por toda la imagen en cada uno de sus planos de color se puede obtener el puntaje promedio por celda de cada componente. Del mismo modo con el intento de obtener un valor cuantificable que esté de alguna forma relacionado con la forma de las imágenes en estudio, se procedió a calcular el 67 campo de orientación presente en cada una de las celdas en las que se dividió la imagen. Para ello primeramente se hizo pasar la imagen por una etapa de preprocesado. La imagen redimensionada es llevada a escala de grises empleando el comando rgb2gray la cual retorna una única matriz con la intensidad de gris de cada pixel en la imagen. Paso seguido se utilizó un filtro de mediana sobre la imagen en gris para eliminar el mayor ruido posible (conocido como “sal y pimienta”) con el fin de obtener el mayor éxito posible en el procesamiento posterior. Posteriormente se crea una máscara de Sobel a partir del comando fspecial que permite generar un filtro FIR de dos dimensiones del tipo especificado (en este caso Sobel) en la línea de comandos. Con el filtro seleccionado se aplica el comando filter2 a la imagen obtenida luego del filtro de medianas, y de este modo se pueden obtener los gradientes de la imagen en X y en Y, y el gradiente combinado. Con el uso de las ecuaciones especificadas en el capítulo II es posible obtener el campo de orientación de la imagen. La figura muestra la imagen obtenida para determinar el campo de orientación. Figura Nº 14. Imágenes para el cálculo del campo de orientación. a. Gradiente en X. b. Gradiente en Y. c. Gradiente combinado. a. b. Fuente: El autor c. 68 A partir de estos valores se pueden obtener las características para el entrenamiento y posterior clasificación del sistema. Esto se logra dividiendo la imagen en celdas verticales y horizontales, específicamente se emplearon 8 celdas verticales y 8 horizontales, cada una con un ancho y alto de 12 pixeles. Luego por cada celda se hacía un barrido y se obtenían los valores correspondientes al color promedio (RGB) de dicha celda y a su campo de orientación (partiendo de los gradientes en X y Y) para finalmente generar 8x8 = 64 valores por cada característica en estudio. Los valores obtenidos para el campo de orientación variaron dentro del rango [0,180] y los valores obtenidos para cada uno de los planos del color variaron dentro del rango [0,255]. Como los valores se encuentran en rangos diferentes, con el propósito de compararlos para estudiar su correlación lineal se empleó la normalización de máximos y mínimos recomendada por Jain y otros (2005), que se calcula utilizando el mayor y menor valor para cada característica. El resultado de esta operación ubica todos los puntajes para cada característica en el rango [0,1] de donde se puede estudiar la dependencia lineal. Los valores normalizados se obtienen a partir de la fórmula: Vélez y otros (2003) indican que en general se busca el menor conjunto posible de características que permitan determinar la clasificación de los objetos del universo de trabajo. Para la elección de dicho conjunto se evaluaron los criterios mencionados anteriormente: rapidez de cálculo, independencia, fiabilidad y capacidad discriminante. La primera condición se cumplió satisfactoriamente para todas las características, pues los resultados se obtuvieron casi en tiempo real. Como se explicó en el capítulo II, la matriz de covarianzas de las características permite medir la independencia lineal de cada par de ellas dentro de una clase. Utilizando las ecuaciones mostradas en dicha sección, se obtuvo una matriz de covarianza por cada clase: 69 Tabla Nº4. Matriz de Covarianza Señal de Aeropuerto Normalizada MATRIZ COVARIANZA-DATOS NORMALIZADOS-CLASE: AEROPUERTO Orientación Rojo Verde Azul Orientación 0,02558123 0,00542598 0,00614002 Rojo 0,00542598 0,11330339 0,02758606 Verde 0,00614002 0,02758606 0,02703562 Azul 0,00523495 -0,00625297 0,01267516 0,00523495 -0,00625297 Fuente: El autor. 0,01267516 0,01982022 Tabla Nº5. Matriz de Covarianza Señal de Autobús Normalizada MATRIZ COVARIANZA-DATOS NORMALIZADOS-CLASE: AUTOBUS Orientación Rojo Verde Azul Orientación 0,02211334 -0,00275564 0,00178025 Rojo -0,00275564 0,10290844 0,02711562 Verde 0,00178025 0,02711562 0,02308343 Azul 0,00300482 -0,00215014 0,01463259 0,00300482 -0,00215014 Fuente: El autor. 0,01463259 0,02035872 Tabla Nº6. Matriz de Covarianza Señal de No Estacione Normalizada MATRIZ COVARIANZA-DATOS NORMALIZADOS-CLASE: NO ESTACIONE Orientación Rojo Verde Azul Orientación 0,03414065 0,00171589 0,00208494 Rojo 0,00171589 0,04117242 0,03280021 Verde 0,00208494 0,03280021 0,04251521 Azul 0,00241182 0,03005217 0,04437883 0,00241182 0,03005217 Fuente: El autor. 0,04437883 0,0500737 70 Tabla Nº7. Matriz de Covarianza Señal de Prohibido Cruce en U Normalizada MATRIZ COVARIANZA-DATOS NORMALIZADOS-CLASE: PROHIBIDO CRUCE EN U Orientación Rojo Verde Azul Orientación 0,04216704 0,0077659 0,00813097 Rojo 0,0077659 0,05283352 0,04373236 Verde 0,00813097 0,04373236 0,05356535 Azul 0,00788802 0,03769415 0,04828764 0,00788802 0,03769415 Fuente: El autor. 0,04828764 0,04720878 Tabla Nº8. Matriz de Covarianza Señal de Paso Escolar Normalizada MATRIZ COVARIANZA-DATOS NORMALIZADOS-CLASE: PASO ESCOLAR Orientación Rojo Verde Azul Orientación 0,04260485 0,00406239 0,0042949 Rojo 0,00406239 0,04445106 0,03496612 Verde 0,0042949 0,03496612 0,03713732 Azul 0,00665949 0,00290973 0,02484391 0,00665949 0,00290973 Fuente: El autor. 0,02484391 0,12641732 Tabla Nº9. Matriz de Covarianza Señal de Semáforo Normalizada MATRIZ COVARIANZA-DATOS NORMALIZADOS-CLASE: SEMÁFORO Orientación Rojo Verde Azul Orientación 0,04854906 0,00197112 0,00107852 Rojo 0,00197112 0,0357593 0,02865507 Verde 0,00107852 0,02865507 0,03922182 Azul 0,00022515 0,0214772 0,05166996 0,0214772 Fuente: El autor. 0,05166996 0,14365294 0,00022515 Usando los datos proporcionados por las matrices de covarianza, se calcularon los coeficientes de correlación por cada clase: 71 Tabla Nº10. Matriz de Correlación Señal de Aeropuerto Normalizada MATRIZ CORRELACIÓN-DATOS NORMALIZADOS-CLASE: AEROPUERTO Orientación Orientación Rojo Verde 1 0,10078496 0,23347538 Azul 0,23248628 Rojo 0,10078496 1 0,49842522 Verde 0,23347538 0,49842522 1 Azul 0,23248628 -0,13195049 0,54755903 -0,13195049 Fuente: El autor. 0,54755903 1 Tabla Nº11. Matriz de Correlación Señal de Autobús Normalizada MATRIZ CORRELACIÓN-DATOS NORMALIZADOS-CLASE: AUTOBÚS Orientación Orientación Rojo Verde 1 -0,05776565 0,07879573 Azul 0,14161709 Rojo -0,05776565 1 0,55634463 -0,04697493 Fuente: El autor. Verde Azul 0,07879573 0,14161709 0,55634463 -0,04697493 1 0,67498783 0,67498783 1 Tabla Nº12. Matriz de Correlación Señal No Estacione Normalizada MATRIZ CORRELACIÓN-DATOS NORMALIZADOS-CLASE: NO ESTACIONE Orientación Orientación Rojo Verde 1 0,0457669 0,05472497 Azul 0,05833155 Rojo 0,0457669 1 0,78397326 Verde 0,05472497 0,78397326 1 Azul 0,05833155 0,6618625 0,96183109 0,6618625 Fuente: El autor. 0,96183109 1 72 Tabla Nº13. Matriz de Correlación Señal Prohibido Cruce en U Normalizada MATRIZ CORRELACIÓN-DATOS NORMALIZADOS-CLASE: PROHIBIDO CRUCE EN U Orientación Orientación Rojo Verde 1 0,16453202 0,17108567 Azul 0,17679514 Rojo 0,16453202 1 0,82206508 Verde 0,17108567 0,82206508 1 Azul 0,17679514 0,75475805 0,9602462 0,75475805 Fuente: El autor. 0,9602462 1 Tabla Nº14. Matriz de Correlación Señal Paso Escolar Normalizada MATRIZ CORRELACIÓN-DATOS NORMALIZADOS-CLASE: PASE ESCOLAR Orientación Orientación Rojo Verde 1 0,09334938 0,10797365 Azul 0,0907419 Rojo 0,09334938 1 0,86059945 Verde 0,10797365 0,86059945 1 Azul 0,0907419 0,03881572 0,36258625 0,03881572 Fuente: El autor. 0,36258625 1 Tabla Nº15. Matriz de Correlación Señal de Semáforo Normalizada MATRIZ CORRELACIÓN-DATOS NORMALIZADOS-CLASE: SEMÁFORO Orientación Orientación Rojo Verde 1 0,04730732 0,02471564 Azul 0,00269602 Rojo 0,04730732 1 0,7651437 Verde 0,02471564 0,7651437 1 Azul 0,00269602 0,29965803 0,6883621 0,29965803 Fuente: El autor. 0,6883621 1 Como se puede observar la mayoría de estos valores no están cercanos a 1 o -1 lo que indica poca dependencia lineal entre las características, en este caso la característica que más repetitivamente mostraba un factor de correlación cercano a estos valores 73 era el nivel de color en el plano G (Verde) de la señal que se vio correlacionado con características como el valor en el plano R (Rojo), el valor en el plano B (Azul) o ambos. Sin embargo vemos que dependiendo de la clase en estudio esta característica se veía correlacionada o no con alguna de las demás características pero no con todas y no en todos los modelos. Como se pudo verificar en pruebas posteriores la posible correlación que se puede considerar de acá, no contribuyó de manera excesiva a la lentitud del sistema, puesto que la respuesta de este fue en casi tiempo real. Para evaluar la propiedad de capacidad discriminante del sistema se consideró el cómputo de los coeficientes de Fisher entre pares de modelos. Para propósitos ilustrativos y con ánimos de poseer la mayor cantidad de ensayos posibles para comparar; estos coeficientes fueron obtenidos a partir de las características en crudo de las imágenes y a partir de las características normalizadas. La ventaja de esto es que las características no normalizadas arrojan información sobre la superposición de la distribución de la data de cada característica para diferentes modelos, es decir, para cada señal de transito se genera una distribución de las características y es importante saber si estas se encuentran cercanas o no a la distribución de otra señal. De acá los valores obtenidos pueden ser analizados de forma intuitiva a partir de las características observables entre las señales de tránsito (como por ejemplo, observar si un color diferencia bien dos señales o no). Adicionalmente el propósito de estudiar la capacidad discriminante de la data normalizada permite verificar que tan cercana quedan las distribuciones luego de ser aplicada la transformación que representa la normalización. Los resultados en esta etapa no son tan intuitivos y dependerán de la normalización empleada. Tabla Nº16. Índice de Fisher para las Señales Sin Normalizar Orientación AeropuertoNoEstacionePaso EscolarAutobus ProhibidoCruce Semáforo 0.003788402863389 0.013928761524381 0.001802781638935 Rojo 0.007132532181990 0.188471175088248 0.022736438625906 Verde 0.006269622995985 0.052995853602984 0.032385448589609 Azul 0.002221558620625 0.032838700976768 0.040267199085326 Fuente: El autor. Característica 74 Tabla Nº17. Índice de Fisher para las Señales Normalizado Orientación AeropuertoNoEstacionePaso EscolarAutobús ProhibidoCruce Semáforo 0.011879566748483 0.005466688560252 0.006424100696516 Rojo 0,000532161699754 0.185496860307200 0.022069459091298 Verde 0.029071691717816 0.119516719657529 0.001430753786034 Azul 0.002785953116348 0.064723841261479 0.009832781555769 Fuente: El autor. Característica De acá se observan, como se mencionó anteriormente, que los valores dependen del modelo y la característica; y se presentan muy variados. Como se mencionará posteriormente los resultados finales sobre las tasas de error y el desempeño del sistema serán fijados bajo una sola señal (señal de Aeropuerto) que permita obtener el valor de FIR correspondiente. Es por ello que consideramos los coeficientes de Fisher entre la señal de Aeropuerto y de Autobús, lo que permite inferir cuáles de las características discriminan o no cada individuo. De acá se observa que para la data sin normalización alguna, el nivel de color azul de ambas imágenes presenta un coeficiente de Fisher bajo, algo que intuitivamente podemos verificar ya que se tratan de señales del tipo informativa y todas tienen un fondo azul. Para los datos normalizados el coeficiente de Fisher menor lo genera el nivel de color de Rojo. De acá que, a partir de ello se generaron diferentes escenarios para pruebas y resultados como se indica: Datos Sin Normalizar: Ensayo 1 Características: Orientación- Rojo-Verde-Azul Ensayo 2 Características: Orientación- Rojo-Verde Datos Normalizados: Ensayo 1 Características: Orientación- Rojo-Verde-Azul 75 Ensayo 2 Características: Orientación-Verde-Azul La imagen Nº15 muestra parte del código implementado en MatLab: Figura Nº15. Algoritmo para Extracción de Características Fuente: El autor 4.2. Módulo de Entrenamiento Para el entrenamiento de cada sistema dentro del clasificador se utilizaron 8 y 20 imágenes por señal, de manera que pudieran compararse los resultados de ambos considerando los ensayos descritos en el apartado anterior. El modelo elegido para el entrenamiento fue de izquierda a derecha, de la misma forma como se hizo el barrido de la imagen por celdas, además de ser un modelo de cuatro estados, la razón de ello proviene del hecho de hacer coincidir un estado con un número entero de celdas (En este caso 8x2 celdas cada estado para generar un total de cuatro estados en 8x8 celdas), y de que partiendo de resultados en investigaciones previas sobre procesamiento de imágenes (Alejo, 2012) se puede presumir que un sistema con esta 76 cantidad de estados aportará mejor rendimiento a la salida. El recorrido sobre la imagen se realizó de izquierda a derecha y concatenando las filas entre sí, obteniendo un vector lineal de 64 celdas. Cada una de estas celdas generó un valor correspondiente a cada característica de estudio, creando vectores de observación de cuatro valores, esto es, un valor por característica. Para cada sistema se utilizó el prototipo de izquierda a derecha de los HMM, con una sola gaussiana por cada estado, pues éste resulta el modelo más sencillo. Para ello, se utilizó la función mixgauss_init, la cual estima los parámetros iniciales para una mezcla de gaussianas haciendo un estudio de la data que se le proporcione como variable de entrada. Obtenidos el vector de media y la matriz de covarianza diagonal ajustados a la data de entrenamiento, se utiliza la función reshape para poder replicar esta información a cada estado del sistema. Para finalizar la etapa de entrenamiento, se utilizó la función mhmm_em. Esta función recibe como datos de entrada las siguientes variables: data de entrenamiento, vector de probabilidades iniciales (vector π), matriz de probabilidades de transición entre estados –aleatoria- (matriz A), y los valores del vector de medias (vector μ) y la matriz de covarianza (matriz σ) obtenidos con la función reshape. Los datos de salida fueron los valores reajustados de los vectores π y μ y las matrices A y σ; datos que fueron necesarios para poder llevar a cabo el proceso de clasificación. En la figura se puede observar parte del código empleado para el módulo de entrenamiento: 77 Figura Nº16. Algoritmo para Entrenamiento del Modelo Fuente: El autor. 4.3. Módulo de Evaluación Para la clasificación de las imágenes con sus respectivas señales de tránsito se tomó como prioridad la búsqueda de la solución al problema de evaluación de la probabilidad de un conjunto de emisiones dado un conjunto de estados, sin necesidad de descubrir la ruta correcta; estudiando así sólo el problema uno de los tres citados en el capítulo II. Se realizaron ensayos sobre la data existente de imágenes sin incluir las 8 y 20 imágenes destinadas al entrenamiento. Para llevar a cabo la clasificación de cada imagen según la señal correspondiente se usó la herramienta mhmm_logprob, utilizando como datos de entrada los valores reajustados de los vectores π y μ, las matrices de transición de estados y σ, al igual que el vector de características correspondiente a la imagen a clasificar. El dato de salida para cada sistema, corresponde al logaritmo base 10 de la probabilidad de pertenencia al modelo de en cuestión. De esta forma para cada imagen de entrada se obtuvieron seis diferentes puntajes correspondientes a la probabilidad de que dicha imagen perteneciera a cada uno de los modelos de las señales en estudio. Como se puede distinguir las probabilidades logarítmicas son en este caso negativas, y no útiles para los estándares de representación de gráficas. 78 Es por ello que es necesario establecer algún tipo de normalización de los datos para que puedan ser debidamente presentados. Teniendo en cuenta el conocimiento previo de los puntajes mayor y menor para cada modelo se empleó nuevamente la normalización de máximos y mínimos propuesta por Jain y otros (2005) que permite ubicar los valores en un rango de [0,1]. Esta normalización resultó beneficiosa puesto que para el sistema en cuestión se conocían a priori todas las probabilidades de emisión de cada una de las imágenes dentro de la base de datos para clasificación, y de este modo era mucho más factible hacer coincidir los puntajes dentro del rango previsto en la ecuación mostrada a continuación: Es importante considerar que para poder comparar los puntajes emitidos por los diferentes modelos a los que es sometida cada imagen de entrada, la normalización debe hacerse por cada modelo en particular, esto es, para cada una de las señales de tránsito se tendrán un valor de puntaje máximo y uno mínimo, y cada uno de los valores resultantes en el resto de las evaluaciones (Sk) deberá ser normalizado con cada uno de ellos dependiendo del modelo en cuestión. Esto garantiza que todos los rangos de emisión para cada señal estarán contenidos entre [0,1]. Una explicación más gráfica de esto lo describe la figura Nº17. 79 Figura Nº17. Estructura de la Normalización para la Evaluación Fuente: El autor Luego que las probabilidades han sido normalizadas es posible compararlos y tomar decisiones con respecto a sus valores. El sistema implementado compara cada uno de los scores (puntajes) obtenidos con cada modelo con un umbral de decisión (threeshold γ) específico. Si la señal resulta ser el genuino de alguno de estos modelos su probabilidad deberá superar el umbral de decisión establecido. Para obtener estos umbrales se hicieron repetitivas pruebas de modo que fue posible obtener el valor de probabilidad promedio alrededor del cual la mayoría de los valores de los individuos genuinos de cada modelo se ubicaban. Este valor de probabilidad promedio fue electo como umbral de decisión, de modo que con una alta confiabilidad se pudo distinguir entre las señales representadas. Adicionalmente si alguna imagen superaba más de un umbral, el modelo que haya otorgado la mayor probabilidad era el escogido como genuino. En caso de que la imagen no superara ninguno de los umbrales se decidía que la imagen no habría podido ser identificada. Para el caso en que una señal es falsamente identificada o se le asigna una identidad equivocada (se hace pasar por otra señal), se estudió la tasa de falsa identificación 80 que se describirá mejor más adelante. Posterior a la toma de decisión, el programa retorna gráficamente un aviso que indica cuál es la señal de transito en cuestión. La figura Nº18 explica en diagrama de bloques todo el proceso. Figura Nº18. Modulo de evaluación y clasificación del sistema. Fuente: El autor. La figura Nº19 presenta parte del código empleado para la evaluación: 81 Figura Nº19. Algoritmo para el Módulo de Evaluación del Sistema Fuente: El autor. Para obtener una mejor presentación de los resultados obtenidos con el software, se empleo la herramienta Guide de Matlab la cual permite generar un entorno de trabajo donde se puedan observar los pasos y procedimientos del sistema así como hacerlo accesible y llamativo visualmente. A partir de la interfaz inicial el usuario puede escoger varias imágenes para evaluar, puede reentrenar el modelo, así como también modificar ciertos parámetros del sistema como los son las cantidad de imágenes para entrenar (los valores posibles son: 8, 10, 15 o 20), o reiniciar el sistema de modo que todos los parámetros de los modelos regresen a sus valores establecidos por defecto. La figura Nº20 muestra una captura de pantalla de la interfaz diseñada para el software, con diferentes mensajes y opciones. 82 Figura Nº20. Interfaz de Usuario Software de Reconocimiento Fuente: El autor FiguraNº21. Señales de tránsito reconocidas por el sistema. Fuente: El autor 83 Figura Nº22. Menú para reentrenar el modelo. Fuente: El autor Figura Nº 23. Reentrenamiento de los parámetros Fuente: El autor 84 Figura Nº24. Parámetros reentrenados para 15 imágenes. Fuente: El autor 4.4. Medidas de Desempeño del Sistema Para medir el desempeño del sistema se calculó el indicador de la Tasa de Falsa Identificación (FIR), partiendo de la Tasa de Falsa Aceptación (FAR) y la Tasa de Falso Rechazo (FRR) como se describió en el capítulo II. La variable independiente es el umbral de decisión γ, que toma valores dentro del rango de probabilidades obtenidas, y que se manipula para lograr el mayor desempeño en la exactitud del sistema (mínimo EER) (Abreu, 2008). Para calcular y graficar las tasas de FAR y FRR en todas las pruebas realizadas, se eligió como se mencionó previamente, la señal de Aeropuerto siguiendo los criterios especificados en el capítulo II. De este modo a partir de pruebas en 300 imágenes de genuinos y 300 imágenes de impostores se pudo trazar las gráficas correspondientes. Las figuras Nº 25-32 muestran la FAR y FRR obtenidas para 8 y 20 imágenes de entrenamiento. 85 Figura Nº25. Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Sin Normalizar 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Sin Normalizar FRR Sin Normalizar 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor Figura Nº26. Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Sin Normalizar y Suprimiendo el Nivel de Color Azul 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR sin Normalizar sin Azul FRR sin Normalizar sin Azul 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor 86 Figura Nº27. Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Normalizado 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Normalizada FRR Normalizada 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor Figura Nº28. Tasas de FAR y FRR con 8 Imágenes de Entrenamiento Normalizado Suprimiendo el Nivel de Color Rojo 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Normalizada sin Rojo FRR Normalizada sin Rojo 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 Fuente: El autor 1 87 Figura Nº29. Tasas de FAR y FRR con 20 Imágenes de Entrenamiento Sin Normalizar 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Sin Normalizar FRR Sin Normalizar 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor Figura Nº30. Tasas de FAR y FRR con 20 Imágenes de Entrenamiento Sin Normalizar y Suprimiendo el Nivel de Color Azul 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Sin Normalizar Sin Azul FRR Sin Normalizar Sin Azul 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor 88 Figura Nº31. Tasas de FAR y FRR con 20 Imágenes de Entrenamiento Normalizado 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Normalizada FRR Normalizada 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor Figura Nº32. Tasas de FAR y FRR con 20 Imágenes de Entrenamiento Normalizado Suprimiendo el Nivel de Color Rojo 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR Normalizada sin Rojo FRR Normalizada sin Rojo 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor De acá se puede observar que frente a todos los ensayos y pruebas realizadas el valor más bajo de EER se obtuvo con el modelo entrenado con 20 imágenes tomando data 89 normalizada y considerando todas las características del sistema. Este valor fue del 10.5% de error, lo que genera una tasa de falsa identificación de 3.5%, que aunque no resulta óptimo, se considera aceptable para la aplicación que se está generando y además teniendo en cuenta que es la primera vez según la literatura citada que se implementa este tipo de modelos en un reconocedor de señales de tránsito. Adicionalmente al observar el comportamiento de los sistemas descritos en las figuras se puede notar que al aumentar la cantidad de imágenes en la data de entrenamiento se reduce el porcentaje de error de forma considerable, esto da partida para inferir que con una base de datos más grande sería posible obtener mejores resultados para el desempeño del sistema. La figura Nº33 muestra la curva ROC para los todos sistemas mencionados. Figura Nº33. Gráfica ROC para comparación de los sistemas 1,2 EER 1 Sin Normalizar- 8 Imágenes Genuinos aceptados 0,8 Sin Normalizar-Sin Azul 8 Imagenes Normalizado - 8 Imagenes 0,6 Normalizado-Sin Rojo-8 Imagenes 0,4 0,2 Sin Normalizar-20 Imagenes Sin Normalizar-Sin Azul-20 Imagenes Normalizado 20 Imágenes 0 0 0,2 0,4 0,6 0,8 Impostores aceptados Fuente: El autor 1 Normalizado- Sin Rojo-20 Imagenes 90 Adicionalmente, se realizaron pruebas de desempeño para un sistema preclasificador que pudiera distinguir qué tipo de señal (preventiva, reglamentaria, informativa) se ingresó al sistema y así poder reducir la cantidad de posibles señales genuinas vinculadas con ese tipo de señal y con la señal en estudio en sí. Para este caso se tomaron como data de entrenamiento 20 imágenes únicamente, y los vectores de características estuvieron formados con información normalizada proveniente del campo de orientación, nivel de color de rojo, verde y azul de la imagen. En este caso las pruebas se hicieron siguiendo los mismos pasos y procedimientos anteriores, tomando las imágenes de cada tipo en la base de datos como clases en lugar de cada señal en particular y tomando en cuenta los mismos parámetros de evaluación. Para la realización de las pruebas de desempeño de este sistema se emplearon las señales correspondientes al tipo de señal informativa. Las tasas de falso rechazo y falsa aceptación se muestran en la figura Nº 34. Figura Nº34. Tasas de FAR y FRR del pre-clasificador con 20 Imágenes de Entrenamiento. 1 0,95 0,9 0,85 0,8 0,75 0,7 0,65 0,6 0,55 0,5 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 FAR FRR 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0,9 0,95 1 Fuente: El autor De las imágenes previas se observó que la tasa de igual error más baja (EER) obtenida por el pre clasificador fue aproximadamente de un 5%, y si se considera una FAR y una FRR de 5% el error obtenido para la tasa de falsa identificación (ver sección) de este modelo fue de: 91 FIR = 0.475% Lo que indica una disminución en la tasa de falsa identificación. Cabe destacar que este pre clasificador no fue empleado en el software desarrollado previamente, esto debido a que la limitada variedad de señales disponibles en la base de datos no requería un pre clasificador para disminuir el tiempo de búsqueda entre tipos de señales. Sin embargo con propósitos de implementación futura, al tener una mayor base de datos con gran variedad de tipos de señal, es posible agregar esta nueva fase al sistema y así reducir el tiempo en la evaluación, ya que el software sólo identificará aquellas imágenes que caigan dentro de cada tipo específico de señal (preventiva, informativa, reglamentaria). CAPITULO V CONCLUSIONES Y RECOMENDACIONES A partir de los resultados obtenidos con base en la metodología mencionada es posible llegar a precisar los factores determinantes de la investigación y sacar conclusiones de los mismos, así como establecer recomendaciones que sirvan para fundamentar futuras investigaciones, puesto que el campo de estudio descrito apuesta por el desarrollo de mejoras que permitan maximizar la aplicabilidad del sistema dentro de la sociedad actual. CONCLUSIONES Los sistemas basados en visión artificial constituyen una tecnología aún en desarrollo y presentan todavía, desafíos en cuanto a aplicaciones en la vida real se refiere. Las tasas de error demuestran que estos sistemas no son infalibles y precisan de la búsqueda de nuevos algoritmos y formas de procesamiento de la información para obtener mejores desempeños en cuanto a factibilidad y exactitud se refiere. Los Modelos Ocultos de Markov representan una nueva herramienta que puede ser empleada para reconocer señales de tránsito a partir de imágenes segmentadas provenientes de una base de datos. La señalización en la ciudad de Barquisimeto y sus cercanías es bastante deficiente y limita la posibilidad de crear una amplia base de datos para el desarrollo del sistema planteado por esta investigación. El nivel de color en el plano RGB así como el campo de orientación de las imágenes provenientes de una base de datos segmentadas de señales de 93 tránsito constituyen características bastante determinantes y robustas a la hora de implementar un algoritmo clasificador que reconozca e identifique cada individuo presente en la base de datos mencionada. Gracias al análisis de Fisher realizado, se pudo observar cómo el desempeño de los sistemas se veían afectados al eliminar ciertas características en el entrenamiento, de acá que para algunos casos el sistema mantuvo cierto margen de error mientras que para otros se deterioró. Con la investigación realizada se puede evidenciar que estas características no sólo se pueden emplear como parte de un módulo de detección sino como parte de un módulo de clasificación. La determinación de las características y del procesamiento digital de las imágenes más adecuado para encontrar mejores aproximaciones probabilísticas a cada modelo resultante dentro de la investigación es una labor que requiere de mucho esfuerzo y paciencia, así mismo la tarea de evaluar el desempeño del sistema resulta larga y tediosa puesto que la confiabilidad de las mediciones depende directamente del número de ensayos empleados para estos propósitos, lo que consume mucho tiempo y dedicación. El algoritmo implementado en esta investigación para la evaluación de la probabilidad de un modelo oculto de Markov, se basa en el algoritmo de avance a diferencia que emplea probabilidades logarítmicas para aprovechar las propiedades de suma de la función logaritmo en lugar de multiplicaciones sucesivas. El beneficio de ello es una mayor precisión y exactitud en los cálculos ya que no se manejan cantidades tan pequeñas que puedan resultar en errores de medición. La implementación de un módulo pre-clasificador al sistema desarrollado por esta investigación es factible y recomendada para un software con una base de datos grande, de modo que se pueda reducir el tiempo de búsqueda y generar una respuesta aún más rápida. Para los efectos de esta investigación se estudió un módulo pre-clasificador pero no se implementó dentro del software de clasificación e interfaz de usuario, puesto que no generaría 94 mayores beneficios considerando la limitada cantidad de señales presentes en la base de datos. RECOMENDACIONES Los sistemas de reconocimientos de señales de tránsito constituyen un paso más en el desarrollo de lo que serán los automóviles inteligentes del futuro, donde el reconocimiento de estas señales no será más que una fuente adicional de información proveniente del entorno del vehículo. Esta investigación establece un precedente en el campo y seguramente las recomendaciones citadas darán cabida a futuros trabajos: Una de las limitaciones más grandes de la investigación fue la obtención de las imágenes de la base de datos. Se recomienda construir una base de datos más grande en un periodo de tiempo más prolongado, a partir de señales en diferentes localidades del país para ampliar la cantidad de individuos a reconocer y darle más aplicabilidad al sistema. Un escenario ideal sería encontrar imágenes de todas las señales presentes en la ley de tránsito terrestre de Venezuela. A partir de una base de datos mucho más grande para entrenamiento y clasificación, se puede implementar el software pre-clasificador de modo que el tiempo de búsqueda para la identificación quede disminuido por la cantidad de individuos presentes en cada tipo de señal (preventiva, reglamentaria, información). Con una mayor base de datos se puede generalizar el análisis de Fisher que se empleó, para así determinar la capacidad discriminante entre las características citadas para más de dos individuos pertenecientes a un mismo tipo de señal de tránsito (ver ecuación correspondiente en capítulo II). Como se mencionó en el planteamiento del problema y reiteradas veces en la investigación, este trabajo sólo desarrolló el bloque de reconocimiento dentro 95 del sistema de reconocimiento de las señales de tránsito. En investigaciones futuras se puede desarrollar los bloques de adquisición, detección, segmentación de la imagen y el bloque de acción de control a la salida del sistema. Se recomienda de igual forma la implementación de modelos de Markov más complejos para la representación de las características de las señales de tránsito, esto debido a que el modelo HMM empleado en la investigación fue relativamente sencillo (una gaussiana por estado, cuatro estados por modelo, y topología de izquierda a derecha). Posiblemente con la implementación de estos modelos más complejos se mejore el desempeño de todo el sistema y se logren mayores valores de exactitud. Así mismo, como todo el software fue desarrollado con base en un entorno de desarrollo integrado como lo es Matlbab, es recomendable también hacer uso de módulos en un lenguaje de programación intermedio como lenguaje C, orientados a procesamiento de imágenes y a evaluación y entrenamiento de modelos de Markov por los métodos descritos en la investigación, y de esta manera poder trasladar el sistema a una tarjeta embebida con recursos más limitados. 96 BIBLIOGRAFÍA Abreu, (2008). Abreu, R.; (2008). Sistema biométrico multimodal autónomo para aplicaciones de seguridad. [Documento en línea]. Disponible en: http://www.el.bqto.unexpo.edu.ve/rabreu/Investigacion/Trabajo_de_grado.pdf [Consulta: 05 de Marzo de 2012]. Alejo, (2012). Alejo, L.; (2012). Software para la Clasificación de Huevos Mediante Modelos Ocultos de Markov, para la Organización el Tunal CA., Quibor, Estado Lara. UNEXPO-VRB, Barquisimeto, Venezuela Arias (2003). Arias G.; (2003) “El proyecto de investigación. Guía para su eleboración”. Editorial Episteme. Orial Ediciones. Tercera Edición. Caracas. Arias (2006). Arias G.; (2006) “El proyecto de investigación. Introducción a la metodología científica”. Editorial Episteme. Orial Ediciones. Quinta Edición. Caracas. Arriagada y Aracena (2006). Arriagada C., Aracena D.; (2006). Detección y Reconocimiento de Señales de Tránsito Utilizando Matching de Chamfer. Ingeniare. Revista chilena de ingeniería, vol. 15 Nº 2, Chile. Bazen y Gerez (2002). Bazen AM, Gerez SH (2002). Systematic Methods for the Computation of the Directional Fields and Singular Points of Fingerprints, IEEE Transactions on Pattern Analysis and Machine Intelligence. p. 905-919. Becerra y otros (sf). Becerra A., Gómez M., Macas B., Ordóñez F.; (sf). Modelos Ocultos de Markov. [Documento en línea]. Disponible en: http://www.slideshare.net/slidemarcela/modelos-ocultos-de-markov-1395263 [Consulta: 05 de Marzo de 2012]. 97 Bijarro, (2007). Bijarro, F., (2007). Desarrollo estratégico para la investigación científica. [Documento en línea]. Disponible en: http://www.eumed.net/libros/2007c/306/306.zip [Consulta: 20 de Mayo de 2012] Bromba Biometrics (sf). [Sitio web]. Disponible: http://www.bromba.com/faq/biofaqe.htm [Consulta: 20 de Mayo de 2012] Cuevas y Navarro (sf.) Cuevas E., Navarro D.; (sf). Visión por Computador utilizando MatLabY el Toolbox de Procesamiento Digital de Imágenes. [Documento en linea]: http://proton.ucting.udg.mx/tutorial/vision/cursovision.pdf Diariomotor. Volkswagen Phaeton 2011. Artículo publicado: Abril 2010. Consultado: [20/11/2011] Disponible en: http://www.diariomotor.com/2010/04/22/volkswagen-phaeton-2011/ Escalera y otros (2011). Escalera, S. Baró X., Oriol P., Jordi V., Petia R; (2011) “Traffic-Sign Recognition Systems”. Grupo Springer. Primera Edición. Gran Bretaña. Esteve E., (2007). Reconocimiento de locutor dependiente de textos mediante adaptación de modelos ocultos de Markov fonéticos. [Documento en linea]. http://arantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20070720CristinaEsteve.pdf Farci y Ruiz, (2007). Farci, G. y Ruiz, C.; (2007). Proyecto de investigación en ciencias. Editorial Panapo, Caracas, Venezuela. González, (2010). González, J.; (2010). Comparación del desempeño de cuatro topologías de Modelos Ocultos de Markov en un sistema de verificación de locutor. UNEXPO-VRB, Barquisimeto, Venezuela 98 González y Woods, (1996). González, R., Woods, R.; (1996). Tratamiento Digital de Imágenes. Addison- Wesley Iberoamericana, S.A. Wilmington, Delaware, E.U.A. GUM, (2009). Guía de usuario de MatLab™, (2009). [Documento en línea]. Disponible en: http://www.mathworks.com/help/. [Consulta: 8 de octubre de 2011] Hatzidimos, (2004). Hatzidimos J.; (2004). Automatic Traffic Sign Recognition in Digital Images. . [Documento en línea]. Disponible en: http://www.uab.ro/auajournal/acta8/Hatzidimos.pdf [Consulta: 05 de Marzo de 2012]. Impedovo y Pirlo, (2008). Impedovo, D., Pirlo, G.; (2008). Automatic Signature Verification: The State of the Art. IEEE, Vol. 38, Nº 5. Instituto Nacional de Transporte Terrestre (2011). Manual Venezolano de Dispositivos Uniformes para el Control de Tránsito. Caracas. 2011. Janin y otros, (2005). Janin, A., Ross, A. y Prabhakar, S.; (2005). Score normalization in multimodal biometric system. Publicado por Elsevier Ltd. Kaas y Witkin (1987). Kaas M, Witkin A (1987). Analyzing oriented patterns, in Computer Vision Graphics Image Processing. p. 362-385. Khalil y otros (2010). Khalil, Muhammad, Khan y Alghathbar (2010). Singular points detection using fingerprint orientation field reliability. . [Documento en línea]. Disponible en: http://academicjournals.org/ijps/PDF/pdf2010/Apr/Khalil%20et%20al.pdf [Consulta: 20 de Mayo de 2012] Espinosa (1998). Espinosa, M (1998) Comparación entre un sistema de reconocimiento de voz con el enfoque de redes neuronales y un sistema basado 99 en modelos ocultos de Markov utilizando el CSLU Toolkit. Tesis de licenciatura. Universidad de las Américas-Puebla. Otoño 1998. Mansfield y Wayman, (2002). Mansfield, A., Wayman, J., (2002). Best Practices in Testing and Reporting Performance of Biometric Devices. [Documento en línea]. Disponible en: http://www.cesg.gov.uk/policy_technologies/biometrics/media/bestpractice.pdf [Consulta: 25 de Mayo de 2012] Ministerio del Poder Popular para la Salud (2010). Anuario de Mortalidad 2008. Caracas. Mayo 2010. Molina (1998). Molina, R (2008). Introducción al Procesamiento y Análisis de Imágenes Digitales. Departamento de Ciencias de la Computación e I.A. Universidad de Granada. Granada España. Rabiner, (1989). Rabiner, L.; (1989). A tutorial on Hidden Markov Models and Selected Applications in Speech Recognition. IEEE, vol. 77, Nº2. Rocha y Gutiérrez (2010). Rocha, C., Gutiérrez J. (2010). Sistema de Visión Artificial para la Detección y Reconocimiento de Señales de Tráfico Basado en Redes Neuronales. Eighth LACCEI Latin American and Caribbean Conference for Engineering and Technology (LACCEI’2010). “Innovation and Development for the Americas”, Perú. Scarel (2010). Scarel G.; (2010). Sistema de Reconocimiento Facial. [Documento en línea]. Disponible en: http://pdi-fich.wdfiles.com/local-files/investigacion/PF_Scarel_SistemaReconocimientoFacial.pdf [Consulta: 10 de Marzo de 2012]. 100 Wainschenker (2011). Wainschenker R. (2011). Procesamiento Digital de Imágenes. [Documento en línea]. Disponible en: http://www.exa.unicen.edu.ar/catedras/pdi/FILES/TE/CP1.pdf [Consulta: 20 de Marzo de 2012] Vélez y otros, (2003). Vélez, J., Moreno, A., Sánchez, A., Sánchez-Marín, J. (2003). Visión por Computador, ISBN:84-9772-069-5, Editorial Dyckinson. Madrid, España Wikipedia, (sf). Wikipedia, La enciclopedia libre. [Sitio web]. Disponible: http://es.wikipedia.org/wiki/ [Consulta: 20 de Marzo de 2012]