Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO
ESCOM
Trabajo Terminal
“Sistema de reconocimiento del alfabeto del Lenguaje de Señas Mexicano usando dispositivos móviles”
2015-A093
Presentan
Luna Buendía Ariadna Yolotzín
Minajas Carbajal Francisco Javier
Directores
______________________ ________________________ Dr. José Félix Serrano Talamantes Dra. Obdulia Pichardo Lagunas
México, D.F., a 30 de mayo de 2016
2
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO
SUBDIRECCIÓN ACADÉMICA
No de TT: 2015-A093 30 de mayo de 2016
Documento Técnico
“Sistema de reconocimiento del alfabeto del Lenguaje de Señas Mexicano usando dispositivos móviles”
Presentan
Luna Buendía Ariadna Yolotzín1
Minajas Carbajal Francisco Javier2
Directores ____________________________ ___________________________ Dr. José Félix Serrano Talamantes Dra. Obdulia Pichardo Lagunas.
RESUMEN
Debido a los problemas de comunicación que sufren las personas con hipoacusia, actualmente son marginadas y por ello se dificulta su desenvolvimiento en las actividades en sociedad. Con la evolución de la tecnología se han desarrollado propuestas y herramientas para propiciar la integración de este grupo social sin haber resuelto el problema completamente; algunos logros son los sistemas de reconocimiento de la lengua de señas. En este proyecto multidisciplinario se desarrolló un prototipo, el cual utiliza la cámara del dispositivo para capturar una imagen del medio, a la cual se le realizara una adecuación, la cual, por medio de técnicas de conversión a escala de grises, y binarización dotaran de los elementos necesarios para reconocer la seña capturada, de acuerdo a un determinado umbral se decidirá por matrices evolutivas si el patrón candidato es o no una seña reconocida y de lo contrario se almacenara en la base de datos, como patrones candidatos, posteriormente en el aprendizaje, por medio de la técnica de máxima similitud se decidirá, si el patrón es válido, esto para ser devuelto al sistema móvil para su almacenamiento como un nuevo patrón y así mejorar de forma constante el reconocimiento. Palabras clave: Aplicaciones móviles, Ingeniería de software, Reconocimiento de imágenes, Reconocimiento de patrones. 1 [email protected] 2 [email protected]
4
Advertencia
“Este documento contiene información desarrollada por la Escuela Superior de Cómputo del Instituto Politécnico Nacional, a partir de datos y documentos con derecho de propiedad y, por lo tanto, su uso quedara restringido a las aplicaciones que explícitamente se convengan”. La aplicación no convenida exime a la escuela su responsabilidad técnica y da lugar a las consecuencias legales que para tal efecto se determinen. Información adicional sobre este reporte técnico podrá obtenerse en: La Subdirección Académica de la Escuela Superior De Cómputo del Instituto Politécnico Nacional, situada en Av. Juan de Dios Batís s/n Teléfono: 57296000, extensión 52023.
5
INDICE
Contenido Temático.
INDICE ................................................................................................................................................................. 5
ÍNDICE DE TABLAS ............................................................................................................................................... 7
ÍNDICE DE FIGURAS ............................................................................................................................................. 9
ÍNDICE DE DIAGRAMAS ..................................................................................................................................... 14
GLOSARIO ......................................................................................................................................................... 15
GLOSARIO DE ACRÓNIMOS ............................................................................................................................... 15
INTRODUCCIÓN ................................................................................................................................................ 16
PLANTEAMIENTO DE PROBLEMA ............................................................................................................................. 16 OBJETIVO ......................................................................................................................................................... 16 OBJETIVOS ESPECÍFICOS ....................................................................................................................................... 16 JUSTIFICACIÓN E IMPORTANCIA .............................................................................................................................. 16 PROPUESTA DE SOLUCIÓN ..................................................................................................................................... 17
1. ESTADO DEL ARTE ..................................................................................................................................... 20
1.1. PROYECTOS RELACIONADOS DENTRO DEL INSTITUTO POLITÉCNICO NACIONAL......................................................... 20 1.2. PROYECTOS RELACIONADOS EN EL RESTO DEL MUNDO ...................................................................................... 23 1.3. PROYECTOS COMERCIALES ......................................................................................................................... 23
2. MARCO DE TEÓRICO.................................................................................................................................. 25
2.1. IMAGEN................................................................................................................................................ 25 2.2. TEORÍA DE LA FOTOGRAFÍA ........................................................................................................................ 25
2.2.1. La luz, partículas y ondas “todo en uno” ...................................................................................... 25 2.2.2. Tipos de luz en la fotografía ........................................................................................................ 25
2.3. CONDICIONES ÓPTIMAS DE OPERACIÓN ......................................................................................................... 31 2.4. PROCESAMIENTO DE IMÁGENES .................................................................................................................. 34
2.4.1. Técnicas de pre-procesamiento de imágenes ............................................................................... 36 2.4.2. Pruebas de las Técnicas de pre procesamiento de imágenes ........................................................ 41 2.4.3. Técnicas de segmentación de imágenes ...................................................................................... 49 2.4.4. Pruebas de las Técnicas segmentación de imágenes .................................................................... 51 2.4.5. Técnicas de extracción de rasgos descriptores ............................................................................. 53 2.4.6. Técnicas de reconocimiento de imágenes .................................................................................... 57 2.4.7. Pruebas de las Técnicas de reconocimiento de imágenes ............................................................. 58 2.4.8. Técnicas de aprendizaje de patrones ........................................................................................... 68 2.4.9. Pruebas de las técnicas de aprendizaje de patrones ..................................................................... 69 2.4.10. Pruebas de las técnicas de aprendizaje de patrones ..................................................................... 70 2.4.11. Justificación del interés por ROI (Regions of interest) ................................................................... 70 2.4.12. Justificación de normalizar las imágenes correspondientes a las regiones de interés. ................... 71
2.5. SÍNTESIS DE VOZ ..................................................................................................................................... 71
2. ANÁLISIS DEL SISTEMA .............................................................................................................................. 73
2.1. ANÁLISIS DE REQUERIMIENTOS ................................................................................................................... 73 2.1.1. Especificación del impacto del proyecto....................................................................................... 73
2.2. ANÁLISIS DE HERRAMIENTAS ...................................................................................................................... 80 2.2.1. Herramientas para el desarrollo de la aplicación en dispositivos móviles...................................... 80 2.2.2. Herramientas para el desarrollo de la aplicación en dispositivos móviles...................................... 83 2.2.3. Herramientas para desarrollar módulos de procesamiento de imagenes...................................... 85 2.2.4. Gestores de bases de datos. ........................................................................................................ 86
6
2.3.4. Sintetizadores de voz .................................................................................................................. 90 2.4. METODOLOGÍA ...................................................................................................................................... 90 2.5. DICCIONARIO DE MENSAJES ....................................................................................................................... 91 2.6. MODELADO DEL SISTEMA .......................................................................................................................... 92
2.6.4. Diagramas de casos de uso ......................................................................................................... 92 2.6.5. Diagramas de clases ................................................................................................................. 100 2.6.6. Diagramas de casos de secuencia.............................................................................................. 102 2.6.7. Diagramas de estados............................................................................................................... 109 2.6.8. Diagramas de actividades ......................................................................................................... 115
2.3. BASE DE DATOS .................................................................................................................................... 122 2.3.1. Modelo Conceptual ................................................................................................................... 122 2.3.2. Modelo Lógico .......................................................................................................................... 122 2.3.3. Modelo Físico............................................................................................................................ 122 2.3.4. Diccionario de Datos ................................................................................................................. 123
2.4. DIAGRAMA DE NIVEL 0 ........................................................................................................................... 123
3. DISEÑO DEL SISTEMA .............................................................................................................................. 124
3.1. VISTA DE LA APLICACIÓN DESDE EL MENÚ PRINCIPAL ...................................................................................... 124 3.1.2. Objetivo .................................................................................................................................... 124 3.1.3. Diseño ...................................................................................................................................... 124 3.1.4. Entradas ................................................................................................................................... 124 3.1.5. Comandos ................................................................................................................................ 124
3.2. PANTALLA SPLASH SCREEN ...................................................................................................................... 125 3.2.1. Objetivo .................................................................................................................................... 125 3.2.2. Diseño ...................................................................................................................................... 125 3.2.3. Entradas ................................................................................................................................... 125 3.2.4. Comandos ................................................................................................................................ 125
3.3. PANTALLA MENÚ PRINCIPAL .................................................................................................................... 126 3.3.1. Objetivo .................................................................................................................................... 126 3.3.2. Diseño ...................................................................................................................................... 126 3.3.3. Entradas ................................................................................................................................... 126 3.3.4. Comandos ................................................................................................................................ 126
3.4. PANTALLA RECONOCER SEÑA ................................................................................................................... 127 3.4.1. Objetivo .................................................................................................................................... 127 3.4.2. Diseño ...................................................................................................................................... 127 3.4.3. Entradas ................................................................................................................................... 127 3.4.4. Comandos ................................................................................................................................ 127
4. DESARROLLO DE LA SOLUCIÓN ................................................................................................................ 129
4.1. IMPLEMENTACIÓN ................................................................................................................................. 129 4.2. TÉCNICAS UTILIZADAS ............................................................................................................................. 129
4.2.1. Etapa de pre procesamiento ..................................................................................................... 129 4.2.2. Etapa de segmentación ............................................................................................................. 130
5. CONCLUSIONES ....................................................................................................................................... 131
6. TRABAJO A FUTURO ................................................................................................................................ 132
REFERENCIAS .................................................................................................................................................. 133
7
Índice de Tablas
TABLA 2-1 IMÁGENES CON MALAS CONDICIONES DE OPERACIÓN DEL SISTEMA PARTE 1 ............................................................ 31 TABLA 2-2 IMÁGENES CON LAS CONDICIONES OPERATIVAS PERTINENTES .............................................................................. 33 TABLA 2-3 CUADRO COMPARATIVO ENTRE LOS DIFERENTES TIEMPOS DE PROCESAMIENTO (MEJOR, PEOR Y EL PROMEDIO) EN LA
CONVERSIÓN DE UNA IMAGEN (RGB) A ESCALA DE GRISES ......................................................................................... 42 TABLA 2-4 TABLA COMPARATIVA DE LAS TÉCNICAS DE CONVERSIÓN DE RGB A ESCALA DE GRISES PARTE 1 .................................... 43 TABLA 2-5 TABLA COMPARATIVA DE LAS TÉCNICAS DE CONVERSIÓN DE RGB A ESCALA DE GRISES PARTE 2 .................................... 44 TABLA 2-6 EVALUACIÓN DE CALIDAD DE LA IMAGEN CONVERSIÓN RGB A ESCALA DE GRISES ..................................................... 45 TABLA 2-7 CUADRO COMPARATIVO ENTRE LOS DIFERENTES TIEMPOS DE PROCESAMIENTO (MEJOR, PEOR Y EL PROMEDIO) EN LA
ADECUACIÓN DE UNA IMAGEN EN ESCALA DE GRISES ................................................................................................ 45 TABLA 2-8 TABLA COMPARATIVA DE LAS TÉCNICAS DE ADECUACIÓN DE LAS IMÁGENES EN ESCALA DE GRISES ................................. 46 TABLA 2-9 EVALUACIÓN DE CALIDAD DE LA IMAGEN ECUALIZADA ....................................................................................... 47 TABLA 2-10 CUADRO COMPARATIVO ENTRE LOS DIFERENTES TIEMPOS DE PROCESAMIENTO (MEJOR, PEOR Y EL PROMEDIO) EN EL
PROCESO DE BINARIZACIÓN DE UNA IMAGEN EN ESCALA DE GRISES .............................................................................. 47 TABLA 2-11 TABLA COMPARATIVA DE LAS TÉCNICAS DE BINARIZACIÓN DE IMÁGENES EN ESCALA DE GRISES ................................... 48 TABLA 2-12 EVALUACIÓN DE CALIDAD DE LA IMAGEN BINARIZADA ...................................................................................... 48 TABLA 2-13 CUADRO COMPARATIVO ENTRE LOS DIFERENTES TIEMPOS DE PROCESAMIENTO (MEJOR, PEOR Y EL PROMEDIO) EN EL
PROCESO DE SEGMENTACIÓN DE UNA IMAGEN BINARIA............................................................................................. 51 TABLA 2-14 TABLA COMPARATIVA DE LAS TÉCNICAS DE SEGMENTACIÓN .............................................................................. 52 TABLA 2-15 TABLA COMPARATIVA DE LAS TÉCNICAS DE SEGMENTACIÓN PARTE 2 ................................................................... 53 TABLA 2-16 EVALUACIÓN DE CALIDAD DE LA IMAGEN SEGMENTADA ................................................................................... 53 TABLA 2-17 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 1......................... 60 TABLA 2-18 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 2......................... 61 TABLA 2-19 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 3......................... 62 TABLA 2-20 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 4......................... 63 TABLA 2-21 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 5......................... 64 TABLA 2-22 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 6......................... 65 TABLA 2-23 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 7......................... 66 TABLA 2-24 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 8......................... 67 TABLA 2-25 IMÁGENES DE DIVERSAS SEÑAS ESTÁTICAS DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA PARTE 9......................... 68 TABLA 2-26 ANALISIS DE LAS TÉCNICAS DE APRENDIZAJE DE PATRONES ................................................................................ 69 TABLA 2-27 ANÁLISIS DE LAS TÉCNICAS DE RECONOCIMIENTO DE IMÁGENES ......................................................................... 70 TABLA 2-1 TABLA DE REQUERIMIENTOS DE INTERFAZ DE USUARIO ...................................................................................... 74 TABLA 2-2 TABLA DE REQUERIMIENTOS CON EL SERVIDOR DE APRENDIZAJE (HARDWARE Y SOFTWARE) ........................................ 74 TABLA 2-3 INTERFACES DE COMUNICACIÓN .................................................................................................................. 75 TABLA 2-4 TABLA DE REQUERIMIENTOS FUNCIONALES ..................................................................................................... 75 TABLA 2-5 REQUERIMIENTOS NO FUNCIONALES ............................................................................................................. 76 TABLA 2-6 CONDICIONES SOCIOECONÓMICAS DE LA ENIGH,2014 .................................................................................... 77 TABLA 2-7 PORCENTAJES DE POBLACIÓN CON DIFICULTAD Y SU DISTRIBUCIÓN POR TIPO DE DISCAPACIDAD REPORTADAS .................. 77 TABLA 2-8 ANÁLISIS FODA ...................................................................................................................................... 78 TABLA 2-9 ANÁLISIS DE RIESGOS ................................................................................................................................ 79 TABLA 2-10 ANÁLISIS DE RIESGOS CONTINUACIÓN.......................................................................................................... 80 TABLA 2-11 DOMINIO DE SISTEMAS OPERATIVOS PARA DISPOSITIVOS MÓVILES A NIVEL MUNDIAL ............................................... 80 TABLA 2-12 IDE'S PARA DESARROLLAR APLICACIONES PARA ANDROID ................................................................................ 82 TABLA 2-13 LENGUAJES DE PROGRAMACIÓN ................................................................................................................ 83 TABLA 2-14 LENGUAJES DE PROGRAMACIÓN PARTE 2 ..................................................................................................... 84 TABLA 2-15 LENGUAJES DE PROGRAMACIÓN PARTE 2 ..................................................................................................... 85 TABLA 2-16 BIBLIOTECAS QUE PERMITEN REALIZAR PROCESAMIENTO DE IMÁGENES ................................................................ 85 TABLA 2-17 BIBLIOTECAS QUE PERMITEN REALIZAR PROCESAMIENTO DE IMÁGENES PARTE 2 ..................................................... 86 TABLA 2-18 TABLA COMPARATIVA ENTRE GESTORES DE BASES DE DATOS ............................................................................. 87 TABLA 2-19 TABLA COMPARATIVA ENTRE GESTORES DE BASES DE DATOS PARTE 2 .................................................................. 88 TABLA 2-20 TABLA COMPARATIVA ENTRE GESTORES DE BASES DE DATOS PARTE 3 .................................................................. 89 TABLA 2-21 COMPARATIVA DE SINTETIZADORES DE VOZ .................................................................................................. 90
8
TABLA 2-22 CASO DE USO R.F. 1.1 “INICIAR APLICACIÓN” .............................................................................................. 92 TABLA 2-23 CASO DE USO R.F. 1.2. "OBTENER IMAGEN" ............................................................................................... 93 TABLA 2-24 CASO DE USO R.F. 1.3. "ADECUAR IMAGEN" ............................................................................................... 94 TABLA 2-25 CASO DE USO R.F. 1.4. "SEGMENTAR"....................................................................................................... 95 TABLA 2-26 CASO DE USO R.F. 1.5."APRENDER PATRONES" ........................................................................................... 96 TABLA 2-27 CASO DE USO R.F. 1.6 "RECONOCER PATRÓN" ............................................................................................ 97 TABLA 2-28 CASO DE USO R.F. 1.7 "PRODUCIR SONIDO" ............................................................................................... 99 TABLA 2-29 MODELO FÍSICO "PATRON" ................................................................................................................... 122 TABLA 2-30 MODELO FÍSICO "USUARIO - PATRON" ..................................................................................................... 122 TABLA 2-31 MODELO FÍSICO "USUARIO" .................................................................................................................. 123 TABLA 2-32 DICCIONARIO DE DATOS "TABLA PATRON" ................................................................................................ 123 TABLA 2-33 DICCIONARIO DE DATOS "TABLA PATRON USUARIO" .................................................................................... 123 TABLA 2-34 DICCIONARIO DE DATOS "TABLA USUARIO" ................................................................................................ 123
9
Índice de Figuras FIGURA 0-1 ESTRUCTURA GENERAL DEL SISTEMA ........................................................................................................... 18 FIGURA 1-1 TABLA COMPARATIVA DE TRABAJOS REALIZADOS EN EL IPN ............................................................................... 21 FIGURA 1-2 TABLA COMPARATIVA DE TRABAJOS REALIZADOS EN EL IPN CONTINUACIÓN .......................................................... 22 FIGURA 1-3 TABLA COMPARATIVA DE TRABAJOS INTERNACIONALES RELACIONADOS AL PRESENTE PROYECTO ................................. 23 FIGURA 1-4 TABLA COMPARATIVA DE SISTEMAS EXISTENTES EN EL MERCADO RELACIONADOS CON ESTE PROYECTO ......................... 24 FIGURA 2-1 ESPECTRO SOLAR Y LONGITUD DE ONDA [28] ................................................................................................ 25 FIGURA 2-2 FOTOGRAFÍA CON LUZ DE DÍA [28] ............................................................................................................. 26 FIGURA 2-3 FOTOGRAFÍA LUZ DE FLASH [29] ................................................................................................................ 26 FIGURA 2-4 LUZ INCIDENTE Y REFLEJADA [28] ............................................................................................................... 27 FIGURA 2-5 FOTOGRAFÍA CON LUZ BLANDA [30] ........................................................................................................... 27 FIGURA 2-6 FOTOGRAFÍA CON LUZ DURA [31] .............................................................................................................. 27 FIGURA 2-7 DIFERENTES POSES DE ILUMINACIÓN [28] .................................................................................................... 28 FIGURA 2-8 FOTOGRAFÍA CON LUZ FRONTAL [28] .......................................................................................................... 28 FIGURA 2-9 FOTOGRAFÍA CON LUZ CENITAL Y SU POSICIÓN EN EL PLANO [28] ........................................................................ 28 FIGURA 2-10 FOTOGRAFÍA CON LUZ NADIR Y SU POSICIÓN EN EL PLANO [28] ........................................................................ 29 FIGURA 2-11 FOTOGRAFÍA CON LUZ LATERAL [28] ......................................................................................................... 29 FIGURA 2-12 FOTOGRAFÍA CON LUZ RAZONANTE O DE CORTE [32] ..................................................................................... 29 FIGURA 2-13 FOTOGRAFÍA CONTRALUZ [28] ................................................................................................................ 30 FIGURA 2-14 FOTOGRAFÍA LUZ SILUETA [28] ................................................................................................................ 30 FIGURA 2-15 FOTOGRAFÍA EN LUZ AMBIENTE Y SALUD [28] .............................................................................................. 30 FIGURA 2-16 FOTOGRAFÍA CON LUZ ARTIFICIAL [33]....................................................................................................... 31 FIGURA 2-17 IMAGEN A CONTRALUZ .......................................................................................................................... 31 FIGURA 2-18 IMAGEN CON FONDO INADECUADO ........................................................................................................... 31 FIGURA 2-19 IMAGEN CON FONDO INADECUADO ........................................................................................................... 31 FIGURA 2-20 IMAGEN CON FONDO INADECUADO ........................................................................................................... 32 FIGURA 2-21 IMAGEN CON FONDO INADECUADO ........................................................................................................... 32 FIGURA 2-22 IMAGEN POTENCIALMENTE PROBLEMÁTICA ................................................................................................. 32 FIGURA 2-23IMAGEN POTENCIALMENTE PROBLEMÁTICA.................................................................................................. 32 FIGURA 2-24 IMAGEN CON AUSENCIA DE GUANTE .......................................................................................................... 32 FIGURA 2-25 BUENA CONDICIÓN DE IMAGEN (LUZ FRONTAL Y FONDO OBSCURO) ................................................................... 33 FIGURA 2-26 BUENA CONDICIÓN DE IMAGEN (LUZ FRONTAL Y FONDO OBSCURO) ................................................................... 33 FIGURA 2-27 BUENA CONDICIÓN DE IMAGEN (LUZ FRONTAL Y FONDO OBSCURO) ................................................................... 33 FIGURA 2-28 LUZ REFLEJADA POR LA MANO CON EL GUANTE [28] ...................................................................................... 34 FIGURA 2-29 IMAGEN DE MANO CON GUANTE CON FONDO OBSCURO ................................................................................. 34 FIGURA 2-30 DIFERENTES ETAPAS DURANTE EL PROCESAMIENTO DE IMÁGENES ..................................................................... 35 FIGURA 2-31 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
PROMEDIO.................................................................................................................................................... 36 FIGURA 2-32 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
LUMINOSIDAD ............................................................................................................................................... 37 FIGURA 2-33 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
DESATURACIÓN .............................................................................................................................................. 37 FIGURA 2-34 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
DESCOMPOSICIÓN MÍNIMA ............................................................................................................................... 37 FIGURA 2-35 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
DESCOMPOSICIÓN MÁXIMA .............................................................................................................................. 38 FIGURA 2-36 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
ELECCIÓN DEL CANAL ROJO ............................................................................................................................... 38 FIGURA 2-37 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
ELECCIÓN DEL CANAL VERDE .............................................................................................................................. 38 FIGURA 2-38 IMAGEN ORIGINAL DEL LADO IZQUIERDO E IMAGEN PROCESADA DEL LADO DERECHO CON LA TÉCNICA DEL MÉTODO DE
ELECCIÓN DEL CANAL AZUL ................................................................................................................................ 39 FIGURA 2-39 ECUALIZACIÓN DEL HISTOGRAMA. EN LA PARTE SUPERIOR SE ENCUENTRA LA IMAGEN E HISTOGRAMA ORIGINAL. EN LA
PARTE INFERIOR SE OBSERVA LA IMAGEN E HISTOGRAMA TRAS UN PROCESO DE ECUALIZACIÓN [40] ..................................... 39
10
FIGURA 2-40 IMAGEN ORIGINAL Y SU IMAGEN NEGATIVA [42] .......................................................................................... 40 FIGURA 2-41 IMAGEN ORIGINAL Y EFECTO DE LA TRANSFORMACIÓN LOGARÍTMICA PARAMÉTRICA [43] ....................................... 40 FIGURA 2-42 IMAGEN ORIGINAL E IMAGEN RESULTADO DE LA TRANSFORMACIÓN ................................................................... 40 FIGURA 2-43 EJEMPLO 1 IMAGEN RGB ....................................................................................................................... 43 FIGURA 2-44EJEMPLO 2 IMAGEN RGB ....................................................................................................................... 43 FIGURA 2-45 EJEMPLO 3 IMAGEN RGB ....................................................................................................................... 43 FIGURA 2-46 EJEMPLO 1 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DEL PROMEDIO ................................................... 43 FIGURA 2-47 EJEMPLO 2 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DEL PROMEDIO ................................................... 43 FIGURA 2-48 EJEMPLO 3 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DEL PROMEDIO ................................................... 43 FIGURA 2-49 EJEMPLO 1 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE LUMINOSIDAD ................................................ 43 FIGURA 2-50 EJEMPLO 2 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE LUMINOSIDAD ................................................ 43 FIGURA 2-51 EJEMPLO 3 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE LUMINOSIDAD ................................................ 43 FIGURA 2-52 EJEMPLO 1 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE DESATURACIÓN ............................................... 43 FIGURA 2-53 EJEMPLO 2 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE DESATURACIÓN ............................................... 43 FIGURA 2-54 EJEMPLO 3 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE DESATURACIÓN ............................................... 43 FIGURA 2-55 EJEMPLO 1 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE DESCOMPOSICIÓN MÁXIMA ................................ 43 FIGURA 2-56 EJEMPLO 2 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE DESCOMPOSICIÓN MÁXIMA ................................ 43 FIGURA 2-57 EJEMPLO 3 IMAGEN PROCESADA CON LA TÉCNICA DEL MÉTODO DE DESCOMPOSICIÓN MÁXIMA ................................ 43 FIGURA 2-58 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE DESCOMPOSICIÓN MÍNIMA ........................................... 44 FIGURA 2-59 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE DESCOMPOSICIÓN MÍNIMA ........................................... 44 FIGURA 2-60 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE DESCOMPOSICIÓN MÍNIMA ........................................... 44 FIGURA 2-61 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR ROJO .................................... 44 FIGURA 2-62 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR ROJO .................................... 44 FIGURA 2-63 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR ROJO .................................... 44 FIGURA 2-64 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR VERDE ................................... 44 FIGURA 2-65 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR VERDE ................................... 44 FIGURA 2-66 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR VERDE ................................... 44 FIGURA 2-67 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR AZUL..................................... 44 FIGURA 2-68 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR AZUL..................................... 44 FIGURA 2-69 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR AZUL..................................... 44 FIGURA 2-70 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR VERDE ................................... 46 FIGURA 2-71 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR VERDE ................................... 46 FIGURA 2-72 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UN SOLO CANAL DE COLOR VERDE ................................... 46 FIGURA 2-73 EJEMPLO 1 PROCESADO CON LA TÉCNICA DE AJUSTE DE HISTOGRAMA ................................................................ 46 FIGURA 2-74 EJEMPLO 2 PROCESADO CON LA TÉCNICA DE AJUSTE DE HISTOGRAMA ................................................................ 46 FIGURA 2-75 EJEMPLO 3 PROCESADO CON LA TÉCNICA DE AJUSTE DE HISTOGRAMA ................................................................ 46 FIGURA 2-76 EJEMPLO 1 PROCESADO CON LA TÉCNICA DE AJUSTE DE MODIFICACIÓN DE GANANCIA ............................................ 46 FIGURA 2-77 EJEMPLO 2 PROCESADO CON LA TÉCNICA DE MODIFICACIÓN DE GANANCIA ......................................................... 46 FIGURA 2-78 EJEMPLO 3 PROCESADO CON LA TÉCNICA DE MODIFICACIÓN DE GANANCIA ......................................................... 46 FIGURA 2-79 EJEMPLO 1 PROCESADO CON LA TÉCNICA DE TRANSFORMACIÓN LOGARÍTMICA .................................................... 46 FIGURA 2-80 EJEMPLO 2 PROCESADO CON LA TÉCNICA DE TRANSFORMACIÓN LOGARÍTMICA .................................................... 46 FIGURA 2-81 EJEMPLO 3 PROCESADO CON LA TÉCNICA DE TRANSFORMACIÓN LOGARÍTMICA .................................................... 46 FIGURA 2-82 EJEMPLO 1 PROCESADO CON LA TÉCNICA DE LA ESCALA A NIVEL DE GRIS ............................................................. 46 FIGURA 2-83 EJEMPLO 2 PROCESADO CON LA TÉCNICA DE LA ESCALA A NIVEL DE GRIS ............................................................. 46 FIGURA 2-84 EJEMPLO 3 PROCESADO CON LA TÉCNICA DE LA ESCALA A NIVEL DE GRIS ............................................................. 46 FIGURA 2-85 EJEMPLO 1 PROCESADO CON LA TÉCNICA DE LA ESCALA A NIVEL DE GRIS ............................................................. 48 FIGURA 2-86 EJEMPLO 2 PROCESADO CON LA TÉCNICA DE LA ESCALA A NIVEL DE GRIS ............................................................. 48 FIGURA 2-87 EJEMPLO 3 PROCESADO CON LA TÉCNICA DE LA ESCALA A NIVEL DE GRIS ............................................................. 48 FIGURA 2-88 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UMBRAL DE OTSU ...................................................... 48 FIGURA 2-89 EJEMPLO 2 PROCESADO CON LA TÉCNICA DE UMBRAL DE OTSU ........................................................................ 48 FIGURA 2-90 EJEMPLO 1 PROCESADO CON LA TÉCNICA DE UMBRAL DE OTSU ........................................................................ 48 FIGURA 2-91EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE NIBLACK ................................................................... 48 FIGURA 2-92 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UMBRAL DE NIBLACK................................................... 48 FIGURA 2-93EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UMBRAL DE OTSU ....................................................... 48 FIGURA 2-94EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE SAUVALA .................................................................. 48
11
FIGURA 2-95 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE SAUVALA ................................................................. 48 FIGURA 2-96 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE SAUVALA ................................................................. 48 FIGURA 2-97 MÉTODO DE OTSU. A) IMAGEN BINARIA USANDO MÉTODO DE OTSU; B) IMAGEN ORIGINAL CON EL BORDE USANDO
MÉTODO DE OTSU [46].................................................................................................................................... 49 FIGURA 2-98 SEGMENTACIÓN POR DETECCIÓN DE PUNTOS [48] ........................................................................................ 50 FIGURA 2-99 SEGMENTACIÓN POR DETECCIÓN DE LÍNEAS [48].......................................................................................... 50 FIGURA 2-100 SEGMENTACIÓN POR DETECCIÓN DE CONTORNOS [48] ................................................................................ 50 FIGURA 2-101 SEGMENTACIÓN BASADA EN CARACTERÍSTICAS [50] .................................................................................... 51 FIGURA 2-102 ESQUEMA QUE REPRESENTA AL PROCESO DE SEGMENTACIÓN ........................................................................ 51 FIGURA 2-103 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UMBRAL DE OTSU .................................................... 52 FIGURA 2-104 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UMBRAL DE OTSU .................................................... 52 FIGURA 2-105 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE UMBRAL DE OTSU .................................................... 52 FIGURA 2-106 EJEMPLO 1 PROCESADO CON LA TÉCNICA DEL MÉTODO DE OTSU .................................................................... 52 FIGURA 2-107 EJEMPLO 2 PROCESADO CON LA TÉCNICA DEL MÉTODO DE OTSU .................................................................... 52 FIGURA 2-108 EJEMPLO 3 PROCESADO CON LA TÉCNICA DEL MÉTODO DE OTSU .................................................................... 52 FIGURA 2-109 EJEMPLO 1 PROCESADO CON MÉTODOS BASADOS EN CARACTERÍSTICAS ........................................................... 52 FIGURA 2-110 EJEMPLO 2 PROCESADO CON MÉTODOS BASADOS EN CARACTERÍSTICAS ........................................................... 52 FIGURA 2-111 EJEMPLO 3 PROCESADO CON MÉTODOS BASADOS EN CARACTERÍSTICAS ........................................................... 52 FIGURA 2-112 EJEMPLO 1 PROCESADO CON FORMACIÓN DE REGIONES "LÍNEAS" .................................................................. 52 FIGURA 2-113 EJEMPLO 2 PROCESADO CON FORMACIÓN DE REGIONES "LÍNEAS" .................................................................. 52 FIGURA 2-114 EJEMPLO 3 PROCESADO CON FORMACIÓN DE REGIONES "LÍNEAS" .................................................................. 52 FIGURA 2-115 EJEMPLO 1 PROCESADO CON FORMACIÓN DE REGIONES "PUNTOS" ................................................................ 52 FIGURA 2-116 EJEMPLO 2 PROCESADO CON FORMACIÓN DE REGIONES "PUNTOS" ................................................................ 52 FIGURA 2-117 EJEMPLO 3 PROCESADO CON FORMACIÓN DE REGIONES "PUNTOS" ................................................................ 52 FIGURA 2-118 EJEMPLO 1 PROCESADO MEDIANTE MÉTODOS BASADOS EN TÉCNICAS DE DETECCIÓN DE DISCONTINUIDADES ............. 53 FIGURA 2-119 EJEMPLO 2 PROCESADO MEDIANTE MÉTODOS BASADOS EN TÉCNICAS DE DETECCIÓN DE DISCONTINUIDADES ............. 53 FIGURA 2-120 EJEMPLO 3 PROCESADO MEDIANTE MÉTODOS BASADOS EN TÉCNICAS DE DETECCIÓN DE DISCONTINUIDADES ............. 53 FIGURA 2-121(A) IMAGEN BINARIA, (B) SU IMAGEN DE HOUGH, (C) IMAGEN DE HOUGH CON PUNTOS DE PARÁMETROS MÁS
PROMINENTES, (D) LOS DIEZ PRIMEROS SEGMENTOS DE RECTA POR EL PROCEDIMIENTO DE HOUGH [54] .............................. 54 FIGURA 2-122 (A) Y (B) DOS IMÁGENES BINARIAS CON OBJETOS DE FORMAS DIFERENTES, (C) Y (D) ESQUELETOS DE DICHOS OBJETOS A
TRAVÉS DEL MÉTODO DE ZHANG Y SUEN [55] ........................................................................................................ 55 FIGURA 2-123 OBJETO CON ÁREA DE 36 PIXELES [56] .................................................................................................... 55 FIGURA 2-124 PERÍMETRO DE LA FIGURA [52, P. 115]. .................................................................................................. 56 FIGURA 2-125 ESQUEMA GENERAL DE UN SISTEMA DE RECONOCIMIENTO DE PATRONES .......................................................... 57 FIGURA 2-126 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA A DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 60 FIGURA 2-127 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA A DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 60 FIGURA 2-128 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACRO PÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA A DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 60 FIGURA 2-129 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA C DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 60 FIGURA 2-130 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA C DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 60 FIGURA 2-131 CAPTACIÓN, PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA DE LA LETRA C DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 60 FIGURA 2-132 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA D DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 61 FIGURA 2-133 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA D DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 61 FIGURA 2-134 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA D DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 61 FIGURA 2-135 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA E DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 61 FIGURA 2-136 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA E DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 61 FIGURA 2-137 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA E DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 61 FIGURA 2-138 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA F DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 62
12
FIGURA 2-139 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA F DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 62 FIGURA 2-140 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA F DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 62 FIGURA 2-141 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA G DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 62 FIGURA 2-142 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA G DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 62 FIGURA 2-143 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA G DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 62 FIGURA 2-144 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA H DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 63 FIGURA 2-145 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA H DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 63 FIGURA 2-146 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA H DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 63 FIGURA 2-147 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA L DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 63 FIGURA 2-148 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA L DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 63 FIGURA 2-149 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA L DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA........................................................................................ 63 FIGURA 2-150 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA M DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ............... 64 FIGURA 2-151 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA M DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 64 FIGURA 2-152 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA M DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ...................................................................................... 64 FIGURA 2-153 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA N DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 64 FIGURA 2-154 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA N DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 64 FIGURA 2-155 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA N DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 64 FIGURA 2-156 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA O DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 65 FIGURA 2-157 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA O DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 65 FIGURA 2-158 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA O DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 65 FIGURA 2-159 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA P DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 65 FIGURA 2-160 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA P DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 65 FIGURA 2-161 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA P DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 65 FIGURA 2-162 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA R DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA................. 66 FIGURA 2-163 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA R DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 66 FIGURA 2-164 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA R DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 66 FIGURA 2-165 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA S DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 66 FIGURA 2-166 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA S DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 66 FIGURA 2-167 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA S DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 66 FIGURA 2-168 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA T DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................. 67 FIGURA 2-169 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA T DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 67 FIGURA 2-170 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA T DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 67 FIGURA 2-171 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA V DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ................ 67
13
FIGURA 2-172 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA V DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 67 FIGURA 2-173 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA V DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ....................................................................................... 67 FIGURA 2-174 CAPTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA W DEL ALFABETO DE LENGUA DE SEÑAS MEXICANA ............... 68 FIGURA 2-175 PRETRATAMIENTO Y SEGMENTACIÓN DE LA SEÑA CORRESPONDIENTE A LA LETRA W DEL ALFABETO DE LENGUA DE SEÑAS
MEXICANA .................................................................................................................................................... 68 FIGURA 2-176 CADENA BINARIA RESULTANTE AL APLICAR MALLA DE MACROPÍXELES A LA REGIÓN DE INTERÉS CORRESPONDIENTE A LA
LETRA W DEL ALFABETO DE LA LENGUA DE SEÑAS MEXICANA ...................................................................................... 68 FIGURA 2-1 GRAFICA DEL DOMINIO DE SISTEMAS OPERATIVOS MÓVILES A NIVEL MUNDIAL ....................................................... 81 FIGURA 2-2 PANORAMA 2015 DE SISTEMAS OPERATIVOS EN MÉXICO................................................................................. 81 FIGURA 2-3 EJEMPLO ENTREGA DOCUMENTAL .............................................................................................................. 91 FIGURA 3-1 LOCALIZACIÓN DE LA APLICACIÓN EN EL MENÚ PRINCIPAL DEL DISPOSITIVO MÓVIL. ................................................ 124 FIGURA 3-2 PANTALLA SPLASH SCREEN ..................................................................................................................... 125 FIGURA 3-3 PANTALLA MENÚ PRINCIPAL ................................................................................................................... 126 FIGURA 3-4 PANTALLA RECONOCIMIENTO.................................................................................................................. 127 FIGURA 4-1 IMAGEN DE MANO CON GUANTE .............................................................................................................. 129 FIGURA 4-2 IMAGEN DE MANO CON GUANTE APLICANDO LA TÉCNICA DE UN SOLO CANAL DE COLOR "VERDE" .............................. 129 FIGURA 4-3IMAGEN DE MANO CON GUANTE APLICANDO LA TÉCNICA DE HISTOGRAMA ........................................................... 130 FIGURA 4-4 IMAGEN DE MANO CON GUANTE APLICANDO LA TÉCNICA DE UMBRAL DE OTSU .................................................... 130 FIGURA 4-5 IMAGEN DE MANO CON GUANTE APLICANDO EL MÉTODO DE OTSU ................................................................... 130
14
Índice de Diagramas DIAGRAMA 2-1 CASO DE USO R.F. 1.1 “INICIAR APLICACIÓN” ......................................................................................... 92 DIAGRAMA 2-2 CASO DE USO R.F. 1.2. "OBTENER IMAGEN" .......................................................................................... 93 DIAGRAMA 2-3 CASO DE USO R.F. 1.3. "ADECUAR IMAGEN" .......................................................................................... 94 DIAGRAMA 2-4 CASO DE USO R.F. 1.4 "SEGMENTAR" .................................................................................................. 95 DIAGRAMA 2-5 CASO DE USO R.F. 1.5. "APRENDER PATRONES" ..................................................................................... 96 DIAGRAMA 2-6 CASO DE USO R.F. 1.6 “RECONOCER PATRÓN" ....................................................................................... 97 DIAGRAMA 2-7 CASO DE USO R.F. 1.7 "PRODUCIR SONIDO" .......................................................................................... 98 DIAGRAMA 2-8 DIAGRAMA DE CLASES "LÓGICA DE NEGOCIO" ....................................................................................... 100 DIAGRAMA 2-9 DIAGRAMA DE CLASES "VISTA" .......................................................................................................... 101 DIAGRAMA 2-10 SECUENCIAS R.F. 1.1 “INICIAR APLICACIÓN” ....................................................................................... 102 DIAGRAMA 2-11 SECUENCIAS R.F. 1.2 “OBTENER IMAGEN” ......................................................................................... 103 DIAGRAMA 2-12 SECUENCIAS R.F. 1.3 “ADECUAR IMAGEN” ......................................................................................... 104 DIAGRAMA 2-13 SECUENCIAS R.F. 1.4 “SEGMENTAR LOS OBJETOS” ............................................................................... 105 DIAGRAMA 2-14 SECUENCIAS R.F. 1.5 “APRENDER PATRONES" .................................................................................... 106 DIAGRAMA 2-15 SECUENCIAS R.F. 1.6 "RECONOCER PATRÓN" ..................................................................................... 107 DIAGRAMA 2-16 SECUENCIAS R.F. 1.7."PRODUCIR SONIDO" ........................................................................................ 108 DIAGRAMA 2-17 ESTADOS R.F. 1.1. “INICIAR APLICACIÓN” .......................................................................................... 109 DIAGRAMA 2-18 ESTADOS R.F. 1.2. “OBTENER IMAGEN” ............................................................................................ 109 DIAGRAMA 2-19 ESTADOS R.F. 1.3 “ADECUAR IMAGEN” ............................................................................................. 110 DIAGRAMA 2-20 ESTADOS R.F. 1.4 “SEGMENTAR IMAGEN” ......................................................................................... 111 DIAGRAMA 2-21 ESTADOS R.F. 1.5 “APRENDER PATRONES” ........................................................................................ 112 DIAGRAMA 2-22 ESTADOS R.F. 1.6 “RECONOCER PATRONES” ...................................................................................... 113 DIAGRAMA 2-23 ESTADOS R.F. 1.7."PRODUCIR SONIDO" ............................................................................................ 114 DIAGRAMA 2-24 ACTIVIDADES R.F. 1.2. “INICIAR APLICACIÓN” ..................................................................................... 115 DIAGRAMA 2-25 ACTIVIDADES R.F. 1.2. “OBTENER IMAGEN” ....................................................................................... 116 DIAGRAMA 2-26 ACTIVIDADES R.F. 1.3 “ADECUAR IMAGEN” ....................................................................................... 117 DIAGRAMA 2-27 ACTIVIDADES R.F. 1.4 “SEGMENTAR IMAGEN” .................................................................................... 118 DIAGRAMA 2-28 ACTIVIDADES R.F. 1.5. "APRENDER PATRONES" .................................................................................. 119 DIAGRAMA 2-29 ACTIVIDADES R.F. 1.6. "RECONOCER PATRÓN" ................................................................................... 120 DIAGRAMA 2-30 ACTIVIDADES R.F. 1.7 "PRODUCIR SONIDO" ....................................................................................... 121 DIAGRAMA 2-31 MODELO CONCEPTUAL DE LA BASE DE DATOS ..................................................................................... 122 DIAGRAMA 2-32 MODELO LÓGICO DE LA BASE DE DATOS ............................................................................................. 122 DIAGRAMA 2-33 NIVEL 0 ...................................................................................................................................... 123
15
Glosario Actor: Se entiende por actor a los distintos cargos de las personas que harán uso del
sistema.
Discapacidad: Es aquella limitación que presentan algunas personas a la hora de llevar
a cabo determinadas actividades y que puede estas provocada por una deficiencia física
o psíquica [1].
Hipoacusia: Es la incapacidad total o parcial para escuchar sonidos en uno o ambos
oídos.
Interfaz: Ambiente gráfico, parte visual que interactúa con algún tipo de usuario (actor).
Lugar: Son aquellos sitios cuya ubicación proporciona algún bien a la sociedad, además
de proveer de bienes o servicios a un grupo de personas.
Modulo: Parte del sistema o segmento de código con una función específica.
Open Source: Traducido del inglés como Código abierto es la expresión con la que se
conoce al software o hardware distribuido y desarrollado libremente.
Sistema de comunicación: Conjunto de dispositivos interconectados que realizan
acciones las cuales permiten que las personas puedan comunicarse o conectarse entre sí.
[2]
Sistema de información: Conjunto de componentes relacionados que recolectan (o
recuperan), procesan, almacenan y distribuyen información para apoyar la toma de
decisiones y el control de una organización [3].
Usuario: Aquella persona que cuente con discapacidad para comunicarse.
Glosario de Acrónimos ASL: Lengua de señas americana.
BD: Siglas Base de Datos, espacio donde se guardará la información [4].
ENIGH: Encuesta Nacional de Ingresos y Gastos de Hogares [5].
ESCOM: Escuela Superior de Computo [6].
INDEPEDI: Instituto para la integración al desarrollo de las personas con discapacidad
del D.F [7].
IDE: Integrated Development Environment, Ambientes Integrados de Desarrollo.
IDC: International Data Corporation.
INEGI: Instituto Nacional de Estadística y Geografía [8].
IPN: Instituto Politécnico Nacional [9].
LSM: Lengua de señas mexicana.
UPIITA: Unidad Professional Interdisciplinaria de Ingeniería y Tecnologías Avanzadas
[10].
TTS: Siglas Texto To Speech, sintetizador de voz [11].
16
Introducción En el mundo, actualmente existen millones de personas con alguna discapacidad que enfrentan
problemas de marginación y discriminación en actividades académicas [12], laborales [13] y
sociales [14].
Planteamiento de problema Cuando una persona presenta hipoacusia, es decir, disminución de la capacidad auditiva, se ve
en la necesidad de recurrir a alternativas que le ayuden a mejorar su comunicación con otras
personas; por medio de herramientas tecnológicas o con algún tratamiento médico o quirúrgico.
En este proyecto se propone el desarrollo de una herramienta de software mediante el
reconocimiento del alfabeto de la lengua de señas mexicana (LSM) usando imágenes obtenidas
de la cámara de un dispositivo móvil para brindar una opción que ayude a mermar la brecha de
comunicación con otras personas.
Actualmente se conocen diversos desarrollos relacionados con el reconocimiento de
lenguas de señas en varios países, pero no se han encontrado estos trabajos aplicados en
dispositivos móviles, solamente se han encontrado visualizadores de algunas señas.
Reconocer las señas de la LSM resulta complejo desde el punto de vista tecnológico, por
tal motivo, este proyecto se limitará específicamente a reconocer señas estáticas.
Objetivo Desarrollar un sistema de información en un dispositivo móvil que reconozca señas estáticas del
alfabeto de la lengua de señas mexicana (LSM) mediante técnicas de reconocimiento de
imágenes, de las cuales se obtendrá cada letra del alfabeto y por medio de una seña de termino
se producirá en forma auditiva la palabra identificada.
Objetivos específicos Recopilar información del alfabeto de la lengua de señas mexicana.
Realizar el análisis de los problemas relacionados con el desarrollo de la aplicación
elaborando la lista de requerimientos funcionales y no funcionales.
Realizar las pruebas de factibilidad que requiera el desarrollo, así como identificar a los
individuos que participaran en las pruebas.
Elaborar el diseño de la aplicación a desarrollar.
Construir los programas relacionados con los diferentes módulos detectados en el análisis
y diseño ejecutando las pruebas individuales requeridas.
Realizar las pruebas integrales de la aplicación desarrollada y las correspondientes con
los sujetos que aceptaron participar en este desarrollo.
Elaborar la documentación correspondiente al desarrollo.
Justificación e importancia
La justificación del presente trabajo es brindar continuidad a elementos de proyectos realizados
con anterioridad en otras unidades académicas del IPN, como lo son los mostrados en la tabla 1-
1, los cuales nos brindan la posibilidad de interpretar la LSM, cada uno de estos tiene muy buenas
propuestas, otros ayudan a aprender la LSM, la mayoría de estos sistemas son utilizados en
17
dispositivos con grandes capacidades de procesamiento como computadoras de escritorio, por
otro lado los sistemas que ayudan a aprender la LSM, recientemente se encuentran disponibles
para dispositivos móviles, lo que se busca en este proyecto es ser la base de los sistemas de
interpretación mediante imágenes del alfabeto de la LSM.
Cabe mencionar que millones de personas en este en este país tienen hipoacusia, las cuales
han desarrollado como medio de comunicación las lenguas de señas, esta importante herramienta,
les permite dar a conocer un mensaje a las demás personas, las herramientas antes mencionadas,
intentan reconocer los diferentes tipos de señas existentes (dinámicas y estáticas), estas
herramientas se han enfocado a interpretar en primera instancia, a el alfabeto de las lenguas de
señas, las cuales son señas estáticas lo que hace su reconocimiento más sencillo, por el momento
no existen desarrollos que logren reconocer las señas dinámicas de las lenguas de señas, ya que
esto implica tener una mayor cantidad de recursos computaciones, por otro lado el principal
problema de estas herramientas es la falta de portabilidad, lo que pretende este proyecto es lograr
convertirse en la base del desarrollo de herramientas de interpretación de lenguas de señas mucho
más avanzadas.
Por otro lado, millones de personas en este país utilizan dispositivos móviles en especial
dispositivos con sistema operativo Android®, el cual se ha convertido en uno de los más
utilizados y de más fácil acceso véase Capitulo 3. Esto representa un área de oportunidad para
poder implementar una aplicación móvil dedicado para las personas con hipoacusia pero que
puede ser utilizado por personas sin dicha discapacidad.
Propuesta de solución
En este proyecto se propone una solución al problema de reconocimiento de imágenes del
alfabeto de la lengua de señas mexicana (LSM) en un dispositivo móvil como una alternativa
para ayudar a las personas que padecen hipoacusia, con el propósito de permitirles la
comunicación con personas oyentes que no desean aprender la LSM.
En particular se enfoca en la captación y procesamiento de imágenes en un dispositivo
móvil usando la plataforma Android® para producir una cadena de caracteres que se pasarán a
un módulo de síntesis de voz existente en el mercado para que se escuche palabra por palabra
deletreada.
Los principales módulos del sistema de información de reconocimiento de la lengua de señas
mexicana de esta propuesta son (Figura 1-2):
18
Figura 0-1 Estructura general del sistema
Acondicionamiento de la imagen. La imagen captada en formato RGB «Red, Green,
Blue» (rojo, verde, azul) se pretende convertir a blanco y negro además de aplicarle
segmentación orientada a regiones para localizar la mano que es el objeto de interés. Una
vez segmentada la mano, se procesará mediante un algoritmo de normalización de la
imagen para homologar el tamaño de la seña independientemente de la distancia en que
se haga la captación.
Extracción de características. La imagen normalizada se pretende transformar en una
secuencia de unos y ceros para formar un vector que se comparé con los patrones
etiquetados de las señas que puedan ser reconocidas; para esto se usará la distancia
euclidiana o alguna otra técnica que resulte apropiada a este problema.
Reconocimiento. En el proceso de reconocimiento se tendrá un umbral de error mediante
un algoritmo de clasificación, se pretende usar una función de similitud de patrones
obtenidos mediante mapas autoorganizativos u alguna otra técnica. En la comparación de
las imágenes con los patrones y cuando el error de clasificación sea mayor al umbral, la
imagen normalizada se almacenará para su posterior envío al módulo de aprendizaje.
Aprendizaje: Este será un módulo que recibirá las imágenes que no fueron clasificadas
por algún patrón que no se ajusta a los existentes, esto ocurre porque las personas tienen
las manos en formas diferentes. Para este módulo se realizará una evaluación de técnicas
para encontrar los patrones, como Mapas Autoorganizativos de Kohonen; esta es más
apropiada que la técnica de k-means porque en esta última un objeto representa a varios
y en la primera técnica un patrón es el resultado de la contribución de características de
varias imágenes. Este módulo recibirá las imágenes desconocidas mediante la conexión
del dispositivo móvil con un servidor soportado por una computadora personal.
19
Interpretación: En el reconocimiento de las imágenes se considera una seña que indicará
fin de palabra con lo cual se activará el proceso de síntesis de voz el cual se obtendrá con
base en un estudio de aquellos existentes en el mercado y que sean factibles de aplicarse
en este proyecto, se preferirán los de software libre y que soporten el idioma español.
20
1. Estado del Arte A lo largo de este capítulo se describen los trabajos que se han desarrollado en diferentes
instituciones que tienen el propósito de ayudar a las personas con discapacidad auditiva. Estas
propuestas se agrupan con base en nuestro interés en desarrollos del IPN, proyectos
internacionales y productos que se encuentran en el mercado. En casa caso, se indican sus
características para que el lector pueda notar las diferencias existentes entre ellos.
1.1. Proyectos relacionados dentro del Instituto Politécnico Nacional Los trabajos que se encontraron dentro del Instituto pertenecen a grupos de investigación de nivel
Superior y Posgrado. Estos se muestran con el afán de detectar las diferencias con este Trabajo
Terminal; llevando a cabo un análisis de las características de cada proyecto mostrado en las
Tablas 1-1 y 1-2, es notorio que estos proyectos utilizan el procesamiento de imágenes y otros
hacen uso de interfaces de hardware con un propósito similar; para este caso se trata de dotar de
comunicación a las personas con hipoacusia para su interrelación con las personas sin
discapacidad auditiva.
Cabe mencionar que otro proyecto tiene el propósito de generar secuencias de imágenes
a partir del reconocimiento de voz, en este caso se trata de la comunicación de personas que
pueden emitir voz con personas con discapacidad acústica.
Los trabajos relacionados con el reconocimiento de las lenguas de señas son:
Reconocedores de la lengua de señas mexicana (LSM), realizados para ejecutarse en
computadoras personales usando imágenes JPG o dispositivos como Kinect; esto resulta
un inconveniente debido a la falta de portabilidad.
Los trabajos basados en exoesqueleto (para el que se necesita estar portando una bocina
y una pantalla LCD) y del guante requieren elementos de hardware que resultan
incomodos para lograr su portabilidad.
Para el caso de la “Aplicación móvil para la comunicación con personas que utilizan el
lenguaje de señas”, el cual se encuentra en desarrollo, cuenta con la portabilidad, sin
embargo, se le considera como un complemento para este trabajo terminal, porque
traduce palabras o frases que una persona sin discapacidad auditiva emite al dispositivo
móvil y como resultado se muestra en la pantalla de este último, ya que cuenta con una
serie de imágenes que representan el mensaje indicado para que la persona con hipoacusia
pueda visualizarlas.
21
Figura 1-1 Tabla comparativa de trabajos realizados en el IPN
TITULO AÑO AUTORIA DESCRIPCION DESARROLLO LENGUA DE
SEÑAS
REPRODUCCION
DE VOZ
Sistema para
traducción de señas
[15].
2016
Unidad Académica: UPIIZ-IPN
Autores: José
Manuel Lira Ávalos
País: México
Sistema creado para ofrecer
una herramienta de
comunicación para una
persona con discapacidad
de habla o auditiva.
Sistema basado en
microcontroladores.
Transmisión de información con
el uso de la tecnología
Bluetooth.
Muestra resultados en una
pantalla LCD.
No se especifica.
Para las palabras en
audio se usa una
bocina.
Aplicación móvil
para la
comunicación con
personas que
utilizan el lenguaje
de señas [16].
2016
Unidad Académica: UPIITA-IPN
Autores: Oscar
Alejandro Lemus
Pichardo
País: México
Desarrollo de una
aplicación móvil que
permita la comunicación
básica entre personas que
usan el lenguaje de señas
mexicano con personas que
no lo usan.
Usará el reconocimiento de voz
que se implementará mediante
una red neuronal artificial (debe
permitir reconocer frases básicas
identificadas en una base de
datos y mostrarlas en la pantalla
del móvil).
Para sistema operativo Android.
Lengua de señas
mexicana
Sintetizador de voz
de google
Traductor del
lenguaje sordomudo
mediante un guante
con sensores y una
aplicación móvil
[17].
2015
Unidad Académica: UPIITA-IPN
Autores: Helena
Luna García.
País: México
Esta herramienta traduce en
texto y voz el lenguaje de
señas, esto por medio de la
detección de los ademanes
que hace la mano y la
asocia con el alfabeto
Internacional de 26 letras.
El prototipo consta de un
módulo de censado, otro de
procesamiento y el dispositivo móvil.
Para el guante se usó un hilo
conductivo, resortes y sensores,
además de un Arduino.
Para sistema operativo Android.
Alfabeto
internacional
Sintetizador de voz
de google
Reconocimiento del
lenguaje de Señas
Mexicano usando
Kinect [18].
2012
Unidad Académica: CIC-IPN
Autores: Fausto
Pavel Priego Pérez.
País: México
Sistema de información
que reconoce imágenes de
manos que representan
símbolos estáticos del
alfabeto del Lenguaje de
Señas Mexicano (LSM).
Este sistema contiene 2 módulos
principales: aprendizaje y
reconocimiento, cada uno de
estos se compara con la base de
conocimientos del sistema.
Se usa el dispositivo Kinect con
una frecuencia de muestreo de una imagen por segundo.
Alfabeto de la
lengua de señas
mexicana
No usa
22
Figura 1-2 Tabla comparativa de trabajos realizados en el IPN continuación
TITULO AÑO AUTORIA DESCRIPCION DESARROLLO LENGUA DE
SEÑAS
REPRODUCCION
DE VOZ
Sistema para el
reconocimiento del
alfabeto
dactilológico [18].
2009
Unidad Académica: CIC-IPN
Autores: Laura
Jeannine Razo Gil.
País: México
Este proyecto busca
analizar y reconocer, de
forma automática las
diferentes posturas de la mano, éste es utilizado por
las comunidades de sordos.
Usa técnicas de procesamiento y
segmentación de imágenes,
como métodos de umbralado,
extracción de contornos, morfología matemática junto
con algoritmos de código de
cadena.
Alfabeto de la
lengua de señas
mexicana
No usa
Sistema interactivo
multimedia para el
aprendizaje del
lenguaje de señas
[19].
2006
Unidad Académica: ESCOM-IPN
Autores: Mónica
Elizabeth Cornejo
Escandón.
País: México
Es un sistema que facilita el
aprendizaje del Lenguaje
de Señas española
Realiza el reconocimiento de los
movimientos corporales básicos
de dicha lengua.
Se usó realidad virtual y un
sistema de software interactivo.
Lengua de señas
española No usa
23
1.2. Proyectos relacionados en el resto del mundo En esta sección se presentan diez trabajos relacionados con las lenguas de señas y ninguno que
pueda reconocer las señas dinámicas en tiempo real mediante dispositivos móviles.
Estos trabajos se presentan en la Tabla 1-3, estos orientados a las lenguas de señas
diferentes a la mexicana, en un caso se utiliza el dispositivo Leap Motion®, especializado en la
detección de la forma y ubicación de manos; en los demás se usan cámaras de video ordinarias
conectadas a una computadora personal (PC).
Figura 1-3 Tabla comparativa de trabajos internacionales relacionados al presente proyecto
TITULO AÑO DESCRIPCIÓN LENGUA DE
SEÑAS
American Sign Language
Recognition Using Leap
Motion Sensor [20].
2014
Usan un sensor de movimiento 3D llamado Leap Motion
del tamaño de la palma.
Aplicaron un método de k-vecinos más cercanos y el apoyo
de máquinas de vectores para clasificar las 26 letras del
alfabeto inglés en lengua de señas americana usando las
características derivadas de los datos sensoriales.
El resultado del experimento muestra que la tasa de
clasificación promedio más alto es 72,78% y 79,83%.
Lengua de señas
americana.
Hand Gesture Recognition
for Indian Sign Language
[21].
2012
Presentan un sistema de reconocimiento de gestos de la
mano para reconocer el alfabeto de lengua de señas de la
India.
El sistema propuesto consta de 4 módulos: seguimiento en tiempo real, segmentación, extracción de características y
de reconocimiento de gestos.
Usaron métodos Camshift, de Saturación e Intensidad, así
como un modelo de color para el seguimiento de la mano y
la segmentación. Para el reconocimiento de gestos, se usó
un algoritmo genético.
Lengua de señas
hindú
Arabic sign language
recognition in user
independent mode [22].
2007
En este artículo describen un método desarrollado por T.
Shanableh para reconocer la lengua de señas árabe.
Se aíslan gestos usando un guante para simplificar el
proceso de segmentación de las manos de la persona que
realiza señas a través de la segmentación de color.
La eficacia del sistema de extracción de características por el usuario independiente propuesta fue evaluada por dos
técnicas de clasificación diferentes; a saber, K-NN y redes
polinómicas.
Lengua de señas
árabe
Listening to deaf: A Greek
sign language translator
[23].
2006
El trabajo se refiere a un sistema extensible que se
desarrolló con el fin de reconocer el alfabeto de lengua de
señas griega (GSL) que es la forma natural de comunicación
entre las personas sordas en Grecia.
Se formaron palabras de manera aislada o combinadas en
frases.
Lengua de señas
griega
1.3. Proyectos comerciales En esta sección se presentan trabajos que aportan soluciones relacionadas con lenguas de señas
en varios países. La búsqueda se hizo tanto en sitios en la Web como en la tienda Play Store, se
encontraron aplicaciones que ayudan al aprendizaje de lenguas de señas de países como
Guatemala, España y Estados Unidos. Es decir, que son parecidos a un diccionario o brindan
lecciones usando vídeos, imágenes, glosarios y estadísticas. Por lo cual, este proyecto se
24
diferencia, en que se reconocen las señas del alfabeto de la lengua de señas mexicana,
permitiendo a las personas con hipoacusia deletrear palabras; las palabras a su vez, se
transforman en audio con ayuda de un sintetizador de voz para que las escuchen personas sin
discapacidad auditiva.
A continuación, se muestran las diferentes propuestas en la Tabla 1-4.
Figura 1-4 Tabla comparativa de sistemas existentes en el mercado relacionados con este proyecto
TITULO DESCRIPCION CARACTERISTICAS LENGUA DE
SEÑAS
PLATAFORMA
DE
DESARROLO
Kitsord [24].
Es una aplicación móvil
que tiene como finalidad
romper la barrera que
existe entre las personas
que tienen deficiencias
auditivas y quienes no las
tienen.
El aprendizaje se efectúa por
lecciones empezando por el abecedario.
Glosario integrado para buscar
rápidamente alguna seña.
Lleva el control de las estadísticas
del usuario por lección para
identificar las palabras en las que
se haya equivocado y de esta
manera practicarlas
inmediatamente.
Cuenta con el apoyo de
Benemérito Comité Pro Ciegos y Sordos de Guatemala.
Es 100% gratuita.
Lengua de señas
de Guatemala Android
Mis primeros
signos [25].
La aplicación móvil es
del diccionario infantil de
lengua de señas española,
publicado en el año 2004.
En la versión actual mini se encuentran más de 200 entradas
organizadas por temas en el que se
pueden consultar las señas más
utilizadas en la comunicación con
las niñas y niños a partir de los 3
años.
Se pueden ver los signos en
movimiento a través de los vídeos,
hacer búsquedas rápidas y guardar
las señas favoritas.
Lengua de señas
española Android
Lenguaje de
señas [26].
Esta aplicación fue
desarrollada para
aprender el lenguaje de
señas americano (ASL) y
está enfocada a personas
que deseen tener una
conversación con
personas que padecen
discapacidad auditiva.
Consta de videos para mostrar las
palabras más comunes en el
lenguaje de señas americano
(ASL).
En esta aplicación se pueden ver
algunas películas dirigidas a las
personas con sordera con lengua
de señas, también algunas noticias
e historias de éxito de personas
sordas.
Enseña a deletrear el alfabeto de
legua de señas americano.
Lenguaje de
señas americano
(ASL) Android
25
2. Marco de Teórico En este capítulo se presentan los fundamentos teóricos de la fotografía, las técnicas de
procesamiento de imágenes, las condiciones óptimas de operación del sistema con base en los
fundamentos teóricos y en las imágenes obtenidas para este propósito, además se presentan una
serie de pruebas cuantitativas y cualitativas, las cuales nos ofrecerán un panorama sobre el tiempo
que tarda cada técnica en procesarse, así como la calidad de imagen que nos ofrece cada uno de
ellos, esto para saber si nos es de utilidad el resultado de dichas técnicas.
2.1. Imagen Una imagen es la representación visual de un elemento, de una realidad captada a través de
los sentidos, por una lente óptica o reflejada en un espejo. Captar imágenes se logra a partir de
técnicas enmarcadas en la fotografía, el arte, el diseño u otras disciplinas [27].
2.2. Teoría de la fotografía Técnicamente, la fotografía consiste en captar de forma permanente una imagen, gracias a la luz
que reflejan los objetos. Fotografiar significa elegir. Hoy en día la fotografía es mucho más que
una técnica, llegando a convertirse en un fenómeno social, tanto la fotografía analógica como la
digital asumen la gran función de memoria histórica, investigación social, interpretación, etc.
[28], estas requieren un conocimiento avanzado de las técnicas y fundamentos físicos que la rigen
que es el comportamiento de la luz.
2.2.1. La luz, partículas y ondas “todo en uno” La luz se propaga por el movimiento ondulatorio, es decir, por ondas. Y, sin embargo, también
está formada por partículas diminutas, los fotones.
Figura 2-1 Espectro solar y longitud de onda [28]
La luz se propaga en forma de ondas como se ilustra en la Figura 2-1. Estas ondas
electromagnéticas tienen una longitud. Se llama longitud de onda a la distancia entre dos puntos
correspondientes adyacentes en el tren de la onda. La diferencia de color entre los rayos
luminosos depende realmente de sus longitudes de onda.
2.2.2. Tipos de luz en la fotografía Luz de día: La temperatura de color de la luz durante el día va variando paulatinamente
a medida que el sol se va moviendo y las condiciones atmosféricas van cambiando.
Normalmente es de color rosa por la mañana, amarillenta durante las primeras horas de
26
la tarde, y anaranjada hacia la puesta de sol, con una tendencia a un color azul al caer la
noche véase Figura 2-2.
Figura 2-2 Fotografía con luz de día [28]
Luz continua: Es la luz que se tiene dentro de un estudio además de la utilización de la
luz de flash. Se pueden lograr unos efectos y colores imposibles de plasmar con la
fuente de luz natural véase Figura 2-3.
Figura 2-3 Fotografía luz de flash [29]
Luz de flash: La luz que produce el efecto de un flash se acerca mucho a la temperatura
del sol. La rapidez en la emisión del destello de la luz de flash, hace que pueda superior
los (1/50.000 de segundo), permitiendo inmovilizar el movimiento del motivo obteniendo
imágenes con una nitidez extraordinaria.
Luz mixta: Con la luz del día y la luz artificial se obtienen efectos distintos a los
naturales.
Para controlar la temperatura de color con la cámara se hará un balance de blancos. Este
es el modo que tenemos de decirle a la cámara que es blanco puro en la escena que nos
encontramos y según la luz que tenemos. Las cámaras suelen traer configuraciones por
defecto según los tipos de iluminación o podemos personalizarlo con una tarjeta o carta
de grises [28]
Luz incidente: Este tipo de luz es la que recibe directamente el objeto a fotografiar de la
fuente luminosa de la escena véase imagen 2-4.
Luz reflejada: Este tipo de luz es la que todos los objetos de la escena reflejan y entra
en la cámara a través del objetivo. Es conocida como TTL (Trough The Lens) véase
imagen 2-4 [28]
27
Figura 2-4 Luz incidente y reflejada [28]
Luz Natural: Se conoce como luz natural en fotografía a aquella que proviene
directamente del sol y se ve afectada por factores atmosféricos como las nubes y se
clasifica en dos tipos:
o Luz blanda: La luz blanda es un tipo de luz que apenas produce sombras,
consiguiendo tonos suaves y difuminados. Este tipo de luz suele darse en días
nublados ya que las nubes hacen las veces de filtros difusores. Son muy indicadas
para el retrato (sobre todo para personas mayores, al atenuar las arrugas al no
producir a penas sombras que las marquen) y en bodegones véase Figura 2-24.
Figura 2-5 Fotografía con luz blanda [30]
o Luz dura: Se entiende por luz dura aquella luz intensa que arroja fuertes y
profundas sombras sobre los sujetos u objetos. Este tipo de luz se produce en los
días despejados. Suele ser útil para efectos dramáticos o para resaltar las formas
del motivo [62].
Figura 2-6 Fotografía con luz dura [31]
28
o La luz se puede clasificar de varias maneras en función de cómo sus rayos inciden
sobre el objeto. Su dirección influye directamente. Véase Figura 2-7, donde
podemos apreciar las diferentes poses de iluminación.
Figura 2-7 Diferentes poses de iluminación [28]
Luz frontal: La luz frontal es aquella que se sitúa delante del motivo a
fotografiar y detrás de la cámara o fotógrafo véase Figura 2-8.
Figura 2-8 Fotografía con luz frontal [28]
Luz cenital: La iluminación cenital es la que se produce cuando la fuente
de luz está situada justo por encima del motivo y de la cámara véase Figura
2-9.
Figura 2-9 fotografía con luz cenital y su posición en el plano [28]
Luz nadir o contra picada: Es exactamente la contraria a la luz cenital.
Se da cuando la fuente de iluminación proviene de un plano más bajo que
el sujeto y lo ilumina hacia arriba véase Figura. 2-10
29
Figura 2-10 Fotografía con luz nadir y su posición en el plano [28]
o Siguiendo con los tipos de iluminación según su dirección vemos dos de los tipos
de luces más utilizados en fotografía.
Luz lateral: La iluminación lateral es la que se produce desde un lado del
objeto. Lo más destacable de este tipo de iluminación es las sombras que
produce. Las sombras de los objetos iluminados lateralmente muestran el
relieve de las superficies y lo modulan. Los relieves y arrugas del motivo
cobran importancia véase Figura 2-11
Figura 2-11 Fotografía con luz lateral [28]
Luz rasante o luz de recorte: Una de las luces laterales más interesantes
en fotografía es la Luz Rasante o luz de recorte. Este tipo de luz incide
sobre el objeto de manera muy angulada, lateral y baja con respecto al
plano del horizonte y separa al sujeto del fondo, dándole volumen véase
Figura 2-12.
Figura 2-12 Fotografía con luz razonante o de corte [32]
Contraluz: Los contraluces se producen cuando la fuente luminosa se
encuentra detrás del motivo e incide frontalmente sobre la cámara. Este
tipo de iluminación crea siluetas con total facilidad. Combinar los
30
contraluces con determinados factores atmosféricos como la niebla puede
dar lugar a fantásticos efectos de iluminación véase Figura 2-13.
Figura 2-13 Fotografía contraluz [28]
Luz silueta: Con este otro tipo de iluminación a contraluz se consigue el
efecto llamado "Luz Silueta". Para poder lograr el efecto silueta es preciso
tener un objeto opaco sobre un fondo luminoso. De este modo,
fotografiando con un contraluz directo, midiendo la escena según la luz
emitida por el fondo y dándole a la cámara los valores de exposición
adecuados a esta medida, obtendremos una fotografía con el efecto luz
silueta véase Figura 2-14.
Figura 2-14 Fotografía luz silueta [28]
Luz ambiente: La luz ambiente suele ser una iluminación suave que, a
menudo, está rebotada de una superficie a otra. Como resultado de una
iluminación no directa, el brillo del sujeto es mucho menor que en otro
tipo de iluminación. Este tipo de iluminación suele ser el utilizado por
fotógrafos no profesionales que no controlan la luz en absoluto para sus
tomas véase Figura 2-15.
Figura 2-15 Fotografía en luz ambiente y salud [28]
31
Luz artificial: Es la producida por medios técnicos, como bombillas o focos.
Figura 2-16 Fotografía con luz artificial [33]
2.3. Condiciones óptimas de operación Las condiciones de operación del sistema, se definen como el conjunto de recomendaciones
técnicas en las cuales el sistema operara de forma eficiente y con los mejores resultados, a lo
largo de una serie de pruebas realizadas, se constató la presencia de condiciones no ideales y de
condiciones operativas pertinentes para la realización de este proyecto.
La luz es uno de los principales factores a estudiar, ya que como se analizó en la sección
2.1, la luz influye de forma directa en la operación de este sistema, por lo cual en la Tabla 2-1,
se verán las condiciones en las que las imágenes no deben ser capturadas y en la Tabla 2-2, se
verán las condiciones en las que obtenemos buenos resultados. Tabla 2-1 Imágenes con malas condiciones de operación del sistema parte 1
Condición Imagen Observaciones
Contraluz directa
Figura 2-17 Imagen a contraluz
En la Figura 2-17 se observa que la
fuente luminosa incide de forma
directa sobre la zona de interés,
provocando que esta se vuelva
obscura.
Luz blanda - fondo inadecuado
Figura 2-18 Imagen con fondo inadecuado
Figura 2-19 Imagen con fondo inadecuado
En la Figura 2-18 y 2-19, se observa
un fondo inadecuado, además de
que la insuficiencia de luz provocando que el fondo se vea
obscuro y la imagen se pierda o en
algunos casos el color blanco solo
pueda detectarse de forma parcial.
32
Tabla 2-2 Imágenes con malas condiciones de operación del sistema parte 2
Condición Imagen Observaciones
Luz lateral - Fondo inadecuado
Figura 2-20 Imagen con fondo inadecuado
Figura 2-21 Imagen con fondo inadecuado
En la Figura 2-20 y 2-21, al igual
que en el caso anterior el fondo,
provoca que el guante no resalte, si
no que se pierda con el fondo.
Potencialmente problemático
Figura 2-22 Imagen potencialmente problemática
Figura 2-23Imagen potencialmente problemática
En las figuras 2-22 y 2-23, se
observan objetos que pueden
provocar que la zona de interés se
distorsione, provocando una mala
interpretación de la seña.
Ausencia de guante
Figura 2-24 Imagen con ausencia de guante
En la figura 2-24, se observa la
ausencia de guante en la mano del
sujeto, esto provocara que la seña
no sea interpretada de forma
correcta, por otro lado, se utiliza el
guante para homogenizar los distintos tipos de piel.
33
En las tablas 2-1 y 2-2, se puede constatar que la iluminación, la orientación de la luz, el
fondo de la imagen e incluso la ausencia del guante blanco son factores muy importantes, ya que
una mala combinación de estos factores provocara que la forma de la mano con el guante se
pierda o en casos extremos cambie de color blanco a colores muy obscuros, cabe mencionar que
la orientación de la luz es muy importante ya que si tenemos a la fuente de luz al frente o al lado
del dispositivo provocará que la imagen no sea adecuada para el procesamiento, finalmente la
ausencia de guante provocaría una situación similar, en la cual el sistema puede llegar a
confundirse y a dar resultados erróneos.
Tabla 2-2 Imágenes con las condiciones operativas pertinentes
Condición Imagen Observaciones
Luz frontal y fondo obscuro
Figura 2-25 Buena condición de imagen (luz frontal y
fondo obscuro)
Figura 2-26 Buena condición de imagen (luz frontal y
fondo obscuro)
Figura 2-27 Buena condición de imagen (luz frontal y
fondo obscuro)
En las Figuras 2-23, 2.24 y 2-25, se
puede ver como la luz frontal y el
fondo obscuro, pueden hacer que la perspectiva de la mano no se pierda,
si no que resalte más en la imagen y
cuando estas se procesen brinden
buenos resultados.
De acuerdo con el análisis de la tabla 2-2, la iluminación, el fondo y la orientación de la
luz son factores muy importantes, ya que en estos casos obtuvimos imágenes muy buenas, donde
se puede diferenciar claramente la mano con el guante de los diferentes fondos ya sea claros o
muy obscuros, por lo tanto, después de este análisis podemos definir las condiciones de operación
de nuestro sistema las cuales se anuncian a continuación:
Primeramente, debemos ubicar las fuentes de iluminación y la intensidad de estas, ya que
algunas son más brillantes que otras en especial la luz solar.
34
Capturar la imagen en posición opuesta a la fuente de luz, es decir con la luz reflejada por
la mano con el guante véase Figura 2-30.
Figura 2-28 Luz reflejada por la mano con el guante [28]
Utilizar un fondo obscuro, esto con el objetivo de resaltar a la mano con el guante lo más
posible del resto de los objetos en la imagen véase Figura 2-31.
Figura 2-29 Imagen de mano con guante con fondo obscuro
2.4. Procesamiento de imágenes El procesamiento de imágenes, puede definirse como el conjunto de procedimientos que se
realizan sobre una imagen para su almacenamiento, transmisión o tratamiento según algunos
autores, el procesamiento de imágenes es una disciplina de investigación de por sí. Otros dicen
que es parte de un proceso del más alto nivel denominado análisis automatizado de imágenes.
Algunos establecen que recibe como entrada una imagen, por ejemplo, f(x,y) y produce
como salida otra imagen: g(x,y), con las mismas dimensiones que la imagen de entrada; otros
mencionan que el procesamiento de imágenes, aparte de recibir como entrada una imagen,
produciendo como salida otra imagen con las mismas dimensiones que la entrada, puede también
ser utilizado para entregar un resultado de más alto nivel como posea ser la identidad de los
objetos presentes en dicha imagen de entrada [34, p. 20].
En el análisis automatizado de una imagen, existen diversos paradigmas descritos en la
literatura. Como se menciona en el libro Digital Image Processing [35], uno de los más
reconocidos, el autor considera que intervienen en el procesamiento e interpretación de imágenes
las siguientes etapas:
1. Captación de la imagen: La cual se puede llevar a cabo a través de diferentes
dispositivos, como una cámara analógica o digital, un escáner u otro dispositivo.
2. Pre procesamiento: Consiste en la atenuación del ruido en la imagen, el mejoramiento
del contraste, así como filtrados para eliminación de artefactos, entre otros.
35
3. Segmentación: Se define como la partición de una imagen en un conjunto de regiones
no solapadas y homogéneas con respecto a algún criterio, cuya unión cubre la imagen
entera.
4. Representación: Su objetivo es llevar los datos de cada uno de los objetos o regiones
segmentados a formas en que la computadora pueda trabajar con ellos de manera más
apropiada.
5. Descripción: Consiste en capturar las diferencias esenciales entre objetos pertenecientes
a clases diferentes.
6. Detección, reconocimiento, análisis o interpretación de la imagen: La detección es el
procedimiento que consiste en decir si una instancia de un objeto dado se encuentra
presente en una imagen, y esto sobre la base del conjunto de datos extraídos. El
reconocimiento, es el procedimiento que asigna una determinada etiqueta a un objeto a
partir de la información proporcionada por sus descriptores. La interpretación es la que
determina el significado de un conjunto de objetos previamente reconocidos véase Figura
2-27.
El nivel de profundización de cada una de estas etapas depende de varios factores como pueden
ser: la calidad de la imagen original, el hardware empleado en la adquisición, los métodos
utilizados en el procesamiento y el objetivo de la aplicación.
Figura 2-30 Diferentes etapas durante el procesamiento de imágenes
36
2.4.1. Técnicas de pre-procesamiento de imágenes El objetivo del pre-procesamiento es conseguir técnicas que mejoren la calidad y/o la apariencia
de la imagen original. Además, se resaltan ciertas características de la imagen (contraste y
contornos) que ocultan o eliminan otras (ruido) [36].
Primeramente, el lector conocerá las técnicas se conversión a escala de grises, posteriormente
las operaciones que se realizan en el mejoramiento digital de imágenes se pueden clasificar en
tres grupos: operaciones puntuales, operaciones locales y operaciones globales, y finalmente las
técnicas de Binarización de la imagen. Cabe mencionar que en cada una de las etapas antes
mencionadas se encontraran una serie de pruebas cualitativas (calidad de la imagen) y
cuantitativas (tiempo de procesamiento), de las cuales al final de la presente subsección se elegirá
una técnica, la cual será utilizada para la implementación del módulo de adecuación del presente
proyecto terminal.
2.4.1.1. Técnicas para la conversión de una imagen (RGB) a escala de grises
La escala de grises es la representación de una imagen, en la que cada pixel se dibuja usando un
valor numérico individual que representa su luminancia, en una escala que se extiende entre
blanco y negro.
Existen algunas técnicas de conversión las cuales son:
Técnica del método de promedio: Se toman todos los componentes de color (R, G, B)
y se dividen por tres como se muestra a continuación:
𝑃(𝑥, 𝑦) =𝑅 + 𝐺 + 𝐵
3
El algoritmo en si es bastante simple, este realiza un muy buen trabajo, pero tiene algunas
desventajas (realiza un trabajo pobre desde el punto de vista de cómo el ser humano
percibe la luminosidad) véase imagen 2-31 [37].
Figura 2-31 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de promedio
Técnica del método de luminosidad: Se basa en el cálculo de los valores en función de
la luminosidad. Este método es una versión más sofisticada del método anterior. Este
también promedia los valores, sino que forma una media ponderada para dar cuenta de la
percepción humana. Es decir, el ser humano es más sensible al color verde que a otros
colores, por lo cual el verde se pondera más fuertemente. Existen diversos métodos para
este cálculo anunciaremos varias, pero en este proyecto se utilizará la primera forma [37].
𝑃(𝑥, 𝑦) = 0.21 ∗ 𝑅 + 0.71 ∗ 𝐺 + 0.07 ∗ 𝐵
37
Figura 2-32 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de
luminosidad
Técnica del método de desaturación: Este método aprovecha la capacidad de tatar el
espacio RGB como un cubo de 3 dimensiones. Este aproxima a un valor de luminancia
para cada pixel por la elección en un punto correspondiente en el eje neutral del cubo.
Pero una manera más sencilla de realizar este proceso es encontrar el punto máximo y el
punto mínimo como se muestra a continuación [37].
𝑃(𝑥, 𝑦) =min(𝑅, 𝐺, 𝐵) +max(𝑅, 𝐺, 𝐵)
2
Figura 2-33 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de
desaturación
Técnica del método de descomposición mínima y máxima: Este método se basa en
tomar el valor más alto o más bajo y ese es el valor que se establece. La descomposición
máxima produce imágenes en grises brillantes, mientras que la mínima produce más
obscuras. Este algoritmo es realmente sencillo, ya que solo hay que tomar los valores
mínimos y máximos a partir del método anterior de la manera que sigue [37]
o Descomposición mínima
𝑃(𝑥, 𝑦) = min(𝑅, 𝐺, 𝐵)
Figura 2-34 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de
descomposición mínima
38
o Descomposición máxima
𝑃(𝑥, 𝑦) = max(𝑅, 𝐺, 𝐵)
Figura 2-35 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de
descomposición máxima
Técnica del método de un solo canal de color: Este también es uno de los métodos más
simples para producir una imagen en tonos grises, ya que utiliza menos recursos. Para la
imagen de salida nos fijamos solamente en los valores de un determinado color. Si somos
observadores el color verde produce un mejor resultado (esto a que el ojo humano ve
mejor el verde, y la razón es que tenemos más foto receptores del cono sensibles al verde
en la retina que para otros colores) [37].
o Elección del canal rojo:
𝑃(𝑥, 𝑦) = 𝑅
Figura 2-36 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de elección
del canal rojo
o Elección del canal verde:
𝑃(𝑥, 𝑦) = 𝐺
Figura 2-37 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de elección
del canal verde
39
o Elección del canal azul:
𝑃(𝑥, 𝑦) = 𝐵
Figura 2-38 Imagen original del lado izquierdo e imagen procesada del lado derecho con la técnica del método de elección
del canal azul
2.4.1.2. Técnicas para el mejoramiento de una imagen en escala de grises
En esta subsección se conocerán una serie de técnicas, las cuales nos permiten resaltar o mejorar
algunos aspectos de una imagen en escala de grises, como por ejemplo mejorar el contraste,
obtener el negativo de una imagen, el reajuste de los tonos de grises para que sea visibles o no
determinados objetos en las imágenes, entre otros.
2.4.1.2.1. Operaciones puntuales
Las operaciones puntuales son llamadas así, debido a que se aplica una función f a cada pixel de
la imagen, es decir, el valor inicial del pixel es cambiado y el nuevo valor se obtiene de
q(x,y)=f[p(x,y)] [38]. Algunos tipos de operaciones puntuales son:
Técnica ajuste de histogramas: Consiste en el mejoramiento del contraste, obteniendo
para la imagen de salida un histograma de forma específica. Una de las formas más
conocidas y clásica del ajuste de histogramas es la ecualización o linealización, la cual
pretende que la imagen tenga una distribución uniforme sobre toda la escala de grises tal
y como se muestra en la Figura 2.39 [39, pp. 80-87].
Figura 2-39 Ecualización del histograma. En la parte superior se encuentra la imagen e histograma original. En la parte
inferior se observa la imagen e histograma tras un proceso de ecualización [40]
40
Técnica de modificación de ganancia: Es una operación muy utilizada para el
mejoramiento del contraste de una imagen. El resultado obtenido es el negativo de la
imagen como puede observarse en la Figura 2-44 [41].
Figura 2-40 Imagen original y su imagen negativa [42]
Técnica de la transformación logarítmica paramétrica: El efecto de esta
transformación es dispersar los pixeles de valores más bajos y comprimir los tonos más
claros de forma tal que detalles en las áreas obscuras se hacen más visibles a expensas de
disminuir los detalles en las zonas más claras. La Figura 2-45 muestra una imagen con
efecto de la transformación logarítmica paramétrica [39, p. 89].
Figura 2-41 Imagen original y efecto de la transformación logarítmica paramétrica [43]
Técnica de la transformación de la escala de nivel de gris: Muchas veces los niveles
de grises de los objetos aparecen concentrados solamente en una parte de la escala, lo
cual no es apropiado para algunos tipos de transformaciones, pues dicho objeto puede
estar rodeado de un fondo compuesto por otras estructuras de más brillantez. Por medio
del histograma de la imagen puede observarse el rango de la escala de grises, permitiendo
reajustar los valores de gris de los objetos y del fondo de la imagen véase Figura 2-46
[39, pp. 92-93].
Figura 2-42 Imagen original e imagen resultado de la transformación
41
2.4.1.2.2. Operaciones locales
Las operaciones locales permiten realizar un análisis más preciso de grises y toman en cuenta el
comportamiento estadístico de los tonos de grises y la correlación existente entre ellos, incluso
en situaciones donde la iluminación es variable. La principal desventaja que presentan las
operaciones locales, es su costo computacional [39, p. 74].
2.4.1.2.3. Operaciones Globales
Una operación sobre una imagen de entrada se dice ser global cuando su resultado depende en
un punto de la imagen de salida, siendo resultado en gran parte de los valores de los pixeles de
la imagen de entrada [85], es utilizada principalmente para transformación a imagen binaria.
2.4.1.3. Técnicas para la binarización de una imagen en escala de grises
La binarización de una imagen es un proceso que conlleva a conocer de forma muy precisa las
necesidades del proyecto, ya que en determinado caso puede que el desarrollador necesite una
imagen donde un parámetro sea el límite para que un determinado rango de valores en un pixel
se convierta a 0 o a 1, ahora se conocerán algunas técnicas de Binarización encontradas en la
bibliografía.
Técnica del método de umbral - Otsu: El algoritmo supone que la imagen que contiene
umbrales concretos contiene dos clases de pixeles o histograma bi-modal (por ejemplo,
primer y segundo plano), posteriormente calcula el umbral optimo que separa estas dos
clases de modo que su propagación combinada (varianza intra-clase) es mínimo. Sus
principales ventajas son la velocidad y la facilidad de la aplicación [37].
Técnica del método de Niblack: La técnica planteada por Niblack se basa esencialmente
en el cálculo del promedio de las intensidades 𝐼(𝑥, 𝑦)de la vecindad 𝑁(𝑥, 𝑦).
𝑇(𝑥, 𝑦) = 𝑚𝑒𝑎𝑛(𝑁(𝑥, 𝑦)) + {𝐾𝑥𝐷𝑒𝑠𝑣𝑒𝑠𝑡(𝑁(𝑥, 𝑦))}
De otro modo, este agrega un aporte que es proporcionado por la desviación
estándar de los valores de la ventana, los cuales son multiplicados por un factor k el cual
toma valores de 0.2 para objetos brillantes y de -0.2 para objetos opacos. Niblack
considera que K es un valor que debe estar entre -1 y 0. El umbral 𝑇(𝑥, 𝑦) se determina
mediante la ecuación anterior para cada uno de los pixeles [p, I(p)] de la vecindad [44].
Técnica del método de Sauvala: Se determina mediante el promedio de la intensidad
𝐼(𝑥, 𝑦)y la desviación estándar encontrada dentro de los pixeles de la vecindad 𝑁(𝑥, 𝑦) definida por la máscara de orden nxm. Mediante la siguiente ecuación se puede
determinar el umbral T (x, y) del pixel [p, I(p)].
𝑇(𝑥, 𝑦) = 𝑚𝑒𝑎𝑛(𝑁(𝑥, 𝑦))𝑥[1 + {𝐾𝑥𝐷𝑒𝑠𝑣𝑒𝑠𝑡(𝑁(𝑥, 𝑦))
𝑅− 1}]
Donde R es el máximo valor de la desviación estándar de umbral posible, siendo
R=128 si se entiende la intensidad máxima como 255. K es un valor que varía entre 0.2
y 0.5 [44].
2.4.2. Pruebas de las Técnicas de pre procesamiento de imágenes Una parte esencial de conocer diferentes técnicas que podrían integrar un proyecto, es generar
una serie de pruebas que permitan seleccionar la mejor por medio de una serie de métricas, por
ejemplo: el tiempo que tardo en procesarse la imagen con cada una de las técnicas, y la calidad
de la imagen, resultado de dicho proceso.
42
2.4.2.1. Pruebas de las técnicas para la conversión de una imagen (RGB) a escala de grises
En esta subsección se presentan las pruebas cualitativas (calidad de la imagen) y cuantitativas
(tiempo de procesamiento), de las cuales se decidirá cuál es el mejor algoritmo para ser utilizado
en este proyecto.
2.4.2.1.1. Análisis Cuantitativo
A lo largo del análisis cuantitativo, se utilizaron cuarenta y tres imágenes con características con
las condiciones óptimas de operación, de las cuales se midió el tiempo de procesamiento de forma
individual y se determinó el promedio del tiempo de procesamiento, se seleccionó el tiempo
mayor de procesamiento, el cual se consideró como el peor caso y el mejor tiempo que se
consideró como el mejor tiempo en la tabla 2-3, se puede ver el desglose de tiempos por técnica.
Tabla 2-3 Cuadro comparativo entre los diferentes tiempos de procesamiento (mejor, peor y el promedio) en la conversión de una imagen (RGB) a escala de grises
Técnicas probadas Análisis de los diferentes tiempos de procesamiento en la conversión de una
imagen (RGB) a escala de grises
Mejor tiempo Peor tiempo Tiempo promedio
Técnica del método del
promedio 0.125 s 1 s 0.405 s
Técnica del método de
luminosidad
0.111 s 1 s 0.383 s
Técnica del método de
desaturación
1 s 5.865 s 1.63 s
Técnica del método de
descomposición máxima
1 s 6.752 s 1.469 s
Técnica del método de
descomposición mínima
1 s 2.449 s 1.222 s
Técnica del método de
un solo canal de color
rojo
0.103 s 1 s 0.4137 s
Técnica del método de
un solo canal de color
verde
0.104 s
1 s 0.356 s
Técnica del método de
un solo canal de color
azul
0.117 1s 0.367 s
A lo largo del análisis de tiempos de cada una de las técnicas se pudo constatar que existen
diversas técnicas que procesan una imagen en un tiempo inferior a 0.5 s, como lo es la técnica
del método de un solo canal de color y la técnica del promedio, el criterio de desempate será la
calidad de imagen que brinden dichas técnicas.
43
2.4.2.1.2. Análisis Cualitativo
El análisis cualitativo fue realizado utilizando tres ejemplos con diferente fondo, pero
cumpliendo con las características de operación pertinente, esto ayudo a su mejor comparación
con las diversas técnicas citadas con anterioridad en el capítulo 2, en las tablas 2-4 y 2-5, se
muestran tres ejemplos con cada algoritmo.
Tabla 2-4 Tabla comparativa de las técnicas de conversión de RGB a escala de grises parte 1
Pruebas de conversión de RGB a escala de grises realizadas sobre tres imágenes que
cumplen las condiciones de operación.
Imagen 1 Imagen 2 Imagen 3
Imágenes
originales
Figura 2-43 Ejemplo 1 imagen RGB
Figura 2-44Ejemplo 2 imagen RGB
Figura 2-45 Ejemplo 3 imagen RGB
Técnica del
método del
promedio
Figura 2-46 Ejemplo 1 imagen procesada con
la Técnica del método del promedio
Figura 2-47 Ejemplo 2 imagen procesada con
la Técnica del método del promedio
Figura 2-48 Ejemplo 3 imagen procesada con la
Técnica del método del promedio
Técnica del
método de
luminosidad
Figura 2-49 Ejemplo 1 imagen procesada con
la Técnica del método de luminosidad
Figura 2-50 Ejemplo 2 imagen procesada con
la Técnica del método de luminosidad
Figura 2-51 Ejemplo 3 imagen procesada con la
Técnica del método de luminosidad
Técnica del
método de
desaturación
Figura 2-52 Ejemplo 1 imagen procesada con
la Técnica del método de desaturación
Figura 2-53 Ejemplo 2 imagen procesada con
la Técnica del método de desaturación
Figura 2-54 Ejemplo 3 imagen procesada con la
Técnica del método de desaturación
Técnica del
método de
descomposición
máxima
Figura 2-55 Ejemplo 1 imagen procesada con
la Técnica del método de descomposición
máxima
Figura 2-56 Ejemplo 2 imagen procesada con
la Técnica del método de descomposición máxima
Figura 2-57 Ejemplo 3 imagen procesada con la
Técnica del método de descomposición máxima
44
Tabla 2-5 Tabla comparativa de las técnicas de conversión de RGB a escala de grises parte 2
Pruebas de conversión de RGB a escala de grises realizadas sobre tres imágenes que
cumplen las condiciones de operación.
Imagen 1 Imagen 2 Imagen 3
Técnica del
método de
descomposición
mínima
Figura 2-58 Ejemplo 1 procesado con la Técnica del método de descomposición mínima
Figura 2-59 Ejemplo 2 procesado con la
Técnica del método de descomposición
mínima
Figura 2-60 Ejemplo 3 procesado con la Técnica
del método de descomposición mínima
Técnica del
método de un
solo canal de
color rojo
Figura 2-61 Ejemplo 1 procesado con la
Técnica del método de un solo canal de color
rojo
Figura 2-62 Ejemplo 2 procesado con la
Técnica del método de un solo canal de color
rojo
Figura 2-63 Ejemplo 3 procesado con la Técnica
del método de un solo canal de color rojo
Técnica del
método de un
solo canal de
color verde
Figura 2-64 Ejemplo 1 procesado con la Técnica del método de un solo canal de color
verde
Figura 2-65 Ejemplo 2 procesado con la
Técnica del método de un solo canal de color verde
Figura 2-66 Ejemplo 3 procesado con la Técnica
del método de un solo canal de color verde
Técnica del
método de un
solo canal de
color azul
Figura 2-67 Ejemplo 1 procesado con la
Técnica del método de un solo canal de color
azul
Figura 2-68 Ejemplo 2 procesado con la
Técnica del método de un solo canal de color azul
Figura 2-69 Ejemplo 3 procesado con la Técnica
del método de un solo canal de color azul
45
Tabla 2-6 Evaluación de calidad de la imagen conversión RGB a escala de grises
Técnica % de Aceptación
Método del promedio 66.51
Método de luminosidad 63.25
Método de desaturación 46.51
Método de descomposición Máxima 79.53
Método de descomposición Mínima 73.95
Método de selección de un solo canal Rojo 82.55
Método de selección de un solo canal Verde
83.02
Método de selección de un solo canal Azul 70.46
2.4.2.1.3. Conclusiones
Después de analizar el tiempo de procesamiento de cada una de las imágenes y la calidad de las
mismas, mediante la evaluación de las mismas por 10 evaluadores, ya que quedaba en duda el
decidir cuál técnica utilizar ya que la técnica del promedio y la de selección de un canal,
presentan resultados muy similares, pero de acuerdo a los datos que se obtuvieron en tiempo de
procesamiento, podemos constatar que el algoritmo de selección por canal, específicamente por
canal verde brinda los mejores resultados, así como un tiempo de procesamiento de
aproximadamente de medio segundo, así como una aceptación del 83%.
2.4.2.2. Pruebas de las técnicas para el mejoramiento de una imagen en escala de grises
Al igual que en caso anterior se realizará un análisis cuantitativo y cualitativo de un conjunto de
imágenes que nos ayudará a decidir que técnica utilizar.
2.4.2.2.1. Análisis Cuantitativo
De forma análoga al caso anterior, el análisis de tiempo nos permite conocer cuento tardara una
técnica en brindar un determinado resultado, en la tabla 2-6 se muestran el tiempo mejor, que es
el tiempo más pequeño obtenido, el peor, el mayor tiempo obtenido y el promedio de todos.
Tabla 2-7 Cuadro comparativo entre los diferentes tiempos de procesamiento (mejor, peor y el promedio) en la adecuación de
una imagen en escala de grises
Técnicas probadas Análisis de los diferentes tiempos de procesamiento en la adecuación de una
imagen en escala de grises.
Mejor tiempo Peor tiempo Tiempo promedio
Técnica del método de
ajuste de histograma
0.011 s 0.988 s 0.248 s
Técnica del método de
modificación de
ganancia
0.010 s 0.994 s 0.359
Técnica del método de
transformación
logarítmica
0.164 s 1 s 0.513 s
Técnica del método de
transformación de la
escala a nivel de gris.
0.010 s 0.982 s 0.228 s
46
2.4.2.2.2. Análisis Cualitativo
En esta etapa lo que ocurre, es que la imagen entrante en escala de grises entra en una etapa de
mejora, lo que sucede en esta etapa es mejora del contraste de la imagen, y otros son medio
como medio de comunicación. Tabla 2-8 Tabla comparativa de las técnicas de adecuación de las imágenes en escala de grises
Imagen 1 Imagen 2 Imagen 3
Imágenes
originales
Figura 2-70 Ejemplo 1 procesado con la
Técnica del método de un solo canal de color verde
Figura 2-71 Ejemplo 2 procesado con la Técnica
del método de un solo canal de color verde
Figura 2-72 Ejemplo 3 procesado con la Técnica
del método de un solo canal de color verde
Técnica ajuste
de histograma
Figura 2-73 Ejemplo 1 procesado con la
Técnica de ajuste de histograma
Figura 2-74 Ejemplo 2 procesado con la Técnica
de ajuste de histograma
Figura 2-75 Ejemplo 3 procesado con la Técnica
de ajuste de histograma
Técnica de
modificación
de ganancia
Figura 2-76 Ejemplo 1 procesado con la Técnica
de ajuste de modificación de ganancia
Figura 2-77 Ejemplo 2 procesado con la Técnica
de modificación de ganancia
Figura 2-78 Ejemplo 3 procesado con la
Técnica de modificación de ganancia
Técnica
transformació
n logarítmica
Figura 2-79 Ejemplo 1 procesado con la Técnica
de transformación logarítmica
Figura 2-80 Ejemplo 2 procesado con la Técnica
de transformación logarítmica
Figura 2-81 Ejemplo 3 procesado con la
Técnica de transformación logarítmica
Técnica de
transformació
n de la escala
a nivel de gris
Figura 2-82 Ejemplo 1 procesado con la Técnica
de la escala a nivel de gris
Figura 2-83 Ejemplo 2 procesado con la Técnica
de la escala a nivel de gris
Figura 2-84 Ejemplo 3 procesado con la
Técnica de la escala a nivel de gris
47
Tabla 2-9 Evaluación de calidad de la imagen ecualizada
Técnica % de Aceptación
Método de ajuste histograma
74.41
Método de ganancia 73.02
Método de transformación logarítmica
59.53
Método de transformación de la escala a nivel de gris
53.25
2.4.2.2.3. Conclusiones
A lo largo de esta etapa se pueden ver las grandes diferencias entre las diferentes técnicas de
mejoramiento antes mencionadas, ya que en algunos casos la imagen que nos brinda la técnica
no es lo que el sistema requiere, por lo cual quedan descartadas, esto tomando en cuenta l10
personas diferentes y se llago a la conclusión de que la única que brinda un resultado útil es la
Técnica de histograma.
2.4.2.3. Pruebas de las técnicas para la binarización de una imagen en escala de grises
Como sabemos la binarización, es una de las técnicas utilizadas en este proyecto, ya que esta nos
permite generar una representación de los colores de una imagen en colores RGB a una
representación a binaria, lo que nos ayuda a que nuestras imágenes sean procesadas con mayor
rapidez y agilidad, porque las zonas de interés se encuentran mayoritariamente notorias.
2.4.2.3.1. Análisis Cuantitativo
Al igual que en los casos anteriores el análisis cuantitativo nos ayudará a saber cuánto se tardará
un método en llevare a cabo.
Tabla 2-10 Cuadro comparativo entre los diferentes tiempos de procesamiento (mejor, peor y el promedio) en el proceso de
binarización de una imagen en escala de grises
Técnicas probadas Análisis de los diferentes tiempos de procesamiento en la conversión de una
imagen en escala de grises a binario
Mejor tiempo Peor tiempo Tiempo promedio
Técnica del método del
umbral de Otsu
0.718 s 6.022 s 1.958 s
Técnica del método de
Niblack
0.106 s 1 s 0.652 s
Técnica del método de
Saovala
0.102 s 1 s 0.710 s
2.4.2.3.2. Análisis Cualitativo
En el caso de la binarización de las imágenes en escala de grises a blanco y negro, este se podrá
llevar a cabo por medio de tres métodos el Umbral- Otsu, Niblack y Sauvola. Los cuales tienen
diferente resultado lo cual será analizado con base en la tabla 2-10.
48
Tabla 2-11 Tabla comparativa de las técnicas de binarización de imágenes en escala de grises
Imagen 1 Imagen 2 Imagen 3
Imágenes
originales
Figura 2-85 Ejemplo 1 procesado con la
Técnica de la escala a nivel de gris
Figura 2-86 Ejemplo 2 procesado con la
Técnica de la escala a nivel de gris
Figura 2-87 Ejemplo 3 procesado con la Técnica
de la escala a nivel de gris
Técnica del
método de
umbral de
Otsu
Figura 2-88 Ejemplo 1 procesado con la
Técnica del método de umbral de Otsu
Figura 2-89 Ejemplo 2 procesado con la
Técnica de umbral de Otsu
Figura 2-90 Ejemplo 1 procesado con la Técnica
de umbral de Otsu
Técnica del
método de
Niblack
Figura 2-91Ejemplo 1 procesado con la
Técnica del método de Niblack
Figura 2-92 Ejemplo 2 procesado con la Técnica del método de umbral de Niblack
Figura 2-93Ejemplo 3 procesado con la Técnica
del método de umbral de Otsu
Técnica del
método de
Sauvala
Figura 2-94Ejemplo 1 procesado con la
Técnica del método de Sauvala
Figura 2-95 Ejemplo 2 procesado con la
Técnica del método de Sauvala
Figura 2-96 Ejemplo 1 procesado con la Técnica
del método de Sauvala
Tabla 2-12 Evaluación de calidad de la imagen binarizada
Técnica % de Aceptación
Método de umbral de Otsu 59.53
Método de Niblack 42.09
Método de Sauvala 52.32
2.4.2.3.3. Conclusiones
Después de analizar la tabla 2-11 y la tabla 2-12, se constató que el método del umbral de Otsu
es el mejor, ya que es el único que destaca la región de interés como se requiere por este proyecto,
por lo tanto, los demás se descartan, esto además de considerar el análisis de 10 personas
diferentes.
49
2.4.2.4. Conclusiones Pre procesamiento
Después de un vasto análisis de diversos tiempos y resultados en tablas, finalmente se llegó a la
decisión de que algoritmos utilizar en esta primera etapa de pre procesamiento, los cuales son:
Técnica del método de un solo canal de color “verde”
Técnica del histograma
Técnica de umbral de Otsu
Esto porque son las que cumplen ya sea con la especificación del proyecto, o por ser las más
adecuadas por tiempo y calidad de imagen.
2.4.3. Técnicas de segmentación de imágenes El objetivo fundamental de la segmentación en el proceso del análisis de imágenes, es el de
separar los objetos de interés del resto no relevante el cual es considerado como fondo [45]. Los
métodos clásicos de segmentación se pueden categorizar como:
Métodos basados en técnicas de umbralado a partir del histograma de la imagen: En
este caso, a partir del histograma de una imagen es posible obtener un umbral de
comparación para el agrupamiento de los píxeles.
El método de Otsu es una de las técnicas más utilizadas para la obtención
automática del umbral para la segmentación de una imagen. En este caso, el umbral se
considera como el valor que permite la partición en dos clases, es decir, el objeto y el
fondo [39, pp. 155-163].
Figura 2-97 Método de Otsu. a) Imagen binaria usando método de Otsu; b) Imagen original con el borde usando método de Otsu [46]
Métodos basados en técnicas de formación de regiones: La segmentación de imágenes
en regiones se basa en el agrupamiento de píxeles en zonas con características similares.
Los métodos pertenecientes a esta categoría se pueden dividir en supervisados (el
observador determina el número de clases o regiones de la imagen a segmentar) y no
supervisados (el método debe ser capaz de determinar el número de regiones en las cuales
la imagen debe ser segmentada, para lo que debe considerar algún criterio).
50
El crecimiento de regiones por agrupamiento de píxeles, es un algoritmo que
comienza con un conjunto de puntos generadores o semillas (nivel de gris de un píxel en
la imagen) a partir de los cuales las regiones irán creciendo [47].
Métodos basados en técnicas de detección de discontinuidades: En este caso, la
imagen en cuestión es dividida a partir de cambios bruscos de niveles de grises. Los
métodos más representativos de esta clase son: detección de puntos, bordes y líneas;
detección de bordes mediante el cálculo del gradiente, detección de bordes a través del
Laplaciano y otras formas de detección de bordes usando el operador de homogeneidad,
el operador diferenciador y el operador de canny [39, pp. 173-200].
Figura 2-98 Segmentación por detección de puntos [48]
Figura 2-99 Segmentación por detección de líneas [48]
Figura 2-100 Segmentación por detección de contornos [48]
Métodos basados en técnicas de propiedad de similitud de los valores de los niveles
de grises: En este caso se usan criterios de homogeneidad para la agrupación de los
píxeles [49, p. 37].
Métodos basados en características: Utiliza como característica solamente la
luminancia de cada pixel. Útil si distintos objetos se corresponden con niveles de gris
diferentes. El nivel de gris determina alguna propiedad física en una imagen especifica
de una aplicación (Rayos X, RMN, bandas en satélite, etc.)
51
Figura 2-101 Segmentación basada en características [50]
Métodos heurísticos de segmentación: Estos métodos basan su operación en el
conocimiento previo de la imagen a segmentar y en la experiencia del observador, e
incluyen en muchas ocasiones los métodos supervisados de segmentación [39, p. 157].
Figura 2-102 Esquema que representa al proceso de segmentación
2.4.4. Pruebas de las Técnicas segmentación de imágenes Como sabemos por lo estudiado en la sección anterior, la segmentación de imágenes nos permite
extraer características importantes de la imagen, para poder procesarla en una etapa posterior,
ahora se realizará un análisis cuantitativo y cualitativo, en el cual el primer factor a considerar es
la calidad de la imagen.
2.4.4.1. Análisis Cuantitativo
En la tabla 2-11, se realiza una comparativa entre el tiempo que tardo el procesar una imagen
un método y otro. Tabla 2-13 Cuadro comparativo entre los diferentes tiempos de procesamiento (mejor, peor y el promedio) en el proceso de
segmentación de una imagen binaria
Técnicas probadas Análisis de los diferentes tiempos de procesamiento
en segmentación de una imagen binaria
Mejor tiempo Peor tiempo Tiempo promedio
Técnica del método de Otsu 0.011 s 0.986 s 0.345 s
Métodos basados en características 0.010 s 1 s 0.509 s
Métodos basados en técnicas de formación de
regiones.
“Líneas”
0.110 s 1 s 0.522 s
Métodos basados en técnicas de detección de
discontinuidades.
“Líneas”
0.111 s 0.977 s 0.345 s
Métodos basados en técnicas de detección de
discontinuidades.
“Bordes mediante gradiente”
0.010 s 1 s 0.491 s
2.4.4.2. Análisis Cualitativo
En la tabla 2-12 se desglosa el análisis por algoritmo y tres ejemplos de los resultados que nos
brinda cada una de las técnicas descritas en la bibliografía, se invita al usuario a revisarlas y a
deducir la mejor para este proyecto.
52
Tabla 2-14 Tabla comparativa de las técnicas de segmentación
Imagen 1 Imagen 2 Imagen 3
Imágenes
originales
Figura 2-103 Ejemplo 1 procesado con la Técnica
del método de umbral de Otsu
Figura 2-104 Ejemplo 2 procesado con la Técnica
del método de umbral de Otsu
Figura 2-105 Ejemplo 3 procesado con la Técnica
del método de umbral de Otsu
Técnica del
método de Otsu
Figura 2-106 Ejemplo 1 procesado con la Técnica
del método de Otsu
Figura 2-107 Ejemplo 2 procesado con la Técnica
del método de Otsu
Figura 2-108 Ejemplo 3 procesado con la Técnica
del método de Otsu
Métodos basados
en características
Figura 2-109 Ejemplo 1 procesado con Métodos
basados en características
Figura 2-110 Ejemplo 2 procesado con Métodos
basados en características
Figura 2-111 Ejemplo 3 procesado con Métodos
basados en características
Métodos basados
en técnicas de
formación de
regiones.
“Líneas”
Figura 2-112 Ejemplo 1 procesado con
Formación de regiones "Líneas"
Figura 2-113 Ejemplo 2 procesado con Formación
de regiones "Líneas"
Figura 2-114 Ejemplo 3 procesado con Formación
de regiones "Líneas"
Métodos basados
en técnicas de
detección de
discontinuidades.
“puntos”
Figura 2-115 Ejemplo 1 procesado con
Formación de regiones "Puntos"
Figura 2-116 Ejemplo 2 procesado con Formación
de regiones "Puntos"
Figura 2-117 Ejemplo 3 procesado con Formación
de regiones "Puntos"
53
Tabla 2-15 Tabla comparativa de las técnicas de segmentación parte 2
Imagen 1 Imagen 2 Imagen 3 Métodos basados
en técnicas de
detección de
discontinuidades.
“Bordes
mediante
gradiente”
Figura 2-118 Ejemplo 1 procesado mediante
Métodos basados en técnicas de detección de
discontinuidades
Figura 2-119 Ejemplo 2 procesado mediante
Métodos basados en técnicas de detección de
discontinuidades
Figura 2-120 Ejemplo 3 procesado mediante
Métodos basados en técnicas de detección de
discontinuidades
Tabla 2-16 Evaluación de calidad de la imagen segmentada
Técnica % de Aceptación
Método de Otsu 55.81
Métodos basados en características
3.95
Métodos basados en técnicas de formación de regiones. “Líneas”
5.11
Métodos basados en técnicas de detección de discontinuidades. “puntos”
0
Métodos basados en técnicas de detección de discontinuidades. “Bordes mediante gradiente”
6.51
2.4.4.3. Conclusiones
A lo largo de un análisis muy cuidadoso de las técnicas de segmentación se decidió que, por
tiempo y calidad de la imagen, las técnicas del método de Otsu y los métodos de detección de
discontinuidades, son los que nos proveen de las imágenes con características necesarias para
este proyecto, pero por análisis de tiempo Otsu, se considera la mejor técnica, por lo que queda
a consideración del desarrollador escoger cual técnica es mejor, tomando en cuenta la opinión de
10 personas seleccionadas para el análisis de las imágenes resultantes resulto que el Método de
Otsu presenta los resultados esperados para realizar este proyecto.
2.4.5. Técnicas de extracción de rasgos descriptores La etapa más compleja para diseñar un sistema de reconocimiento automático es la extracción
de rasgos descriptores. Existe un procedimiento asentado a la hora de calcular rasgos, que se
inspira en el concepto de momento general de una función bidimensional (f,x) acotada y cerrada
en el plano x,y. La técnica de codificación de contornos cerrados es la codificación de cadena
que consiste en asignar a un contorno específico una cadena de símbolos que determina el
correspondiente contorno. El otro enfoque se basa en la transformada de Fourier [51].
Por otra parte, existen diversos tipos de rasgos que también son usados en la detección y el
reconocimiento de objetos. Estos rasgos son muy detectables a lo largo de secuencias de
imágenes, lo que los hace muy útiles [52, p. 87].
54
2.4.5.1. Rasgos puntuales
Principalmente se debe distinguir entre dos tipos de rasgos puntuales, los vértices y las esquinas,
aunque también existen las líneas y los esqueletos.
Vértices y esquinas
Los vértices son puntos de gran curvatura a lo largo del contorno (frontera) de la forma
de un objeto, mientras que las esquinas son producidas por la intersección de tres o más
superficies [53, p. 88].
Como en el caso de los detectores de bordes, el gradiente de una imagen es casi
siempre la base de funcionamiento de la mayoría de los detectores de esquinas. Otro
método eficiente para detectar las esquinas del contorno de una forma binaria plana, es el
conocido como detector de Tsai, este método es robusto ante traslaciones, rotaciones y
cambios de escala. Además, para estimar la prominencia de un vértice se basa en las
propiedades estadísticas y geométricas asociadas con los valores propios de la matriz de
covarianza de un conjunto de puntos del contorno del objeto sobre una pequeña región de
soporte [53, pp. 89-95].
Líneas
Las líneas son otros índices visuales bastante usados en análisis de imágenes para seguir
un objeto a lo largo de una secuencia de imágenes, así como en el modelado automatizado
de dichos objetos para su posterior detección o reconocimiento.
Para poder determinar la presencia de segmentos de línea recta en una imagen, se
puede usar el algoritmo de umbralado por histéresis (usar dos umbrales), lo que produce
como salida dos imágenes umbraladas u1(x,y) y u2(x,y).
La transformada Hough es otra técnica que ha demostrado su efectividad en la
detección de instancias de curvas complejas en una imagen. Permite enviar segmentos de
recta (de un espacio) sobre puntos (en otro espacio, el espacio de parámetros) [52, p. 96].
Figura 2-121(a) Imagen binaria, (b) su imagen de Hough, (c) Imagen de Hough con puntos de parámetros más prominentes,
(d) los diez primeros segmentos de recta por el procedimiento de Hough [54]
Esqueletos El esqueleto de una región puede definirse de varias maneras, una de ellas es a través de
la llamada transformación del eje medio (TEM). Si el esqueleto obtenido por medio de la
TEM es bastante cercano a lo deseado, es extremadamente caro de obtener. Esto involucra
calcular para cada punto dentro de la región la distancia a todos los puntos del contorno
[52, p. 100].
55
Uno de los métodos más usados para obtener el esqueleto de una región binaria
R, es el método de Zhang y Suen, que consiste en la aplicación en forma iterativa, hasta
la convergencia del algoritmo de dos pasos básicos sobre los puntos del contorno del
objeto [52, p. 102].
Figura 2-122 (a) y (b) Dos imágenes binarias con objetos de formas diferentes, (c) y (d) esqueletos de dichos objetos a través
del método de Zhang y Suen [55]
2.4.5.2. Rasgos geométricos
Un rasgo geométrico permite, como su nombre lo indica, describir una propiedad geométrica del
objeto; algunos rasgos de este tipo son: área de un objeto, perímetro de un objeto (rasgos que
pueden calcularse a partir de los píxeles integrantes de un objeto) [52, p. 115].
Área de un objeto: El área A de un objeto bidimensional binario viene dada como el
número de píxeles que forman dicho objeto (Figura 3-12) [52, p. 115].
Figura 2-123 Objeto con área de 36 pixeles [56]
Perímetro de un objeto: El perímetro P de un objeto puede ser calculado de varias
maneras, una de ellas consiste simplemente en contar el conjunto de píxeles que forman
el contorno del objeto. Un píxel es de contorno si tiene como vecino al menos un píxel
de fondo [52, p. 115].
56
Figura 2-124 Perímetro de la figura [52, p. 115].
Algunos rasgos compuestos obtenidos en función del área y del perímetro de un
objeto son: el factor de compacidad o de irregularidad (se define como el perímetro al
cuadrado del objeto dividido por 4π veces su área), el factor de regularidad o de delgadez
(esta característica mide qué tan cerca se encuentra la forma de un objeto a la de un
círculo) [57, p. 116].
2.4.5.3. Rasgos a partir de configuraciones de puntos
Los rasgos a partir de configuraciones de puntos son aquellos que se pueden extraer de
configuraciones de puntos obtenidos a partir de la región del objeto o del contorno de dicha
región [52, p. 161].
Los puntos usados para derivar dichos rasgos pueden ser las esquinas obtenidas a partir de una
imagen en niveles de gris del objeto o los vértices. La clasificación de estos rasgos como se
menciona en [58, pp. 162-175] es:
Invariantes a partir de dos puntos
o Invariantes ante translaciones: la distancia entre dos puntos es un rasgo que es
invariante ante translaciones.
o Invariantes ante rotaciones: la función distancia entre dos puntos es, asimismo,
un invariante ante rotaciones rígidas de los dos puntos.
Invariantes a partir de tres puntos
o Invariantes ante translaciones y rotaciones
o Invariantes ante reflexiones
o Invariantes ante cambios de escala
Invariantes a partir de cuatro puntos
o Invariantes a transformaciones afines
o Invariantes a transformaciones proyectivas
o Invariantes ante cambios de escala
Invariantes a partir de cinco o más puntos
Invariantes a partir de vecindades de un punto
2.4.5.4. Rasgos topológicos
Un rasgo topológico permite describir una propiedad que tiene que ver con la estructura del
objeto; el número de hoyos y el número de Euler son ejemplos de estos rasgos.
57
La característica de Euler o genus E ha sido ampliamente usada en el campo de la visión por
computadora para el reconocimiento de objetos 2-D y 3-D. Esta característica permite relacionar
el número de componentes del objeto (NC) y el número de hoyos (NH).
El número de Euler es obtenido en términos de los vértices, caras cuadradas básicas y bordes del
llamado grafo cuadrado de una imagen. Un grafo cuadrado, en este caso, es un grafo no orientado,
donde cada uno de sus nodos corresponde a un píxel en la imagen y cada uno de sus arcos
corresponde al borde que une dos píxeles cuando éstos están 4-conectados [59, pp. 177-186].
2.4.6. Técnicas de reconocimiento de imágenes El reconocimiento de imágenes se encarga de la descripción y clasificación de objetos, personas,
señales, representaciones, etc. Esta ciencia trabaja con base en un conjunto previamente
establecido de todos los posibles objetos (patrones) individuales a reconocer. El margen de
aplicaciones del reconocimiento de patrones es muy amplio, sin embargo, las más importantes
están relacionadas con la visión y audición por parte de una máquina, de forma análoga a los
seres humanos [60].
La Figura 2-14 muestra un esquema general de un sistema de reconocimiento de patrones,
en el cual el sensor tiene como propósito proporcionar una representación factible de los
elementos del universo a ser clasificados. Es un subsistema crucial ya que determina los límites
en el rendimiento de todo el sistema. La extracción de características es la etapa que se encarga,
a partir del patrón de representación, de extraer la información discriminatoria eliminando la
información redundante e irrelevante. El clasificador es la etapa de toma de decisiones en el
sistema. Su rol es asignar los patrones de clase desconocida a la categoría apropiada [61].
Algunos de los principales métodos para el reconocimiento de los objetos en una imagen, se
agrupan en técnicas estadísticas (cuentan con fundamento matemático) y las técnicas basadas en
redes neuronales artificiales.
2.4.6.1. Clasificadores neuronales
Por otra parte, los clasificadores neuronales adoptan esquemas que pueden ser entrenados con
base en muestras de cada una de las clases.
El nombre de red neural proviene de la idea de imitar el funcionamiento de las redes neuronales
de los organismos vivos: un conjunto de neuronas conectadas entre sí y que trabajan en conjunto,
sin que haya una tarea concreta para cada una. Con la experiencia, las neuronas van creando y
reforzando ciertas conexiones para "aprender" algo que se queda fijo en el tejido [62].
2.4.6.2. Redes Neuronales Artificiales
Las redes neuronales artificiales están inspiradas en la biología, esto significa que están formadas
por elementos que se comportan de manera análoga a las neuronas (en las funciones más
elementales) y están organizadas de una forma similar a la del cerebro, pero las analogías no son
muchas más [62].
Figura 2-125 Esquema general de un sistema de reconocimiento de patrones
58
Las características principales son las siguientes:
1. Auto-organización y adaptabilidad: utilizan algoritmos de aprendizaje adaptativo y
auto-organización, por lo que ofrecen mejores posibilidades de procesado robusto y
adaptativo.
2. Procesado no lineal: aumenta la capacidad de la red para aproximar funciones, clasificar
patrones y aumenta su inmunidad frente al ruido
3. Procesado paralelo: normalmente se usa un gran número de nodos de procesado, con
alto nivel de interconectividad.
El elemento básico de computación (modelo de neurona) se le llama habitualmente nodo o
unidad. Recibe un input desde otras unidades o de una fuente externa de datos. Cada input
tiene un peso asociado w, que se va modificando en el llamado proceso de aprendizaje.
Cada unidad aplica una función dada f de la suma de los inputs ponderadas mediante los
pesos. El resultado puede servir como output de otras unidades [63].
Las características de las redes neuronales artificiales juegan un importante papel, por ejemplo,
en el procesado de señales e imágenes. Se usan arquitecturas que comprenden elementos de
procesado adaptativo paralelo, combinados con estructuras de interconexiones jerárquicas.
Hay dos fases en la modelización con redes neuronales:
Fase de entrenamiento: se usa un conjunto de datos o patrones de entrenamiento para
determinar los pesos (parámetros) que definen el modelo de red neuronal. Se calculan de
manera iterativa, de acuerdo con los valores de los valores de entrenamiento, con el objeto
de minimizar el error cometido entre la salida obtenida por la red neuronal y la salida
deseada.
Fase de Prueba: en la fase anterior, el modelo puede que se ajuste demasiado a las
particularidades presentes en los patrones de entrenamiento, perdiendo su habilidad de
generalizar su aprendizaje a casos nuevos (sobreajuste).
Para evitar el problema del sobreajuste, es aconsejable utilizar un segundo grupo de datos
diferentes a los de entrenamiento, el grupo de validación, que permita controlar el proceso de
aprendizaje [63].
2.4.7. Pruebas de las Técnicas de reconocimiento de imágenes
2.4.7.1. Justificación del interés por ROI (Regions of interest)
Para fines de este proyecto, dentro de las imágenes que se captan existen objetos de interés, en este caso,
detectar las manos es una de las tareas más importantes. Cuando la imagen se procesa obteniendo su
equivalente en escala de grises, se binariza, siendo consiguiente la etapa de segmentación, en la que se
localizan o delinean regiones de interés (ROI) para su posterior análisis.
Los algoritmos de segmentación operan con variaciones de diversas características de los píxeles
que conforman las regiones interés, y se dividen en dos grupos:
59
1. Detector de regiones: reagrupación de píxeles a partir de la homogeneidad de sus
propiedades.
2. Detector de bordes: basados en las discontinuidades.
Las técnicas usadas para ello son muy diversas, desde umbralización, métodos estadísticos,
métodos de clusterización, entre otros.
Dado que las regiones de interés son generadas con un mismo nivel de expansión en el algoritmo
de detección, no es necesario trabajar con los valores internos de la ROI si no tomar toda la región de interés
como el objeto de análisis, ya que en caso de que un objeto en movimiento en una escena crezca, su ROI
correspondiente también lo hará [64], razones que se ajustan al proyecto y por las cuales se elige detectar
regiones y no bordes.
60
2.4.7.2. Pruebas de la Región de Interés Tabla 2-17 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 1
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-126 Captación de la seña
correspondiente a la letra A del alfabeto de lengua de señas mexicana
Figura 2-127 pretratamiento y
segmentación de la seña correspondiente a la letra A del
alfabeto de lengua de señas mexicana
Figura 2-128 Cadena
binaria resultante al aplicar malla de macro píxeles a la
región de interés correspondiente a la letra A del alfabeto de la lengua de
señas mexicana
Figura 2-129 Captación de la seña
correspondiente a la letra C del alfabeto de
lengua de señas mexicana
Figura 2-130 pretratamiento y
segmentación de la seña correspondiente a la letra C del
alfabeto de lengua de señas mexicana
Figura 2-131 Captación,
pretratamiento y segmentación de la seña de la letra C del alfabeto de lengua de señas mexicana
61
Tabla 2-18 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 2
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-132 Captación de la seña
correspondiente a la letra D del alfabeto de lengua de señas mexicana
Figura 2-133 pretratamiento y
segmentación de la seña correspondiente a la letra D del
alfabeto de lengua de señas mexicana
Figura 2-134 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra D del alfabeto de la lengua de
señas mexicana
Figura 2-135 Captación de la seña
correspondiente a la letra E del alfabeto de lengua de señas mexicana
Figura 2-136 pretratamiento y
segmentación de la seña correspondiente a la letra E del
alfabeto de lengua de señas mexicana
Figura 2-137 Cadena
binaria resultante al aplicar
malla de macropíxeles a la región de interés
correspondiente a la letra E del alfabeto de la lengua de
señas mexicana
62
Tabla 2-19 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 3
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-138 Captación de la seña
correspondiente a la letra F del alfabeto de lengua de señas mexicana
Figura 2-139 pretratamiento y
segmentación de la seña correspondiente a la letra F del
alfabeto de lengua de señas mexicana
Figura 2-140 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra F del alfabeto de la lengua de
señas mexicana
Figura 2-141 Captación de la seña
correspondiente a la letra G del alfabeto de lengua de señas mexicana
Figura 2-142 pretratamiento y
segmentación de la seña correspondiente a la letra G del
alfabeto de lengua de señas mexicana
Figura 2-143 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra G
del alfabeto de la lengua de señas mexicana
63
Tabla 2-20 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 4
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-144 Captación de la seña
correspondiente a la letra H del alfabeto de
lengua de señas mexicana
Figura 2-145 pretratamiento y
segmentación de la seña correspondiente a la letra H del
alfabeto de lengua de señas mexicana
Figura 2-146 Cadena
binaria resultante al aplicar
malla de macropíxeles a la región de interés
correspondiente a la letra H del alfabeto de la lengua de
señas mexicana
Figura 2-147 Captación de la seña
correspondiente a la letra L del alfabeto de
lengua de señas mexicana
Figura 2-148 pretratamiento y
segmentación de la seña correspondiente a la letra L del
alfabeto de lengua de señas mexicana
Figura 2-149 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra L del alfabeto de la lengua de
señas mexicana
64
Tabla 2-21 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 5
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-150 Captación de la seña
correspondiente a la letra M del alfabeto de lengua de señas mexicana
Figura 2-151 pretratamiento y
segmentación de la seña correspondiente a la letra M del
alfabeto de lengua de señas mexicana
Figura 2-152 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés
correspondiente a la letra M del alfabeto de la lengua de
señas mexicana
Figura 2-153 Captación de la seña
correspondiente a la letra N del alfabeto de lengua de señas mexicana
Figura 2-154 pretratamiento y
segmentación de la seña correspondiente a la letra N del
alfabeto de lengua de señas mexicana
Figura 2-155 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés
correspondiente a la letra N del alfabeto de la lengua de
señas mexicana
65
Tabla 2-22 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 6
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-156 Captación de la seña
correspondiente a la letra O del alfabeto de lengua de señas mexicana
Figura 2-157 pretratamiento y
segmentación de la seña correspondiente a la letra O del
alfabeto de lengua de señas mexicana
Figura 2-158 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra O del alfabeto de la lengua de
señas mexicana
Figura 2-159 Captación de la seña
correspondiente a la letra P del alfabeto de lengua de señas mexicana
Figura 2-160 pretratamiento y
segmentación de la seña correspondiente a la letra P del
alfabeto de lengua de señas mexicana
Figura 2-161 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra P del alfabeto de la lengua de
señas mexicana
66
Tabla 2-23 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 7
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-162 Captación de la seña
correspondiente a la letra R del alfabeto de lengua de señas mexicana
Figura 2-163 pretratamiento y
segmentación de la seña correspondiente a la letra R del
alfabeto de lengua de señas mexicana
Figura 2-164 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra R del alfabeto de la lengua de
señas mexicana
Figura 2-165 Captación de la seña
correspondiente a la letra S del alfabeto de lengua de señas mexicana
Figura 2-166 pretratamiento y
segmentación de la seña correspondiente a la letra S del
alfabeto de lengua de señas mexicana
Figura 2-167 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra S
del alfabeto de la lengua de señas mexicana
67
Tabla 2-24 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 8
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-168 Captación de la seña
correspondiente a la letra T del alfabeto de lengua de señas mexicana
Figura 2-169 pretratamiento y
segmentación de la seña correspondiente a la letra T del
alfabeto de lengua de señas mexicana
Figura 2-170 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés
correspondiente a la letra T del alfabeto de la lengua de
señas mexicana
Figura 2-171 Captación de la seña
correspondiente a la letra V del alfabeto de lengua de señas mexicana
Figura 2-172 pretratamiento y
segmentación de la seña correspondiente a la letra V del
alfabeto de lengua de señas mexicana
Figura 2-173 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra V del alfabeto de la lengua de
señas mexicana
68
Tabla 2-25 Imágenes de diversas señas estáticas del alfabeto de la lengua de señas mexicana parte 9
Imagen captada Imagen pre procesada Cadena binaria
Figura 2-174 Captación de la seña
correspondiente a la letra W del alfabeto de lengua de señas mexicana
Figura 2-175 pretratamiento y
segmentación de la seña correspondiente a la letra W del
alfabeto de lengua de señas mexicana
Figura 2-176 Cadena
binaria resultante al aplicar malla de macropíxeles a la
región de interés correspondiente a la letra W
del alfabeto de la lengua de señas mexicana
2.4.8. Técnicas de aprendizaje de patrones Las redes neuronales pueden ser usadas de forma adaptable, es decir, no solo en el
reconocimiento de imágenes, sino también en el aprendizaje de patrones y en múltiples campos
más.
2.4.8.1. Mapas Auto organizados
Los modelos de mapas auto organizativos (SOM) fueron introducidas por T. Kohonen y son un
tipo especial de redes neuronales artificiales de aprendizaje no supervisado que ha sido
exitosamente aplicado como una herramienta de data mining.
Las SOM han demostrado ser una herramienta muy poderosa en minería de datos (data
mining) y en metodología de descubrimiento de conocimiento en base de datos (Knowledge
Discovery Database (KDD)) con una gran variedad de aplicaciones de ingeniería tales como
reconocimiento de patrones, análisis de imágenes, monitoreo de procesos y detección de fallas
por nombrar algunas [65].
Los mapas auto organizativos de Kohonen son un algoritmo que, a partir de un proceso
iterativo de comparación con un conjunto de datos y cambios para aproximarse a los mismos,
crea un modelo de esos mismos datos que puede servir para agruparlos por criterios de similitud;
adicionalmente, este agrupamiento se produce de forma que la proyección de estos datos sobre
el mapa distribuya sus características de una forma gradual. El mapa de Kohonen, SOM (self-
organizing map, mapa auto organizativo) o SOFM (self-organizing feature map, mapa auto
organizado de características) se usa para diferentes aplicaciones:
69
Clustering: se pueden agrupar datos del conjunto de entrada, atendiendo a diferentes
criterios.
Visualización: este agrupamiento, como se realiza de una forma ordenada, permite
visualizar al conjunto de entrada y descubrir características nuevas o relaciones que no se
habían previsto de antemano. También permite visualizar la evolución temporal de un
conjunto de datos: proyectando un vector en etapas sucesivas sobre un mapa entrenado
se ve cómo se va moviendo de una zona con unas características determinadas a otra.
Clasificación: aunque el entrenamiento del mapa no tiene en cuenta la etiqueta de clase
o el tipo de cada uno de los vectores de entrada, una vez terminado el entrenamiento se
puede calibrar, o asignar a algún tipo de etiqueta a cada nodo, y se puede usar para
clasificar datos desconocidos.
Interpolación de una función: asignando valores numéricos a cada uno de los nodos de
la red de Kohonen, se pueden asignar esos valores numéricos a los vectores de entrada: a
cada vector (dato) de entrada le corresponderá el número o vector asignados a la salida
más cercana.
Cuantización vectorial, es decir, aplicación de una entrada continua a una salida que
está discretizada, obteniendo a partir de un vector cualquiera el vector más cercano de un
conjunto previamente establecido. Un proceso similar se usa en la creación de la paleta
de un fichero .GIF de imágenes, que necesita obtener sólo 256 colores a partir de la gama
de colores original EWF.
2.4.9. Pruebas de las técnicas de aprendizaje de patrones
Se analizaron diversas técnicas de aprendizaje de patrones: K-means, mapas
autoorganizativos de Kohonen y la técnica de la máxima similitud. Se usaron datos de entrada
correspondientes a 6 diferentes letras del alfabeto de lengua de señas mexicana, para evaluar cada
una de las técnicas. K-means tuvo en la mayoría de los casos un porcentaje de error mayor a las
otras técnicas, pero con menor tiempo de ejecución en comparación con mapas autoorganizativos
de Kohonen. Tabla 2-26 Analisis de las técnicas de aprendizaje de patrones
Técnicas
Análisis de las técnicas de aprendizaje de patrones
Tamaño de
malla de
macropíxeles
Número
de
clusters
Tiempo
promedio
de
ejecución
Número de
iteraciones
Porcentaje
de acierto
Porcentaje
de error
K-means
10 6 0.2 s 5 45.67% 54.33%
15 6 0.32 s 4 58% 42%
20 6 0.89 s 9 74% 26%
50 6 3.5 s 6 68% 32%
Mapas
autoorganizativos de
Kohonen
10 4 1 s 34 30% 70%
15 3 1 s 39 40% 60%
20 2 2 s 39 60% 40%
50 2 3 s 45 70% 30%
Máxima similitud
10 6 0.2 s 21 54.91% 45.09%
15 6 0.2 s 30 65.71% 34.29%
20 6 0.36 s 23 62.5% 37.5%
50 6 1.73 s 20 60% 40%
70
2.4.10. Pruebas de las técnicas de aprendizaje de patrones
Se analizaron diversas técnicas de reconocimiento de imágenes como KNN (K-Nearest
Neighbors), Máquinas de Soporte Vectorial (SVM) y Matrices evolutivas. Se usaron 300 datos
de entrada para evaluar cada una de las técnicas, éstos corresponden a 6 diferentes letras del
alfabeto de lengua de señas mexicana. En todas las técnicas, la malla de macropíxeles de tamaño
15x15 brindó mejores resultados en comparación con otros tamaños. La técnica seleccionada fue
“Matrices evolutivas” debido al porcentaje de acierto que se obtiene y el tiempo de ejecución
frente a máquinas de soporte vectorial o KNN que generan un alto porcentaje de acierto con
mayor tiempo de ejecución, lo cual, implementado en un dispositivo móvil generaría un tiempo
de respuesta mayor a 5 segundos (considerando que las letras a reconocer son 27).
Tabla 2-27 Análisis de las técnicas de reconocimiento de imágenes
2.4.11. Justificación del interés por ROI (Regions of interest)
Para fines de este proyecto, dentro de las imágenes que se captan existen objetos de interés, en este caso,
detectar las manos es una de las tareas más importantes. Cuando la imagen se procesa obteniendo su
equivalente en escala de grises, se binariza, siendo consiguiente la etapa de segmentación, en la que se
localizan o delinean regiones de interés (ROI) para su posterior análisis.
Los algoritmos de segmentación operan con variaciones de diversas características de los píxeles
que conforman las regiones interés, y se dividen en dos grupos:
Técnicas
Análisis de las técnicas de reconocimiento de imágenes
Tamaño de
malla de
macropíxeles
Información para
el clasificador
Tiempo
promedio
de
ejecución
Porcentaje de
acierto
Porcentaje
de error
KNN (K-
Nearest
Neighbors)
10
# de
vecinos
1 0.1 s 95.66% 4.33%
4 0.2 s 91% 9%
10 0.5 s 90% 10%
15
# de
vecinos
1 0.15 s 99% 1%
4 0.25 s 99% 1%
10 0.4 s 98.66% 1.33%
20 # de
vecinos
1 1 s 99% 1%
4 1 s 98% 2%
10 2 s 98% 2%
50 # de
vecinos
1 2 s 99% 1%
4 4 s 98% 2%
10 1 s 96.66% 3.33%
Máquinas
de soporte
vectorial
10 - 0.7 s 94% 6%
15 - 0.9 s 99% 1%
20 - 1 s 98% 2%
50 - 3.6 s 99.33% 0.66%
Matrices
evolutivas
10 - 0.1 s 93.54% 6.46%
15 - 0.15 s 96.77% 3.23%
20 - 0.4 s 96% 4%
50 - 0.8 s 96.33% 3.66%
71
Detector de regiones: reagrupación de píxeles a partir de la homogeneidad de sus
propiedades.
Detector de bordes: basados en la discontinuidad.
Las técnicas usadas para ello son muy diversas, desde umbralización, métodos estadísticos,
métodos de clusterización, entre otros.
Dado que las regiones de interés son generadas con un mismo nivel de expansión en el algoritmo
de detección, no es necesario trabajar con los valores internos de la ROI si no tomar toda la región de interés
como el objeto de análisis, ya que en caso de que un objeto en movimiento en una escena crezca, su ROI
correspondiente también lo hará [64], razones que se ajustan al proyecto y por las cuales se elige detectar
regiones y no bordes.
2.4.12. Justificación de normalizar las imágenes correspondientes a las regiones de interés.
Las regiones de interés segmentadas pueden tener formas con un alargamiento mayor
horizontalmente o verticalmente. Para conseguir la tolerancia al escalamiento, en este módulo se
transforma la imagen a una forma cuadrada, considerando el máximo del tamaño del objeto en
el eje horizontal X o en el eje vertical Y. La figura cuadrada siempre tiene tamaño de lado max
{X, Y} y en esta etapa se ajustan: la forma, el tamaño y la posición del objeto con el objetivo de
minimizar la variación entre imágenes de la misma clase.
Cuando la imagen tiene forma rectangular, se hace un ajuste usando el máximo entre el tamaño
X y el de Y. Con este dato se definen las nuevas dimensiones del objeto. Con la diferencia entre
el mínimo de X o Y se completa con píxeles de fondo la parte más angosta del rectángulo en
ambos extremos del paralelogramo mínimo que envuelve al objeto. Como consecuencia el objeto
se centra en el nuevo paralelogramo cuadrado.
El rectángulo obtenido se escala al tamaño del patrón definido con el fin de minimizar la
variación de tamaño de las manos [66].
2.5. Síntesis de voz La síntesis de voz, también conocida como conversión de texto a voz (CTV), consiste en dotar
al sistema de la capacidad de convertir un texto dado en voz. Esto se puede hacer mediante
grabaciones realizadas anteriormente por personas.
La voz de la computadora puede generarse uniendo las grabaciones que se han hecho, ya sean de
palabras enteras, o fonemas, pero siempre intentando que el sonido producido parezca lo más
natural posible e inteligible, encadenando correctamente los sonidos dentro del discurso. El
sistema tiene que ser capaz, además de todo esto, de sintetizar cualquier texto aleatorio, no uno
establecido por defecto. Existen dos formas de realizar esta síntesis: una de ellas es la síntesis
concatenativa y otra es la síntesis de formantes [67].
2.5.1. Síntesis concatenativa
La síntesis concatenativa se basa en la unión de segmentos de voz grabados. Este método produce
una síntesis más natural, pero se pierde a causa de las variaciones del habla.
72
Existen tres métodos para realizar la síntesis concatenativa. La llamada síntesis por selección de
unidades utiliza una base de datos en la que se encuentran grabaciones de voz tanto de fonemas,
silabas, palabras, frases y oraciones. Este método es el que produce un sonido más natural, pero
estas bases de datos pueden alcanzar un tamaño muy grande.
Pero este método no es el único que existe en cuanto a síntesis concatenativa se refiere. La síntesis
por difonemas utiliza una base de datos mínima en la que se ha guardado un unido ejemplo de
difonemas (en español existen aproximadamente 800 difonemas distintos), pero este método
produce una voz robótica por lo que está prácticamente en desuso.
Otro método de síntesis concatenativa es la síntesis específica para un dominio que une frases y
palabras para crear salidas completas. Este método se utiliza para ámbitos muy limitados como,
por ejemplo, en gasolineras [67].
2.5.2. Síntesis de formantes
1. Este método no utiliza muestras de habla humana en tiempo de ejecución como los
anteriores, sino que se utiliza un modelo acústico. Se crea una onda de habla artificial.
Este método produce un sonido robótico y nunca se podría confundir con la voz humana,
pero tiene la ventaja de que producen programas más pequeños ya que no necesitan de
una base de datos de muestras grabadas como los métodos de concatenación [67].
73
2. Análisis del Sistema 2.1. Análisis de requerimientos
En este apartado se describe el análisis de los requerimientos del sistema a desarrollar. Se utilizará
la especificación de requisitos del estándar IEEE 830 [68].
2.1.1. Especificación del impacto del proyecto En esta sección se describen los factores que afectan al sistema a desarrollar y sus requisitos. En
la siguiente sección 2.1.1.8. se presentan los requerimientos funcionales, mientras que en la
sección 2.1.1.9. están los no funcionales.
La descripción general del estándar IEEE 830 consta de cinco subsecciones, presentadas aquí de
acuerdo con el sistema en desarrollo:
2.1.1.1. Perspectiva del producto
El sistema a desarrollar es un producto totalmente independiente de otros sistemas, ya que no es
un elemento de un sistema mayor.
2.1.1.2. Funciones del producto
El sistema a desarrollar consiste en reconocer imágenes que contengan la representación de las
señas del alfabeto de la lengua de señas mexicana, para permitirles a las personas con hipoacusia
la transformación de palabras deletreadas en sonidos audibles dirigidos a personas no
hipoacusicas. La generación de sonidos se realiza con ayuda de un sintetizador de voz.
2.1.1.3. Características de los usuarios
El usuario del sistema será la persona que padece o no hipoacusia y que utiliza la aplicación para
que una persona sin discapacidad, pueda escuchar las palabras que deletree la persona con
hipoacusia utilizando la lengua de señas mexicana, por eso debe:
Contar con experiencia en el uso de un teléfono móvil (Smartphone) que utilice el sistema
operativo Android®.
Conocer el alfabeto de la lengua de señas mexicana.
2.1.1.4. Características de los usuarios
El usuario del sistema será la persona que padece o no hipoacusia y que utiliza la aplicación para
que una persona sin discapacidad, pueda escuchar las palabras que deletree la persona con
hipoacusia utilizando la lengua de señas mexicana, por eso debe:
Contar con experiencia en el uso de un teléfono móvil (Smartphone) que utilice el sistema
operativo Android®.
Conocer el alfabeto de la lengua de señas mexicana.
2.1.1.5. Restricciones
El sistema a desarrollar tiene algunas restricciones que podrán subsanarse con desarrollos futuros,
entre estas se encuentran:
74
La aplicación estará desarrollada únicamente para el sistema operativo Android®.
En caso de utilizar el sintetizador de Google, será necesario contar con conexión a Internet
para su funcionamiento en el dispositivo móvil.
Solamente se considera la síntesis de palabras en el idioma español.
2.1.1.6. Suposiciones y dependencias
Se asume que la ejecución de la aplicación será en un dispositivo que cumpla con los
requisitos mínimos para su funcionamiento.
Se asume que el sistema contara con servicio de conexión a Internet, cuando se utilice el
sintetizador de voz de Google®.
Se asume que se contara con acceso a un sintetizador de voz que puede estar incluido en
el móvil o que sea instalador por el usuario; esto es porque se necesita para que funcione
el sistema. Cualquier falla afectara el funcionamiento de la aplicación.
El usuario permitirá que la aplicación haga uso de su almacenamiento persistente de
patrones desconocidos y que quizá representen alguna seña que no sea realizada en alguna
forma conocida debido a defectos o malformaciones en las manos de la persona con
hipoacusia. Estos patrones podrán ser cargados en el dispositivo por parte de un equipo
de administradores.
2.1.1.7. Especificación del impacto del proyecto
En esta sección se encuentran descritos en la Tabla 2-1 los requisitos que afecten a la interfaz del
usuario. En la Tabla 2-2 se muestran detalles de la interfaz con otros sistemas (hardware y
software). Por otra parte, las interfaces de comunicación se encuentran en la Tabla 2-3.
Tabla 2-1 Tabla de requerimientos de interfaz de usuario
Interfaz del Usuario (Requerimientos)
Descripción
La interfaz del usuario será una aplicación móvil desarrollada exclusivamente para los fines del sistema;
incluirá elementos de visualización (pantallas de la aplicación), y vistas, además contará con botones y campos
de texto.
Tabla 2-2 Tabla de requerimientos con el servidor de aprendizaje (hardware y software)
Interfaces con otros sistemas
Equipo Características de
interfaces de hardware
Características de
interfaces de software Cantidad
PC PORTATIL
Procesador de 2.10
GHz o superior.
Memoria RAM de 4
GB o superior.
Disco duro de 500
GB o superior.
Sistema operativo Windows 7
o superior (de preferencia de
64 bits).1
1
SMARTPHONE
Procesador de 1
GHz o superior.
Memoria RAM de
500 MB o superior.
Cámara trasera de 3
Megapíxeles o superior.
Sistema operativo
Android®.
Interfaces de
conexión con un
sintetizador de voz.
Al menos 1
75
Tabla 2-3 Interfaces de comunicación
Interfaces de Comunicación
Descripción
La aplicación se comunicará con:
Una base de datos local (en el dispositivo).
El servidor de aprendizaje y banco de señas almacenadas en una base de datos global.
Un sintetizador de voz incluido en el teléfono móvil.
2.1.1.8. Requerimientos funcionales
El sistema contara inicialmente con un icono el menú de aplicaciones en el dispositivo móvil. Al
iniciarse el sistema, este mostrara la ventana de inicio de la aplicación, en la cual encontraremos
diversos botones para diferentes opciones, una de las más importantes la captura por medio de la
cámara del dispositivo (Smartphone). Cada imagen será convertida a tonos de grises, binarizada,
segmentada en regiones de interés para que cada objeto se compare con los patrones almacenados
en la base de datos (patrones significativos), de estos se tomara su respectiva etiqueta que se
concatena hasta la señal de fin de palabra. Una vez que tenga una palabra completa se utilizara
el sintetizador de voz para emitirla en forma acústica.
Este sistema considera dos tipos de actores: el usuario y el administrador cuyas acciones
más importantes son:
Usuario: Este actor es el usuario del sistema y su principal actividad es iniciar el flujo de
imágenes con lo que se obtendrá el audio correspondiente.
Administrador: Actor encargado de la administración y clasificación de patrones
nuevos.
Los requerimientos funcionales del sistema se enlistan en la Tabla 2-4 con base en una
jerarquía de cada uno de ellos y son clasificados por importancia como: esenciales, opcionales y
condicionales. Tabla 2-4 Tabla de requerimientos funcionales
Identificador Nombre del
requerimiento Descripción
Nivel de
importancia
RF 1.1 Iniciar la
aplicación
Inicio del Sistema: El usuario deberá de
iniciar el sistema en el dispositivo móvil
(Smartphone), por medio de un acceso
directo en el menú principal.
Esencial
RF 1.2 Capturar la
imagen
El usuario deberá iniciar la captación de imágenes de una persona realizando señas
del alfabeto de la lengua de señas mexicana.
Esencial
RF 1.3 Binarizar
imágenes
El sistema debe aplicar un filtro a las
imágenes de manera transparente al usuario. Esencial
RF 1.4 Segmentar los
objetos de interés
El sistema debe segmentar las manos en las
imágenes de manera transparente al usuario. Esencial
RF 1.5 Aprender
patrones
El sistema debe aprender patrones de las
señas realizadas con las manos del usuario.
Este proceso es transparente para el usuario,
pero no para el administrador.
Esencial
RF 1.6
Clasificar objetos
usando los
patrones.
El sistema debe clasificar las señas
realizadas con las manos para apoyar al
módulo de aprendizaje.
Esencial
RF 1.7 Emitir sonidos El usuario deberá escuchar la palabra. Esencial
76
2.1.1.9. Requerimientos no funcionales
Los requerimientos no funcionales son aquellos que no se refieren directamente a las funciones
específicas que proporciona el sistema, sino a las propiedades emergentes del mismo. En la tabla
2-5 se enlistan los requerimientos no funcionales del sistema.
Tabla 2-5 Requerimientos no funcionales
Identificador Nombre del
requerimiento Descripción
Nivel de
Importancia
RNF 1.1 Metodología
Durante el desarrollo del sistema se seguirá
el enfoque del Modelo de Sistemas
Evolutivos, que se ajusta a las necesidades
del proyecto.
Opcional
RNF 1.2 Interfaz del sistema El sistema deberá presentar una interfaz de usuario mediante la aplicación desarrollada
para el teléfono móvil.
Esencial
RNF 1.3 Disponibilidad
El sistema deberá estar disponible cuando
el usuario así lo requiera, para poder
comunicarse, por lo tanto, deberá contar
con una base de datos con patrones de las
señas.
Esencial
RNF 1.4 Tiempo de respuesta
La respuesta del sistema estará en función
del tiempo de ejecución de los algoritmos
incluidos para reconocer letra por letra. No
se requiere un tiempo mínimo, por lo que
puede requerir hasta 5 segundos.
Condicional
RNF 1.5 Comprobabilidad
El sistema deberá probarse en diversos
entornos y dispositivos. El entorno considera varias situaciones de
iluminación, fondo y vestimenta de
usuarios.
Condicional
RNF 1.7 Usabilidad La aplicación debe ser de uso entendible,
proporcionando guías al usuario. Esencial.
RNF 1.8 Portabilidad
La aplicación móvil deberá verificar su
portabilidad en diversos dispositivos y con
distintas versiones del sistema operativo
Android.
Esencial
2.1.1.10. Apéndices
En esta sección se encontrará información relevante para la especificación de requisitos de
software que propiamente no forma parte de la especificación IEEE 830.
El producto
El producto que se pretende ofrecer al término de la realización de este proyecto, es una
aplicación móvil diseñada para el sistema operativo Android®, dado que es el mayor uso que lo
hace el más accesible; actualmente cuenta con un 83,5% del mercado mundial frente al segundo
lugar que tiene un 12,8% de dispositivos con el sistema operativo iOS® repartidos por los cinco
continentes y el restante 3,4% para los demás sistemas operativos.
Esta aplicación móvil hace uso del procesamiento de imágenes a través de un algoritmo
basado en macro pixeles para ofrecer la posibilidad de reducir la complejidad de la detección de
formas e identificación de una seña ante distorsiones poco significativas. Con esta aplicación se
busca disminuir la marginación que sufren las personas con hipoacusia.
77
La demanda
Para saber la dimensión de la población a la que se está teniendo cómo objetivo se tienen dos
fuentes, la primera son los datos ya mencionados obtenidos mediante el INEGI en su censo del
20101, pero también como segunda fuente tomamos al INDEPEDI pues abarca más propiamente
datos sobre el Distrito Federal; este organismo optó por considerar los datos del Módulo de
Condiciones Socio económicas de la Encuesta Nacional de Ingresos y Gastos de los Hogares
(MCS-ENIGH, 2012), como una fuente de información alterna para la determinación de cifras
de discapacidad más recientes en el país2.
A) La población con alguna discapacidad
Tabla 2-6 Condiciones socioeconómicas de la ENIGH,2014
Entidad Federativa Total Con discapacidad Sin Discapacidad
Nacional 117,310,503 6,926,306 110,384,197
Distrito Federal 8,784,778 431,627 8,443,151
B) Población con dificultad y su distribución por tipo de discapacidad
Tabla 2-7 Porcentajes de población con dificultad y su distribución por tipo de discapacidad reportadas
Entidad
Federativa Total
Caminar,
moverse,
subir o
bajar
Ver, aun
usando
lentes
Hablar,
comunicarse o
conversar
Oír, aun
usando
aparato
auditivo
Vestirse,
bañarse o
comer.
Poner
atención o
aprender
cosas.
Bien alguna
limitación
mental
Nacional 6,926,306 3,873,449 2,157,847 698,247 1,127,957 468,989 421,947 680,638
Distrito
Federal 431,627 248,476 83,927 40,556 59,440 16,164 11,231 39,860
Productos de la competencia
Actualmente en las tiendas en línea como Windows Phone®, es posible encontrar aplicaciones
de lengua de señas como: “Finger Speller”, “ABC”, “Hope for Deal”, “Aprendamos juntos”,
“Coto manitas” y “Lengua de señas”, las cuales se ofrecen de manera gratuita.
Por otro lado, en la AppStore de Apple se encuentran aplicaciones como “ILSM”,
“Lengua de Signos para iPhone - LITE” (se ofrecen de manera gratuita), y “Lengua de Signos
para bebés: Animales”, tiene un costo de $29 pesos.
Sin embargo, para desarrollar en IOS® o Windows Phone® se requiere el pago de una licencia
para usar el software (un plan a futuro es migrar la aplicación a estas plataformas), además de
que la mayoría de usuarios de dispositivos móviles cuenta con el sistema operativo Android que
tiene la herramienta de desarrollo “Android Studio”, que es de licencia libre.
1 http://cuentame.inegi.org.mx/poblacion/discapacidad.aspx?tema=P 2 http://www.indepedi.df.gob.mx/estadisticas2.html
78
Análisis FODA
Análisis de Fortalezas, Oportunidades, Debilidades y Amenazas, es un modelo que permite
conocer la situación a la que se enfrenta el equipo como desarrollador del proyecto, en la Tabla
4-8 se expone un análisis hecho sobre la situación tanto interna que abarca los recursos humanos,
materiales, tecnológicos, la organización, etc., así como la situación externa que tiene que ver
con el sector y el mercado al que se quiere dirigir el sistema en desarrollo.
Tabla 2-8 Análisis FODA
FORTALEZA OPORTUNIDADES
Asesoría por parte de los asesores con experiencia en el área de
procesamiento de imágenes y desarrollo de aplicaciones móviles.
Se tiene acceso a diferentes fuentes de información, tanto de
estadísticas, teoría y de programación.
Existen docentes para obtener los conocimientos de materias
necesarias para desarrollar la aplicación.
Se cuenta con los recursos tecnológicos necesarios para el desarrollo.
Cubrir una necesidad de miles de
personas.
Clientes potenciales de la aplicación.
Obtención de prestigio como equipo
desarrollador.
DEBILIDADES AMENAZAS
Poca experiencia en los desarrolladores para la realización de del
proyecto de esta temática.
Comunicación limitada con asociaciones de apoyo a las personas con
hipoacusia.
Los avances tecnológicos y grupos de
desarrollo a nivel mundial que puedan
desarrollar la propuesta planteada y la
ofrezcan al mercado nacional antes de
que este trabajo llegue a ser un producto
que cubra esta necesidad a un precio
accesible
Análisis de riesgos
Parte importante del éxito de un proyecto es el análisis y manejo de requerimientos. Estas etapas
permiten identificar distintas amenazas hacia el proyecto, así como hacia el producto y el
negocio, que en algún momento pudiesen afectar la calidad o el desarrollo de los artefactos de
software o del proyecto en general.
Al identificar y manejar los riesgos podemos minimizar las amenazas al tomar soluciones
proactivas en conjunto con el monitoreo. De esta forma se puede mantener el correcto desarrollo
del proyecto y tener planes de contingencia en caso de ocurrir algún siniestro3.
Dado lo anterior, en la Tabla 2-9 se presenta el análisis de riesgos. En un primer campo se
indica de forma breve el riesgo, seguido por un campo de probabilidad, un campo de gravedad y
una propuesta de solución. Para la consideración tanto de la probabilidad como de la gravedad
se toman varios parámetros.
Los valores de los parámetros considerados en las probabilidades son:
3 Entiéndase por siniestro, aquel incidente considerado dentro de los riesgos.
79
Muy bajo (menor al 10%).
Bajo (10% a 25%)
Moderado (25% a 50%)
Alto (50% a 75%)
Muy alto (mayor al 75%)
En caso de la gravedad se consideran los siguientes criterios:
Catastrófico (amenazan la supervivencia del proyecto).
Serio (causan serios retrasos en el proyecto).
Tolerable (causan retrasos contemplados en la contingencia).
Insignificante.
Tabla 2-9 Análisis de riesgos
Tipo Probabilidad Efecto Propuesta de solución
Perdida del desarrollo
del proyecto. Moderado Catastrófico
Realizar el respaldo periódicamente de
la información y desarrollo del proyecto, a través de dispositivos físicos
y almacenaje en línea (Dropbox, Google
Drive, etc.).
No se realiza el proyecto
a tiempo a falta de
personal capacitado en
las tecnologías a
desarrollar.
Alto Serio
Tener un tiempo de capacitación extra
con el que se pueda enseñar a los
desarrolladores sobre la tecnología
utilizada.
Localización de error
de programación (bug)
severo en la aplicación.
Alto Serio
Analizar el punto crítico, en donde el
menor de los casos se corregirá el bug,
en caso intermedio se reestructurará
alguna funcionalidad a fin de evitar el
incumplimiento, y en el peor caso tomaremos la reingeniería para corregir
el bug de acuerdo a los recursos
disponibles.
Fallo de estimación de
tiempos de entrega y
desarrollo.
Alto Severo
Compensar actividades restantes con los
recursos humanos con menor carga de
trabajo, y mayor capacitación en el área
priorizando el término actividades con
mayor importancia.
Fallo en la delimitación
por falta de
conocimiento en el
dominio de la aplicación
del alcance del
proyecto.
Alto Serio
Redefinir prioridades de los alcances
del proyecto negociando con los
asesores, para que los requerimientos
funcionales sean cubiertos en su
totalidad.
Falla en el análisis de
requerimientos y lógica
de negocio.
Moderado Serio
Reajustar plan de trabajo y volver a
calendarizar actividades directamente
afectadas por algunos requerimientos,
afectando en lo mínimo al resto del
proyecto.
Incompatibilidad de las
tecnologías utilizadas. Moderado Serio
Analizar las tecnologías y elegir las más
compatibles y convenientes de acuerdo
a la naturaleza del problema.
80
Tabla 2-10 Análisis de riesgos continuación
Tipo Probabilidad Efecto Propuesta de solución
Falla del hardware de
desarrollo. Bajo Serio
Realizar una planeación y evaluación
adecuada del hardware de los
desarrolladores.
Baja de moral en el
equipo. Moderado Tolerable
Realizar actividades de integración y
esparcimiento.
Falta de disponibilidad
de usuarios para
revisiones y/o
preguntas.
Moderado Tolerable
Calendarizar eventos con usuarios
potenciales de modo que se acuerden
plazos y tiempos de atención para
realizar revisiones y/o preguntas
Cambios en los
requerimientos. Moderado Tolerable
Realizar control de requerimientos con los asesores. Tener una toma de
requerimientos inicial robusta.
Ausencia de algún
recurso humano. Bajo Tolerable
Reasignación de tiempos y nivelación
de cargas con el resto de los integrantes
del equipo.
Falta de comunicación
entre el equipo. Bajo Tolerable
Mantener reuniones periódicas entre los
integrantes del equipo usando recursos
como WhatsApp o similares.
2.2. Análisis de herramientas En este apartado se describe el análisis de las herramientas que se han detectado como necesarias
para implementar el sistema de reconocimiento del alfabeto de la lengua de señas mexicana. En
la sección 2.2.1 se revisan los sistemas operativos de dispositivos móviles, justificando el uso de
Android® y los entornos de desarrollo conocidos como (IDE) para la aplicación que se ejecuta
en dispositivos móviles; en este caso se han seleccionado Android Studio con su lenguaje de
programación Java. En la sección 2.2.2 presentan los lenguajes de programación con sus entornos
de desarrollo (IDE) para los módulos que se ejecutan en un servidor para administrar los patrones
del alfabeto de la lengua de señas mexicana, de estos se ha seleccionado Java en el entorno
NetBeans®. En el apartado 2.2.3 se revisan los gestores de base de datos que pueden ser de
utilidad en este proyecto. En el apartado 2.2.4 se presentan los resultados de la investigación de
los diferentes productos de síntesis de voz que pueden utilizarse en etapa de producción de sonido
que se decidirá por alguna de ellas una vez que se hagan pruebas.
2.2.1. Herramientas para el desarrollo de la aplicación en dispositivos móviles. En un estudio de mercado realizado por (IDC) “Analyze the future”, Android es el sistema
operativo que domina el mercado a nivel mundial, seguido de iOS y Windows Phone. En la Tabla
2-11, se muestra la información recabada, en la cual se observa que Android® ha mantenido el
liderazgo durante los últimos años.
Tabla 2-11 Dominio de sistemas operativos para dispositivos móviles a nivel mundial
Periodo Android iOS Windows
Phone
BlackBerry
OS
Otros
2015Q2 82.80% 13.90% 2.60% 0.30% 0.40%
2014Q2 84.80% 11.60% 2.50% 0.50% 0.70%
2013Q2 79.80% 12.90% 3.40% 2.80% 1.20%
2012Q2 69.30% 16.60% 3.10% 4.90% 6.10%
81
En un artículo, el Vice Presidente de comScore México, Iván Marchant, presentó en
agosto de 2015, la información acerca del liderazgo en México de los sistemas operativos
utilizados en smartphones. Es posible observar en la figura 2-1 que Android® domina con un
porcentaje notable en el año 2015, como lo ha hecho en los últimos años [69]
Con base en la información de la Tabla 2-10 y de las gráficas de las Figuras 2-1 y 2-2, se
ha decidido realizar el proyecto usando el sistema operativo Android® porque es el que cuenta
con el mayor segmento de mercado; una vez que tenga el sistema en un trabajo futuro será posible
plantear su migración hacia otros sistemas operativos cuyo orden sería iOS® y luego
WindowsPhone® por ser los que también cuentan con un segmento de mercado significativo.
0.00%
20.00%
40.00%
60.00%
80.00%
100.00%
2012Q2 2013Q2 2014Q2 2015Q2
Dominio de Sistemas Operativos para Dispositivos Móviles a nivel mundial
Android iOS Windows Phone BlackBerry OS Otros
Figura 2-1 Grafica del dominio de sistemas operativos móviles a nivel mundial
Android, 82.50%
iOS, 10.30%
Windows, 4.20%
Otros, 3.00%
Panorama 2015 de Sistemas Operativos de smartphones en
México
Figura 2-2 Panorama 2015 de sistemas operativos en México
82
En el desarrollo de aplicaciones existen diversos entornos, algunos usan el lenguaje nativo
y otros que son multiplataforma ofrecen alternativas para desarrollo en lenguajes distintos al
nativo. En la Tabla 2-11 se enlistan algunos de los principales IDE’s (Integrated Development
Environment, Entorno de Desarrollo Integrado), se muestran sus características extraídas de [70]
y [71]. En el caso de este proyecto, dado que se realizará la programación para una sola
plataforma (Android®) se propone el uso de Android Studio y Java, que es su lenguaje de
programación. Se encontró que este es el IDE oficial de Google.
Tabla 2-12 IDE'S para desarrollar aplicaciones para Android
IDE Lenguaje de
Programación Ventajas Desventajas
Android
Studio Java
Es el IDE oficial de Google.
Integración de la herramienta
Gradle encargada de gestionar y
automatizar la construcción de
proyectos, como pueden ser las
tareas de testing, compilación o empaquetado.
En la codificación usa
autocompletado contextual.
Soporte para Google Cloud
Platform.
Gratuito
Siempre es susceptible de
introducirse más cambios que puedan
provocar inestabilidad entre
proyectos de diferentes versiones.
Curva de aprendizaje más lenta para
nuevos desarrolladores de Android.
El sistema de construcción de
proyectos Gradle puede resultar
complicado inicialmente.
En comparación con Eclipse, tiene
menos plugins.
Soporta parcialmente el desarrollo
para NDK.
Eclipse Java
Soporte para NDK (Native
Development Kit: herramientas
para implementar código nativo
escrito en C y C++).
Gran cantidad de plugins.
Gratuito
Es más estable que Android
Studio.
Ya no cuenta con soporte de
desarrollo del plugin ADT (Android
Development Tools).
No tiene soporte para Google Cloud
Platform.
Xamarin
Studio C#
Permite crear aplicaciones para
Android, iOS, Windows Phone.
Las aplicaciones funcionarán con
pocos cambios en varios sistemas
operativos
Ofrece acceso directo nativo a
varias API de cada sistema
operativo móvil.
Gratuito
Todavía no existe una herramienta
para Windows que permita el
desarrollo independiente de
aplicaciones iOS.
Si se quiere desarrollar para
diferentes smartphones, se deberán
instalar diferentes plug-in para cada
plataforma, además de obtener sus
respectivas herramientas de desarrollo.
Basic 4
Android
[72]
Visual Basic
Cuenta con una herramienta RAD
(Rapid Application Development)
para apps nativas de Android.
Compila a código nativo
(bytecode).
No se requieren bibliotecas de
tiempo de ejecución. Los archivos
APK son exactamente los mismos
que se generan en Java/Eclipse.
No se requiere saber programar en XML.
Hay mucha documentación.
La versión “enterprise” con dos años
de actualizaciones gratuitas cuesta
119 dólares. La versión estándar
cuesta 60 dólares (un solo usuario) y
la más costosa (599 dólares) permite
acceder hasta 30 usuarios.
83
2.2.2. Herramientas para el desarrollo de la aplicación en dispositivos móviles. En esta sección se revisan las herramientas para el desarrollo de los módulos que se tiene previsto
que se ejecuten en un servidor. Existen diversos lenguajes de programación, ambientes de
desarrollo (IDE) y bibliotecas con funcionalidades que facilitan el desarrollo.
En la Tabla 2-13 se presenta una comparación entre los lenguajes de programación más
relevantes:
Tabla 2-13 Lenguajes de programación
Lenguaje de
Programación Descripción Ventajas Desventajas
C
El lenguaje de
programación C es un
lenguaje estructurado y
fue creado por Brian
Kernighan y Dennis
Ritchie a mediados de
los años 70 [73].
Acceso a memoria de bajo
nivel mediante el uso de
punteros.
Tiene un conjunto reducido
de palabras clave REF130.
El compilador de C es
pequeño y tiene un gran
poderío debido a sus
múltiples bibliotecas.
Es relativamente flexible en
la conversión de datos [74].
La excesiva libertad en la
escritura del código fuente
hace que muchas veces se
cometan errores de
programación, que, por ser
correctos sintácticamente no
se detectan en tiempo de
compilación.
Carece de instrucciones de
entrada y salida, de manejo de
strings (cadenas de caracteres), quedando el
trabajo en manos de las
bibliotecas provocando con
esto algunos problemas de
portabilidad [75].
Java
Java, es un lenguaje de
programación orientado
a objetos y una
plataforma informática
comercializada por
primera vez en 1995 por
Sun Microsystems.
Además, actualmente es el estándar global para
desarrollar y distribuir
aplicaciones móviles y
embebidas, juegos,
contenido basado en
web y software de
empresa [76]
Es multiplataforma (brinda la
posibilidad de ejecutar un
mismo programa en diversos
sistemas operativos).
Es muy flexible, ya que Java
es un lenguaje especialmente
preparado para la reutilización de código.
Programar en Java es gratis.
Es de fuente abierta (Java
ofrece el código de casi todas
sus bibliotecas nativas para
que los desarrolladores
puedan conocerlas y
estudiarlas en profundidad o
para ampliar su
funcionalidad,
beneficiándose a ellos
mismos y a los demás), por lo tanto, existe mucha
documentación al respecto.
Java corre en máquina
virtual, por lo tanto, es
interpretado [77]
Como los programas de Java son interpretados nunca
alcanzan la velocidad de un
verdadero ejecutable.
Puede ser que no haya JDBC
para bases de datos poco
comerciales.
Algunas herramientas tienen
un costo adicional [78].
84
Tabla 2-14 Lenguajes de programación parte 2
Lenguaje de
Programación Descripción Ventajas Desventajas
Python
Python es un lenguaje
de programación de
alto nivel, interpretado,
y fue creado por Guido
van Rossum en el año
1990 [79].
Python es un lenguaje de
programación
multiparadigma soportando:
la programación orientada a
objetos, programación
estructurada y funcional.
Se trata de un lenguaje
potente, flexible y con una
sintaxis clara y concisa.
Python es open source,
cualquiera puede contribuir a
su desarrollo y divulgación.
No es necesario pagar
ninguna licencia para
distribuir software
desarrollado con esté
lenguaje.
Python ofrece mucha más verificación de errores que C.
Tiene tipos de datos de alto
nivel incorporados como
arreglos de tamaño flexible y
diccionarios.
Python es extensible: si se
sabe programar en C es fácil
agregar una nueva función o
módulo al intérprete [80]
Los programas interpretados
son más lentos que los
compilados.
Para emular hilos se requiere soporte para C (Stackless
Python).
La curva de aprendizaje en la
parte web no es tan sencilla.
La mayoría de los servidores
no tienen Python y si lo tienen
la configuración es difícil
[81].
C#
C# es un lenguaje
orientado a objetos y
fue creado por el danés
Anders Hejlsberg [82].
La sintaxis de C#
proporciona características
eficaces tales como tipos de valor que admiten valores
NULL, enumeraciones,
expresiones lambda y acceso
directo a memoria.
En C# existe un rango más
amplio y definido de tipos de
datos que los que se
encuentran en C, C++ o Java.
C# admite los conceptos de
encapsulación, herencia y
polimorfismo.
Su sintaxis es muy similar a
la del JAVA.
C# permite mantener
múltiples versiones de clases
en forma binaria,
colocándolas en diferentes
espacios de nombres. Esto
permite que versiones nuevas
y anteriores de software
puedan ejecutarse en forma
simultánea [83]
En primer lugar, se tiene que
conseguir una versión
reciente de Visual Studio
.NET, esto significa que es
mucho más difícil de
transferir su programa de Windows a otro sistema
operativo.
C # no permite el acceso
directo al hardware de la
computadora, esto se podría
considerar a la vez como
bueno y malo. Bueno, porque
significa que no tiene que
preocuparse de la gestión de
memoria. Es malo porque se
tiene mucha menos flexibilidad con los
programas y no los puede
optimizar para el hardware
[84]
85
Tabla 2-15 Lenguajes de programación parte 2
Lenguajes de
programación
Lenguajes de
programación
Lenguajes de programación Lenguajes de programación
M [85]
Es un lenguaje de
programación propio de
MATLAB (MATrix
LABoratory). Este lenguaje es interpretado
y su enfoque es
matemático.
El lenguaje M puede
ejecutarse tanto en el entorno
interactivo, como a través de
un archivo de script (*.m).
Amplio soporte matemático
Amplio soporte de funciones ya desarrolladas.
Integración con dispositivos
hardware
Cuenta con varias ayudas
Gestión “oscura” de la
memoria.
Problemas eventuales de
velocidad.
Es comercial
Distribución de ejecutables.
2.2.3. Herramientas para desarrollar módulos de procesamiento de imagenes
Para los fines del sistema en desarrollo, se propone el uso del IDE NetBeans®, por las
características presentadas en la Tablas 2-16 y Tabla 2-17 que se adaptan a las necesidades de
este proyecto.
Tabla 2-16 Bibliotecas que permiten realizar procesamiento de imágenes
Biblioteca Descripción Características
OpenCV [93]
Es una biblioteca de
visión artificial originalmente
desarrollada por Intel.
Esta publicada bajo una licencia BSD, lo cual permite que sea
usada libremente para propósitos comerciales y académicos.
Es multiplataforma, existiendo versiones para Windows,
GNU/Linux, Mac OSX, iOS® y Android. También, se
encuentran interfaces para C, C++, Java y Python.
Es una biblioteca con muchas posibilidades y con una amplia
comunidad de desarrolladores. Por lo que, aunque es compleja
utilizar, siempre se encontrará soporte y ayuda para cualquier
problema que se pueda tener.
JavaCV [94]
Es una biblioteca
independiente de
OpenCV, desarrollada
para ser utilizada en
aplicaciones escritas en el
lenguaje de programación
Java.
Las clases para uso general facilitan su funcionalidad en la plataforma de Java, incluyendo Android®.
JavaCV viene con una exhibición de imagen de pantalla
acelerada (CanvasFrame).
Permite la calibración de cámaras y proyectores con
GeometricCalibrator, ProCamGeometricCalibrator y
ProCamColorCalibrator.
LeadTools [95]
Desarrollada para
aplicaciones web y
dispositivos móviles, para
la gestión profesional de
imágenes, documentos,
imágenes médicas, etc.
Su licencia es comercial
Herramienta de desarrollo y componentes para Silverlight,
Windows Phone, Win Forms y Web Forms.
Función de visualización y controles para .NET
Permite la adquisición de imágenes, control de dispositivos y escáneres TWAIN y WIA.
Comprime y descomprime más de 150 formatos, incluyendo:
ABIC, JPEG, JPEG 2000, JPEG-XR, CCITT, CCITT G3 y G4.
Formatos de imagen para aplicaciones desktop y web.
Los plug-ins se pueden agregar a LEADTOOLS Document
Imaging para añadir aún más tecnología de imagen.
86
Tabla 2-17 Bibliotecas que permiten realizar procesamiento de imágenes parte 2
Biblioteca Descripción Características
ImageJ [96]
Es un software Open
Source diseñado para
imágenes
multidimensionales, este
software es escalable por sus miles de plugins
existentes en la web, ya
que cuentan con una base
estable y fuerte.
Se orienta principalmente hacia el ámbito de las ciencias de la
salud.
Incluye por defecto potentes herramientas para editar, procesar
y analizar imágenes de casi cualquier tipo y formato.
Las funcionalidades de ImageJ pueden ampliarse hasta resolver casi cualquier problema de tratamiento digital de
imagen mediante macros, scripts y, especialmente, plugins
programables en lenguaje Java gracias a la API que ofrece.
BoofCV [97]
Es una biblioteca escrita
en Java para tener visión
por computadora en
tiempo real.
Está diseñada para aplicaciones robóticas, incluye la
calibración de la cámara, reconocimiento, entre muchas más.
BoofCV ha sido puesto en uso libre bajo una licencia Apache
2.0, tanto para uso académico y comercial.
2.2.4. Gestores de bases de datos. En este proyecto se requiere un sistema gestor de base de datos para almacenar los patrones de
cada seña estática del alfabeto de la lengua de señas mexicana, así como los registros de usuarios.
En la Tabla 2-20, 2-21 y 2-22 se comparan algunos de los principales Gestores de Bases
de Datos.
87
Tabla 2-18 Tabla comparativa entre gestores de bases de datos
Gestor de Base
de Datos Descripción Ventajas Desventajas Lenguaje
MySQL [98]
Es una base de
datos de código
abierto de mayor
aceptación
mundial que
pertenece a
Oracle®
Licencia libre
Fácil de configurar e
instalar.
Fácil de utilizar y
administrar.
Compatibilidad con XML.
Seguridad robusta.
Soporte de transacciones y
procedimientos
almacenados.
Bajo costo en
requerimientos para la
elaboración de bases de
datos.
Baja probabilidad de
corromper datos, incluso si
los errores no se producen en el propio gestor, sino en
el sistema en el que está.
Velocidad al realizar las
operaciones.
Existen varias APIs que
permiten a aplicaciones
escritas en lenguajes de
programación como C, C#,
Delphi, etc., acceder a las
bases de datos de MySQL
[99]
Para empresas que
quieran incorporarlo en
productos privativos
deben comprar a la
empresa una licencia
específica que les
permita este uso.
El soporte para disparadores es muy
básico.
No soporta algunas
conversiones de datos.
Los privilegios de las
tablas no se borrar de
forma automática.
No es viable para
grandes bases de datos,
ya que no implementa
una buena escalabilidad.
SQL
PostgreSQL
[100]
PostgreSQL es un
sistema de gestión
de base de datos relacional
orientada a
objetos.
PostgreSQL es de licencia libre y es un programa de
código abierto, por lo que
está dirigido por una
comunidad de
desarrolladores.
Cuenta con una alta
concurrencia, una amplia
variedad de tipos nativos, y
diversas funciones más
específicas.
Ahorros considerables de costos de operación
Estabilidad y confiabilidad
Extensible
Diseñado para ambientes
de alto volumen
Herramientas gráficas de
diseño y administración de
bases de datos.
Puede operar sobre
distintas plataformas,
incluyendo Linux, Windows, Unix, Solaris y
MacOS X.
Es más lento en
inserciones y
actualizaciones, ya que
cuenta con cabeceras de
intersección que no
tiene MySQL.
Su soporte es en línea
Consume más recursos
que MySQL.
La sintaxis de algunos
de sus comandos o
sentencias no es nada
intuitiva.
SQL
88
Tabla 2-19 Tabla comparativa entre gestores de bases de datos parte 2
Gestor de Base
de Datos Descripción Ventajas Desventajas Lenguaje
SQL Server
[101]
SQL Server posee una gran
cantidad de herramientas
administrativas y de
desarrollo que permite
mejorar la facilidad de
instalación, distribución y utilización del mismo
software.
Incluye herramientas para
extraer, analizar y diseñar
datos resumidos para el
proceso analítico en línea.
Soporte de transacciones y
procedimientos
almacenados.
Se integra con el correo
electrónico, internet y
Windows, permitiendo una comunicación local.
Incluye un potente entorno
gráfico de administración.
Es fiable a la hora de
recuperar datos.
Solo tiene un Sistema
de almacenamiento
para todo.
No es de licencia libre y pertenece a Microsoft.
Utiliza muchos
recursos
computacionales como
memoria RAM.
SQL
Oracle
Database [102]
Oracle es un
sistema gestor de
base de datos
objeto-relacional.
Soporte multiplataforma.
Soporte de transacción,
estabilidad y escalabilidad.
Permite el uso de
particiones para la mejora de la eficiencia, de
replicación e incluso
ciertas versiones admiten la
administración de bases de
datos distribuidas.
Operaciones de
recuperación flexibles.
Disponibilidad de los datos
durante las operaciones de
backup y recovery.
No es de licencia libre
Una mala
configuración ofrece
resultados
desfavorables.
SQL y
PL/SQL
89
Tabla 2-20 Tabla comparativa entre gestores de bases de datos parte 3
Gestor de Base
de Datos Descripción Ventajas Desventajas Lenguaje
SQLite [103]
SQLite es una
herramienta de
software libre, que
permite almacenar
información en
dispositivos
empotrados de
una forma
sencilla, eficaz,
potente, rápida en
equipos con poca capacidad de
hardware; como
un PDA o un
celular.
Es multiplataforma, por lo
tanto, se puede usar tanto
en dispositivos móviles
como en sistemas de
escritorio.
Muchos lenguajes de programación tienen
soporte o módulos para
SQLite
SQLite soporta desde las
consultas más básicas hasta
las más complejas del
lenguaje SQL.
Puede funcionar
enteramente en memoria,
lo que la hace muy rápida.
Es totalmente auto contenida (sin
dependencias externas).
Cuenta con librerías de
acceso para muchos
lenguajes de programación.
Soporta texto en formato
UTF-8 y UTF-16, así como
datos numéricos de 64 bits.
El código fuente es de
dominio público y se
encuentra muy bien
documentado.
Falta de clave foránea cuando se realiza la
creación de la tabla
desde el modo consola.
Falta de documentación
en español: si bien se
cuenta con una
comunidad latino
americana de SQLite,
sería importante
encontrar mucha más documentación, libros,
revisiones, etc. como
muchos otros motores
de bases de datos
cuentan hoy en día
[104].
SQL
90
2.3.4. Sintetizadores de voz En este apartado se muestra la comparación entre diversos sintetizadores de voz cuya
información fue posible obtener de [105] En la Tabla 2-23 se hace una comparación de las
características de varios sintetizadores. En este proyecto terminal, se requiere realizar pruebas de
cada uno de ellos para determinar su funcionalidad y alcances obteniendo una evaluación que
permita detectar aquel o aquellos que cubren las necesidades para la generación de palabras
reconocidas.
Tabla 2-21 Comparativa de sintetizadores de voz
Sintetizador
de voz (Text
To Speach)
Disponibilidad Precio Español Fabricante Observaciones
PICO TTS
Limitada (sólo
ciertos
dispositivos
Android)
Gratuito Sí Google/SVOX Instalación de fábrica
IVONA TTS
HQ Google Play
Beta gratuita
(temporal) Sí IVONA Temporalmente es gratuita
SVOX Classic
TTS Google Play
2.99 Euros
cada voz Sí SVOX No es gratuita
SAMSUNG
TTS
Limitada (sólo en
dispositivos
Samsung)
Gratuito Sí SAMSUNG Instalación de fábrica
CereProc En su sitio oficial 1.45 Euros
cada voz No CereProc
No es gratuita y no cuenta
con el idioma español
eSpeak TTS Google Play Gratuito Sí Eyes-Free
Project
Problemas con acentos y
reproducción.
Flite TTS Google Play Gratuito No Carnegie Mellon
University Calidad relativamente
buena
Loquendo
TTS Desconocido Desconocido No Loquendo
Español para otras
plataformas
Ekho TTS Google Play Gratuito No eGuideDog No funciona en Android 4 o
superiores
Vaja TTS Google Play Gratuito No VAJA TTS No cuenta con el idioma
español
Síntesis de
Todos los
dispositivos Gratuito Sí Google
En algunas ocasiones se
requiere conexión a internet
para funcionar.
2.4. Metodología La metodología que se propone es el modelo incremental porque tiene el enfoque del Modelo de
Proceso Evolutivo, donde los sistemas van evolucionando conforme al tiempo, éste enfoque
entrelaza las actividades de especificación, desarrollo y validación. Un sistema inicial se
desarrolla rápidamente a partir de especificaciones abstractas y se refina basándose en las
peticiones del cliente para producir un sistema que satisfaga sus necesidades.
Los modelos evolutivos son iterativos. Se caracterizan por la manera en la que permiten
desarrollar versiones cada vez más completas del software. En un proceso de desarrollo
incremental, los clientes identifican a grandes rasgos los servicios que proporcionará el sistema,
identifican qué servicios son más importantes y cuáles menos. Entonces se definen varios
incrementos en donde cada uno proporciona un subconjunto de la funcionalidad del sistema. La
91
asignación de servicios a los incrementos depende de la prioridad del servicio con los servicios
de prioridad más alta entregados primero.
Definir requerimientos.
Asignar requerimientos.
Diseñar la arquitectura del
sistema
Desarrollar incrementos del
sistema.
Validad Incrementos.
Integrar incrementos.
Validar Sistema.
Sistema Completo
Sistema Final
Figura 2-3 Ejemplo Entrega Documental
2.5. Diccionario de mensajes MSG1: “Error al guardar los datos”, cuando el sistema no puede guardar los datos de
algún formulario.
MSG2: “Error en la captura de la imagen”, se mostrará cuando el sistema no pueda
inicializar y/o tomar una imagen del medio.
MSG3: “Imposible identificar patrón”, se mostrará cuando exista un error en el
procesamiento en la detección y reconocimiento de un patrón.
MSG4: “Error en la transferencia del patrón”, este mensaje se mostrará cuando no se
transfiera de forma correcta una imagen procesada.
MSG5: “Falla en la generación de etiqueta”, existe un error en la generación de
etiquetas.
MSG6: “No se puede conectar con el sintetizador de voz”, es cuando no se puede
comunicar el sistema con el sintetizador de voz
MSG7: “Error de procesamiento de la imagen”, se mostrará cuando la imagen no se
pueda procesar.
MSG8: “Imposible inicializar pantalla”, se mostrará cuando el sistema no pueda
inicializar la imagen en la pantalla.
MSG9: “No se almacena el patrón correctamente”, se mostrará cuando el sistema no
pueda almacenar un patrón.
MSG10: “Usuario Encontrado”, se mostrará cuando el sistema localice a un usuario.
MSG11: “Patrón aprendido”, se mostrará cuando el patrón se almacene en la bd
correctamente.
MSG12: “Datos guardados correctamente”, se mostrará cuando se almacene la
información de forma correcta en la base de datos.
MSG13: “Información exportada o importada exitosamente”, se mostrará cuando la
sincronización de nuevos y/o patrones desconocidos fue un éxito.
MSG14: “No pudo leer o escribir correctamente el patrón”, este mensaje se mostrará
cuando no se transfiera de forma correcta un patrón.
MSG15: “Exportando o importando información”, este se mostrará cuando el sistema
este enviando o recibiendo nuevos patrones.
MSG16: “La importación o exportación fallo”, este mensaje se mostrará cuando exista
algún problema en la generación de los patrones a enviar o a recibir.
92
MSG17: “El archivo de actualización no se encuentra disponible”, este mensaje se
mostrará cuando no se encuentre el archivo para importar nuevos patrones.
MSG18: “Por favor identifique una seña”, este mensaje se mostrará cuando no haya sido
identificada ninguna seña.
MSG19: “Palabra identificada eliminada”, este mensaje se mostrará cuando el usuario
haya presionado el botón ELIMINAR PALABRA, el cual activará este mensaje.
MSG20: “La identificación ha sido cancelada”, este mensaje se mostrará cuando el
usuario haya cancelado el proceso de identificación.
MSG21: “Error al iniciar la aplicación”, este mensaje se mostrará cuando exista algún
problema que evite que el programa se inicie correctamente.
2.6. Modelado del sistema
2.6.4. Diagramas de casos de uso 2.6.4.1. Diagrama de casos de uso R.F. 1.1 “Iniciar la aplicación”
Diagrama 2-1 Caso de Uso R.F. 1.1 “Iniciar Aplicación”
Tabla 2-22 Caso de Uso R.F. 1.1 “Iniciar Aplicación”
Caso de Uso R.F. 1.1“Iniciar Aplicación”
Actor Usuario
Propósito Iniciar la Aplicación
Entradas Ninguna
Salidas Ninguna
Precondiciones Ninguna
Postcondiciones Sistema iniciado
Errores Mostrar el mensaje “MSG21”.
Fuente Equipo de desarrollo.
Trayectoria Principal
1. El usuario inicializa el sistema
-- Fin de la Trayectoria
93
2.6.4.2. Diagrama de casos de uso R.F. 1.2 “Obtener Imagen”
Diagrama 2-2 Caso de Uso R.F. 1.2. "Obtener Imagen"
Tabla 2-23 Caso de Uso R.F. 1.2. "Obtener Imagen"
Caso de Uso R.F. “Obtener imagen”
Actor Usuario
Propósito Obtener una imagen.
Entradas Imagen RGB
Salidas Imagen.
Precondiciones Iniciar la captura
Postcondiciones Detener la captura
Errores Mostrar el mensaje “MSG2”.
Fuente Equipo de desarrollo.
Trayectoria Principal
1. El usuario inicializa el sistema
2. El sistema toma una imagen con la cámara del dispositivo [Trayectoria A].
-- Fin de la Trayectoria
Trayectoria Alternativa A
Precondición: El sistema no pudo tomar la imagen.
A1: El sistema muestra el mensaje MSG2.
A2: Regresa al primer paso de la trayectoria principal.
-- Fin de la trayectoria
94
2.6.4.3. Diagrama de casos de uso R.F. 1.3 “Adecuar imagen”
Diagrama 2-3 Caso de Uso R.F. 1.3. "Adecuar imagen"
Tabla 2-24 Caso de Uso R.F. 1.3. "Adecuar imagen"
Caso de Uso R.F. 1.5 . “Adecuar imagen”
Actor Sistema
Propósito Adecuar una imagen
Entradas Imagen capturada.
Salidas Imagen binarizada.
Precondiciones Ninguno
Postcondiciones Ninguna
Errores Ninguno
Fuente Equipo de desarrollo.
Trayectoria Principal
1. El usuario captura una imagen.
2. El sistema transforma a escala de grises la imagen
3. El sistema adecua la imagen.
4. El sistema binariza la imagen
-- Fin de la Trayectoria
95
2.6.4.4. Diagrama de casos de uso R.F. 1.4 “Segmentar”
Diagrama 2-4 Caso de Uso R.F. 1.4 "Segmentar"
Tabla 2-25 Caso de Uso R.F. 1.4. "Segmentar"
Caso de Uso R.F. 1.4 . “Segmentar”
Actor Sistema
Propósito Segmentar e identificar las ROI
Entradas Imagen binaria
Salidas Patrones candidatos
Precondiciones Contar con una imagen binaria
Postcondiciones Contar con los patrones candidatos.
Errores Mostrar el mensaje “MSG17”
Fuente Equipo de desarrollo.
Trayectoria Principal
1. El sistema recibe una imagen binaria.
2. El sistema procesa la imagen en el módulo de macropíxeles.
3. El sistema obtiene las zonas de interés a partir de los macropíxeles.
4. El sistema etiqueta los macropíxeles que serán los patrones candidatos.
-- Fin de la Trayectoria
96
2.6.4.5. Diagrama de casos de uso R.F. 1.5 “Aprender Patrones”
Diagrama 2-5 Caso de Uso R.F. 1.5. "Aprender Patrones"
Tabla 2-26 Caso de Uso R.F. 1.5."Aprender Patrones"
Caso de Uso R.F. 1.5 . “Aprender Patrones”
Actor Administrador
Propósito Aprender un nuevo patrón.
Entradas Cadenas binarias de objetos capturados.
Salidas Cadenas binarias candidatas a ser patrones.
Precondiciones Ingresar el número de patrones que se desea
obtener.
Postcondiciones Etiquetar los patrones o descartar a los
candidatos.
Errores Mostrar el mensaje “MSG4”, “MSG6”.
Fuente Equipo de desarrollo.
Trayectoria Principal
1. El Administrador recibe un dato.
2. El sistema aplicara la técnica de macropíxeles.
2. El sistema comparará entre si los objetos. [Trayectoria A].
3. El sistema agrupara a los candidatos. [Trayectoria B].
4. El sistema etiquetara los candidatos. [Trayectoria C].
-- Fin de la Trayectoria
Trayectoria Alternativa A
Precondición: El sistema no pudo comparar correctamente los objetos.
A1: El sistema reintentara comparar los objetos.
A2: Regresa al paso 2 de la trayectoria principal.
-- Fin de la trayectoria
97
Trayectoria Alternativa B
Precondición: Ocurrió un error al comparar los candidatos.
B1: Regresa al paso 1 de la trayectoria principal.
-- Fin de la trayectoria
Trayectoria Alternativa C
Precondición: Ocurrió un error al etiquetar a los nuevos patrones.
C1: El sistema mostrara el mensaje MSG6.
C2: El sistema generara una nueva etiqueta.
C3: El sistema verificara la disponibilidad de la etiqueta con la base de datos.
C4: Regresa al paso 3 de la trayectoria principal
-- Fin de la trayectoria
2.6.4.6. Diagrama de casos de uso R.F. 1.6“Reconocer Patrón”
Diagrama 2-6 Caso de Uso R.F. 1.6 “Reconocer Patrón"
Tabla 2-27 Caso de Uso R.F. 1.6 "Reconocer Patrón"
Caso de Uso “Reconocer patrón”
Actor Usuario
Propósito Reconocer un patrón.
Entradas Cadenas binarias
Salidas Patrón detectado
Precondiciones Tener cadenas binarias correspondientes a las letras
del alfabeto de la Lengua de Señas Mexicana.
Postcondiciones Si es un patrón nuevo, etiquetarse y actualizar el
archivo de patrones.
Errores Mostrar el mensaje “MSG3”, “MSG1”, “MSG5”,
“MSG9”.
Fuente Equipo de desarrollo.
98
Trayectoria Principal
1. El usuario toma un patrón y lo compara con otro en la base de datos [Trayectoria A] ||
[Trayectoria B].
2. Se etiqueta el patrón [Trayectoria B].
-- Fin de la Trayectoria
Trayectoria Alternativa A
Precondición: El sistema no pudo conectarse con la base de datos.
A1: El sistema muestra el mensaje MSG1.
A2: El sistema reintentara conectarse con la base de datos local.
A3: Regresa al primer paso de la trayectoria principal.
-- Fin de la trayectoria
Trayectoria Alternativa B
Precondición: Ocurrió un error al guardar un patrón.
B1: El sistema muestra el mensaje MSG9.
B1: El sistema reintentara almacenar al patrón.
B2: Regresa al paso 2 de la trayectoria principal.
-- Fin de la trayectoria
Trayectoria Alternativa C
Precondición: No se generó correctamente la etiqueta del patrón.
C1: El sistema muestra el mensaje MSG5.
C2: El sistema generara una nueva etiqueta.
C3: El sistema verificara la disponibilidad de la etiqueta con la base de datos.
C4: Regresa al paso 2 de la Trayectoria principal.
-- Fin de la trayectoria
2.6.4.7. Diagrama de casos de uso R.F. 1.7 “Producir Sonido”
Diagrama 2-7 Caso de Uso R.F. 1.7 "Producir Sonido"
99
Tabla 2-28 Caso de Uso R.F. 1.7 "Producir Sonido"
Caso de Uso R.F. 1.7 “Producir Sonido”
Actor Usuario.
Propósito Producir sonido.
Entradas Cadena de texto.
Salidas Sonido.
Precondiciones Tener configurado el sintetizador de voz.
Postcondiciones Ninguna.
Errores Mostrar el mensaje “MSG7”
Fuente Reunión con el cliente.
Trayectoria Principal
1. El actor se enlazará al sintetizador de voz [Trayectoria A] || [Trayectoria B].
2. El sistema generará los sonidos correspondientes. [Trayectoria C].
-- Fin de la Trayectoria
Trayectoria Alternativa A
Precondición: No se pudo conectar con Text to Speach.
A1: El sistema muestra el mensaje MSG6.
A2: El usuario deberá verificar si Texto to Speach se encuentra instalado en el dispositivo.
-- Fin de la trayectoria
Trayectoria Alternativa B
Precondición: El sintetizador de voz no responde.
B1: El sistema muestra el mensaje MSG6.
B2: El sistema reintentara conectarse con el sintetizador de voz.
B3: Regresa al paso 2 de la trayectoria principal.
-- Fin de la trayectoria
Trayectoria Alternativa C.
Precondición: El usuario no escucha los comandos.
C1: El usuario deberá verificar que el volumen sea el adecuado.
C2: Regresa al paso 3 de la trayectoria principal.
-- Fin de la trayectoria
100
2.6.5. Diagramas de clases Para el desarrollo del sistema se consideran 2 diagramas de clases, el primero ayudará a entender
la lógica del sistema, es decir la forma en la que esta ópera internamente y el segundo que
mostrará el comportamiento de la vista en función de la lógica del negocio.
2.6.5.1. Diagrama de clases “Lógica de Negocio
Diagrama 2-8 Diagrama de clases "Lógica de Negocio"
Como se sabe, el diagrama de clases muestra la interacción de las diferentes partes del sistema
en un pequeño diagrama, en este caso se observa que la lógica del sistema requiere de siete clases,
las cuales se detallan a continuación:
Sonido: Esta clase será la encargada de realizar la conexión con el sintetizador de voz,
así como de recibir los comandos de voz por parte del control.
Patrón: Esta clase definirá lo que es un patrón, además contendrá lo que significa cada
patrón, así mismo una etiqueta única.
Usuario: Es la persona que utilizará el sistema, este se dividirá en 2 usuario y
administrador, los cuales tendrán por tarea utilizar el sistema y el administrador muy
específicamente realizar tareas como gestionar usuario y patrón.
Conexión: Esta tendrá como propósito conectarse con las bases de datos local y global,
su principal tarea será almacenar los patrones y utilizarlos de forma local, además de que
podrá conectarse con el servidor global para obtener y enviar nuevos patrones.
Control: Control realizara tareas básicas como procesar, enviar, más que nada servida
como manejador de las otras clases.
Procesador: Este tendrá como propósito procesar una imagen para obtener un objeto,
propenso a convertirse en patrón.
101
Cámara: Cámara tendrá como propósito inicializar la cámara y obtener una imagen del
medio.
Aprendizaje: Esta clase tendrá por misión aprender nuevos patrones, esto con base en la
información y precisión configurada, de esto dependerá la cantidad, y la precisión con la
que se aprenda un nuevo patrón.
2.6.5.2. Diagrama de clases “Vista”
Diagrama 2-9 Diagrama de Clases "Vista"
Por otro lado, se cuenta con el análisis de las vistas, el cual brinda la posibilidad de visualizar el
camino correcto a la hora de realizar los métodos correspondientes a cada una de las clases y
pantallas con las que contará el sistema, además de que algunas de ellas tienen comunicación
directa con las bases de datos local y global, lo que permite tener una interacción de la forma más
simplificada posible, entonces analizando que hace cada clase en el sistema:
SplashScreen: Tiene como propósito inicializar la aplicación, es un puente entre la
pantalla de inicio del teléfono y la pantalla principal de nuestro sistema.
Registro: En esta clase se obtendrá la información básica del usuario para realizar un
nuevo registro.
Ayuda: Esta clase tendrá como propósito solicitar la ayuda correspondiente.
Sistema: Es la encargada de inicializar el programa, además de manejar la interacción
con el usuario.
ProcesadorCSV: Esta clase es la encargada de escribir y leer los archivos de patrones
nuevos y desconocidos para la mejora del sistema.
Sincronizar: Esta clase tiene por objeto generar el archivo de patrones desconocidos a
enviar a la etapa de aprendizaje, además de recibir los nuevos patrones.
102
2.6.6. Diagramas de casos de secuencia 2.6.6.1. Diagrama de casos de secuencia R.F. 1.1 “Iniciar Aplicación”
Diagrama 2-10 Secuencias R.F. 1.1 “Iniciar Aplicación”
103
2.6.6.2. Diagrama de casos de secuencia R.F. 1.2 “Obtener Imagen”
Diagrama 2-11 Secuencias R.F. 1.2 “Obtener Imagen”
104
2.6.6.3. Diagrama de casos de secuencia R.F. 1.3 “Adecuar imagen”
Diagrama 2-12 Secuencias R.F. 1.3 “Adecuar imagen”
105
2.6.6.4. Diagrama de casos de secuencia R.F. 1.4 “Segmentar los objetos”
Diagrama 2-13 Secuencias R.F. 1.4 “Segmentar los objetos”
106
Diagrama de casos de secuencia R.F. 1.5 “Aprender Patrones”
Diagrama 2-14 Secuencias R.F. 1.5 “Aprender Patrones"
107
2.6.6.5. Diagrama de casos de secuencia R.F. 1.6 “Reconocer Patrón”
Diagrama 2-15 Secuencias R.F. 1.6 "Reconocer Patrón"
108
2.6.6.6. Diagrama de casos de secuencia R.F. 1.7 “Producir Sonido”
Diagrama 2-16 Secuencias R.F. 1.7."Producir Sonido"
109
2.6.7. Diagramas de estados 2.6.7.1. Diagrama de casos de estados R.F. 1.1. “Iniciar Aplicación”
Diagrama 2-17 Estados R.F. 1.1. “Iniciar Aplicación”
2.6.7.2. Diagrama de casos de estados R.F. 1.2. “Obtener Imagen”
Diagrama 2-18 Estados R.F. 1.2. “Obtener Imagen”
110
2.6.7.3. Diagrama de casos de estados R.F. 1.3 “Adecuar Imagen”
Diagrama 2-19 Estados R.F. 1.3 “Adecuar Imagen”
111
2.6.7.4. Diagrama de casos de estados R.F. 1.4 “Segmentar Imagen”
Diagrama 2-20 Estados R.F. 1.4 “Segmentar Imagen”
112
2.6.7.5. Diagrama de casos de estados R.F. 1.5 “Aprender Patrones”
Diagrama 2-21 Estados R.F. 1.5 “Aprender Patrones”
113
2.6.7.6. Diagrama de casos de estados R.F. 1.6. “Reconocer Patrón”
Diagrama 2-22 Estados R.F. 1.6 “Reconocer Patrones”
114
2.6.7.7. Diagrama de casos de estados R.F. 1.7. “Producir Sonido”
Diagrama 2-23 Estados R.F. 1.7."Producir Sonido"
115
2.6.8. Diagramas de actividades 2.6.8.1. Diagrama de actividades R.F. 1.2. “Iniciar Aplicación”
Diagrama 2-24 Actividades R.F. 1.2. “Iniciar Aplicación”
116
2.6.8.2. Diagrama de actividades R.F. 1.2. “Obtener Imagen”
Diagrama 2-25 Actividades R.F. 1.2. “Obtener Imagen”
117
2.2.4.1. Diagrama de actividades R.F. 1.3 “Adecuar Imagen”
Diagrama 2-26 Actividades R.F. 1.3 “Adecuar Imagen”
118
2.2.4.2. Diagrama de actividades R.F. 1.4 “Segmentar Imagen”
Diagrama 2-27 Actividades R.F. 1.4 “Segmentar Imagen”
119
2.2.4.3. Diagrama de actividades R.F. 1.5 “Aprender Patrones”
Diagrama 2-28 Actividades R.F. 1.5. "Aprender Patrones"
120
2.2.4.4. Diagrama de actividades R.F. 1.6. “Reconocer Patrón”
Diagrama 2-29 Actividades R.F. 1.6. "Reconocer Patrón"
121
2.2.4.5. Diagrama de actividades R.F. 1.7. “Producir Sonido”
Diagrama 2-30 Actividades R.F. 1.7 "Producir Sonido"
122
2.3. Base de datos La base de datos posee tres tablas, Diagrama 49. La tabla Patrón contiene los patrones a utilizar
por nuestro sistema, así como la información básica de la misma como es su etiqueta, esta nos
servirá para realizar la interpretación del patrón correspondiente. Además, se cuenta con la tabla
Usuarios la cual fungirá como la responsable de administrar a los usuarios que pudiesen acceder
al sistema, así como tener cierto control en los patrones. Finalmente, la tabla PatronUsuario,
esta surge como resultado de mapear una relación muchos a muchos a la formal Lógica.
2.3.1. Modelo Conceptual
patron M tiene M usuario
idPatronetiqueta
patron
idUsuario
nombre
password
apellidoM
apellidoP
nombre
anchoMacropixel
largoMacropixel
Diagrama 2-31 Modelo Conceptual de la Base de Datos
2.3.2. Modelo Lógico
Diagrama 2-32 Modelo Lógico de la Base de Datos
2.3.3. Modelo Físico Tabla 2-29 Modelo Físico "Patron"
Nombre Campo Tipo Tamaño Requerido Llave Primaria
IdPatron Varchar 10 Si Si
Etiqueta Varchar 10
Patron Varchar 100
Tabla 2-30 Modelo Físico "Usuario - Patron"
Nombre Campo Tipo Tamaño Requerido Llave Primaria
UsuarioidUsuario Varchar (10) 10 Si Si
PatronidPatron Varchar (10) 10
123
Tabla 2-31 Modelo Físico "Usuario"
Nombre Campo Tipo Tamaño Requerido Llave Primaria
IdUsuario Varchar 10 Si Si
Nombre Varchar 10
ApellidoP Varchar 10
ApellidoM Varchar 10
Password Varchar 10
AnchoMacropixel Int
LargoMacropixel Int
2.3.4. Diccionario de Datos
Tabla 2-32 Diccionario de Datos "Tabla Patron"
Nombre Campo Descripción
IdPatron Identificador único de un patrón.
Etiqueta Significado de un patrón.
Patron Un patrón necesario para realizar funcionalidad en el sistema.
Tabla 2-33 Diccionario de Datos "Tabla Patron Usuario"
Nombre Campo Descripción
UsuarioidUsuario Relación entre las tablas Usuario y Patrón.
PatronidPatron Relación entre las tablas Usuario y Patrón.
Tabla 2-34 Diccionario de Datos "Tabla usuario"
Nombre Campo Descripción
IdUsuario Identificador único de un usuario.
Nombre Nombre del usuario.
ApellidoP Apellido Paterno del usuario.
ApellidoM Apellido Materno del usuario.
Password Contraseña del usuario.
AnchoMacropixel Ancho del tamaño del macropíxel.
LargoMacropixel Largo del tamaño del macropíxel.
2.4. Diagrama de nivel 0
Diagrama 2-33 Nivel 0
124
3. Diseño del Sistema 3.1. Vista de la Aplicación desde el menú principal
3.1.2. Objetivo Localizar la aplicación desde el menú principal del dispositivo móvil.
3.1.3. Diseño La figura 3-1 muestra la localización de la aplicación móvil en el menú principal del dispositivo
móvil, para inicializar el programa bastara con presionar el botón que se encuentra en el menú y
automáticamente iniciara la aplicación.
Figura 3-1 Localización de la aplicación en el menú principal del dispositivo móvil.
3.1.4. Entradas Ninguna
3.1.5. Comandos Ninguno
125
3.2. Pantalla Splash Screen
3.2.1. Objetivo Inicializar los componentes de la aplicación, es decir cargar los patrones en la base de datos, así
como preparar los mismo para el uso de la aplicación.
3.2.2. Diseño La figura 3-2 muestra el logotipo del proyecto, durante el tiempo en el que se muestra se cargan
los componentes del sistema.
Figura 3-2 Pantalla Splash Screen
3.2.3. Entradas Ninguno
3.2.4. Comandos Ninguno
126
3.3. Pantalla Menú principal
3.3.1. Objetivo Esta pantalla le permite al usuario inicializar el sistema para el reconocimiento de una
determinada seña, por otro lado, también nos permitirá obtener nuevos patrones, además obtener
ayuda en caso de no saber cómo utilizar el sistema y finalmente salir que termina con la ejecución
del sistema.
3.3.2. Diseño La figura 3.3, muestra las diversas opciones con las que cuenta el sistema como lo son
reconocimiento, actualización y salir, la primera de estas nos ofrece la posibilidad de inicializar
la pantalla de reconocimiento e interpretar una seña, por otro lado, actualización no permite
obtener las últimas actualizaciones de las señas.
Figura 3-3 Pantalla Menú Principal
3.3.3. Entradas Ninguna
3.3.4. Comandos Esta opción permite la inicialización de la pantalla de reconocimiento
de la seña a analizar y obtener el resultado correspondiente.
Este botón permite a la aplicación accesar a la pantalla de
actualización del sistema, la cual permitirá a la aplicación tener nuevos
patrones.
Este botón termina con la ejecución del sistema.
127
3.4. Pantalla Reconocer seña
3.4.1. Objetivo Esta pantalla tiene como objetivo reconocer y emitir el sonido correspondiente a la seña
identificada, por otro lado, cuenta con la posibilidad de eliminar una seña en caso de que el
usuario la considere errónea.
3.4.2. Diseño
Figura 3-4 Pantalla Reconocimiento
3.4.3. Entradas Imagen de la cámara del dispositivo móvil.
3.4.4. Comandos
Esta opción permite al sistema la captura de una imagen, e iniciar el proceso de
identificación de la seña correspondiente, mediante el envió de la etiqueta del patrón
identificado al campo de texto para su posterior emisión.
Este botón permite al usuario corregir una seña mal interpretada eliminándola de la
cadena que se emitirá posteriormente.
En el siguiente campo de texto se muestra las señas identificadas.
128
La siguiente opción permite emitir el contenido que se encuentra en el campo de texto.
Este botón permite eliminar una seña mal identificada, para posteriormente identificar
otra de forma correcta.
129
4. Desarrollo de la solución 4.1. Implementación
Se utiliza Android Studio para la programación orientada a objetos e interfaz gráfica, por ser la
herramienta más distribuida en la actualidad, además se incluirá la biblioteca de OpenCV para
Android, la cual será utilizada para manipular las imágenes de forma más sencilla y útil.
Por ser más común se utiliza el formato de imagen JPG porque es el formato por defecto
que utilizan las cámaras de los dispositivos móviles. Por otro lado, se utiliza el espacio de color
RGB, porque es el que se utiliza en dispositivos digitales.
Por otro lado, se utiliza el gestor de base de datos SQLite para el funcionamiento de la
base de datos.
4.2. Técnicas utilizadas El proyecto realizado contempla la comparación de diversas técnicas véase Capitulo 2, lo cual
nos permitirá obtener una imagen adecuada para el procesamiento de la imagen en módulos
posteriores,
A continuación, se describen las técnicas utilizadas en el desarrollo del trabajo terminal:
4.2.1. Etapa de pre procesamiento 4.2.1.1. Técnica del método de un solo canal de color “Verde”
Como ya se había mencionado en el capítulo 2, este es uno de los métodos más simples para
producir una imagen en tonos de grises, ya que utiliza menos recursos, es decir, para convertir
una imagen a escala de grises por esta técnica solo nos fijamos en los valores de un determinado
valor.
Figura 4-1 Imagen de mano con guante
Figura 4-2 Imagen de mano con guante aplicando la técnica de un solo canal de color "verde"
130
4.2.1.2. Técnica del histograma
Recordando lo previamente citado en el capítulo 2, este método consiste en el mejoramiento del
contraste, la cual pretende que toda la imagen tenga una distribución uniforme en toda la escala
de grises, es decir eliminar lo más posible los picos en una sola región del histograma, tomando
como base la Figura 4-2, obtenemos como resultado la siguiente imagen, veamos la Figura 4-3.
Figura 4-3Imagen de mano con guante aplicando la técnica de histograma
4.2.1.3. Técnica del método de umbral de Otsu
Este método supone la existencia de que en la imagen existen dos clases de pixeles, partiendo de
estos calcula el umbral óptimo que separa estas dos clases de modo que su propagación
combinada es mínima. Por ejemplo, tomando la Figura 4-3 como base, aplicando esta técnica se
obtiene el siguiente resultado, véase Figura 4-3.
Figura 4-4 Imagen de mano con guante aplicando la técnica de umbral de Otsu
4.2.2. Etapa de segmentación 4.2.2.1. Técnica del método de Otsu
Esta es una de las técnicas más utilizadas para la obtención automática del umbral para la
segmentación de una imagen. Este umbral se considera como el valor que permite la partición de
dos clases, en pocas palabras, el objeto y el fondo. Por ejemplo, tomando como base la Figura 4-
4 y aplicando este resultado obtenemos, véase Figura 4-4.
Figura 4-5 Imagen de mano con guante aplicando el método de Otsu
131
5. Conclusiones El proyecto del sistema de reconocimiento de la lengua de señas mexicana (LSM), tiene como
objetivo principal el desarrollo de una aplicación móvil que a su vez sea una herramienta de
apoyo para las personas que padecen hipoacusia, permitiéndoles comunicarse con personas sin
conocimiento de la lengua de señas.
Durante la realización de este proyecto, fue primordial hacer el procesamiento de las imágenes,
esto, debido a que es la base para materializar el proyecto. Por ende, las primeras pruebas de
factibilidad de enfocaron a la captación de imágenes, ya que el procesador de la mayoría de
dispositivos móviles no cuenta con el nivel de procesamiento de un equipo de cómputo.
Es importante mencionar que se llevaron a cabo una serie pruebas de los diversos algoritmos
existentes mencionados en el estado del arte como por ejemplo: la conversión a escala de grises,
la adecuación y binarización de imágenes, además determinaron los mejores en base a tiempos
de procesamiento y a calidad de la imagen, está realizando un análisis con 10 personas
seleccionadas al azar, las cuales contribuyeron a realizar un análisis más objetivo, para así
seleccionar el mejor algoritmo con base en la calidad de la imagen.
Por otro lado, se realizaron diversas pruebas con los algoritmos de aprendizaje, y se terminó que
el mejor era el algoritmo de máxima similitud, el cual presento los mejores resultados, pero este
se deberá retomar para trabajo a futuro, ya que no es parte de este proyecto, pero se dejan las
bases para su posterior desarrollo.
Se desarrolló el diseño de la aplicación en función de los esquemas realizados en la primera parte
de este proyecto terminal, así como algunos ajustes que surgieron a lo largo del desarrollo que
permitieron un mejor aprovechamiento del espacio en la pantalla del dispositivo, así como de los
recursos del teléfono móvil.
Cabe destacar que el rendimiento de la batería se vio afectado, ya que el rendimiento de la batería
era muy similar al uso del dispositivo con aplicaciones como YouTube®, Facebook®, entre
otras, por lo que debe considerarse un análisis para reducir el consumo de batería.
132
6. Trabajo a futuro Como trabajo a futuro se proyecta su implementación en otras plataformas móviles como IOS®
y Windows Phone®. Así como la mejora de los módulos para el escalamiento de la aplicación a
tiempo real, además de reconocer las señas dinámicas del LSM.
Por otro lado, se propone la investigación de nuevas técnicas no mencionadas en el Estado del
Arte del presente Trabajo Terminal con el objeto de mejorar el rendimiento de la batería y de los
recursos computacionales del dispositivo móvil.
Es importante mencionar que cada una de las palabras identificadas podría ser válida, esto con el
propósito de no reproducir palabras no existentes en los diccionarios de la real academia de la
lengua española, la cual rige actualmente a México.
Por otro lado desarrollar y perfeccionar el módulo de aprendizaje, para que este sea utilizado en
el dispositivo móvil y cada individuo tenga la capacidad de entrenar a su dispositivo con
características únicas que pueden dar un mejor resultado al momento de reconocer una seña.
Finalmente se considera contar en la nube con un servidor, el cual almacene las señas de cada
uno de los diversos usuarios que utilizan la aplicación para los siguientes propósitos:
1. Almacenamiento de respaldo de las señas de cada uno de los usuarios registrados.
2. Contar con señas generalizadas, que pueden ser usadas como base en las aplicaciones
recién instaladas en nuevos equipos.
3. Mejorar el reconocimiento de las diferentes señas del alfabeto de la LSM.
4. Contar con un repositorio por país de las diferentes lenguas de señas existentes en cada
país, y así diversificar el reconocimiento de las lenguas en caso de que los usuarios viajen
a través del mundo.
133
Referencias
[
1
]
«Definición ABC, "Definicion de Discapacidad",» [En línea]. Available:
http://www.definicionabc.com/salud/discapacidad.php. [Último acceso: 25 08 2015].
[
2
]
«MAQUINARIApro,» [En línea]. Available: http://www.maquinariapro.com/sistemas/sistema-de-
comunicacion.html. [Último acceso: 20 9 2015].
[
3
]
«Biblioteca Itson,» [En línea]. Available: http://biblioteca.itson.mx/oa/dip_ago/introduccion_sistemas/p3.htm.
[Último acceso: 20 09 2015].
[
4
]
A.D.A.M., Inc, «MedlinePlus Información de salud para usted,» ADAM Health Solutions., 2015 11 2. [En
línea]. Available: https://www.nlm.nih.gov/medlineplus/spanish/ency/article/003044.htm. [Último acceso: 14
11 2015].
[
5
]
«Encuesta Nacional de Ingresos y Gastos de los Hogares,» [En línea]. [Último acceso: 17 09 2015].
[
6
]
«Escuela Superior de Compúto,» [En línea]. Available: http://www.isc.escom.ipn.mx/. [Último acceso: 18 08
2015].
[
7
]
«INEPEDI DF,» Gobierno de la Ciudad de México, [En línea]. Available: http://indepedi.df.gob.mx/. [Último
acceso: 17 09 2015].
[
8]
«Instituto Nacional de Estadistica y Geografia.,» [En línea]. Available: http://www.inegi.org.mx/. [Último
acceso: 17 09 2015].
[
9
]
«Instituto Politecnico Nacional,» [En línea]. Available: http://www.upiita.ipn.mx/. [Último acceso: 17 09
2015].
[
1
0
]
«Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas.,» [En línea]. Available:
http://www.upiita.ipn.mx/. [Último acceso: 18 09 2015].
[
1
1
]
J. R. H. Martín, «emezeta,» [En línea]. Available: http://www.emezeta.com/articulos/10-sintetizadores-de-voz-
tts-para-android. [Último acceso: 15 11 2015].
[
1
2
]
S. Gobernacion, «Ley General para la Inclusion de las personas con discapacidad,» [En línea]. Available:
www.dof.gob.mx/nota_detalle.php?codigo=519151. [Último acceso: 11 02 2016].
[
13
]
B. Fridman. [En línea]. Available: www.cultura-
sorda.eu/resources/Fridman_B_Etnicidades_Sordo_se$C3$B1ante_hablante_2012.pdf. [Último acceso: 11 02 2016].
[
1
4]
R. R. C. M. Z. M. y. S. E. S. L.A. Lopez Garcia, «Mis manos que hablan para sordos,» Mexico, Trillas, 2006,
p. 25.
[
1
5
]
[En línea]. Available: http://www.conacytprensa.mx/index.php/tecnologia/robotica/5354-sistema-para-
traduccion-de-senas-en-mexico-e-directa. [Último acceso: 24 Febrero 2016].
134
[
1
6
]
O.Lemus, «Aplicacion móvil para la comunicacion con peronas que utilizan el lenguaje de señas,» Mexico,
2016.
[
17
]
H.L.Garcia, «Traductor de lenguaje sordomudo mediante un guante con sensores y una aplicacion movil,»
Mexico, 2015.
[
1
8
]
F.Pérez, «Reconocimiento de Imágenes del Lenguaje de Señas Mexicano (Tesis de Maestria),» CIC-IPN, 2012.
[
1
9
]
L.R.G, «Sistema para el reconocimiento del alfabeto dactilologico (Tesis de Mestria),» Mexico D.F., 2012.
[
2
0
]
R. C.C.H, «American Sign Language Recognition Using Leap Motion Sensor, 13th International Conference
on Machine Learning and Applications (ICMLA),» 2014.
[
2
1
]
K. Y. H.G.A.S, «Hand Gesture Recognition for Indian Sign Language,» de International Conference on
Computer Communication and Informatics (ICCCL), 2012.
[
2
2
]
K. Shanableh, «Arabic sign language recognition in user independent mode,» de IEEE Internetional
Conference on Intelligent and Advanced Systems, 2007.
[2
3
]
V. K.M., «Listening to deaf,» de A greek sign language translator, Information and Communication Technologies, 2006.
[
2
4]
Kitsord, «Kitsord,» [En línea]. Available: http://www.kitsord.com/. [Último acceso: 02 Septiembre 2015].
[
2
5
]
GooglePlay. [En línea]. Available:
https://play.google.com/store/apps/details?hl=es&id=es.fundacionvodafone.cnse.misp.. [Último acceso: 16
Febrero 24].
[
2
6
]
«GooglePlay,» [En línea]. Available:
https://play.google.com/store/apps/details?hl=es&id=com.andromo.dev205396.app2. [Último acceso: 16 02
24].
[
2
7
]
«Definición,» [En línea]. Available: http://definicion.de/imagen/.. [Último acceso: 15 Mayo 2016].
[
2
8
]
«Fotonostra,» [En línea]. Available: http://www.fotonostra.com/. [Último acceso: 17 Marzo 2016].
[
2
«Academia de Comunicación,» [En línea]. Available:
http://academiadecomunicacion.files.wordpress.com/2010/11/3015847483_52c8e5b190.jpg. [Último acceso:
17 Marzo 2016].
135
9
]
[
3
0
]
«Me voy a dar una vuelta...al mundo,» 25 Abril 2013. [En línea]. Available: http://3.bp.blogspot.com/-
9nMDE1p2j_g/UXkXMim4ApI/AAAAAAAABEg/EDVndXRoNHY/s400/ninh+binh-hanoi+216.JPG.
[Último acceso: 15 Mayo 2016].
[
3
1
]
«Mas que Fotos,» [En línea]. Available: http://guilleegt.blogspot.mx/2016/01/clave-baja-y-clave-alta-luz-dura-
luz.html. [Último acceso: 03 Abril 2016].
[
3
2
]
«TPG,» [En línea]. Available: http://tpg-unt.blogspot.mx/2009/06/operaciones-basicas-en-imagenes.html.
[Último acceso: 25 Febrer0 2016].
[
3
3
]
«Blog Embarazo,» [En línea]. Available: http://blog.elembarazo.net/wp-content/uploads/sites/13/2014/08/luz-
artificial-fertilidad.jpg. [Último acceso: 3 Abril 2016].
[
3
4
]
R. y. J.Sossa, «Procesamiento y Analisis Digital de Imagenes,» Alfaomega, 2012, p. 20.
[3
5
]
R. y. R.Woods, «Digital Image Processing,» New Jersey, Prentice Hall, 2002.
[
3
6]
«ESCET,» [En línea]. Available: http://www.escet.urjc.es/~visiona/tema2.pdf. [Último acceso: 25 Febrero
2016].
[
3
7
]
«Blog de Desarrollo de Bostjan Cigan,» [En línea]. Available: http://developer.bostjan-cigan.com/java-color-
image-to-grayscale-conversion-algorithm/. [Último acceso: 24 Marzo 2016].
[
3
8
]
[En línea]. Available: https://sites.google.com/site/lemared/operaciones-puntuales-sobre-imagenes. [Último
acceso: 25 Marzo 2016].
[
3
9
]
R. Rodriguez, «Procesamiento y Analisis Digital de Imagenes,» México, Alfaomega, 2012, pp. 80-87.
[
4
0
]
«Weka,» [En línea]. Available: http://wekaclassalgos.sourceforge.net/. . [Último acceso: 27 Marzo 2016].
[
4
1
]
[En línea]. Available: http://tpg-unt.blogspot.mx/2009/06/operaciones-basicas-en-imagenes.html. [Último
acceso: 25 Febrero 2016].
[
42
]
«Wikipedia,» [En línea]. Available:
https://es.wikipedia.org/wiki/Aprendizaje_de_cuantificaci%C3%B3n_vectorial.. [Último acceso: 27 Marzo 2016].
136
[
4
3
]
[En línea]. Available:
http://www.fon.hum.uva.nl/praat/manual/Feedforward_neural_networks_1__What_is_a_feedforward_ne.html.
[Último acceso: 17 Marzo 2016].
[
44
]
J.A.C.O.J.A.M.V.J.A.C.O., «Comparación cualitativa y cuantitativa de las técnicas básicas de umbralización
local para el procesamiento digital de imagenes,» 2012, p. 6.
[
4
5
]
[En línea]. Available: http://volaya.github.io/libro-sig/chapters/Imagenes.html. [Último acceso: 11 Marzo
2016].
[
4
6
]
«WordPress,» [En línea]. Available: https://gsnava.files.wordpress.com/2014/07/ecualizar2.png/. [Último
acceso: 17 Marzo 2016].
[
4
7
]
«R. Rodriguez,» de Procesamiento y Analisis Digital de Imagenes, Mexico, Alfaomega, 2012, pp. 163-173.
[
4
8
]
«Photocucket,» [En línea]. Available: http://s562.photobucket.com/user/Sckarleth16/media/negativo.jpg.html.
[Último acceso: 15 Marzo 2016].
[
4
9
]
R. R. y. J.Sossa, «Procesamiento y Analisis Digital de Imagenes,» Mexico, Alfaomega, 2012, p. 157.
[5
0
]
«Scribd,» [En línea]. Available: http://es.scribd.com/doc/95955221/SEGMENTACION-DE-IMAGENES-POR-NIVELES-DE-GRISES-Y-ETIQUETADO-DE-IMAGENES-BINARIAS#scribd. [Último acceso: 13
Marzo 2016].
[
5
1]
L. Gil, «Sistema para el Reconocimiento dactilologico (Tesis maestria),» 2009.
[
5
2
]
J. Azuela, «Rasgos Descriptores para el Reconocimiento de Objetos,» Mexico, 2006, p. 88.
[
5
3
]
«J. Azuela,» de Rasgos Descriptores para el Reconocimiento de Objetos, Mexico, 2006, p. 88.
[
5
4
]
«Unam,» [En línea]. Available: turing.iimas.unam.mx/~elena/PDI-lic/Tema_3_AB.pdf. [Último acceso: 16
Febrero 2016].
[
5
5
]
J.Azuela, «Rasgos descriptores para el reconocimiento de objetos,» Mexico, Alfaomega, 2006.
[
5
[En línea]. Available: http://tpg-unt.blogspot.mx/2009/06/operaciones-basicas-en-imagenes.html.. [Último
acceso: 14 Febrero 2016].
137
6
]
[
5
7
]
J. S. Azuela, «Rasgos descriptores para el reconocimiento de objetos,» Mexico, 2006, p. 116.
[
5
8
]
J.Azuela, «Rasgos a partir de configuracion de puntos,» Mexico, 2006, pp. 162-172.
[
5
9
]
J. S. Azuela, «Rasgos a partir de configuraciones de puntos,» de Rasgos topologicos, Mexico, 2006, pp. 177-
186.
[
6
0
]
«U.F.D Ingenieria,» [En línea]. Available: http://redyseguridad.fi-
p.unam.mx/proyectos/biometria/basesteoricas/reconocimiento.htm. [Último acceso: 18 Marzo 2016].
[
6
1
]
unam.mx. [En línea]. Available: http://redyseguridad.fi-
p.unam.mx/proyectos/biometria/basesteoricas/reconocimiento.html. [Último acceso: 27 02 16].
[6
2
]
[En línea]. Available: http://www2.ulpgc.es/hege/almacen/download/38/38584/practica_ia_2.pdf.. [Último acceso: 11 Marzo 2016].
[
6
3]
[En línea]. Available: http://halweb.uc3m.es/esp/Personal/personas/jmmarin/esp/DM/tema3dm.pdf. [Último
acceso: 04 Abril 2016].
[
6
4
]
[En línea]. Available: catarina.udlap.mx/u_dl_a/tales/documentos/mel/...g.../capitulo4.pdf. [Último acceso: 22
Marzo 2016].
[
6
5
]
[En línea]. Available: www.inf.utfsm.cl/~rsalas/Pagina_Investigacion/.../Redes%20SOM.pdf. [Último acceso:
27 02 16].
[
6
6
]
F. P. Priego Pérez, «Reconocimiento de imágenes del lenguaje de señas mexicano,» Ciudad de México, 2012.
[
6
7
]
[En línea]. Available: http://recursostic.educacion.es/observatorio/web/es/software/softwaregeneral. [Último
acceso: 11 Marzo 2016].
[
6
8
]
22 Octubre 2008. [En línea]. Available: https://www.fdi.ucm.es/profesor/gmendez/docs/is0809/ieee830.pdf..
[Último acceso: 15 Mayo 2016].
[
69
]
[En línea]. Available: http://www.comscore.com/lat/Insights/Presentations-and-Whitepapers/2015/Social-
Media-Insights-and-Metrics. [Último acceso: 04 Abril 2016].
138
[
7
0
]
[En línea]. Available: https://www.yeeply.com/blog/entornos-programacion-desarrollar-apps-android/. [Último
acceso: 16 Abril 2016].
[
71
]
[En línea]. Available: ttp://www.campusmvp.es/catalogo/Product-Introducci%C3%B3n-al-desarrollo-de-
aplicaciones-m%C3%B3viles-para-Android-con-Xamarin-y-C_160.aspx. [Último acceso: 043 Abril 2016].
[
7
2
]
[En línea]. Available: https://www.unocero.com/2014/06/04/basic-4-android-para-programar-apps-facilmente.
[Último acceso: 04 Abril 2016].
[
7
3
]
[En línea]. Available: informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf.. [Último acceso: 09
Marzo 2016].
[
7
4
]
[En línea]. Available: https://sites.google.com/site/lenguajecprogramacion/ventajas-y-desventajas. [Último
acceso: 16 Marzo 2016].
[
7
5
]
[En línea]. Available: exa.unne.edu.ar/ingenieria/computacion/lenguajec.ppt.. [Último acceso: 11 Marzo 2016].
[
7
6
]
[En línea]. Available: https://www.java.com/es/download/faq/whatis_java.xml. [Último acceso: 09 Marzo
2016].
[7
7
]
«Definicion DE,» [En línea]. Available: http://definicion.de/java/.. [Último acceso: 20 Enero 2016].
[
7
8]
[En línea]. Available: http://meetingjava.blogspot.mx/2006/08/ventajas-y-desventajas-del-java.html. [Último
acceso: 03 Marzo 2016].
[
7
9
]
[En línea]. Available: [En línea]. Available:
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUK
EwiJzbuflLnLAhUhkoMKHRNPBMIQFggbMAA&url=http%3A%2F%2Fwww.it.uc3m.es%2Fspickin%2Fdo
cencia%2Fcomsoft%2Fpresentations%2Fspanish%2Fdoc%2FPython.p. [Último acceso: 15 Marzo 2016].
[
8
0
]
[En línea]. Available: https://www.codejobs.biz/es/blog/2013/03/02/que-es-python. [Último acceso: 09 Marzo
2016].
[
8
1
]
[En línea]. Available: http://www.maestrosdelweb.com/ventajas-python/. [Último acceso: 09 Marzo 2016].
[
8
2
]
[En línea]. Available: http://valeriamenendez.blogspot.mx/. [Último acceso: 09 Marzo 2016].
[
8
[En línea]. Available: http://valeriamenendez.blogspot.mx/. [Último acceso: 16 Marzo 2016].
139
3
]
[
8
4
]
[En línea]. Available: http://csharpyfoxpro.blogspot.mx/2012/10/noticia-futuro-de-c.html. [Último acceso: 09
Marzo 2016].
[
8
5
]
[En línea]. Available: biocomp.cnb.csic.es/~coss/Docencia/MATLAB/ApuntesGrande.pdf. [Último acceso: 9
marzo 2016].
[
8
6
]
[En línea]. Available: https://geekytheory.com/opencv-en-linux. [Último acceso: 10 Marzo 2016].
[
8
7
]
[En línea]. Available: http://mscerts.wmlcloud.com/es/975080.aspx. [Último acceso: 10 Marzo 2016].
[
8
8
]
[En línea]. Available: http://www.software.com.mx/p/leadtools-document-imaging#product-description..
[Último acceso: 11 Marzo 2016].
[8
9
]
[En línea]. Available: http://oa.upm.es/33069. [Último acceso: 09 Marzo 2016].
[
9
0]
[En línea]. Available: http://boofcv.org/index.php?title=Main_Page. [Último acceso: 11 Marzo 2016].
[
9
1
]
[En línea]. Available: http://desarrollowebydesarrolloweb.blogspot.mx/2015/02/tabla-comparativa-de-los-
sistemas.html. [Último acceso: 11 Marzo 2016].
[
9
2
]
[En línea]. Available: http://superinformacionweb.blogspot.mx/2014/11/ventajas-y-desventajas-de-mysql.html.
[Último acceso: 11 Abril 2016].
[
9
3
]
[En línea]. Available: https://docs.google.com/document/d/1VGQOkt-
HX1wxa1KWKnlf5wOBferYx7RXmwwlFFy4GWQ/edit. [Último acceso: 09 Marzo 2016].
[
9
4
]
[En línea]. Available: http://es.slideshare.net/VictorZevallos/comparacion-de-gestores-de-base-de-datos.
[Último acceso: 09 Marzo 2016].
[
9
5
]
[En línea]. Available: http://desarrollowebydesarrolloweb.blogspot.mx/2015/02/tabla-comparativa-de-los-
sistemas.html. [Último acceso: 09 Marzo 2016].
[
96
]
[En línea]. Available: http://sg.com.mx/revista/17/sqlite-la-base-datos-embebida#.VuMwjUByz0Y. [Último
acceso: 01 Abril 2016].