140
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

INSTITUTO POLITÉCNICO NACIONAL...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

  • 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]

3

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

Google

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].

140

[

9

7

]

R.Rodriguz, «Procesamiento y Analisis DIgital de Señales,» Mexico, 2012, pp. 163-173.

[

98

]

[En línea]. Available: http://sg.com.mx/revista/17/sqlite-la-base-datos-embebida#.VuMwjUByz0Y. [Último

acceso: 20 Marzo 2016].