Tesis que presenta - CINVESTAVwgomez/documentos/MNO2011.pdf · Agradecimientos A mi primera...
Transcript of Tesis que presenta - CINVESTAVwgomez/documentos/MNO2011.pdf · Agradecimientos A mi primera...
Centro de Investigacion y de Estudios Avanzadosdel Instituto Politecnico Nacional
Laboratorio de Tecnologıas de Informacion
Reconocimiento de dıgitos endispositivos moviles
Tesis que presenta:
Martın Nava Ortiz
Para obtener el grado de:
Maestro en Cienciasen Computacion
Dr. Arturo Dıaz Perez, Co-DirectorDr. Wilfrido Gomez Flores, Co-Director
Cd. Victoria, Tamaulipas, Mexico. Diciembre, 2011
La tesis presentada por Martın Nava Ortiz fue aprobada por:
Dr. Luis Gerardo de la Fraga
Dr. Gregorio Toscano Pulido
Dr. Arturo Dıaz Perez, Co-Director
Dr. Wilfrido Gomez Flores, Co-Director
Cd. Victoria, Tamaulipas, Mexico., 7 de Diciembre de 2011
Agradecimientos
A mi primera familia, mis padres y hermanos, por su apoyo incondicional en todo lo que hago.
Al Dr. Arturo Dıaz, por su acertada direccion en la realizacion de este trabajo de tesis, perosobre todo por su paciencia y buenos consejos.
Al Dr. Wilfrido Gomez, por el apoyo y dedicacion brindados en la realizacion de este trabajode tesis.
A mis revisores, el Dr. Luis Gerardo de la Fraga y el Dr. Gregorio Toscano Pulido por eltiempo que dedicaron a revisar este documento, y por sus comentarios que indudablementecontribuyeron a mejorar este trabajo.
A todos los investigadores del Laboratorio de Tecnologıas de Informacion del CINVESTAVTamaulipas por su apoyo y conocimientos recibidos durante la realizacion de mis estudios demaestrıa, y en especial a los que confiaron en mı y me dieron la oportunidad de ingresar a esteprograma de maestrıa.
Al CINVESTAV, por el apoyo academico y economico brindados, los cuales directamente con-tribuyeron en mi formacion durante esta etapa de mi vida.
Al CONACYT, por otorgarme el apoyo economico que me permitio concluir mis estudios demaestrıa.
Indice General
Indice General I
Indice de Figuras V
Indice de Tablas IX
Indice de Algoritmos XI
Publicaciones XIII
Resumen XV
Abstract XVII
1. Introduccion 1
1.1. Antecedentes y motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Objetivos generales y especıficos del proyecto . . . . . . . . . . . . . . . . . . . . . 5
1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2. Objetivos particulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4. Metodologıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2. Manipulacion de imagenes en dispositivos moviles 9
2.1. Dispositivos moviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1. La evolucion de los telefonos celulares . . . . . . . . . . . . . . . . . . . . . 10
2.1.2. Procesamiento de imagenes en dispositivos moviles . . . . . . . . . . . . . . 12
2.2. Sistemas operativos y plataformas de desarrollo . . . . . . . . . . . . . . . . . . . . 13
2.2.1. Plataformas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2. Sistemas operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.3. Frameworks para el desarrollo de aplicaciones . . . . . . . . . . . . . . . . . 19
2.2.4. El sistema operativo Android . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Plataformas Cliente-Servidor en entornos moviles . . . . . . . . . . . . . . . . . . . 22
2.4. Aplicaciones para manipulacion de imagenes en dispositivos moviles . . . . . . . . . 23
2.5. Captura de imagenes a traves de dispositivos moviles . . . . . . . . . . . . . . . . 26
2.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
i
3. Reconocimiento de dıgitos en dispositivos moviles 31
3.1. Reconocimiento de dıgitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.1. Adquisicion de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.1.1. Representacion de imagenes digitales . . . . . . . . . . . . . . . . 34
3.1.1.2. Relaciones entre pıxeles. . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1.3. Operaciones basicas en procesamiento de imagenes . . . . . . . . 38
3.2. Fases de un sistema de reconocimiento de dıgitos . . . . . . . . . . . . . . . . . . . 38
3.2.1. Pre-procesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.1.1. Reduccion de ruido y suavizado . . . . . . . . . . . . . . . . . . . 39
3.2.1.2. Normalizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.1.3. Simplificacion de descriptores . . . . . . . . . . . . . . . . . . . . 41
3.2.2. Extraccion y seleccion de caracterısticas . . . . . . . . . . . . . . . . . . . . 45
3.2.2.1. Transformacion global y series de expansion . . . . . . . . . . . . 45
3.2.2.2. Representacion estadıstica . . . . . . . . . . . . . . . . . . . . . . 46
3.2.2.3. Representacion geometrica y topologica . . . . . . . . . . . . . . 46
3.2.2.4. Reduccion de dimensionalidad . . . . . . . . . . . . . . . . . . . . 47
3.2.3. Clasificacion y entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2.3.1. Metodos de decision teorica . . . . . . . . . . . . . . . . . . . . . 55
3.2.3.2. Tecnicas estructurales . . . . . . . . . . . . . . . . . . . . . . . . 59
3.3. Trabajo relacionado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3.1. Analisis de documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.3.2. Reconocimiento en entornos difıciles . . . . . . . . . . . . . . . . . . . . . 62
3.3.3. Resumen de trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . 64
3.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4. Pre-Procesamiento 67
4.1. Segmentacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.1.1. Metodo Bernsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.1.2. Metodo Niblack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.1.3. Metodo Sauvola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.1.4. Metodo Wellner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.1.5. Metodo White . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2. Eliminacion de ruido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3. Normalizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4. Evaluacion y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4.1. Conjuntos de datos de prueba . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.2. Metricas de desempeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.5. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
ii
5. Extraccion y seleccion de caracterısticas 835.1. Extraccion de caracterısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.1.1. Derivadas de la distribucion estadıstica de pıxeles . . . . . . . . . . . . . . . 855.1.1.1. Momentos centrales normalizados . . . . . . . . . . . . . . . . . . 855.1.1.2. Cruces y distancias . . . . . . . . . . . . . . . . . . . . . . . . . 855.1.1.3. Distancias del centroide al borde . . . . . . . . . . . . . . . . . . 875.1.1.4. Division en zonas . . . . . . . . . . . . . . . . . . . . . . . . . . 905.1.1.5. Puntos finales e intersecciones . . . . . . . . . . . . . . . . . . . 90
5.1.2. Geometricas y topologicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.1.2.1. Aproximacion de formas geometricas . . . . . . . . . . . . . . . . 935.1.2.2. Caracterısticas geometricas . . . . . . . . . . . . . . . . . . . . . 95
5.2. Seleccion de caracterısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.2.1. Reduccion de dimensionalidad . . . . . . . . . . . . . . . . . . . . . . . . . 985.2.2. Metodos de seleccion de caracterısticas . . . . . . . . . . . . . . . . . . . . 101
5.3. Evaluacion y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.3.1. Desempeno en la seleccion de caracterısticas . . . . . . . . . . . . . . . . . 1055.3.2. Desempeno de la utilizacion de los espacios de caracterısticas . . . . . . . . 110
5.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6. Clasificacion 1156.1. Clasificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.1.1. Clasificador de mınima distancia . . . . . . . . . . . . . . . . . . . . . . . . 1186.1.1.1. Distancia Manhattan . . . . . . . . . . . . . . . . . . . . . . . . 1186.1.1.2. Distancia Euclidiana . . . . . . . . . . . . . . . . . . . . . . . . . 1196.1.1.3. Distancia Mahalanobis . . . . . . . . . . . . . . . . . . . . . . . . 119
6.1.2. Correspondencia por correlacion . . . . . . . . . . . . . . . . . . . . . . . . 1206.1.3. Correspondencia de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.1.3.1. Distancia de edicion . . . . . . . . . . . . . . . . . . . . . . . . . 1226.1.3.2. Alineamiento de secuencias . . . . . . . . . . . . . . . . . . . . . 125
6.2. Evaluacion y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296.2.1. Desempeno de la clasificacion por mınima distancia . . . . . . . . . . . . . 1316.2.2. Desempeno de la clasificacion mediante correspondencia por correlacion . . . 1336.2.3. Desempeno de la clasificacion mediante correspondencia de cadenas . . . . . 134
6.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 1397.1. Arquitectura del sistema de reconocimiento automatizado . . . . . . . . . . . . . . 140
7.1.1. Version para el telefono movil . . . . . . . . . . . . . . . . . . . . . . . . . 1427.1.1.1. Definicion de patrones . . . . . . . . . . . . . . . . . . . . . . . . 1427.1.1.2. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.1.2. Version para el equipo de escritorio . . . . . . . . . . . . . . . . . . . . . . 1467.1.2.1. Implementacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.2. Evaluacion y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
iii
7.2.1. Implementacion en el telefono movil . . . . . . . . . . . . . . . . . . . . . . 1487.2.2. Desempeno del sistema completo . . . . . . . . . . . . . . . . . . . . . . . 149
7.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8. Conclusiones y trabajo futuro 1538.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1538.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
iv
Indice de Figuras
2.1. Capas del entorno movil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2. Venta de smartphones en el primer cuarto del 2011 por sistema operativo (Gartner
[51]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1. Clasificacion de los sistemas de reconocimiento de caracteres disponibles. . . . . . . 323.2. Comparativa entre dıgitos manuscritos e impresos . . . . . . . . . . . . . . . . . . 333.3. Sistema de coordenadas de una imagen. . . . . . . . . . . . . . . . . . . . . . . . . 343.4. Conectividad [14]: (a) 4-vecinos (4-conectividad); (b) 8-vecinos (8-conectividad). . 363.5. Ejemplos de objetos componentes con 4-conectividad. . . . . . . . . . . . . . . . . 373.6. Conectividad [14]: (a) Un patron de un componente con 8-conectividad ; (b) Un
patron que no tiene 4- ni 8-conectividad. . . . . . . . . . . . . . . . . . . . . . . . 373.7. Normalizacion de caracteres [70]: (a) Caracter original; (b) Caracter normalizado en
el plano estandar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.8. Umbralado: (a) Imagen original; (b) Imagen binarizada mediante el metodo global
Otsu; (c) Imagen binarizada mediante el metodo local Bernsen. . . . . . . . . . . . 433.9. Transformaciones del eje medio: (a)Cırculo; (b) Rectangulo. . . . . . . . . . . . . . 443.10. Operaciones morfologicas: (a)Imagen binarizada original; (b) Adelgazamiento. (c)
Esqueleto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.11. (a) Division por zonas; (b) Cruces; (c) Proyecciones. . . . . . . . . . . . . . . . . . 463.12. Caracterısticas topologicas : (a) Punto final ; (b) Punto de ramificacion; (c) Punto
de cruce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.13. Codigos de cadena: (a) con 4-conectividad ; (b) con 8-conectividad ; (c) Ejemplo. . . 473.14. Taxonomıa general de las tecnicas de reduccion de dimensionalidad . . . . . . . . . 483.15. Fases del proceso de seleccion de caracterısticas. . . . . . . . . . . . . . . . . . . . 513.16. Ejemplo de la interpretacion geometrica de la clasificacion. . . . . . . . . . . . . . . 543.17. Representacion mediante cadenas: (a) Estructura del caracter; (b) estructura codifi-
cada en terminos de los primitivos a y b . . . . . . . . . . . . . . . . . . . . . . . . 553.18. Frontera de decision para el caso en dos dimensiones del discriminador lineal. . . . . 573.19. Sistema clasificador de mınima distancia para un vector de caracterısticas x de entrada. 58
4.1. Pre-procesamiento: etapas evaluadas . . . . . . . . . . . . . . . . . . . . . . . . . 684.2. Proceso de segmentacion. (a) Imagen de entrada, (b) Imagen binarizada mediante el
metodo Bernsen, (c) Imagen binarizada despues de la estrategia de limpieza. . . . . 714.3. Posprocesamiento a imagenes binarizadas: (a) Mınimo cuadro que contiene a la ima-
gen, (b) Imagen binarizada ajustada, (c) Imagen binarizada ajustada y adelgazada,(d) Esqueleto de imagen binarizada ajustada. . . . . . . . . . . . . . . . . . . . . . 72
4.4. Metodologıas para la comparacion de algoritmos de binarizacion: (a) Utilizando metri-cas de desempeno, (b) Verificando su impacto en un sistema de reconocimiento com-pleto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
v
4.5. Ejemplos de imagenes de dıgitos individuales extraıdas de lecturas completas para 4marcas distintas de medidores de agua. . . . . . . . . . . . . . . . . . . . . . . . . 74
4.6. Ejemplo de promediado de imagenes. . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7. Puntaje de diferencia promedio para los metodos de binarizacion evaluados . . . . . 79
5.1. Extraccion y seleccion de caracterısticas: etapas evaluadas . . . . . . . . . . . . . . 84
5.2. Ejemplo: (a) Cruces: cambios de fondo-objeto, (b) Distancias del borde al objeto . . 87
5.3. Distancias del centroide al borde: (a) Localizacion del centroide; (b) Calculo de lasdistancias; (c) Representacion secuencial de las distancias; (d) Definicion de grupos. 88
5.4. Division en zonas, (a) Las 7 zonas propuestas para la extraccion de caracterısticas;(b) Ejemplo para un caracter; (c) La densidad de cada zona. . . . . . . . . . . . . . 90
5.5. (a) Division por zonas ; (b) Ejemplo de una imagen del numero ’3’. . . . . . . . . . 92
5.6. (a) pıxel P5 = punto final, (b) pıxel P5 = punto interseccion . . . . . . . . . . . . . 93
5.7. Pıxeles vecinos de P5 considerados (en azul), cuando se realiza la aproximacion deformas geometricas: (a) Cuando la trayectoria es hacia la derecha, (b) Cuando latrayectoria es hacia la izquierda. . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.8. (a) Trayectoria del recorrido utilizando el algoritmo propuesto para la aproximacionde formas geometricas y su cadena descriptora, (b) Analisis de las formas encontradasy su respectiva clasificacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.9. Comparativa de los metodos de seleccion de caracterısticas evaluados, utilizando elconjunto de caracterısticas momentos centrales normalizados (n inv) . . . . . . . . 107
5.10. Comparativa de los metodos de seleccion de caracterısticas evaluados, utilizando elconjunto de caracterısticas cruces y distancias (n cro) . . . . . . . . . . . . . . . . 108
5.11. Comparativa del espacio de caracterısticas CN1, y sus subconjuntos CN2-11. . . . . 109
5.12. Caracterısticas seleccionadas para los espacios de caracterısticas numericos iniciales ysus combinaciones principales, utilizando la tecnica de seleccion hıbrida (mRMR+BS).110
5.13. Comparativa de las estructuras binarias usadas para los espacios de caracterısticasiniciales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.14. Desempeno del uso de las combinaciones principales de los espacios de caracterısticaspara los tres tipos de estructura binaria. . . . . . . . . . . . . . . . . . . . . . . . . 112
5.15. Desempeno de las representaciones mediante cadenas de sımbolos. . . . . . . . . . 113
6.1. Clasificacion: alternativas evaluadas. . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.2. Obtencion de la correlacion entre f(x, y) y w(x, y) en el punto (s, t) . . . . . . . . 121
6.3. Encontrando el puntaje de H(i, j): H(i, j) es el valor maximo de tres puntajes: elpuntaje final, un puntaje vertical de espacio vacıo y un puntaje horizontal de espaciovacıo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.4. Ejemplos de imagenes capturadas y procesadas de las cuatro marcas de medidores deagua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.5. Ejemplos de imagenes de dıgitos individuales extraıdas de lecturas completas. . . . . 131
6.6. Precision de reconocimiento por dıgito de los clasificadores por mınima distancia. . . 132
6.7. Precision de reconocimiento por lectura de los clasificadores por mınima distancia. . 133
vi
6.8. Precision de reconocimiento por dıgito y lectura de la clasificacion por correspon-dencia por correlacion, utilizando como origen imagenes binarizadas y en escala degrises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
6.9. Precision de reconocimiento por dıgito de los clasificadores por correspondencia decadenas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.10. Precision de reconocimiento por lectura de los clasificadores por correspondencia decadenas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.1. Estructura de un servicio de lectura automatizada de medidores, que incluye el uso deun telefono movil, y el manejo de los errores producidos por este dispositivo medianteel uso de un servidor externo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.2. Modelo de comunicacion cliente-servidor utilizado en la transferencia de de imagenesdel dispositivo movil al servidor para el manejo de errores. . . . . . . . . . . . . . . 141
7.3. Sistema de reconocimiento de dıgitos implementado en el telefono movil . . . . . . 1437.4. Estructura del archivo de texto que almacena los valores de los centroides de los
patrones de las clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1447.5. Estructura del archivo de texto que almacena la informacion necesaria para la nor-
malizacion de los datos de prueba. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1457.6. Estructura del archivo de texto que almacena las matrices inversas de covarianza
usadas en el clasificador por mınima distancia Mahalanobis. . . . . . . . . . . . . . 1467.7. Sistema de reconocimiento de dıgitos implementado en el equipo de escritorio . . . . 1477.8. Comparativa del desempeno de las versiones: movil, servidor y sistema completo. . . 1507.9. Lınea de tiempo (en segundos) del proceso de reconocimiento del sistema completo
para una lectura de 5 dıgitos. Franja gris: duracion promedio de las actividades demanera individual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
vii
Indice de Tablas
2.1. Evolucion del telefono celular[122]. . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Comparacion entre PDAs y telefonos moviles[122]. . . . . . . . . . . . . . . . . . . 12
2.3. Comparativa de los smartphones con mejores prestaciones. . . . . . . . . . . . . . . 13
2.4. Comparativa de sistemas operativos para moviles. . . . . . . . . . . . . . . . . . . 18
2.5. Comparacion entre escaneres y telefonos moviles con camara. . . . . . . . . . . . . 26
3.1. Comparativa de implementaciones OCR en dispositivos moviles (Captura: R = escenareal, D= Documento / Caracter: D= numeros arabigos, E = caracteres occidentales,O = caracteres orientales) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.1. Distribucion de las imagenes de dıgitos individuales del conjunto de prueba 2. . . . . 75
4.2. Precision de reconocimiento para cada clase dıgito de los cinco metodos de binariza-cion, usando momentos centrales normalizados. Los resultados presentan los valoresde la media de 100 pruebas de validacion cruzada. . . . . . . . . . . . . . . . . . . 79
4.3. Analisis de los algoritmos de segmentacion. . . . . . . . . . . . . . . . . . . . . . . 80
5.1. Ejemplos de vectores de momentos centrales normalizados. . . . . . . . . . . . . . . 86
5.2. Ejemplos de vectores de cruces y distancias. . . . . . . . . . . . . . . . . . . . . . 88
5.3. Ejemplos de vectores de distancias del centroide al borde. . . . . . . . . . . . . . . 89
5.4. Ejemplos de vectores del conjunto de caracterısticas division en zonas. . . . . . . . . 91
5.5. Ejemplos de cadenas que representan el conjunto de caracterısticas puntos finales eintersecciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.6. Ejemplos de cadenas del conjunto de caracterısticas aproximacion de formas geometri-cas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.7. Ejemplos de vectores de caracterısticas geometricas. . . . . . . . . . . . . . . . . . 96
5.8. Nomenclatura de espacios de caracterısticas iniciales, y sus respectivas dimensionali-dades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.9. Estructura por espacio de caracterısticas . . . . . . . . . . . . . . . . . . . . . . . 105
5.10. Nomenclatura de combinaciones de los espacios de caracterısticas numericas iniciales,y sus respectivas dimensionalidades. . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.11. Subconjuntos de las combinaciones de los espacios de caracterısticas iniciales. . . . 108
5.12. Nomenclatura de combinaciones de los espacios de caracterısticas iniciales. . . . . . 109
6.1. Relacion de formas de descripcion para los diferentes tipos de clasificadores. . . . . . 130
6.2. Relacion de formas de descripcion para los diferentes tipos de clasificadores. . . . . . 131
7.1. Precision de reconocimiento por dıgito y lectura del sistema implementado en eltelefono movil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
ix
7.2. Tiempo promedio (en milisegundos) de procesamiento para el espacio de caracterısti-cas con el mejor desempeno y los espacios de caracterısticas individuales que lo com-ponen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
x
Indice de Algoritmos
1. Metodo de seleccion de caracterısticas mRMR+PCA . . . . . . . . . . . . . . . . . 1012. Metodo de seleccion de caracterısticas mRMR+BS . . . . . . . . . . . . . . . . . . 1033. Algoritmo de programacion dinamica para el calculo de la distancia de edicion ED(X, Y )
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1234. Algoritmo de programacion dinamica para el calculo de la distancia de edicion Damerau-
Levenshtein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
xi
Publicaciones
M. Nava-Ortiz, W. Gomez-Flores, A. Dıaz-Perez and G. Toscano-Pulido. Evaluation of BinarizationAlgorithms for Camera-Based Devices, in 3rd Mexican Conference on Pattern Recognition (MCPR2011), 863–867, pp. 164–173, Springer, Cancun,QR, Mexico, July 2011.
Martın Nava Ortiz, Wilfrido Gomez Flores and Arturo Dıaz Perez. Digit Recognition System forCamera Mobile Phones, in 8th International Conference on Electrical Engineering, Computing Scienceand Automatic Control (CCE 2011), pp. 863–867, IEEE, Merida, Yucatan, Mexico, October 2011.
xiii
Resumen
Reconocimiento de dıgitos en dispositivos moviles
por
Martın Nava OrtizMaestro en Ciencias del Laboratorio de Tecnologıas de Informacion
Centro de Investigacion y de Estudios Avanzados del Instituto Politecnico Nacional, 2011Dr. Arturo Dıaz Perez, Co-Director
Dr. Wilfrido Gomez Flores, Co-Director
El desarrollo de esta investigacion tiene como objetivo la elaboracion de un esquema de reconoci-
miento de dıgitos para realizar la lectura automatica de algunos tipos de medidores de consumo de
agua, los cuales cuentan con cifras de 4 y 5 dıgitos, y que debe ser implementado en un dispositivo
movil. Dicha solucion requirio de un estudio sistematico para determinar las propiedades y el tipo de
procesamiento mas adecuados para el diseno e implementacion en un smartphone. Los resultados de
dicho estudio son presentados y analizados en este documento, con base en una implementacion con-
sistente en tres fases principales: (1) pre-procesamiento, (2) extraccion y seleccion de caracterısticas,
(3) clasificacion y entrenamiento. Con el fin de que la lectura automatica sea considerada eficiente
se han determinado como restricciones que la precision de reconocimiento del sistema implementado
sea mayor al 90 % por lectura completa, y ademas debera tener un tiempo de procesamiento no
mayor a 6 segundos en un telefono Motorola MB511 con procesador OMAP3410 y sistema operativo
Android. Por otra parte, para un manejo adecuado de errores, la solucion en el telefono movil se
ha integrado a un servicio de lectura automatizada que incorpora la conexion a un servidor para
el reconocimiento correcto mediante tecnicas mas efectivas de las imagenes consideradas de baja
calidad por la aplicacion movil.
xv
Abstract
Digit recognition on mobile devices
by
Martın Nava OrtizMaster of Science from the Information Technology Laboratory
Research Center for Advanced Study from the National Polytechnic Institute, 2011Dr. Arturo Dıaz Perez, Co-advisor
Dr. Wilfrido Gomez Flores, Co-advisor
The main goal of this thesis is to develop a digit recognition system based on a mobile device
implementation for the automated reading interpretation of some types of water meters, which
have 4 and 5-digit numerals. This solution required a systematic analysis in order to determine the
appropriate attributes and processing phases for the design and implementation in a smartphone. The
results of this research are presented and analyzed within three general steps: (1) preprocessing, (2)
feature extraction and selection, (3) classification and training. In order to be efficient, the automatic
reading system must have a lecture recognition accuracy over 90 %, and the processing time most
be under 6 seconds in a cellphone (Motorola MB511, OMAP3410 CPU, Android operating system).
On the other hand, for a proper handling of errors, the application in the mobile device has been
integrated into an automated reading service, which incorporates connection to a server for the
correct recognition of low-quality images using more effective techniques.
xvii
1Introduccion
1.1 Antecedentes y motivacion
Con el crecimiento acelerado de la tecnologıa, los dispositivos moviles agregan cada vez mas
funcionalidad a su haber. En particular los telefonos celulares han pasado de ser una medio de comu-
nicacion por voz a una plataforma con mayor conectividad y un poder de computo mejorado. Esto
se ve reflejado en los dispositivos conocidos como telefonos inteligentes (smartphones), en los cuales
se fusionan las caracterısticas de los telefonos convencionales y las de los PDAs. Los modelos actua-
les de smartphones cuentan con reproduccion de fuentes multimedia, camaras integradas, pantallas
tactiles, navegacion GPS, y acceso inalambrico a Internet .
Aunada a las mejoras en los dispositivos moviles, esta la posibilidad de instalar en ellos aplica-
ciones adicionales, ya sea del mismo fabricante o de un tercero. Esto es posible gracias a que estos
productores de telefonos moviles ofrecen a los usuarios plataformas de desarrollo y un entorno virtual
de ejecucion. Ası, las principales firmas de aplicaciones para moviles como Blackberry, Android y
iPhone, han sufrido incrementos anuales en descargas y se pronostica que estas excederan los 48 mil
1
2 1.1. Antecedentes y motivacion
millones para el 2015 segun In-Stat [50].
La mayorıa de estas aplicaciones tienen como objetivo principal dar entretenimiento o propor-
cionar informacion como noticias, datos estadısticos y geograficos, entre otros. Sin embargo, dadas
las capacidades mejoradas en procesamiento de estos dispositivos moviles, la integracion de nuevos
medios de adquisicion de datos como puede ser una pantalla tactil o una camara digital, ası como
el uso de nuevas tecnologıas de comunicacion como en el acceso a redes inalambricas y la conecti-
vidad bluetooth, permiten usarlos en aplicaciones que buscan mejorar la productividad. Ası tenemos
aplicaciones consideradas no convencionales con implementaciones en medicina [49], redes y comu-
nicaciones [79], comercio [73] y seguridad [6].
Un caso particular de estas aplicaciones no convencionales, es anadir la funcionalidad en los dispo-
sitivos moviles para leer o identificar objetos, como es el caso del reconocimiento optico de caracteres
(OCR). El OCR tiene sus orıgenes en los anos 1970s y actualmente existen algunas aplicaciones en
dispositivos moviles, en los cuales son utilizadas imagenes no necesariamente fijas obtenidas casi de
cualquier entorno, y capturadas con la camara integrada al dispositivo.
Algunas aplicaciones de reconocimiento de caracteres utilizando estas nuevas fuentes de image-
nes han sido desarrolladas. Tal es el caso de la solucion a tareas como la traduccion de senales
visuales [1], apoyo en la lectura para personas con capacidades limitadas de la vista, y adquisicion
de texto de imagenes de documentos [60].
En particular, el reconocimiento de caracteres en un caso especıfico como los numeros, permiten
vislumbrar la posibilidad de integrar estos sistemas a entornos productivos, en donde es necesaria la
lectura de otros equipos que proporcionan informacion representada por dıgitos. Como ejemplo de
estas aplicaciones podemos mencionar el reconocimiento de los numeros en placas de vehıculos [58],
en dispositivos con pantallas LCD/LED [48] como calculadoras y voltımetros, y en medidores auto-
matizados [19]. Estas implementaciones facilitan el trabajo de tareas repetitivas evitando el desarrollo
1. Introduccion 3
de hardware especıfico para el mismo proposito.
Ahora bien, en la actualidad las implementaciones de reconocimiento de caracteres se consideran
en la mayorıa de los casos como una tarea trivial en equipos de escritorio, pero no lo es ası cuando
se trata de portar estas aplicaciones a telefonos moviles. Aunque las capacidades de procesamiento
y almacenamiento continuan en aumento al paso del tiempo en estos dispositivos, estas siguen sien-
do limitadas, representando en promedio el 10 % respecto a las de entornos de escritorio [107]. Un
problema adicional se da en las imagenes adquiridas para dichas implementaciones, ya que pueden
presentar en la mayorıa de los casos perturbaciones debido principalmente a los efectos causados por
la iluminacion, sombras, distorsiones de perspectiva, y a las caracterısticas del fondo.
En este trabajo de tesis se desarrolla un mecanismo de reconocimiento automatizado de dıgitos
a traves de imagenes de medidores de consumo de agua potable capturadas por la camara de un
telefono movil. Cabe mencionar que en el Laboratorio de Tecnologıas de Informacion ya se han desa-
rrollado dos proyectos para hacer la lectura automatica de medidores de agua. El primer caso fue
resultado de una vinculacion con una empresa solicitante y, aun cuando, en general los resultados
fueron satisfactorios, se ha hecho necesario realizar un estudio metodologico de los varios tipos de
medidores y de las lecturas. Ası tambien, es necesario evaluar de manera sistematica la eficiencia del
reconocimiento correcto alcanzado y desarrollar un esquema para el manejo de las lecturas incorrec-
tas. El segundo caso fue resultado de una estancia de verano cientıfico en la que se desarrollo una
metodologıa para el pre-procesamiento, segmentacion y analisis de imagenes de medidores. Se obtu-
vieron resultados aceptables con solo un tipo de medidor.
1.2 Planteamiento del problema
El paradigma de procesamiento de imagenes puede ser visto como una combinacion de varios
subsistemas o modulos, donde cada uno se especializa en resolver uno o mas problemas. Cada compo-
4 1.2. Planteamiento del problema
nente en el sistema recibe una salida intermedia de otro modulo, y la transforma en una representacion
mas explıcita. Las fases que tıpicamente se incluyen son: adquisicion de la imagen, pre-procesamiento
(filtrado de ruido y mejoramiento), segmentacion, extraccion y seleccion de caracterısticas, y recono-
cimiento de objetos. Dada la gran cantidad de alternativas en cuanto a implementacion de tecnicas
propias para cada modulo, en el diseno del sistema completo se presenta la dificultad de seleccionar
los componentes necesarios para proporcionar una solucion a determinada aplicacion. Por lo tanto,
surge la necesidad de realizar un estudio sistematico que incluya una evaluacion del desempeno de
cada uno de los modulos y su impacto en el producto final esperado.
Los estudios e implementaciones realizados hasta el momento para el reconocimiento de caracte-
res numericos [48, 7, 64] no justifican en la mayorıa de los casos la decision de utilizar un determinado
metodo de segmentacion, conjunto de caracterısticas o metodo de clasificacion, se basan en la su-
posicion de la sencillez y eficacia de implementacion [65]. Por lo tanto, una evaluacion sistematica
permitirıa decidir con base en resultados, llegar a una decision mas acertada y acorde al contexto de
aplicacion.
Existen problemas inherentes al procesamiento y analisis de imagenes propios del caso de aplica-
cion. Entre ellas se encuentran las condiciones de iluminacion y la orientacion o angulo de captura de
la imagen. Ası tambien es necesario considerar que lograr un buen reconocimiento de los dıgitos de
manera individual no define la solucion final, ya que las imagenes capturadas provienen de lecturas
formadas por 4 o 5 dıgitos. De esta manera, un error en al menos uno de los dıgitos provocarıa
que la lectura completa sea considerada incorrecta. Ademas, otra dificultad tiene que ver con el
reconocimiento de diferentes tipos de medidores, sobre todo por la morfologıa variada que presentan
los dıgitos.
Por otra parte, se deben considerar tambien las limitaciones tecnicas que tienen los dispositivos
moviles. Estas limitantes incluyen la falta de una unidad de punto flotante de manera nativa, lo cual
es solucionado en los telefonos moviles mediante emulacion en software. Lo anterior se puede atenuar
1. Introduccion 5
transformando la aritmetica de numeros flotantes a numeros enteros.
Ası, considerando los puntos antes mencionados, es que surge la pregunta: ¿Es posible desarrollar
un esquema de reconocimiento de dıgitos implementado en un telefono celular que logre tener una
eficiencia mayor al 90 % para cifras de 4 y 5 dıgitos, que ademas lo haga en un periodo de tiempo
considerablemente corto y sin requerir de dispositivos o comunicaciones adicionales?.
Es inevitable que el sistema cometa algunos errores en el reconocimiento, por mınimos que
sean. Por lo tanto, es conveniente que el esquema sea capaz de realizar un manejo adecuado de
las lecturas no exitosas, y con esto dar una mejor calidad a los resultados. Dichas capacidades son
necesarias debido a que el esquema de reconocimiento se pretende integrar a un servicio completo
en la lectura de los medidores de manera automatizada, que incluya una version del sistema acorde
a las caracterısticas del dispositivo movil, y otra version en un servidor externo en el cual se realice
el reconocimiento de las lecturas no exitosas mediante tecnicas mas robustas.
1.3 Objetivos generales y especıficos del proyecto
1.3.1 Objetivo general
Proponer e implementar un esquema eficiente y adecuado para un telefono movil (Motorola
MB511 con procesador OMAP3410), para el reconocimiento de dıgitos en el caso de aplicacion de
la lectura de cuatro tipos diferentes de medidores de consumo de agua, de forma tal que su nivel
de precision sea mayor al 90 %, con un tiempo de procesamiento menor a 6 segundos y tenga un
manejo adecuado de los errores de reconocimiento.
6 1.4. Metodologıa
1.3.2 Objetivos particulares
Realizar un estudio sistematico que permita comparar el desempeno de diversas tecnicas apli-
cadas en cada modulo del sistema, considerando el contexto de aplicacion y las limitaciones
de los dispositivos moviles en la seleccion e implementacion de estas.
Definir con base en los resultados del estudio comparativo, el conjunto de esquemas de re-
conocimiento factibles para una plataforma de escritorio. Con las cuales debe ser logrado al
menos un 90 % de precision de reconocimiento de los dıgitos de la cifra completa de una lectura.
Desarrollar e implementar el enfoque mas adecuado para el reconocimiento de dıgitos en al
menos un dispositivo movil, considerando sus limitaciones computacionales, de forma tal que la
tasa de precision de reconocimiento alcanzada sea mayor al 90 % y el tiempo de procesamiento
por lectura no exceda los 6 segundos.
Definir un modelo que integre el reconocimiento de dıgitos mediante el dispositivo movil, de
manera que los errores por lectura que se pudieran generar sean analizados y en su caso repro-
cesados mediante un servicio externo. Este servicio debera estar implementado en un equipo
de computo con mayores y mejores caracterısticas computacionales, y haciendo uso de tecni-
cas mas robustas para el reconocimiento permitara tener un sistema con resultados de mejor
calidad dada la interaccion entre sus componentes.
1.4 Metodologıa
Se realizo un estudio del estado del arte respecto a las tecnicas utilizadas en el reconocimiento
de caracteres en general, las mejoras propuestas en cuanto a rapidez y disminucion de comple-
1. Introduccion 7
jidad, ası como de las implementaciones que se han realizado en plataformas moviles.
Se realizo un analisis sistematico de varios metodos de binarizacion a fin de encontrar aquel
que mejor representaba cada clase mediante las respectivas estructuras binarias.
Se estudio la factibilidad del uso de tres diferentes estructuras para representar los dıgitos, estas
incluyeron la originalmente obtenida por la binarizacion, la estructura adelgazada y el esqueleto.
Se extrajeron conjuntos de caracterısticas de descripciones basadas en la (1) distribucion es-
tadıstica de pıxeles y de (2) informacion geometrica y topologica. La efectividad del uso de
cada conjunto y de combinaciones entre ellos, fue evaluada en cuanto a su desempeno dentro
del sistema de reconocimiento.
Se evaluo la implementacion de algunos algoritmos dentro de tres tipos de clasificadores: (1)
clasificador de mınima distancia, (2) correspondencia por correlacion, y (3) correspondencia de
cadenas.
Se selecciono y adapto el conjunto de tecnicas que reportaron mejores resultados y con redu-
cida complejidad computacional, para su implementacion en un dispositivo movil.
Se evaluo el desempeno del esquema implementado en el dispositivo movil, con el fin de ase-
gurar los requerimientos propuestos de precision de reconocimiento y tiempo de ejecucion.
Se diseno el esquema del servicio de lectura automatizada de medidores, integrando las imple-
mentaciones realizadas tanto en el dispositivo movil como en un servidor (equipo de escritorio),
8 1.5. Organizacion de la tesis
de forma que los errores mınimos esperados de la plataforma movil sean manejados o corregi-
dos en lo posible mediante este servicio independiente para obtener el mayor grado de calidad
de los resultados globales.
1.5 Organizacion de la tesis
La organizacion de la tesis es la siguiente: En el Capıtulo 2 se realiza una revision general y breve
de la metodologıa tıpica en el reconocimiento optico de caracteres, ası como un panorama general
de implementaciones de procesamiento de imagenes en dispositivos moviles, y el trabajo relacionado
a nuestro tema de tesis. El Capıtulo 3 presenta el marco teorico que sirve de fundamento para la
comprension del resto de la informacion presentada en el documento. En los Capıtulos 4, 5 y 6 se des-
criben de forma detallada y formal las tecnicas evaluadas en nuestro estudio, ası como los resultados
preliminares para las principales etapas del diseno: pre-procesamiento, extraccion de caracterısticas
y clasificacion, respectivamente. La descripcion del diseno de nuestro servicio de reconocimiento au-
tomatizado se describe en el Capıtulo 7, el cual incluye la implementacion en el telefono movil y del
servidor de manejo de errores. Finalmente, en el Capıtulo 8 se exponen las conclusiones de la tesis y
el trabajo futuro.
2Manipulacion de imagenes en dispositivos moviles
Con la evolucion de los dispositivos moviles como los telefonos celulares, ahora se tiene la posi-
bilidad integrar aplicaciones y servicios mas complejos a entornos moviles. La captura de imagenes
de casi cualquier entorno por medio de camaras digitales, ha permitido realizar la recoleccion au-
tomatica de informacion destinada para la comunicacion visual humana y utilizarla de manera digital
en otras areas. Sin embargo, esta versatilidad cuenta con algunas desventajas que tienen que ver
con variables difıciles de controlar durante la captura de las imagenes, como son los cambios de
iluminacion, fondos complejos, enfoque y orientacion de la camara, lo cual obviamente repercute en
la calidad de los resultados de las aplicaciones.
En este capıtulo se describen los elementos principales involucrados en el desarrollo de imple-
mentaciones de procesamiento de imagenes en dispositivos moviles. Primeramente, se revisan las
caracterısticas de los dispositivos moviles, ası como una breve resena de su evolucion a fin de com-
prender como es que estos pueden ser utilizados para sustituir los medios de captura tradicionales.
Ademas, se presenta el entorno de desarrollo de aplicaciones dentro del contexto movil, pretendiendo
analizar las diversas variantes en cuanto a plataformas de diseno para los sistemas mas populares en
la actualidad. Mas adelante, se exploran las areas para las que se han implementado aplicaciones que
9
10 2.1. Dispositivos moviles
manipulan imagenes por medio de dispositivos moviles. Finalmente, se detallan los inconvenientes
que comunmente se tienen al realizar la captura utilizando las camaras digitales y que logicamente
se estima afecten la calidad de las imagenes y en consecuencia la confiabilidad de cualquier sistema
que las utilice en su proceso.
2.1 Dispositivos moviles
En las ultimas dos decadas han sido introducidos dispositivos portatiles usados para la comuni-
cacion, ya sea como asistentes personales o simplemente para diversion. Los asistentes personales
digitales (PDAs) y los telefonos celulares, seguidos por otros tipos de dispositivos, han sido adopta-
dos para multiples usos en un periodo de tiempo relativamente corto [74]. Por ejemplo un estudio
hecho en 2010 por ITU 1 demostro que existıan mas de 5.3 mil millones de usuarios de telefonıa
movil.
Ademas, como la capacidad de computo de los dispositivos moviles se ha incrementado al nivel
de las computadoras de escritorio de hace algunos anos, estos se han convertido en un entorno
de programacion que ha emergido como un nuevo dominio de desarrollo de aplicaciones, incluso
disenadas independientemente del fabricante. Es esta precisamente la vertiente del computo movil,
que recientemente busca fomentar la convergencia de la comunicacion, el computo y la electronica
de consumo [122]. Al frente de este enfoque, el telefono inteligente o smartphone probablemente se
convertira en una terminal universal, con funcionalidades aumentadas por la movilidad y el acceso
inalambrico a redes de comunicacion.
2.1.1 La evolucion de los telefonos celulares
Basicamente, un smartphone es una reciente clase de telefono celular que facilita el procesa-
miento de datos apoyandose de su poder de computo [122]. Ademas de las funcionalidades de
comunicacion por voz y envıo de mensajes, un smartphone usualmente proporciona aplicaciones para
1ITU (International Telecommunication Union) es el organismo especializado de las Naciones Unidas encargadode regular las telecomunicaciones a nivel internacional entre las distintas administraciones y empresas operadoras.
2. Manipulacion de imagenes en dispositivos moviles 11
la administracion de informacion personal y algunas capacidades de comunicacion inalambrica.
A pesar del gran tamano de los telefonos celulares en la primera generacion, estos pudieron
ofrecer al menos llamadas en voz. Luego, gracias a los grandes avances en la tecnologıa de semicon-
ductores, los telefonos celulares se fueron equipando gradualmente con procesadores mas potentes,
incrementaron su almacenamiento, e incorporaron una pantalla de cristal lıquido (LCD), permitiendo
con esto realizar algunas tareas de computo de manera local. Las capacidades de comunicacion en
red de estos telefonos es muy limitada. En la Tabla 2.1 se resumen las caracterısticas que permiten
diferenciar cada etapa en la evolucion de los telefonos celulares.
Caracterıstica CategorıaAnalogo Digital Smartphone
Tamano Grande Pequeno Pequeno
Peso 0.5 – 1.0 kg 170 – 220 g < 140 g
Pantalla No aplica Monocromatica o a co-lor, pequena, 172×120pıxeles
A color, 854×480 pıxeles
Procesador Para tareas basicas decomunicacion
Para tareas preliminares Para tareas avanzadas,como reproduccion mul-timedia
Memoria Solo para almacenarnumeros telefonicos
Algunos megabytes 64 MB o mayor, mas me-moria flash
Otras interfaces No aplica Sincronizacion concomputadoras
bluetooth, Wi-Fi, GPS,etc
Baterıa Tiempos cortos de llama-da y en espera
Tiempos largos de llama-da y en espera
Tiempos largos de llama-da y en espera
Tabla 2.1: Evolucion del telefono celular[122].
De esta manera, la necesidad del acceso movil a datos se volvio evidente y, por lo tanto, surgio la
proxima generacion de telefonos inteligentes. En esencia, un smartphone podrıa ser considerado como
una combinacion del telefono comun con las limitadas capacidades de comunicacion por voz y envıo
de mensajes, y las capacidades sobresalientes de un PDA. La Tabla 2.2 permite observar las diferencias
entre cada una de las dos tecnologıas involucradas en el surgimiento del smartphone. Ademas de
las aplicaciones comunes de los telefonos celulares, otras aplicaciones tıpicas de estos telefonos
inteligentes incluyen juegos, camara integrada, reproduccion de medios audiovisuales, mensajerıa
12 2.1. Dispositivos moviles
instantanea, correo electronico, acceso inalambrico a Internet , y la base solida de un sistema operativo
que actualmente es comun entre varios modelos de dispositivos.
Caracterısticas PDAs Telefonos moviles (voz sola-mente)
Uso principal Administracion de informacionpersonal
Telefonıa movil y envıo de mensa-jes
Tamano Grande Pequenos
Peso 170 – 250 g 170 – 220 g
Pantalla Monocromatica o a color, grande240×320 o mayor
Monocromatica o a color, pequena172×120 o mayor
Procesador ARM, StrongARM, DragonBall,algunos cientos de MHz
Procesadores propietarios de algu-nos cientos de MHz
Memoria 64 Mb o mas 4 a 8 Mb SRAM
Interfaces USB, serial, infrarrojo, Bluetooth,Wireless LAN
Bluetooth
Baterıa Larga duracion Pocas horas en llamada
Tabla 2.2: Comparacion entre PDAs y telefonos moviles[122].
2.1.2 Procesamiento de imagenes en dispositivos moviles
La creciente dependencia de requerimientos de comunicacion son tambien aplicables a las con-
figuraciones moviles. Los dispositivos moviles actualmente pueden ejecutar aplicaciones que son
extensiones de sistemas existentes beneficiados por la movilidad. En contraste, otra perspectiva del
uso de dispositivos moviles como plataforma de aplicacion es implementar nuevos, pequenos e in-
novadores sistemas que se ejecutan solamente o predominantemente en ellos [74]. Ejemplo de estas
ultimas aplicaciones son las que buscan obtener de alguna manera informacion del entorno a partir
de imagenes capturadas con la camara integrada. En particular, el procesamiento de imagenes per-
mite automatizar algunas tareas que previamente se realizaban basadas en el sistema visual del ser
humano.
Una de las principales motivaciones del desarrollo de aplicaciones de este tipo, esta dada por
el crecimiento del segmento de mercado de los telefonos con camara. Segun un estudio realizado
por Strategy Analytics han sido vendidos en todo el mundo aproximadamente 4.2 mil millones de
2. Manipulacion de imagenes en dispositivos moviles 13
este tipo de telefonos entre el ano 2000 hasta el primer cuarto del 2011. Actualmente las camaras
integradas cuentan con ocho o mas megapıxeles de resolucion. Ademas, para apoyar el conjunto de
actividades involucradas en el analisis de imagenes, los smartphones cuentan con resoluciones de
pantalla de hasta 854×480. La Tabla 2.3 muestra las caracterısticas de algunos de los smartphones
con mejores prestaciones de los fabricantes con mayor cantidad de ventas en el mundo.
Caracterısticas Telefonos celularesApple iPhone 4 Nokia N9 Motorola Atrix
4GLG Optimus 2x
CPU 1 GHz Apple A4 1 GHz ARM 1 GHz NVIDIA do-ble nucleo
1 GHz NVIDIA do-ble nucleo
Capacidad de al-macenamiento
16 o 32 GB 16 o 64 GB 16 GB 8 GB
Memoria RAM 512 MB 1 GB 1 GB 512 MB
Sistema Operati-vo
iOS 5.0 MeeGo 1.2 Android 2.2 Android 2.2
Pantalla 3.5”640×960 3.9”854×480 4”540×960 4”480×800
Teclado QWERTY QWERTY QWERTY QWERTY
Camara 5.0 MP 8.0 MP 5.0 MP 8.0 MP
Tabla 2.3: Comparativa de los smartphones con mejores prestaciones.
2.2 Sistemas operativos y plataformas de desarrollo
El entorno movil esta formado por muchas partes las cuales deben trabajar juntas sin problemas.
Estas pueden ser vistas como un conjunto de capas, como se muestra en la Figura ?? [32]. Todas
estas capas son importantes y relevantes en la construccion del entorno para el usuario final. No
obstante, es posible disenar productos o servicios moviles en los cuales algunos de los componentes
no se incluyen.
La capa base del entorno movil es el operador. Los operadores permiten que todo funcione,
instalando torres celulares, operando las redes celulares, haciendo disponibles servicios para sus sus-
criptores, y vendiendo dispositivos. La funcion principal de un operador es crear y mantener un
conjunto especıfico de servicios inalambricos sobre una red celular confiable. La mayorıa de estas
14 2.2. Sistemas operativos y plataformas de desarrollo
redes alrededor del mundo usan el estandar GSM, usando GPRS o GPRS EDGE para la transmision
de datos 2G y UMTS o HSDPA para 3G.
Las capas de la plataforma, sistemas operativos y de los frameworks de desarrollo, constituyen la
base principal para la creacion de aplicaciones y consecuentemente en la generacion de servicios. Por
lo tanto, las caracterısticas de estas capas se describen de manera mas detallada en las siguientes
secciones.
Figura 2.1: Capas del entorno movil.
2.2.1 Plataformas
Una de las principales funciones de una plataforma movil es la de proveer acceso a los dispositivos.
Para ejecutar aplicaciones y servicios en cada uno de esos dispositivos, es necesaria una plataforma,
o un lenguaje de programacion principal con el cual sea escrito todo el software. Como todas las
plataformas de software, estas se encuentran dentro de tres categorıas: con licencia, propietarias y
de codigo abierto.
Con licencia
Las plataformas con licencia son vendidas a fabricantes de equipos para distribuciones no exclu-
sivas en dispositivos. El proposito es crear una plataforma comun de desarrollo, las Interfaces de
Programacion de Aplicaciones (APIs, por sus siglas en ingles) que funcionen de forma similar entre
2. Manipulacion de imagenes en dispositivos moviles 15
multiples dispositivos con el mınimo esfuerzo posible requerido para adaptarse a las diferencias de
los dispositivos. Las siguientes son las plataformas con licencia:
Java Micro Edition (Java ME): Formalmente conocida como J2ME, Java ME es por
mucho la plataforma de software predominante. Es un subconjunto con licencia de la plataforma
Java y provee una coleccion de APIs Java para el desarrollo de aplicaciones para dispositivos
de recursos limitados como los telefonos.
Binary Runtime Environment for Wireless (BREW): Fue creada por Qualcomm para
dispositivos moviles, principalmente para el mercado de E.U.A. Es una plataforma indepen-
diente de la interfaz que ejecuta una variedad de frameworks 2 de aplicaciones, como lo son
C/C++, Java, y Flash Lite.
Windows Mobile: Es una version con licencia y compacta del sistema operativo Win-
dows, en combinacion con una suite de aplicaciones basicas para dispositivos moviles que se
basa en la API Win32 de Microsoft.
LiMo: Es una plataforma movil basada en Linux creada por la Fundacion LiMo.
Aunque Linux es de codigo abierto, LiMo es una plataforma movil con licencia utilizada para
dispositivos moviles. LiMo incluye SDKs 3 para la creacion de aplicaciones Java, nativas, o
para la web para moviles utilizando el framework de navegacion web WebKit.
Propietarias
Las plataformas propietarias son disenadas y desarrolladas por los fabricantes de dispositivos para el
uso en ellos. No estan disponibles para su uso por los fabricantes de dispositivos de la competencia.
Estos incluyen:
2 Un framework es una estructura conceptual y tecnologica de soporte definida, normalmente con artefactos omodulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado.
3 Un kit de desarrollo de software o SDK (siglas en ingles de software development kit) es generalmente unconjunto de herramientas de desarrollo que le permite a un programador crear aplicaciones para un sistema concreto,por ejemplo ciertos paquetes de software, frameworks, plataformas de hardware, computadoras, videoconsolas, sistemasoperativos, etc.
16 2.2. Sistemas operativos y plataformas de desarrollo
iPhone: Apple usa una version propietaria de Mac OS X como plataforma para su
iPhone y la lınea de dispositivos iPod touch, que esta basado en Unix.
BlackBerry: Research in Motion mantiene su propia plataforma patentada basada en
Java, que se utiliza exclusivamente por sus dispositivos BlackBerry.
HP/Palm: HP/Palm utiliza tres plataformas propietarias diferentes. Su primera y mas
reconocida es la plataforma Palm OS basada en el lenguaje de programacion C/C++, que fue
inicialmente desarrollada para su lınea de Palm Pilot. La plataforma mas reciente es llamada
webOS, se basa en el framework de navegacion web WebKit, y se utiliza en la lınea Palm Pre.
De codigo abierto
Estas plataformas moviles estan disponibles gratuitamente para los usuarios para ser descargadas,
modificadas y editadas. Las plataformas de codigo abierto moviles son mas recientes y un poco
controvertidas, pero han ido ganado mas terreno con los fabricantes de dispositivos y desarrolladores.
Android es una de estas plataformas desarrollada por la Open Handset Alliance, que esta encabezada
por Google. La alianza busca desarrollar una plataforma de codigo abierto para moviles basada en el
lenguaje de programacion Java.
2.2.2 Sistemas operativos
Se solıa considerar que si un dispositivo movil ejecutaba un sistema operativo, era considerado
mas como un telefono inteligente. Pero a medida que la tecnologıa se hace mas pequena, un conjunto
mas amplio de dispositivos soportan sistemas operativos.
Los sistemas operativos suelen tener los servicios basicos o kits de herramientas que permiten a
las aplicaciones hablar entre ellas y compartir datos o servicios. Los dispositivos moviles sin sistema
operativo normalmente ejecutan aplicaciones “amuralladas” que no se comunican.
Los siguientes son algunos de los sistemas operativos mas comunes en smartphones:
iOS: Una version especializada de Mac OS X es el sistema operativo utilizado en el
iPhone y el iPod touch de Apple.
2. Manipulacion de imagenes en dispositivos moviles 17
Android: Ejecuta su propio sistema operativo de codigo abierto, que puede ser per-
sonalizado por los operadores y fabricantes de los dispositivos.
MeeGo: Es un sistema operativo de codigo abierto basado en Linux, y esta dirigido
principalmente a los dispositivos moviles. Actualmente es usado en los telefonos Nokia N9,
N900 y N950.
Windows Mobile: Es el sistema operativo movil desarrollado por Microsoft, cuyas
aplicaciones se basan en API de Windows, mientras que su diseno busca tener una apariencia
similar a las versiones de escritorio del sistema operativo Windows.
BlackBerry OS: Es un sistema operativo propietario para moviles, desarrollado por
Research In Motion para su lınea de telefonos inteligentes BlackBerry.
Symbian OS: Es un sistema operativo de codigo abierto disenado para dispositivos
moviles, con bibliotecas asociadas, frameworks para el desarrollo de interfaces de usuario e
implementaciones de referencia de herramientas comunes.
webOS: Es el sistema operativo usado por la lınea de telefonos moviles de las lıneas
Pre, Pixi, y Veer y en la tableta electronica HP Touchpad.
Es importante hacer notar que muchos de estos sistemas operativos comparten los mismos nom-
bres que las plataformas en las que se ejecutan. Los sistemas operativos moviles son a menudo
acompanados de las plataformas en la que estan disenados para ejecutarse. Visto del lado del mer-
cado de consumo, la venta de smartphones con el sistema operativo Android fueron mayores que las
de los otros sistemas tan solo en el primer cuarto de 2011 (Gartner [51]). La Figura 2.2 muestra la
distribucion del mercado de venta de smartphones con base a su sistema operativo. En la Tabla 2.4 se
muestran las caracterısticas principales de los sistemas operativos moviles usados en los smartphones
mas vendidos.
18 2.2. Sistemas operativos y plataformas de desarrollo
Caracterıstica Sistemas operativos para movilesiOS Android Windows Mo-
bileBlackBerryOS
Symbian
Companıa Apple Open HandsetAlliance (Goo-gle)
Microsoft RIM Symbian Foun-dation
Version actual 4.3.5 2.3.4 6.5.3 6.0.0 9.5
Familia S.O. Mac OSX/Unix-like
Linux Windows CE5.2
Mobile OS Mobile OS
Arquitecturade CPUsoportada
ARM ARM, PowerArchitecture,x86
ARM ARM ARM
Programadoen
C, C++,Objective-C
C, C++, Java C++ Java C++
Licencia Propietario Codigo abierto Propietario Propietario Licencia publi-ca Eclipse
Soporte paralenguajes (noingles)
Sı Limitado Sı Sı Sı
Tienda deaplicacionesoficial
App Store Android Market Windows Mar-ketplace forMobile
App World Symbian Hori-zon,Ovi store
Soporte mul-titarea
Sı Sı Sı Sı Sı
Plataforma(s)SDK ofi-cial(es)
Mac OS X Multiplatforma Windows Windows Windows, Mul-tiplataforma(Qt)
Costo extrapor desarrollar
Gratis (US$99por ano paradistribuir enApp Store)
Gratis (US$25una vez paraofrecerla en An-droid Market)
Gratis Desconocido Gratis (1€una vez paraofrecerla en OviStore
Tabla 2.4: Comparativa de sistemas operativos para moviles.
2. Manipulacion de imagenes en dispositivos moviles 19
Android
36%
Symbian
27%
iOS
17%
Research In
Motion
13%
Microsoft
4%
Otros
3%
Figura 2.2: Venta de smartphones en el primer cuarto del 2011 por sistema operativo (Gartner[51]).
2.2.3 Frameworks para el desarrollo de aplicaciones
A menudo, la primera capa a la que el desarrollador puede acceder es el framework de aplicaciones
o API publicados por algunas de las empresas mencionadas. Los frameworks para el desarrollo de
aplicaciones comunmente se ejecutan sobre los sistemas operativos, compartiendo servicios basicos
como las comunicaciones, mensajerıa, graficos, localizacion, seguridad, autenticacion y muchos otros.
Java: Las aplicaciones escritas con el framework de Java ME a menudo se pueden
implementar en la mayorıa de los dispositivos basados en Java, pero dada la diversidad en
el tamano de las pantallas de los dispositivos y del poder de procesamiento, el desarrollo
multi-dispositivo puede ser un desafıo.
Cocoa Touch: Es el API para crear aplicaciones nativas para el iPhone y el iPod
touch. Las aplicaciones Cocoa Touch deben ser presentadas y certificadas por Apple antes
de ser incluidas en la App Store 4 . Una vez en la App Store, las aplicaciones pueden ser
4 App Store es un servicio para el iPhone, el iPod Touch, el iPad, Mac OS X Snow Leopard y Mac OS X Lion,creado por Apple Inc., que permite a los usuarios buscar y descargar aplicaciones informaticas de iTunes Store o MacApp Store en el caso de Mac OSX, publicadas por Apple.
20 2.2. Sistemas operativos y plataformas de desarrollo
compradas, descargandolas e instalandolas por medio de una interfaz inalambrica o a traves
de un cable conectado a una computadora.
Android SDK: El SDK de Android permite a los desarrolladores crear aplicaciones
nativas para cualquier dispositivo que corre en la plataforma Android. Al utilizar el SDK de
Android, los desarrolladores pueden escribir aplicaciones en C/C++ o utilizar una maquina
virtual Java incluidos ambos en el sistema operativo, que permite la creacion de aplicaciones
con Java.
Windows Mobile: Las aplicaciones escritas con la API de Win32 se pueden implementar
en la mayorıa de los dispositivos basados en Windows Mobile. Al igual que Java, las aplicaciones
de Windows Mobile se pueden descargar e instalar por medio de una red inalambrica o a traves
de un cable conectado a una computadora.
BlackBerry API: Los desarrolladores terceros pueden escribir software usando las
clases disponibles del API de BlackBerry disponibles, aunque las aplicaciones que hacen uso
de algunas funciones deben estar firmadas digitalmente.
S60: La plataforma S60, antes conocida como Serie 60, es la plataforma de aplicacio-
nes para dispositivos que ejecutan el sistema operativo Symbian. S60 se asocia comunmente
con los dispositivos Nokia, Nokia posee la plataforma, pero tambien se ejecuta en varios dis-
positivos que no son de Nokia. S60 es un framework de codigo abierto. Las aplicaciones S60
se pueden crear en Java, Symbian C++, o incluso Flash Lite.
WebKit: Es una tecnologıa de navegador, de modo que las aplicaciones pueden ser
creadas simplemente mediante el uso de tecnologıas de Internet como HTML, CSS y JavaScript.
WebKit tambien es compatible con una serie de normas recomendadas y aun no implementadas
en muchos de los navegadores de escritorio. Las aplicaciones se pueden ejecutar y probar en
cualquier navegador WebKit, computadora de escritorio o dispositivo movil.
BREW: Las aplicaciones escritas con el framework de aplicaciones BREW se pueden
2. Manipulacion de imagenes en dispositivos moviles 21
implementar a traves de la mayorıa de los dispositivos basados en BREW, sin mucho problema
entre multiples dispositivos que otros frameworks. Sin embargo, las aplicaciones BREW deben
pasar por un proceso de certificacion costoso y tardado, y pueden ser distribuidas unicamente
a traves de un operador.
Flash Lite: Adobe Flash Lite utiliza los frameworks de Flash Lite y ActionScript para
crear aplicaciones basadas en vectores. Las aplicaciones de Flash Lite se pueden ejecutar en el
Reproductor de Flash Lite, que esta disponible en una gran cantidad de dispositivos en todo
el mundo.
2.2.4 El sistema operativo Android
Android es una plataforma completa de codigo abierto, lo que significa que es una pila de software
completa y ademas totalmente abierta desde los modulos de bajo nivel de Linux hasta las bibliotecas
nativas.
Para los desarrolladores, Android proporciona todas las herramientas y marcos de trabajo para
el desarrollo de aplicaciones moviles de forma rapida y sencilla. El SDK de Android es todo lo que
se necesita para empezar a desarrollar para Android, y ademas no es necesario tener un telefono
fısico. Los usuarios pueden personalizar sustancialmente su experiencia con el telefono, mientras que
para los fabricantes, es la solucion completa para la gestion de sus dispositivos. Con excepcion de
algunos controladores de hardware especıfico, Android proporciona todo lo necesario para hacer que
sus dispositivos funcionen [36].
Aunque algunas de sus caracterısticas han aparecido antes, Android es el primer entorno que
combina lo siguiente [18]:
Una plataforma de desarrollo libre basada en Linux y codigo abierto: La plataforma no esta blo-
queada lo que la hace atractiva para los desarrolladores. Mientras que los fabricantes de moviles
pueden personalizar la plataforma sin pagar regalıas.
Una arquitectura basada en componentes inspirados en aplicaciones web hıbridas (mashups):
22 2.3. Plataformas Cliente-Servidor en entornos moviles
Las partes de una aplicacion pueden ser utilizadas de maneras no previstas originalmente por
el desarrollador. Incluso pueden ser sustituidos componentes integrados con versiones propias
mejoradas.
Una gran cantidad de servicios integrados: Una completa base de datos con motor SQL le per-
mite aprovechar el poder de almacenamiento local para computo ocasional y de sincronizacion.
Las vistas de explorador y de mapa se pueden integrar directamente en las aplicaciones.
Gestion automatica del ciclo de vida de las aplicaciones: Los programas estan aislados entre
sı por multiples capas de seguridad proporcionando un buen nivel de estabilidad del sistema.
Ademas, Android esta optimizado para dispositivos de baja potencia y de memoria reducida.
Alta calidad de graficos y sonido: graficos suaves, suavizado 2D y animacion inspirada en
flash se fusionan con graficos acelerados 3D OpenGL para permitir nuevos tipos de juegos
y aplicaciones empresariales. Codecs para los formatos mas comunes de vıdeo se encuentran
incluidos, incluyendo H.264 (AVC), MP3 y AAC.
Portabilidad entre una amplia gama de hardware actual y futuro: Los programas son escritos
en Java y ejecutados por la maquina virtual Dalvik de Android, lo que permite que el codigo
sea portable a traves de ARM, x86, y otras arquitecturas.
2.3 Plataformas Cliente-Servidor en entornos moviles
Computo movil se refiere a una amplio conjunto de operaciones computacionales que permiten
a los usuarios acceder a informacion desde dispositivos portatiles como los son PDAs o telefonos
celulares. Se distingue de la forma tradicional consistente en el computo con conexiones fijas en:
(1) la movilidad de usuarios moviles y sus computadoras, y (2) las restricciones en recursos de los
moviles, tales como ancho de banda limitados y vida limitada de la baterıa [57]. Los dos modos
operacionales en computo movil son el modo desconectado y el modo conectado [44].
2. Manipulacion de imagenes en dispositivos moviles 23
Modo desconectado: En este modo operacional, el acceso a la informacion en un dispositivo
movil es local, tal como cuando alguien usa un PDA para administrar una agenda y un calendario.
Ademas, el usuario puede sincronizar datos de un movil con una computadora. La sincronizacion
podrıa involucrar tanto descargar como cargar la computadora anfitriona.
Modo conectado: En el modo conectado, el dispositivo movil provee uno o mas tipos de
conectividad en red, ya sea alambrica o inalambrica para permitir el acceso a la red. Asimismo, las
aplicaciones en un dispositivo movil son capaces de comunicarse directamente con otros dispositivos
moviles o sistemas finales por medio de una conexion de red. Debido a que las tecnologıas moviles
inalambricas han madurado y proveen una alta tasa de datos a bajo costo, es posible tomar ventaja
de un nuevo tipo de dispositivos moviles que permiten operaciones en modo de red, satisfaciendo la
necesidad de acceso movil en todas partes en cualquier momento.
2.4 Aplicaciones para manipulacion de imagenes en
dispositivos moviles
En el ultimo par de decadas han sido creadas diversas aplicaciones basadas en imagenes tomadas
con camaras digitales. En especıfico, la alta disponibilidad y portabilidad de telefonos moviles con
camara integrada ha permitido identificar areas de oportunidad en la obtencion de informacion a par-
tir de la captura de imagenes de entornos reales. Los trabajos reportados hasta el momento varıan
en relacion al tipo problema que buscan resolver, pero basicamente las implementaciones de estos
sistemas pueden ser agrupados en cinco grupos en base a su funcionalidad: (1) apoyo a personas
con discapacidad visual, (2) lectura de codigos, (3) reconocimiento de rostros, (4) con aplicacion en
biologıa y medicina, y (5) extraccion de texto. A continuacion se describen algunas de las aplicaciones
mas representativas en cada grupo:
24 2.4. Aplicaciones para manipulacion de imagenes en dispositivos moviles
Apoyo a personas con discapacidad visual
Zhang et al.[121] propusieron un sistema que reconoce los caracteres Braile de una foto tomada por
un telefono movil con camara integrada, el cual permite a personas visualmente imposibilitadas acce-
der a informacion publica. Aunque no se hicieron pruebas con situaciones reales de uso, los resultados
fueron aceptables en cuanto a reconocimiento. Por otra parte, para ayudar a personas con problemas
de baja vision una aplicacion fue desarrollada por Shen y Coughlan[48]. Esta implementacion consis-
tio en un sistema de reconocimiento de dıgitos que permitıa leer en voz alta numeros en pantallas
LCD/LED que se encuentran en dispositivos como calculadoras, despertadores, voltımetros, entre
otros.
Lectura de codigos
Actualmente existen sistemas que permiten almacenar informacion mediante graficos bidimensio-
nales. La idea principal es que esta informacion se base en codigos de identificacion que permitan
diferenciar los objetos etiquetados mediante estos sistemas. Por ejemplo, los codigos de barras son
ampliamente usados sobre todo en la identificacion de artıculos en cadenas logısticas. Estos tienen
la desventaja de no ser legibles por el humano, requiriendo lectores laser costosos y especializa-
dos. La tendencia es desarrollar lectores de codigos de barras implementados en dispositivos moviles
[61, 90, 112]. Otros codigos son de origen reciente, tal es el caso de los codigos QR (Quick Response
Barcode por sus siglas en ingles) el cual se basa en una matriz de puntos, ademas de utilizar tres
cuadrados localizados en las esquinas que permiten detectar la posicion del codigo al lector. Ejemplo
de lectores de codigos QR por medio de un telefono movil es el presentado por Wakahara et al.[114].
Otras aplicaciones permiten leer codigos pictoriales (PIC) que a diferencia de los anteriores utilizan
una capa de representacion en base a colores. Cheong et al.[22] propusieron una representacion y
mostraron su factibilidad de implementacion en dispositivos moviles.
2. Manipulacion de imagenes en dispositivos moviles 25
Reconocimiento de rostros
Diversas aplicaciones en seguridad puede tener el procesamiento de imagenes, y entre ellas destaca
el reconocimiento de rostros para llevar a cabo algun proceso de autenticacion. Por ejemplo, Ven-
kataramani et al.[111] probaron diversos algoritmos de verificacion de rostros mediante una base de
imagenes recolectadas con la camara de un telefono celular. Otras implementaciones tienen que ver
mas con el permitir que las imagenes sean tomadas de mejor manera, en especıfico que el enfoque de
la camara sea ajustado automaticamente en base a la deteccion de personas [98]. Incluso el acceso
al propio telefono movil se ha propuesto se realice mediante algun sistema de este tipo y consideran-
do restricciones de tiempo real [86, 23]. Estas implementaciones de reconocimiento de rostros son
un gran avance en esta area, ya que el uso de imagenes con resoluciones menores y ambientes no
controlados permiten indagar en cuanto a su desempeno en entornos mas reales.
Aplicaciones en biologıa y medicina
En medicina, la principal motivacion del uso de telefonos celulares como un medio de diagnostico,
es que estos en su gran mayorıa presentan la posibilidad de conectarse a distintos tipos de redes, y
por lo tanto de alguna manera los costos se ven reducidos. Entre estas aplicaciones podemos encon-
trar microscopios de sencilla fabricacion que tienen como parte integrante un telefono celular [15];
estudios del nivel de azucar en la sangre mediante un medidor embebido en un telefono movil [16];
y para el cuidado a distancia de pacientes con enfermedades cronicas [20].
Extraccion de texto
La habilidad para detectar y reconocer texto usando dispositivos moviles promete es una area pro-
metedora en especial para aplicaciones comerciales. Canedo et al.[1] propusieron una arquitectura
completa para la traduccion del texto presente en imagenes tomadas con la camara de un telefono
movil de entornos naturales. Tambien se han realizado implementaciones que permiten realizar la
traduccion de senalamientos visuales al idioma Chino [65]. Chen et al.[21] presentaron un lector de
tarjetas de presentacion con la capacidad de reconocer texto en los lenguajes Ingles y Chino.
26 2.5. Captura de imagenes a traves de dispositivos moviles
2.5 Captura de imagenes a traves de dispositivos moviles
Las cada vez mejores caracterısticas de los telefonos celulares han generado una gran oportunidad
para reemplazar a los medios tradicionales de captura de imagenes, como lo son camaras de grado
industrial o escaneres digitalizadores, mediante la utilizacion de las camaras integradas a estos.
En el enfoque clasico del analisis de documentos hablando del reconocimiento de caracteres, se
pueden obtener buenos resultados a partir de documentos limpios. Sin embargo, las tecnicas de
reconocimiento utilizadas asumen una alta resolucion y buena calidad de las imagenes, ası como una
estructura simple de texto en negro sobre un fondo blanco. Ahora es posible extraer informacion
a partir de texto u otros objetos de casi cualquier entorno a partir de imagenes capturadas con
las camaras que algunos telefonos moviles poseen. La Tabla 2.5 muestra la comparativa entre las
capacidades de los escaneres digitalizadores y los telefonos moviles con camara a fin identificar las
ventajas y desventajas de la utilizacion de ambos dispositivos de captura:
Escaneres Telefonos moviles con camaraa) Caracterısticas tecnicas
Resolucion 150-6000 dpi > 300 dpi
Superficie del objeto Plana por lo regular Arbitraria
b) Calidad de las imagenesDistorsion Mınima Ocasionada por la perspectiva y opti-
ca de las lentes
Iluminacion Constante y adecuada Difıcil de controlar
Tipo de fondos Uniformes por lo regular Complejos por lo regular
Difuminacion (blur) Mınima Ocasionada por el movimiento yperdida del enfoque
c) ExtrasVelocidad de captura Lenta Rapida
Portabilidad No Sı
Tamano Grandes Compactos
Tabla 2.5: Comparacion entre escaneres y telefonos moviles con camara.
Por lo tanto, las suposiciones hechas en el enfoque clasico para el analisis de documentos no
son aplicables en sistemas con una diversidad de variables no controladas. Entre las dificultades que
regularmente se encuentran al realizar la captura de imagenes por medio de camaras, se encuentran
2. Manipulacion de imagenes en dispositivos moviles 27
las siguientes [30]: baja resolucion, iluminacion irregular, distorsion de perspectiva, distorsion por el
angulo de la lente, fondos complejos, acercamiento, alejamiento, enfoque, objetos en movimiento,
intensidad y cuantizacion de color, compresion de las imagenes.
Baja resolucion: Las imagenes tomadas con camaras usualmente presentan baja resolucion.
Mientras la mayorıa de los sistemas OCR estan preparados para resoluciones entre 150 y 400 dpi 5 ,
el mismo texto en un imagen capturada con una camara podrıa estar en 50 dpi o menos, haciendo
que las tareas como la segmentacion resulten difıciles.
Iluminacion irregular: Una camara tiene mucho menos control de las condiciones de ilumina-
cion de un objeto que los escaneres digitalizadores. La iluminacion irregular es comun, debido a dos
causas: el entorno fısico (sombras, reflejos, fluorescencias), y la respuesta desigual de los dispositivos.
Otras complicaciones ocurren cuando se usa luz artificial o debido a superficies reflejantes.
Distorsion de perspectiva: La distorsion de perspectiva puede ocurrir cuando el plano del texto
o conjunto de caracteres, no esta en paralelo al plano de la imagen. El efecto es que los caracteres
mas alejados se ven mas pequenos y por lo tanto son distorsionados. Para los escaneres de cama
plana, los documentos se alinean perfectamente con la superficie de escaneo, por lo tanto, para las
imagenes capturadas con camaras la traslacion y rotacion son los principales retos.
Distorsion por el angulo de la lente: Conforme un objeto fotografiado se acerca al plano de
la imagen, distorsiones por la iluminacion y el enfoque ocurren casi siempre en la periferia. Como
muchas de las camaras digitales vienen con lentes de bajo costo, la distorsion puede ser un problema
con texto extraıdo de escenas reales.
Fondos complejos: La falta de uniformidad de los fondos tras el texto (aun tan simples como el
5dpi es la unidad de medida de resolucion de una imagen (relacionado con la calidad) de un escaner, una impresora,etc. Sirve para medir la resolucion, que es la cantidad de puntos que entran en una pulgada.
28 2.5. Captura de imagenes a traves de dispositivos moviles
fondo de una senal vial) pueden hacer difıcil la identificacion exacta de la posicion de los caracteres
por extraer y sus respectivas delimitaciones.
Acercamiento, alejamiento y enfoque: Debido a que muchos dispositivos digitales son di-
senados para operar sobre una variedad de distancias, el enfoque se vuelve un factor significativo.
A distancias cortas y aberturas grandes, aun los cambios de perspectiva ligeros pueden causar un
enfoque irregular.
Objetos en movimiento: La naturaleza de los dispositivos moviles sugiere que ya sea el dispo-
sitivo o el objetivo podrıan estar en movimiento. La cantidad de luz que un CCD 6 puede aceptar es
fija, y a altas resoluciones la cantidad que cada pıxel obtiene es mas pequena, por lo tanto es difıcil
de mantener un tiempo de exposicion optimo, resultando en un desenfoque por movimiento.
Intensidad y cuantizacion de color: En un dispositivo fotografico ideal, cada pıxel en un
conjunto de fotosensores (CCD/CMOS) deberıa obtener la luminiscencia de la luz entrante y/o los
componentes de color (RGB o YUV) correspondiendo a la frecuencia de la luz. Sin embargo, en la
practica los diferentes disenos hardware tienen diferentes mecanismos de cuantizacion espacial, de
intensidad y de color.
Compresion de imagenes: La mayorıa de las imagenes capturadas por camaras digitales son
comprimidas. Es posible obtener imagenes sin comprimir al costo de cinco a diez veces mas espacio
de almacenamiento. Debido a los recursos limitados en aplicaciones moviles, estas usualmente apro-
vechan fuertemente la compresion de imagenes.
6Un charge-coupled device o CCD (en espanol, dispositivo de carga acoplada) es una tecnologıa para captu-rar imagenes digitalmente, basicamente convirtiendo la luz percibida en carga electrica y procesandola en senaleselectronicas.
2. Manipulacion de imagenes en dispositivos moviles 29
2.6 Resumen
En el presente capıtulo se analizaron las caracterısticas de los dispositivos moviles, incluyendo las
plataformas, sistemas operativos y frameworks de desarrollo de aplicaciones disponibles actualmente.
Ademas, se presentaron algunos de las aplicaciones que han sido implementadas con exito en telefonos
moviles. Se pudieron identificar cinco tipos de implementaciones considerando su funcionalidad:
(1) para el apoyo a personas con discapacidad visual, (2) lectura de codigos, (3) reconocimiento
de rostros, (4) con aplicacion en Biologıa y Medicina, y (5) extraccion de texto. Finalmente se
enumeraron las dificultades que se tiene al utilizar imagenes tomadas con las camaras integradas en
los telefonos moviles. Dentro de los problemas o limitaciones encontradas, se pueden mencionar: la
iluminacion desigual y la perdida de enfoque o rotacion de la camara al realizar la captura.
En el capıtulo siguiente se presenta el marco teorico que sirve de trasfondo para comprender
en que consiste el proceso de reconocimiento de caracteres. En especıfico se detallan las etapas
involucradas en este proceso con el enfoque en el reconocimiento de dıgitos.
3Reconocimiento de dıgitos en dispositivos moviles
El objetivo de este capıtulo se centra en describir el proceso especıfico del reconocimiento de
caracteres. Por lo tanto, cada fase de este proceso es descrito de manera extendida, a fin de abordar
temas referentes a las tecnicas utilizadas en cada una de ellas, ası como definir una categorizacion
interna. Pero antes de esta descripcion por etapas, se revisan algunos conceptos que tienen que ver
con la manipulacion de imagenes, los cuales sirven de teorıa base para la comprension del resto del
capıtulo. Un lector experimentado y ampliamente familiarizado con el procesamiento de imagenes
puede obviar la lectura de esta parte, no obstante, se presenta aquı con el proposito de que lectores
menos experimentados encuentren este trabajo autocontenido. Finalmente se presentan algunas de
las implementaciones mas destacadas de sistemas de reconocimiento de caracteres en dispositivos
moviles, que han sido reportadas en la literatura.
3.1 Reconocimiento de dıgitos
El interes de dar la capacidad a las computadoras de imitar o simular algunas funciones humanas,
como la habilidad para leer, escribir, ver y reconocer objetos, entre otras, ha sido objeto de intensa
31
32 3.1. Reconocimiento de dıgitos
investigacion durante las ultimas cuatro decadas. Actualmente el ser humano sigue superando aun
a las computadoras mas poderosas en funciones que para el son rutinarias como la lectura. Por
ejemplo, una persona con las habilidades basicas de lectura y escritura, puede leer la mayorıa de los
textos, ya sea que esten escritos con diferentes fuentes y estilos, o incluso de manera manuscrita.
En este contexto, las tecnicas de reconocimiento de caracteres (RC) permiten a un computadora
digital asociar una identidad simbolica con la imagen de un caracter [76]. En un sentido amplio, el
reconocimiento de caracteres es un campo de investigacion tanto en reconocimiento de patrones,
como en inteligencia artificial y en vision por computadora[77].
Por otra parte, dependiendo del proceso de adquisicion de datos y del tipo de texto, los sistemas
de reconocimiento de caracteres pueden ser clasificados como se muestra en la Figura 3.1.
Figura 3.1: Clasificacion de los sistemas de reconocimiento de caracteres disponibles.
La primera subdivision tiene que ver con el tipo de tecnicas que son utilizados para la adquisicion
de los datos, e incluye el reconocimiento de caracteres en lınea y fuera de lınea. El reconocimiento en
lınea corresponde a la captura manuscrita mediante un digitalizador. La mayorıa de los digitalizadores
son tabletas electromagnetico-electroacusticas, que envıan las coordenadas de la punta de un lapiz
o de algun otro dispositivo senalador a la computadora huesped en intervalos regulares. Las ventajas
son claras cuando se requiere realizar el reconocimiento de esta manera. Primero el proceso obtiene
resultados en tiempo real, es decir, el proceso de reconocimiento puede ser llevado a cabo mientras
se escribe. Ademas, es posible utilizar la informacion de como se realizan los trazos y encontrar por
ejemplo, orientaciones, esquinas, curvas cerradas, entre otras.
El reconocimiento fuera de lınea es conocido como Reconocimiento Optico de Caracteres (OCR,
3. Reconocimiento de dıgitos en dispositivos moviles 33
por sus siglas en ingles), debido a que la imagen que contiene el texto es convertida a una represen-
tacion digital utilizando un dispositivo digitalizador optico, como puede ser un escaner o una camara.
El reconocimiento se realiza sobre esta representacion ya sea que contengan caracteres manuscritos
o impresos por maquinas.
Los sistemas de reconocimiento de caracteres manuscritos continuan teniendo capacidades limi-
tadas, principalmente por la diversidad de formas de representar cada caracter dependiendo de quien
escribe. Por otro lado, los caracteres impresos por maquinas se pueden encontrar en materiales como
libros, periodicos, documentos e incluso sobre otros objetos como senalamientos visuales o letreros.
Es precisamente este ultimo estilo de caracter el que nos ocupa en esta investigacion, es decir, de
acuerdo a nuestro contexto de aplicacion los caracteres por reconocer seran dıgitos impresos sobre
el mecanismo que muestra un contador de consumo en medidores convencionales de agua. La Figu-
ra 3.2 permite ver la diferencia entre dıgitos manuscritos y otros que fueron impresos con una fuente
determinada.
Manuscritos
Impresos
Figura 3.2: Comparativa entre dıgitos manuscritos e impresos
3.1.1 Adquisicion de la imagen
Lo que es proyectado en el plano de la imagen de una camara es esencialmente una distribucion
continua, en funcion del tiempo y en dos dimensiones de la energıa de la luz. Entonces, resulta
necesario convertirla en una imagen digital para que sea manipulada por una computadora. Esta
conversion es realizada utilizando un convertidor analogo-digital el cual tıpicamente esta integrado
34 3.1. Reconocimiento de dıgitos
directamente en la electronica del sensor del dispositivo utilizado para la captura. Finalmente, me-
diante un proceso conocido como cuantizacion se obtiene una representacion (imagen digital) con
valores dentro de un rango finito de enteros o de punto flotante de tal manera que pueden ser alma-
cenados y procesados por la computadora [17]. Existen algunos conceptos esenciales que permiten
entender en que consiste la manipulacion de imagenes, los cuales tienen que ver con la forma en que
son representadas las imagenes dıgitales, las relaciones entre sus pıxeles, y las operaciones basicas
para su tratamiento.
3.1.1.1. Representacion de imagenes digitales
El resultado de la conversion es una descripcion de la imagen en forma de una matriz ordenada en
dos dimensiones (Figura 3.3). Definido de manera mas formal, una imagen digital f es una funcion
en dos dimensiones de coordenadas enteras M ×N que mapea un rango de valores de intensidad P
[17] tal que:
f(x, y) ∈ P donde 0 ≤ x ≤M − 1y0 ≤ y ≤ N − 1
Por lo tanto, el tamano de una imagen esta determinado directamente por la altura M (numero
de filas) y el ancho N (numero de columnas) de la matriz de la imagen f . Cada elemento de esta
matriz es llamado un elemento de imagen, elemento de la fotografıa, pel, o pıxel. Cabe hacer mencion
que los terminos imagen y pıxel son usados en este documento para referirse a una imagen digital y
a sus elementos respectivamente.
Figura 3.3: Sistema de coordenadas de una imagen.
3. Reconocimiento de dıgitos en dispositivos moviles 35
Por otra parte, el proceso de digitalizacion requiere definir ademas los niveles posibles para
representar cada pıxel. Debido al procesamiento, almacenamiento, y a consideraciones de hardware,
la cantidad de niveles es tıpicamente una potencia de 2 [39]:
L = 2k (3.1)
Se asume entonces que los niveles discretos estan espaciados equitativamente y que son enteros
en el intervalo [0, L−1]. El valor k representa la cantidad de bits asignados a cada pıxel. Usualmente
con k = 1, para imagenes binarias; y k = 8 para imagenes en una escala de grises.
Con una cuantizacion simple, como lo es la conversion a escala de grises, el objetivo es que las
intensidades de los pıxeles o los niveles de gris esten cuantizados con la suficiente precision para
que no se pierda informacion en exceso. Representar una imagen con 8 bits de la escala de grises es
muy comun por dos razones [14]: primero, usando mas bits generalmente no mejorara la apariencia
visual de la imagen. Segundo, cada pıxel es convenientemente representado por un byte. Por lo tanto,
en el resto de este documento se asumira que las imagenes procesadas inicialmente se encuentran
en escala de grises, es decir, el intervalo de los valores posibles para cada pıxel es [0, 28−1] o [0, 255] .
3.1.1.2. Relaciones entre pıxeles.
Las siguientes son las relaciones basicas que pueden existir entre los pıxeles de una imagen:
Vecinos de un pıxel. Un pıxel p en las coordenadas (x, y) tiene cuatro vecinos horizontales y
verticales cuyas coordenadas estan dadas por [14]:
(x+ 1, y), (x− 1, y), (x, y + 1), (x, y − 1)
Este conjunto de pıxeles, llamados los 4-vecinos de p, esta denotado por N4(p). Cada pıxel esta a
una unidad de distancia de (x, y), y algunos de los pıxeles de p se encuentran fuera de la imagen
digital si (x, y) esta en el borde de la imagen.
Los cuatro vecinos diagonales de p tienen las coordenadas:
36 3.1. Reconocimiento de dıgitos
(x+ 1, y + 1), (x+ 1, y − 1), (x− 1, y + 1), (x− 1, y − 1)
Estos puntos, junto con los 4-vecinos, son llamados los 8-vecinos de p, denotados por N8(p).
Como se menciona, algunos de los puntos en ND(p) y N8(p) caen fuera de la imagen si (x, y) estan
en el borde de la imagen.
Conectividad. La conectividad entre pıxeles es un concepto fundamental que simplifica la
definicion de numerosos conceptos digitales, como regiones y lımites. Para establecer si dos pıxeles
estan conectados, tiene que determinarse si son vecinos y si sus niveles de grises satisfacen un criterio
de similaridad especıfica, como puede ser si sus niveles de grises son iguales.
Un pıxel Q, es uno de los 4-vecinos o uno de los elementos en 4-conectividad de un pıxel P , si
ambos Q y P comparten un borde [14]. Los 4-vecinos del pıxel P (nombrados pıxeles P2, P4, P6 y
P8) se muestran en la Figura 5.7(a). Un pıxel Q, es uno de los 8-vecinos o esta en 8-conectividad de
un pıxel P , si ambos Q y P comparten un vertice o borde con ese pıxel. Estos pıxeles son nombrados
P1, P2, P3, P4, P5, P6, P7, y P8 y son mostrados en la Figura 5.7(b).
(a) (b)
Figura 3.4: Conectividad [14]: (a) 4-vecinos (4-conectividad); (b) 8-vecinos (8-conectividad).
Componente con 4-conectividad. Un conjunto de pıxeles P es un objeto componente con
4-conectividad si por cada par de pıxeles Pi y Pj en P , existe una secuencia de pıxeles P1, ..., Pj tal
que [14]:
(a) Todos los pıxeles en una secuencia estan en el conjunto P , y
3. Reconocimiento de dıgitos en dispositivos moviles 37
(b) Cada 2 pıxeles de la secuencia que son adyacentes, presentan 4-conectividad.
En la Figura 3.5 se muestran dos ejemplos de patrones con 4-conectividad .
(a) (b)
Figura 3.5: Ejemplos de objetos componentes con 4-conectividad.
Componente con 8-conectividad. Un conjunto de pıxeles P es un componente con 8-
conectividad si por cada par de pıxeles Pi y Pj en P , existe una secuencia de pıxeles P1, ..., Pj
tal que:
(a) Todos los pıxeles en una secuencia estan en el conjunto P , y
(b) Cada 2 pıxeles de la secuencia que son adyacentes, presentan 8-conectividad.
Un ejemplo de un patron con 8-conectividad es mostrado en la Figura 3.6(a). El patron en la
Figura 3.6(b) no presenta 4-conectividad ni 8-conectividad.
(a) (b)
Figura 3.6: Conectividad [14]: (a) Un patron de un componente con 8-conectividad ; (b) Unpatron que no tiene 4- ni 8-conectividad.
38 3.2. Fases de un sistema de reconocimiento de dıgitos
3.1.1.3. Operaciones basicas en procesamiento de imagenes
En general, las operaciones en el procesamiento de imagenes pueden ser categorizadas en cuatro
tipos principales[104]:
1. Operaciones punto: la salida obtenida de un pıxel depende solamente de ese pıxel, in-
dependientemente de todos los otros pıxeles en esa imagen. El umbralado, un proceso que
hace corresponder pıxeles arriba de cierto umbral como blanco y los otros como negro, es
simplemente una operacion punto.
2. Operaciones locales o de vecindario: La salida obtenida en un pıxel depende de los valores
en un vecindario de ese pıxel. Algunos ejemplos son la deteccion de bordes y filtrados de
suavizado. Esta operacion puede ser adaptativa porque los resultados dependen en los valores
encontrados de un pıxel en particular en cada region de la imagen.
3. Operaciones geometricas: La salida para un pıxel depende solamente en los niveles de otros
pıxeles definidas por transformaciones geometricas. Las operaciones geometricas son diferentes
de las operaciones globales, de tal manera que la referencia se obtiene solamente de algunos
pıxeles especıficos por medio de una transformacion geometrica.
4. Operaciones globales: La salida para un pıxel depende de todos los pıxeles de la imagen.
Podrıa ser independiente de todos los valores de los pıxeles de una imagen, o podrıa reflejar
estadısticas calculadas de todos los pıxeles, pero no de un subconjunto local de ellos.
3.2 Fases de un sistema de reconocimiento de dıgitos
Un sistema de reconocimiento de dıgitos podrıa ser definido como aquel que, a partir de una
imagen digital conteniendo caracteres numericos es capaz de identificarlos individualmente o como
una cifra. Basicamente consiste en el reconocimiento de caracteres, limitado a un subconjunto que
en este caso son los dıgitos.
3. Reconocimiento de dıgitos en dispositivos moviles 39
En un sistema de reconocimiento optico de caracteres, una vez que un texto o caracteres impresos
o manuscritos son capturados mediante un escaner o por algun otro medio, la imagen digital pasa a
traves de las siguientes etapas generales[77]:
1. Pre-procesamiento.
2. Extraccion y seleccion de caracterısticas.
3. Clasificacion y entrenamiento.
3.2.1 Pre-procesamiento
Uno de los aspectos cruciales dentro dentro de un sistema de reconocimiento de caracteres es el
pre-procesamiento el cual es necesario para modificar las imagenes de entrada, ya sea para corregir
deficiencias en el proceso de adquisicion debido a las limitaciones de la captura del dispositivo sensor, o
para preparar los datos para las actividades subsecuentes en las etapas de descripcion o clasificacion.
Por lo tanto, el objetivo principal de la etapa de pre-procesamiento es normalizar y reducir las
variaciones que de otro modo complicarıan la clasificacion y reducirıan la tasa de reconocimiento
[39].
Los metodos comunmente utilizados para el pre-procesamiento de imagenes pueden ser catego-
rizados segun el objetivo que buscan, en los siguientes grupos[4]:
1. Reduccion del ruido.
2. Normalizacion.
3. Compresion de la cantidad de informacion por retener.
3.2.1.1. Reduccion de ruido y suavizado
Las operaciones de suavizado en imagenes en escala de grises son usadas para difuminar y reducir
el ruido. El difuminado es usado en etapas de pre-procesamiento para remover pequenos detalles de
la imagen. En imagenes binarizadas, las operaciones de suavizado son usadas para reducir el ruido o
40 3.2. Fases de un sistema de reconocimiento de dıgitos
para delinear los bordes de los caracteres, por ejemplo, para llenar los huecos pequenos, o eliminar las
pequenas protuberancias en los bordes de los caracteres. El suavizado y la reduccion de ruido pueden
realizarse mediante filtrado. El filtrado se puede realizar mediante una operacion de vecindario en la
cual el valor de un pıxel en especıfico en la imagen se salida es determinado aplicando algun algoritmo
a los valores de los pıxeles del vecindario del pıxel correspondiente en la imagen de entrada u original.
Existen dos tipos de enfoques de filtrado: lineal y no lineal. Los filtros suavizantes o de paso bajo,
y los realzantes o de paso alto, en general utilizan un enfoque lineal [97]; mientras que el filtro de
mediana es un tipo especial de filtro paso bajo, con enfoque no lineal [39].
Por otra parte, despues del proceso de binarizacion en el que una imagen en escala de grises es
transformada a una escala de dos colores (fondo y objeto), algunos pıxeles son eliminados producien-
do huecos en algunas partes de los objetos. Los huecos grandes en los caracteres pueden causar que
estos se dividan en dos o mas objetos. Por el contrario, la segmentacion puede causar que objetos
separados se unan lo cual provoca que sea mas difıcil separar los caracteres. La solucion a estos pro-
blemas es el filtrado morfologico. Las tecnicas mas utilizadas incluyen erosion y dilatacion, apertura
y cerradura, y adelgazamiento y obtencion del esqueleto [97].
3.2.1.2. Normalizacion
La normalizacion de caracteres es considerada la operacion de pre-procesamiento mas importan-
te para el reconocimiento de dıgitos [76]. Normalmente, la imagen del caracter es proyectado en
un plano estandar con tamano predefinido, para que de esta manera la representacion tenga una
dimensionalidad fija para la clasificacion. El objetivo de la normalizacion de caracteres es reducir la
variacion entre clases de las formas de los caracteres (dıgitos) para facilitar el proceso de extraccion
de caracterısticas y mejorar la precision en la clasificacion. En la Figura 3.7 se muestra graficamente
una tecnica de normalizacion adaptativa de la razon de aspecto (ARAN, por sus siglas en ingles)[70].
Esta tecnica denota el ancho y la altura del caracter original como W1 y H1, el ancho y la altura
del caracter normalizado con W2 y H2, y el tamano del plano estandar o normalizado como L.
3. Reconocimiento de dıgitos en dispositivos moviles 41
El plano normalizado es usualmente considerado como un cuadrado. Las relaciones de aspecto se
definen como R1 para el caracter original, y como R2 para el caracter normalizado, calculandose de
la siguiente manera:
R1 =mın(W1, H1)
max(W1, H1)(3.2)
y
R2 =mın(W2, H2)
max(W2, H2)(3.3)
los cuales se consideran siempre que estan en el rango de [0, 1]. En esta implementacion de
ARAN, la imagen del caracter normalizado es introducida en un plano de tamano flexible (W2, H2),
y luego este plano flexible es desplazado hasta estar superpuesto en el plano estandar mediante la
alineacion del centro.
(a) (b)
Figura 3.7: Normalizacion de caracteres [70]: (a) Caracter original; (b) Caracter normalizadoen el plano estandar
3.2.1.3. Simplificacion de descriptores
Aunque algunas veces los datos que representan una imagen en escala de grises pueden ser
usados para obtener descriptores, normalmente se utilizan esquemas que compacten los datos en re-
presentaciones que son considerablemente mas utiles en el calculo de descriptores. Los metodos mas
populares de este tipo de representacion son: umbralado, adelgazamiento y extraccion del esqueleto.
42 3.2. Fases de un sistema de reconocimiento de dıgitos
Umbralado
Una manera natural de segmentar caracteres es por medio del umbralado, la cual es una tecnica que
permite separa un pıxel del objeto o del fondo comparando sus niveles de gris u otra caracterıstica
como valor de referencia[39]. Las tecnicas de binarizacion basadas en niveles de gris pueden ser
divididas en dos clases: umbralado global y local. Los algoritmos de umbralado global usan un unico
umbral para toda la imagen. Un pıxel que tiene un nivel de gris por debajo que el valor de umbral es
etiquetado como objeto (negro), o como fondo (blanco) en caso contrario. Los metodos de binari-
zacion locales adaptativos calculan un umbral designado para cada pıxel basado en el vecindario del
pıxel. En la Figura 3.8 muestra los resultados de la binarizacion de una imagen de un dıgito utilizando
los enfoques de umbralado descritos.
a) Umbralado global: Para las imagenes en las que los trazos que forman caracteres tienen un
nivel constante de gris que es unico entre todos los objetos del fondo, los metodos de umbralado
global son los metodos mas eficientes. El histograma de esas imagenes es bimodal de tal forma que
los caracteres y el fondo contribuyen a modas distintas, y un umbral global puede ser seleccionado
deliberadamente para clasificar los pıxeles en la imagen original como objeto o fondo. La clasificacion
de cada pıxel depende simplemente de su nivel de gris visto globalmente, independientemente de las
caracterısticas locales. El metodo Otsu [91], ha sido considerado como el mejor y mas rapido metodo
de umbralado global en algunos estudios [110, 101].
b) Umbralado local: Como se menciono en la Seccion 2.5 diversos problemas afectan la calidad
de la imagen principalmente por la iluminacion desigual, lo cual dificulta la extraccion o segmen-
tacion de caracteres. Mientras que las tecnicas globales de umbralado pueden extraer objetos de
fondos simples y uniformes rapidamente, los metodos locales pueden sobrellevar los problemas de
iluminacion no uniforme o fondos complejos a costa de un tiempo de procesamiento mayor. Este tipo
de imagenes presentan histogramas que proveen mas de dos modas, lo cual hace difıcil la utilizacion
de un metodo global; por lo tanto, un metodo de umbralado local puede solucionar esta situacion.
En un estudio comparativo realizado por Trie y Jain[110] se concluyo que los metodos Niblack [87]
3. Reconocimiento de dıgitos en dispositivos moviles 43
y Bernsen [10] fueron los mas rapidos y los que provocaron que el sistema de reconocimiento de
dıgitos en el cual fueron implementados, obtuviera la mayores tasas de reconocimiento.
(a) (b) (c)
Figura 3.8: Umbralado: (a) Imagen original; (b) Imagen binarizada mediante el metodo globalOtsu; (c) Imagen binarizada mediante el metodo local Bernsen.
Adelgazamiento
El adelgazamiento es similar a la erosion, pero no causa que los componentes del objeto desaparez-
can. Trata de reducir los objetos de la imagen binarizada a un grosor de 1 pıxel, generando ası un
objeto cuyo eje se encuentra conectado y es equidistante de los bordes del objeto original [104]. En la
Figura 3.10(b) se muestra el objeto que representa el dıgito cuatro despues de realizar la operacion
de adelgazamiento a la imagen binarizada original (Figura 3.10(a)).
Extraccion del esqueleto
Esta operacion es similar al adelgazamiento, pero ademas explora mas informacion acerca de la
estructura de los objetos en la imagen. El esqueleto realza ciertas propiedades de la imagen; por
ejemplo, las curvaturas del contorno corresponden a propiedades topologicas del esqueleto.
El concepto de esqueleto fue propuesto primeramente por Blum [13], para lo que definio una tecni-
ca llamada transformacion del eje medio. La explicacion intuitiva de esta transformacion esta basada
en la analogıa de fuego en la pradera [97] Figura 3.9.
En la Figura 3.10(c) se muestra el esqueleto que representa el dıgito cuatro a partir de la imagen
binarizada original (Figura 3.10(a)).
44 3.2. Fases de un sistema de reconocimiento de dıgitos
(a) (b)
Figura 3.9: Transformaciones del eje medio: (a)Cırculo; (b) Rectangulo.
(a) (b) (c)
Figura 3.10: Operaciones morfologicas: (a)Imagen binarizada original; (b) Adelgazamiento. (c)Esqueleto.
3. Reconocimiento de dıgitos en dispositivos moviles 45
3.2.2 Extraccion y seleccion de caracterısticas
La extraccion de caracterısticas es una de las etapas mas importantes dentro de un sistema de
reconocimiento. Su objetivo es medir aquellos atributos de los patrones que son mas convenientes para
lograr su correcta clasificacion. La tarea de un experto humano es seleccionar o inventar caracterısticas
que permitan el reconocimiento de patrones de forma efectiva y eficiente[76].
En el caso mas sencillo, imagenes en escala de grises o binarizadas alimentan al clasificador. Sin
embargo, en la mayorıa de los sistemas OCR es necesaria una representacion mas sencilla y compacta
para evitar la complejidad e incrementar la precision de los algoritmos. Para ello, un conjunto de
caracterısticas es extraıdo para cada clase lo cual ayuda a distinguir unas de otras. Los metodos de
extraccion de caracterısticas pueden ser categorizados de la siguiente manera [31]:
1. Transformacion global y series de expansion.
2. Representacion estadıstica.
3. Representacion geometrica y topologica.
3.2.2.1. Transformacion global y series de expansion
Una senal continua generalmente contiene mas informacion de la necesaria para representarla para
el proposito de clasificacion. Una forma de representar una senal es mediante una combinacion lineal
de funciones simples. Los coeficientes de la combinacion lineal proveen una codificacion compacta
conocida como transformacion y/o series de expansion [4]. Las deformaciones tales como traslacion
y rotacion son invariantes bajo una transformacion global.
Dentro las transformaciones mas comunes en el campo del reconocimiento de caracteres se en-
cuentran los momentos o funciones de momentos mediante las cuales se extraen propiedades globales
de la imagen como area, centro de masa, momento de inercia, entre otros. Entre los descriptores mas
populares de este tipo estan: los momentos geometricos[46], los momentos ortogonales de Zernike,
Pseudo-Zernike [59] y Tchebichef [78], y los momentos Legendre [109]. Otro tipo de transformacion
46 3.2. Fases de un sistema de reconocimiento de dıgitos
es la obtenida mediante los descriptores de Fourier que permiten, entre otras cosas, la descripcion y
recuperacion de la forma de los objetos.
3.2.2.2. Representacion estadıstica
La representacion a partir de la distribucion estadıstica de puntos considera hasta cierto punto las
variaciones de estilo entre caracteres del mismo tipo. Sin embargo, esta representacion no permite la
reconstruccion de la imagen original, solo es usada para reducir la dimensionalidad del conjunto de
caracterısticas y en consecuencia disminuyendo la complejidad y aumentando la velocidad de proce-
samiento. Estas caracterısticas pueden ser obtenidas a partir de la division por zonas (Figura 3.11a),
la cantidad de cruces y distancias (Figura 3.11b), y las proyecciones (Figura 3.11c) [4].
2 3 3
1
1
2
(a) (b) (c)
Figura 3.11: (a) Division por zonas; (b) Cruces; (c) Proyecciones.
3.2.2.3. Representacion geometrica y topologica
Estas caracterısticas son altamente tolerantes a distorsion y estilos de variacion. En general se
basan en las estructuras que conforman a los objetos. Ademas, los caracteres pueden ser representados
extrayendo y contando muchas caracterısticas topologicas, como lo son los puntos extremos, maximos
y mınimos; aperturas por la derecha, izquierda, arriba o abajo; puntos de cruce, finales de lınea, aros,
puntos de inflexion, entre otros (Figura 3.12).
Por otro lado, mediante los codigos de cadena introducidos por Freeman [34] es posible representar
el borde de una figura mediante una secuencia conectada de lıneas rectas que presentan una longitud
3. Reconocimiento de dıgitos en dispositivos moviles 47
y direccion fija (Figura 3.13).
(a) (b) (c)
Figura 3.12: Caracterısticas topologicas : (a) Punto final ; (b) Punto de ramificacion; (c) Puntode cruce.
(a) (b) (c)
Figura 3.13: Codigos de cadena: (a) con 4-conectividad ; (b) con 8-conectividad ; (c) Ejemplo.
3.2.2.4. Reduccion de dimensionalidad
La complejidad de cualquier clasificador depende de la cantidad de entradas (caracterısticas).
En muchos problemas de reconocimiento de patrones, extraer una gran cantidad de caracterısticas
o atributos, no necesariamente se traduce en una alta precision en el reconocimiento. Las tecni-
cas de reduccion de dimensionalidad permiten remover caracterısticas irrelevantes y redundantes,
preservando al mismo tiempo una precision aceptable de clasificacion [71].
Algunas de las razones por las cuales resulta interesante realizar la reduccion de dimensionalidad
de los espacios de caracterısticas son las siguientes [3]:
Para la mayorıa de las tareas de clasificacion, la complejidad depende del numero de dimensiones
de entrada, d, ası como del tamano de los datos de prueba, N . Por lo tanto, para reducir el
48 3.2. Fases de un sistema de reconocimiento de dıgitos
uso de memoria y de computo, es importante reducir la dimensionalidad del problema.
Cuando se determina que una caracterıstica es innecesaria, se evita el costo de extraerla.
Es posible obtener una idea mas robusta del proceso cuando los datos son explicados con una
menor cantidad de caracterısticas.
Los datos pueden ser graficados y analizados visualmente cuando estan representados mediante
una cuantas dimensiones sin perder informacion.
En la Figura 3.14 se muestra una taxonomıa general de los metodos de reduccion de dimensio-
nalidad mas relevantes. Existen dos metodos principales para la reduccion de dimensionalidad [3]:
extraccion de caracterısticas y seleccion de caracterısticas. Es importante hacer una distincion en-
tre ambos metodos. Los algoritmos que crean nuevas caracterısticas basados en transformaciones
o combinaciones del espacio de caracterısticas original son conocidos como metodos de extraccion
de caracterısticas. Mientras que el termino seleccion de caracterısticas se refiere a algoritmos que
seleccionan el mejor subconjunto del conjunto de caracterısticas de entrada.
Figura 3.14: Taxonomıa general de las tecnicas de reduccion de dimensionalidad
La eleccion entre una tecnica y otra depende del dominio de aplicacion y de los datos de en-
trenamiento especıficos disponibles. Enseguida se describen de manera formal ambos metodos de
reduccion de dimensionalidad .
3. Reconocimiento de dıgitos en dispositivos moviles 49
(a) Extraccion de caracterısticas
Los metodos de extraccion de caracterısticas determinan un subespacio apropiado de dimensionalidad
k en el espacio original de caracterısticas de dimensionalidad d donde k ≤ d [54]. Estos tratan de
encontrar un nuevo conjunto de k dimensiones que son combinaciones de las d dimensiones originales.
Las caracterısticas transformadas generadas por estos metodos pueden proveer una mejor habilidad
de discriminacion que el mejor subconjunto de un espacio de caracterısticas dado, pero estas nuevas
caracterısticas podrıan no tener un significado fısico claro.
La dimensionalidad d del espacio es tambien conocida como dimensionalidad extrınseca. En
muchos casos la dimensionalidad extrınseca es significativamente grande, y mas aun las dimensiones
estan correlacionadas de forma no lineal. Esto significa que la informacion original incluida en d
dimensiones puede ser representada con m < d dimensiones. En la literatura k es referido como
dimensionalidad intrınseca. El descubrimiento de la dependencia entre dimensiones no solo conduce
a la compresion de los datos, sino que tambien extrae informacion. Algunos metodos han sido
propuestos para la busqueda de las relaciones entre dimensiones. Estas pueden ser divididas en dos
categorıas principales: metodos lineales, y metodos no lineales.
Las transformaciones lineales, como lo son el analisis de componentes principales y analisis discri-
minante lineal (PCA y LDA por sus siglas en ingles, respectivamente) han sido ampliamente usados
en reconocimiento de patrones para la extraccion de caracterısticas y la reduccion de dimensionalidad.
Estas tecnicas lineales son las mas simples y faciles de implementar que muchos metodos recientes
incluyendo las transformaciones no lineales [33].
Por otra parte, existen varias formas de definir tecnicas de extraccion de caracterısticas no li-
neales. Uno de estos metodos que esta directamente relacionado con PCA es llamado Kernel PCA
[103, 42].
(b) Seleccion de caracterısticas
A partir de un conjunto de d caracterısticas, las tecnicas de seleccion de caracterısticas buscan
seleccionar un subconjunto de tamano k que lleve al mınimo error de clasificacion [54], descartando
50 3.2. Fases de un sistema de reconocimiento de dıgitos
a las (d − k) dimensiones restantes. Estos metodos conducen al ahorro en costos, ya que algunas
caracterısticas son eliminadas y las que son seleccionadas mantienen su interpretacion fısica original.
Sea Y el conjunto dado de caracterısticas, con cardinalidad d y sea m el numero deseado de
caracterısticas en el subconjunto seleccionado X, X ⊆ Y . Sea J(X) la funcion de evaluacion para el
conjunto X [53]. Formalmente, el problema de seleccion de caracterısticas es encontrar el subconjunto
X ⊆ Y tal que |X| = d y
J(X) = maxZ⊆Y,|Z|=d
J(Z) (3.4)
El metodo mas directo para la seleccion de caracterısticas requerirıa [54]:
1. Examinar todos los 2d posibles subconjuntos, y
2. Seleccionar el subconjunto con el valor mas grande de J(·).
Sin embargo, la cantidad de posibles subconjuntos crece combinatoriamente (∑k
i=1
(di
)), ha-
ciendo impractica la busqueda exhaustiva incluso para valores moderados de k y d. Por lo tanto, se
hace necesario el uso de heurısticas para obtener una razonable, pero no optima, solucion en tiempo
polinomial [3].
El proceso tıpico de un metodo de seleccion de caracterısticas incluye cuatro pasos basicos [27]
tal como se muestra en la Figura 3.15:
1) Generacion del subconjunto
Este es un procedimiento de busqueda que genera subconjuntos de caracterısticas para ser evaluados.
La cantidad de subconjuntos del espacio original de d dimensiones (caracterısticas) es 2d. Para resolver
este problema de complejidad la generacion de subconjuntos puede realizarse siguiendo los siguientes
enfoques:
Busqueda completa: Garantiza el hallazgo del subconjunto optimo, sin la necesidad
de realizar la busqueda de todos los posibles subconjuntos (2d) que resultarıa en una busqueda
exhaustiva.
3. Reconocimiento de dıgitos en dispositivos moviles 51
Figura 3.15: Fases del proceso de seleccion de caracterısticas.
Busqueda heurıstica: Genera subconjuntos de forma directa, comienza con un sub-
conjunto vacıo, para luego agregar caracterısticas relevantes de manera progresiva, lo que se
conoce como seleccion secuencial hacia adelante, o viceversa, mediante seleccion secuencial
hacia atras, la cual comienza con todo el conjunto y elimina caracterısticas irrelevantes de
manera progresiva.
Busqueda Aleatoria: Los subconjuntos son generados de manera aleatoria, luego se
aumentan o disminuyen caracterısticas aleatoriamente tambien para generar el siguiente sub-
conjunto por evaluar.
2)Evaluacion
Consiste en medir la optimalidad del subconjunto generado en el paso anterior mediante algun criterio.
Estos incluyen el criterio de evaluacion filtro que es independiente del algoritmo de clasificacion, y
la evaluacion de tipo envolvente que depende del algoritmo de clasificacion utilizado.
Filtro: Mediante estos metodos las caracterısticas son seleccionadas basadas en las
propiedades intrınsecas, las cuales determinan su relevancia o poder de discriminacion con
respecto a las clases objetivo [29]. Metodos simples basados en informacion mutua [94], y
pruebas estadısticas (t-test, F -test) han mostrado ser efectivas. Los metodos filtro pueden ser
52 3.2. Fases de un sistema de reconocimiento de dıgitos
calculados facil y eficientemente. Ademas, como estos no se encuentran relacionados con el
algoritmo de clasificacion presentan una mejor generalizacion.
Envolvente: Estos metodos buscan a traves del espacio de subconjuntos de carac-
terısticas usando un algoritmo de clasificacion para dirigir la busqueda [26]. La utilidad de una
caracterıstica es directamente juzgada por la precision estimada por el algoritmo de clasifica-
cion. La precision es calculada usando validacion cruzada. Regularmente se puede obtener un
conjunto con un numero reducido de caracterısticas redundantes, el cual da una alta precision
de prediccion, debido a que esta es la mejor heurıstica disponible para medir el valor de las ca-
racterısticas. Pese a sus beneficios, los metodos envolventes tıpicamente requieren de computo
extensivo para buscar las mejores caracterısticas.
3)Criterio de paro
Mediante el criterio de paro se determina cuando el proceso de seleccion de caracterısticas deberıa
detenerse. Generalmente el proceso de detiene cuando se ha alcanzado algun valor umbral o parame-
tro, se ha realizado la busqueda completa, o se encontro un conjunto de caracterısticas optimo.
4)Validacion de resultados
Aquı se evalua el modelo de seleccion de caracterısticas con un conjunto de datos reales y se compara
su desempeno con los obtenidos en la experimentacion.
3.2.3 Clasificacion y entrenamiento
Mientras que el objetivo de la extraccion de caracterısticas es representar a los patrones de entrada
como puntos dentro de un espacio de caracterısticas, el proposito de la clasificacion es asignar cada
uno de esos puntos en el espacio con una etiqueta o un puntaje que indique pertenencia, a un conjunto
de clases definidas [39]. Es importante definir entonces algunos conceptos antes de continuar con la
descripcion de las tecnicas utilizadas en la clasificacion.
3. Reconocimiento de dıgitos en dispositivos moviles 53
Comenzaremos por decir que un patron es una descripcion estructural o cuantitativa de un objeto
o caracter, como es nuestro caso. Una clase de patrones es una familia de patrones que comparten
algunas propiedades comunes. Para entender un poco mas estas ideas que involucra la clasificacion
consideraremos un sencillo ejemplo en donde se pretenden clasificar tres tipos de autos (clases):
compacto, familiar y deportivo. Esto requiere que se haga una diferenciacion entre las clases de
autos mediante su descripcion, la cual considera las caracterısticas de potencia del motor y precio.
Para determinar las clases se puede utilizar alguno de los dos siguientes criterios de aprendizaje
[3]:
1. Clasificacion supervisada: Se utiliza para estimar una relacion desconocida (entrada-salida),
donde los valores de salida para las muestras de entrenamiento son conocidos. En la Figura 3.16
se muestra la caracterizacion del conjunto de clases realizada en una fase entrenamiento en
donde los autos de nuestro ejemplo fueron etiquetados previamente.
2. Clasificacion no supervisada: Trata de estimar la distribucion de las entradas de acuerdo
a ciertos criterios de similitud, donde solamente se proporciona al sistema de aprendizaje las
muestras de entrada y no existe nocion alguna de la salida durante el proceso de entrenamiento.
Por otra parte, las tres representaciones de patrones principalmente utilizadas en la practica
son los vectores, para el caso de descriptores cuantitativos, y cadenas y grafos cuando se tienen
descriptores estructurales [39], como los obtenidos mediante codigos de cadena.
Los patrones vectoriales se definen comunmente como un vector columna de la forma:
x =
x1
x2...
xn
(3.5)
donde cada componente xi representa el i -esimo descriptor, y n es el numero de descriptores
(caracterısticas). Uno de los modos mas sencillos de entender la clasificacion cuando se basa en
medidas cuantitativas es pensar en el grupo de variables que caracterizan a los objetos como un
54 3.2. Fases de un sistema de reconocimiento de dıgitos
conjunto de ejes indicando su magnitud, definidas en un espacio multidimensional, tal como se
muestra en la Figura 3.16.
Figura 3.16: Ejemplo de la interpretacion geometrica de la clasificacion.
En algunas aplicaciones, las caracterısticas de los patrones se describen mejor utilizando relaciones
estructurales. En la Figura 3.17(a) se muestra un patron sencillo que pretende determinar la forma
de un dıgito en base a la direccion de sus lıneas o trazos principales, y el cual puede ser expresado
en terminos de un patron vectorial. Sin embargo, con este metodo de descripcion se perderıa la
estructura basica, que consiste en la repeticion de dos elementos primitivos. Serıa mas practico
definir los elementos a y b y definir el patron como una cadena de sımbolos s = ...ababab..., como
se muestra en la Figura 3.17(b). Esta representacion reproduce la estructura de esta clase concreta
de patrones, puesto que requiere que la conectividad este definida de forma secuencial. Este tipo
de representaciones en forma de cadena generan de manera adecuada patrones de objetos y otras
entidades cuya estructura se basa en conexiones de primitivos relativamente sencillas, normalmente
asociadas a formas de bordes o contornos.
Para lograr este objetivo los sistemas de reconocimiento de caracteres utilizan metodologıas de
reconocimiento de patrones. Las tecnicas de reconocimiento de patrones que han sido ampliamente
investigados y que se han implementado con exito o son potencialmente efectivos para el reconoci-
miento de caracteres se encuentran dentro de dos categorıas principales [76]:
1. Metodos de decision teorica.
2. Tecnicas estructurales.
3. Reconocimiento de dıgitos en dispositivos moviles 55
a
b
a
(a) (b)
Figura 3.17: Representacion mediante cadenas: (a) Estructura del caracter; (b) estructuracodificada en terminos de los primitivos a y b
3.2.3.1. Metodos de decision teorica
El enfoque de clasificacion mas sencillo consiste en crear una funcion de decision o discriminante
que asigne directamente cada vector x a una clase especıfica [39]. Las tecnicas que utilizan este
enfoque se encuentran dentro los metodos de clasificacion basados en discriminacion. De esta manera,
suponiendo que x = (x1, x2, ..., xn)T representa un patron vectorial de dimension n, para M clases
de patrones, C1, C2, ..., CM , el problema basico de reconocimiento mediante este enfoque consiste
en encontrar M funciones discriminantes d1(x), d2(x), ..., dM(x) que tengan la propiedad de que, si
un patron x pertenece a la clase Ci entonces:
di(x) > dj(x) j = 1, 2, ...,M ; j 6= i (3.6)
Es decir, un patron desconocido x pertence a la i-esima clase de patrones si, al sustituir la x en
todas las funciones discriminantes, di(x) toma el mayor valor numerico.
Por otra parte, la frontera de decision que separa la clase Ci de la Cj esta dada por los valores
de x para los que di(x) = dj(x) o, expresado de manera equivalente, por los valores de x para los
que:
di(x)− dj(x) = 0 (3.7)
Lo mas comun es hacer que la frontera de decision entre dos clases sea la funcion dij(x) =
56 3.2. Fases de un sistema de reconocimiento de dıgitos
di(x) − dj(x) = 0. Ası, dij(x) > 0 para los patrones de la clase Ci y dij(x) < 0 para los patrones
de la clase Cj.
El caso mas simple bajo el uso de funciones discriminantes, es aquel en donde las funciones
discriminantes son lineales en x. Para fines ilustrativos consideraremos la representacion mas sencilla
mediante dos clases, en donde es suficiente una funcion discriminante [11]:
d(x) = wTx + w0 (3.8)
y se eligira:
C1 si d(x) > 0, o
C2 de otra manera.
Esto define un hiperplano donde w es un vector de ponderacion y w0 es un umbral. Este ultimo
nombre viene del hecho de que la regla de decision puede ser reescrita como sigue: elegir C1 si
wTx > −w0, o elegir C2 de otra manera. El hiperplano divide el espacio de variables en dos
subespacios: la region de decision R1 para C1 y R2 para C2. Cualquier vector x en R1 esta en el
lado positivo del hiperplano, y cualquier vector x en R2 esta en el lado negativo. Cuando x es 0,
d(x) = w0 y se puede observar que si w0 > 0, el origen esta en el lado positivo del hiperplano,
y si w0 < 0, el origen esta en lado negativo, y si w0 = 0, el hiperplano pasa por el origen. En la
Figura 3.18 se muestra la representacion geometrica del caso de dos dimensiones, para la clasificacion
mediante discriminacion lineal.
Ası, la forma general de la funcion discriminante para este caso de dos dimensiones queda como
sigue:
d(x) = w1x1 + w2x2 + w0 = 0 (3.9)
En los discriminantes lineales, se asume que las instancias de una clase son linealmente separables
de instancias de otras clases. Estos se suelen usar en situaciones donde la velocidad de la clasificacion
es importante, ya que a menudo es el clasificador mas rapido, especialmente cuando x es disperso[3].
3. Reconocimiento de dıgitos en dispositivos moviles 57
Figura 3.18: Frontera de decision para el caso en dos dimensiones del discriminador lineal.
Ademas, en muchas aplicaciones el clasificador lineal es muy preciso, ya que puede ser usado sin
hacer ninguna suposicion de las densidades de las clases[11].
Se debe siempre considerar usar la clasificacion lineal antes de tratar un modelo mas complicado,
a fin de asegurarse que la complejidad adicional (estimacion de las densidades de las regiones de
las clases) este justificada[3]. Las principales tecnicas de reconocimiento de decision teorica son los
siguientes:
1. Clasificadores de mınima distancia.
2. Correspondencia de patrones.
3. Tecnicas estadısticas.
4. Redes Neuronales.
(1) Clasificadores de mınima distancia
Un clasificador de mınima distancia es un ejemplo de clasificador el cual permite encontrar funciones
discriminantes. Cuando se utiliza este tipo de clasificador una clase esta representada por el valor
de la media de esa clase. Supongamos que cada clase de patrones esta representada por un vector
58 3.2. Fases de un sistema de reconocimiento de dıgitos
prototipo o de medias:
mj =1
Nj
∑x∈ωj
xj, j = 1, 2, . . . ,W ., (3.10)
donde W es el numero de clases, Nj es el numero de patrones vectoriales de la clase ωj y la suma
se realiza para todos los vectores. Una forma de determinar la pertenencia a una clase de un vector
desconocido x es asignandolo a la clase del prototipo mas proximo mj.
En general, el clasificador de mınima distancia, usando cualquier metrica de distancia, tiene la
estructura presentada en la Figura 3.19.
Figura 3.19: Sistema clasificador de mınima distancia para un vector de caracterısticas x deentrada.
En la practica el clasificador de mınima distancia funciona bien cuando la distancia entre los
promedios es grande en comparacion con las variaciones de los elementos de cada clase con respecto
a su media [39]. El rendimiento optimo de este clasificador en terminos de minimizacion de error
medio de clasificacion, es logrado cuando la distribucion de cada clase alrededor de su media tiene
la forma de una “hipernube” esferica en el espacio de patrones de dimension n.
(2) Correspondencia de patrones
Las caracterısticas para describir a los caracteres pueden incluir la imagen misma en escala de gri-
ses. La forma mas simple para el reconocimiento de un caracter esta basado en hacer coincidir los
prototipos almacenados contra el caracter que se pretende reconocer, conocida por su denominacion
en ingles como template matching o correspondencia de patrones. En otras palabras, la operacion
3. Reconocimiento de dıgitos en dispositivos moviles 59
de correspondencia determina el grado de similaridad entre dos vectores (grupo de pıxeles, formas,
curvatura, etc.) en el espacio de caracterısticas. Las tecnicas de correspondencia de patrones pueden
ser de 3 tipos [104]: (1) por correspondencia directa, con los cuales una imagen en escala de grises
o binaria es directamente comparada con un conjunto de prototipos almacenados mediante el uso
de alguna metrica como puede ser el calculo de la correlacion cruzada normalizada [2]; (2) mediante
correspondencia elastica, con la cual la deformacion de una imagen es usada para hacer coincidir una
imagen desconocida contra un conjunto de imagenes conocidas [55]; (3) usando correspondencia
relajada, por medio de aproximaciones a polıgonos que implican la repeticion de calculos locales para
determinar una solucion global [63, 80].
(3) Tecnicas estadısticas
Los metodos de clasificacion estadıstica estan basados en la teorıa de decision Bayes [76], la cual tiene
como objetivo minimizar la perdida de clasificacion con una matriz de perdida dada y probabilida-
des estimadas [3]. De acuerdo al enfoque de estimacion de la densidad de probabilidad condicionada
por clase, los metodos de clasificacion estadıstica son divididos en parametricos y no parametricos [3].
(4) Redes neuronales artificiales
Las redes neuronales artificiales (ANNs por sus siglas en ingles) fueron inicialmente estudiadas con
el fin de hacer a las maquinas conscientes y que fueran perceptivas mediante la simulacion de la
estructura fısica del cerebro humano [66]. Una red neuronal esta compuesta por un numero de
neuronas interconectadas, y la manera en que se establecen las interconexiones diferencian cada
modelo de red. Diversas implementaciones para el reconocimiento de caracteres se han realizado,
tanto de caracteres manuscritos [75, 95, 24, 118] como de caracteres impresos [88, 35, 41]
3.2.3.2. Tecnicas estructurales
Los metodos de reconocimiento estructural de patrones son mas usados en el reconocimiento de
caracteres en lınea [72, 96, 69, 108] que en el reconocimiento de caracteres fuera de lınea. A diferencia
de los metodos estructurales y las redes neuronales que representan al patron del caracter como un
60 3.3. Trabajo relacionado
vector de caracterısticas de dimensionalidad fija, los metodos estructurales representan a un patron
como una estructura de tamano flexible, tales como cadena, arbol y grafo. La representacion de la
estructura representa los registros de la secuencia de trazos o la forma topologica de un caracter, y
por lo tanto se asemeja bastante al mecanismo de la percepcion humana [104].
A pesar de las ventajas del reconocimiento estructural. los metodos estadısticos y las redes neuro-
nales son mas comunmente adoptadas para la tarea de extraccion de caracterısticas y entrenamiento.
Los metodos estructurales se enfrentan a dos principales dificultades[92]: la extraccion de primitivas
estructurales de los patrones de entrada, y el aprendizaje de patrones mediante muestras.
A continuacion se explican brevemente los metodos estructurales comunmente aplicados en
OCR[39]:
(1) Metodos gramaticales
Varias reglas ortograficas, lexicograficas y linguısticas han sido aplicadas en esquemas de reconoci-
miento. Los metodos gramaticales crean algunas reglas de produccion para formar los caracteres a
partir de un conjunto de primitivas a traves de gramaticas formales. Estos metodos pueden combinar
cualquier tipo de caracterısticas topologicas y estadısticas bajo alguna regla sintactica o semantica.
(2) Metodos graficos
Las estructuras de los caracteres son representados por arboles, grafos, digrafos o graficos atribuidos.
Las primitivas de los caracteres son seleccionadas por un enfoque estadıstico, sin considerar como
la decision final es realizada en el reconocimiento. Para cada clase, un grafo o arbol se forma en la
etapa de entrenamiento para representar lıneas o letras. La etapa de reconocimiento asigna el grafo
desconocido a alguna de las clases usando una medida de similaridad de grafos.
3.3 Trabajo relacionado
Aunque las implementaciones de sistemas de reconocimiento optico de caracteres en dispositivos
moviles son atribuidas a epocas recientes, desde sus inicios ha existido un gran interes por parte
3. Reconocimiento de dıgitos en dispositivos moviles 61
de desarrolladores e investigadores. En esta seccion se hace mencion de los principales trabajos
publicados respecto a la implementacion en dispositivos moviles de sistemas de reconocimiento de
caracteres, con el fin de mostrar sus alcances y deficiencias.
Podemos distinguir segun el tipo de imagen capturada, dos clases de implementaciones: para el
analisis de imagenes de documentos, y para el reconocimiento en escenas de entornos difıciles.
3.3.1 Analisis de documentos
En cuanto al analisis de imagenes de documentos, diversos esquemas han sido propuestos para
el reconocimiento de sımbolos de dialectos de idiomas orientales. Una de estas propuestas es la
desarrollada por Park y Kwon [93] en la cual se presenta un caso de estudio de portabilidad de un
sistema de reconocimiento de caracteres de un equipo de escritorio a una plataforma movil, mostrando
una reduccion del 60 % del tiempo de ejecucion en la version movil respecto de la de escritorio sin
sacrificar la tasa de reconocimiento del 99.9 %. Dicha implementacion realiza el reconocimiento
utilizando redes neuronales, para las cuales se definio una aproximacion lineal de la funcion sigmoid
de complejidad exponencial que usa como funcion de activacion. Ademas, para disminuir aun mas la
complejidad computacional de este sistema, los numeros reales son aproximados para poder operar
en la aritmetica de los enteros. Por otra parte, en [7] se propone un sistema lector de tarjetas de
presentacion, con una precision de reconocimiento del 96.70 % realizado en un tiempo aproximado de
5 segundos, aunque sin mencionar las caracterısticas del equipo movil. Dato importante a considerar
en las dos implementaciones mencionadas anteriormente, es que estas son capaces de realizar el
reconocimiento de poco mas de 30 mil caracteres distintos de estos idiomas orientales.
Otra propuesta de reconocimiento en dispositivos moviles pero de caracteres occidentales impre-
sos en documentos, es presentada en [64] por Laine y Nevalainen, la cual muestra deficiencia en
cuanto al tiempo de procesamiento que alcanza los 40 segundos en un equipo con una capacidad de
procesamiento de 220 MHz. Esta cantidad de tiempo obedece a un retardo en la etapa de ajuste de
angulo de la imagen. Ademas, si se desea un metodo mas eficiente para la binarizacion se provoca que
el reconocimiento se realice en mas de 2 minutos. A la par han sido desarrollados frameworks, como
62 3.3. Trabajo relacionado
es el caso de OCRDroid [120] que presenta una duracion maxima en el proceso total de 11 segundos
con una tasa de eficiencia del 100 % segun los resultados reportados. La implementacion fue hecha
un telefono movil con 528 MHz en procesamiento y 192 MB de memoria RAM. Sin embargo todo
el proceso de reconocimiento, incluida la segmentacion, extraccion de caracterısticas y clasificacion,
es realizado en un servidor externo, dejando unicamente al telefono movil la captura, mejora y envıo
de la imagen a este servicio mediante una conexion a Internet.
3.3.2 Reconocimiento en entornos difıciles
Los sistemas de reconocimiento mencionados anteriormente tienen la principal desventaja de
requerir de fondos de color solido y texto en un tono contrastante, lo cual impide utilizarlos en entornos
donde la iluminacion es heterogenea o no existe el suficiente contraste para extraer los caracteres
de interes. Por lo tanto, implementaciones bajo estas condiciones requeriran utilizar un esquema de
reconocimiento distinto. Uno de estos desarrollos es la aplicacion nombrada Textract [65], disenada
para la traduccion al idioma chino de senalamientos visuales y letreros en ingles. A diferencia de los
metodos comunmente utilizados para la segmentacion, esta aplicacion hace uso de la deteccion de
bordes y mediante una posterior eliminacion de objetos anormales se mejora la calidad de la imagen en
proceso. El tiempo promedio del reconocimiento es de 18 segundos presentando buenos resultados
en un equipo con poder de procesamiento de 369 MHz, y programada en Java para dispositivos
moviles.
Canedo et al [1], incursionaron tambien en la traduccion de senalamientos visuales, en su caso de
ingles a espanol. Para ello utilizaron igualmente en la etapa de segmentacion, metodos de deteccion de
bordes, y para el resto del proceso de reconocimiento se valieron del motor OCR de distribucion libre
llamado Tesseract. El tiempo del reconocimiento sin considerar la traduccion, fue de 2.33 segundos
en promedio por imagen. Cabe aclarar que este sistema fue implementado en un equipo de escritorio
de capacidades superiores al promedio de los equipos actuales, pero se propuso como trabajo futuro
el implementarlo en un dispositivo movil.
Tambien existe un framework de codigo abierto reportado en [123] para la reproduccion en voz
3. Reconocimiento de dıgitos en dispositivos moviles 63
del contenido de letreros y otros senalamientos. El sistema completo es resultado de la integracion
de otros componentes de software libre desarrollados para entornos de escritorio, portados a un PDA
con un procesador de 416MHz y 64MB de memoria RAM. Ası, mediante el uso de la librerıa Djpeg
se realiza la conversion del formato comprimido original de la imagen al formato de mapa de bits.
Mientras que la deteccion de texto y el reconocimiento es llevado a cabo mediante el motor OCR
Tesseract. El tiempo que lleva hacer el reconocimiento y la reproduccion en del resultado en audio
es de 8 segundos.
Hablando ahora del reconocimiento del tipo de caracter definido como dıgito, algunas imple-
mentaciones han venido siendo desarrolladas. Kang et al [58] desarrollaron un sistema para el re-
conocimiento de placas vehiculares mediante un PDA de caracterısticas no mencionadas. Aunque
los resultados experimentales en cuanto a la precision y tiempo de ejecucion no son reportados, los
metodos utilizados soportan las variaciones en la inclinacion de las imagenes de las placas.
Shen y Coughlan [48] propusieron tambien el reconocimiento de dıgitos de pantallas LCD/LED
de 7 segmentos que se encuentran en instrumentos de medicion electronicos como voltımetros, y en
otros como calculadoras, en apoyo a personas con deficiencias de la vista. Dado que estos dıgitos
estan formados solo por lıneas verticales u horizontales, se aprovecho esta ventaja en la aplicacion
para describir de manera mas sencilla las caracterısticas que diferencian a cada numero. De esta
manera cualquiera de los 10 dıgitos es mapeado en una plantilla de 7 bits, los cuales indican la
ausencia o existencia de determinado segmento de lınea en la seccion de la imagen del numero. Los
resultados reportados muestran que el reconocimiento de una cifra de 7 elementos es realizada en
2 segundos en un telefono movil con un procesador ARM de 220 MHz y con 22 MB en memoria
RAM. La tasa de reconocimiento de este sistema es del 100 %, sin embargo esta alta precision es
resultado de de las caracterısticas de las pantallas, las cuales tiene un fondo uniforme y la estructura
de los dıgitos es relativamente facil de modelar.
64 3.4. Resumen
3.3.3 Resumen de trabajos relacionados
La Tabla 3.1 muestra el resumen de las implementaciones realizadas de sistemas de reconoci-
miento de caracteres en dispositivos moviles, y que estan reportadas en la literatura. Estos trabajos
son presentados en orden cronologico. Las columnas de ‘Captura’ indican si la implementacion fue
realizada para el analisis de documentos o las imagenes de entrada corresponden a capturas de en-
tornos reales; mientras que la columna ‘Caracter’ senala la clase de sımbolos que se reconocen, ya
sea que se trate del conjunto reducido de los diez dıgitos, o si tiene su origen en algun lenguaje
oriental u occidental. Ademas, se describe el entorno bajo el cual se evaluaron estos sistemas de
reconocimiento, el cual incluye las caracterısticas del dispositivo, la precision del sistema y el tiempo
de procesamiento, y el tipo de imagenes utilizadas.
3.4 Resumen
En este capıtulo se presento la base teorica que permite comprender varios de los conceptos
utilizados en los siguientes capıtulos. El objetivo principal fue presentar describir de manera general
los pasos que involucra un sistema de reconocimiento de dıgitos. Se pudieron identificar tres etapas
generales: pre-procesamiento, extraccion y seleccion de caracterısticas y clasificacion. Para cada una
de estas etapas fueron enunciadas las tecnicas mas usadas, indicando ademas las subcategorias
respectivas.
En los Capıtulos 4, 5 y 6 se presenta el estudio sistematico realizado para determinar el conjunto
de tecnicas que podrıan conformar un sistema de reconocimiento de dıgitos. Dentro del analisis se
considera como prioridad, que la implementacion que se busca realizar se encuentra restringida un
telefono celular. Es decir, dadas las restricciones de estos dispositivos moviles, la mejor configuracion
de un sistema de reconocimiento para estas plataformas involucra tecnicas de bajo costo computacio-
nal, y en consecuencia con un tiempo de procesamiento reducido. El analisis se realiza basandonos en
el modelo identificado de tres etapas. Para cada etapa (capıtulo) se detallan las tecnicas especıficas
utilizadas, y se muestran los resultados de su implementacion.
3. Reconocimiento de dıgitos en dispositivos moviles 65
Referencia Captura Caracter Equipo movil TiempoProm.(seg)
Precision Entorno de prue-bas
Kang 2004 R D 206 MHz In-telStrongARM,32 MB RAM
- - imagenes(320x240) enescala de grises
Koga 2005 D E 150 MHz ARMCPU
0.5 95.00 % 331 imagenes encolor
Luo 2005 D E 400 MHzARM9 CPU
5 96.70 % 500 imagenes enescala de grises
Laine 2006 D E 220 MHz ARMCPU
40 92.00 % Imagenes(1280x960) enescala de grises
Castells-Rufas 2006
R D FPGA - 7KRAM, 4KBROM
- 99.46 % 396 imagenes(32x50) en escalade grises
Shen 2006 R D 220 MHz ARMCPU 22 MBRAM
2 100.00 % imagenes(640x480) enescala de grises
Zhiying 2007 R O 416 MHzARMv41, 64MB RAM
12 - imagenes jpeg(640x480) enescala de grises
Park 2009 D E Movil no men-cionado
0.2 99.90 % 6756 imagenes(1280x1024)de caracteresindividuales
Yuan 2009 R O 369 MHz ARMCPU
18 - 10 imagenes PNG(640x480)
Tabla 3.1: Comparativa de implementaciones OCR en dispositivos moviles (Captura: R =escena real, D= Documento / Caracter: D= numeros arabigos, E = caracteres occidentales,O = caracteres orientales)
4Pre-Procesamiento
Como se menciono anteriormente, es necesaria la evaluacion sistematica en el diseno del sistema
de reconocimiento de dıgitos propuesto, a fin de definir el conjunto de tecnicas que lo conformaran.
Mediante este analisis se pretenden comparar diversos algoritmos dentro de cada etapa del proceso,
de forma tal que sus ventajas y desventajas en cuanto eficiencia computacional queden evidenciadas,
y a su vez sirvan de apoyo en la decision para configurar la version del sistema de reconocimiento
de dıgitos implementada en el telefono movil. Por lo tanto, los siguientes tres capıtulos trataran la
descripcion de la implementacion realizada de las diversas tecnicas en las tres etapas generales den-
tro del proceso de reconocimiento (pre-procesamiento, extraccion de caracterısticas y clasificacion).
Ademas, se presentaran los resultados de las diversas comparativas a fin de tener una nocion de del
porque de la decision de utilizar un metodo especıfico.
En este capıtulo se describen las implementaciones, pruebas y resultados de las tecnicas en la etapa
de pre-procesamiento. Para nuestro caso, los procesos involucrados en esta etapa fueron segmentacion
(binarizacion), eliminacion de ruido, normalizacion. Es importante senalar que un proceso adicional
fue realizado antes de la normalizacion, consistiendo en la definicion de una estructura basica para
representar el dıgito. Para este proceso se opto por evaluar la estructura extraıda directamente del
67
68 4.1. Segmentacion
paso anterior, el dıgito adelgazado, y el esqueleto del mismo. La decision de la utilizar estas diversas
estructuras obedece a que la descripcion mediante alguno de los tipos de caracterısticas podrıa
obtener una mejor representacion de esta manera, por lo tanto resulto necesario evaluarlas tambien.
En la Figura 4.1 se presenta el diagrama que identifica el conjunto de pasos involucrados en la etapa
de pre-procesamiento analizada. Se parte de la imagen en escala de grises, y el resultado final de
esta etapa es la imagen binarizada normalizada a partir de alguna de las estructuras anteriormente
mencionadas.
Figura 4.1: Pre-procesamiento: etapas evaluadas
4.1 Segmentacion
El principal problema en el procedimiento para la segmentacion es seleccionar el umbral mas
adecuado. En general, los metodos de binarizacion pueden ser clasificados en dos enfoques principales:
global y adaptativo local [38]. El primero trata de encontrar un unico valor de umbral para la
imagen completa, mientras que el segundo obtiene un umbral para cada pıxel considerando para
ello la informacion de su vecindario. Debido a que los metodos locales son capaces de enfrentarse
con situaciones de iluminacion no uniforme, se decidio probar los 5 metodos de binarizacion mas
prometedores reportados en la literatura, y que ademas presentan una complejidad computacional
reducida. La descripcion formal de los metodos de binarizacion evaluados se muestra a continuacion.
4. Pre-Procesamiento 69
4.1.1 Metodo Bernsen
Determina el umbral para el pıxel (x, y) como el promedio entre el mınimo y maximo de los
niveles de grises en un vecindario cuadrado b× b con centro en (x, y). Sin embargo, si el contraste
C(x, y) = Imax(x, y)− Imin(x, y) es menor que un umbral predeterminado t, entonces el pıxel (x, y)
es etiquetado como fondo[10]. El umbral es calculado de la siguiente manera:
T (x, y) = (Imin + Imax) /2 . (4.1)
4.1.2 Metodo Niblack
Obtiene los valores de umbral calculando la media y desviacion estandar locales [87]. El umbral
en el pıxel (x, y) es calculado como sigue:
T (x, y) = m (x, y) + k · s(x, y), (4.2)
donde m(x, y) y s(x, y), son la media y la desviacion estandar, respectivamente, en un vecindario
alrededor del pıxel (x, y). Es necesario definir el tamano del vecindario tan pequeno como para
preservar los detalles locales, y tan grande que permita reducir el ruido. El valor de k es usado para
ajustar que tanto del borde de un objeto es tomado como parte de un objeto determinado.
4.1.3 Metodo Sauvola
Es una mejora del metodo Niblack [102]. Trata de reducir eficientemente la iluminacion no
homogenea dentro de una imagen. Este algoritmo no es sensible al valor del parametro k. Ası, el
umbral para el pıxel (x, y) es calculado como:
T (x, y) = m(x, y) +
[1 + k ·
(σ(x, y)
R− 1
)], (4.3)
70 4.2. Eliminacion de ruido
donde m(x, y) y s(x, y) son la media y desviacion estandar locales, respectivamente. El valor R es
el rango dinamico de la desviacion estandar y en este estudio fue fijado en 8. El parametro k es
positivo.
4.1.4 Metodo Wellner
Realiza un suavizado a la imagen de entrada usando un filtro promedio con un tamano de ventana
b× b [115]. Despues, el umbral del pıxel (x, y) se calcula como:
T (x, y) = J(x, y) ·[1−
(t
100
)], (4.4)
donde J(x, y) es la imagen filtrada y t es el umbral predeterminado que escala cada valor de gris de
la imagen filtrada a un valor inferior.
4.1.5 Metodo White
El valor de gris de cada pıxel (x, y) es comparado con el valor promedio de su vecindario, en un
espacio cuadrado b× b [116]. Si el pıxel (x, y) es significativamente mas obscuro que la media de su
vecindario, entonces es clasificado como objeto, de otra forma es clasificado como fondo:
B (x, y) =
1 si mb×b(x, y) < I(x, y) · w
0 de otra manera, (4.5)
donde I(x, y) es la imagen original, mb×b(x, y) es la media local, y w > 1 es el valor bias o sesgo
que para nuestro fines fue establecido como 1.
4.2 Eliminacion de ruido
Despues de realizar la binarizacion de los dıgitos algunas regiones indeseadas permanecen alre-
dedor de los numeros binarizados. Se realizaron algunas suposiciones acerca de la imagen con el
4. Pre-Procesamiento 71
fin de disenar una estrategia para la eliminacion de las regiones ruido. Primero, asumimos que el
area del objeto considerado dıgito es mayor que la de cualquier otro objeto en la imagen. Luego, el
objeto dıgito es centrado en el centroide de la imagen. De esta manera, la estrategia para eliminar
las regiones indeseadas involucra 3 etapas:
1. Etiquetar los objetos de la imagen usando 4-conectividad.
2. Calculo del centroide de la imagen.
3. Medir el area (A) de las regiones etiquetadas, y la distancia euclidiana (D) de todos los pıxeles
dentro de la region al centro de la imagen. Ademas, requerimos considerar la distancia maxima
posible de un objeto (Dmax) como referencia de su cercanıa relativa al centroide de la imagen.
La region correspondiente al dıgito fue obtenida con la siguiente expresion:
maxj
[(Dmax −Dj)
2Aj]
(4.6)
donde Dj y Aj son la distancia y el area del objeto j.
En la Figura 4.2 se ilustra el proceso de segmentacion descrito anteriormente usando el metodo
de binarizacion Bernsen.
(a) (b) (c)
Figura 4.2: Proceso de segmentacion. (a) Imagen de entrada, (b) Imagen binarizada medianteel metodo Bernsen, (c) Imagen binarizada despues de la estrategia de limpieza.
4.3 Normalizacion
Despues, se decidio comparar el desempeno al aplicar operaciones adicionales a las imagenes
binarizadas. La aplicacion de este pos-procesamiento obedece a la necesidad de normalizar en tamano
72 4.4. Evaluacion y resultados
y estructura las imagenes de los dıgitos, y de esta manera sobrellevar aspectos como dimensiones
distintas entre una misma clase de numeros debido a la diversidad de marcas de medidores. De
la imagen binarizada inicial se selecciona el cuadro mınimo que contiene al dıgito. Posteriormente,
se ajusta esta seleccion a un tamano de imagen de 20×30 pıxeles. Ademas, dependiendo de las
caracterısticas que se pretenden extraer, se aplican dos procesamientos adicionales: adelgazamiento
y obtencion de esqueleto. La Figura 4.3 muestra el resultado del proceso descrito realizado sobre la
imagen de un mismo dıgito proveniente de tres medidores diferentes.
Marca 1
Marca 2
Marca 3(a) (b) (c) (d)
Figura 4.3: Posprocesamiento a imagenes binarizadas: (a) Mınimo cuadro que contiene a laimagen, (b) Imagen binarizada ajustada, (c) Imagen binarizada ajustada y adelgazada, (d)Esqueleto de imagen binarizada ajustada.
4.4 Evaluacion y resultados
Cuando se busca comparar el desempeno de diversas tecnicas de binarizacion, en muchas de las
ocasiones no se tiene una referencia de lo que es una imagen bien binarizada. Un enfoque sencillo
para la comparacion del desempeno de algoritmos de binarizacion y que ha sido implementado
en diversas ocasiones [43, 89, 110], consiste en disenar un sistema de reconocimiento completo,
en el cual son intercambiados los algoritmos en la etapa de segmentacion y el resto del sistema
permanece fijo. La seleccion consiste en determinar cual de las tecnicas permitio que el sistema
completo alcanzara la mayor precision en cuanto a reconocimiento. En una evaluacion como la
4. Pre-Procesamiento 73
presentada en esta investigacion se busca comparar tecnicas para cada uno de los pasos del proceso de
reconocimiento, entonces resulta necesario evaluar el desempeno de todas las posibles combinaciones
de tecnicas que permiten crear un sistema OCR. Ası, determinar la mejor tecnica a cada fase del
diseno resultaba benefico para fines practicos en la experimentacion. Esto fue posible unicamente
para la fase de segmentacion, lo cual redujo significativamente la cantidad de configuraciones del
sistema por evaluar. Por lo tanto, una vez seleccionada la mejor tecnica de binarizacion para nuestra
aplicacion, solo resto determinar cual era la mejor combinacion entre conjunto de caracterısticas y
clasificador.
Considerando lo anterior, la comparacion de los algoritmos de binarizacion implementados en
nuestro proyecto (Seccion 4.1), consistio en lo siguiente:
(a) Comparar el resultado de la binarizacion de cada uno de los Bi metodos contra el conjunto de
patrones de referencia de los dıgitos (P ) utilizando algunas metricas de desempeno (Figura 4.4a).
(b) Verificar si efectivamente los resultados de la comparacion anterior concuerdan con la precision
en reconocimiento de algunas configuraciones del sistema completo(Figura 4.4b). En este caso
el metodo que produzca la mayor precision de reconocimiento del sistema sera el elegido.
(c) Analizar la complejidad computacional de los algoritmos.
4.4.1 Conjuntos de datos de prueba
Para la etapa de pre-procesamiento fue utilizado como conjunto de prueba imagenes recopiladas
en un formato de escala de grises (8-bit) agrupados por clases (de 0 a 9) y provenientes de lecturas
de medidores. De esta manera el conjunto consistio en 2,240 imagenes de dıgitos individuales nor-
malizadas a un tamano de 20×30 pıxeles. En la Figura 6.5 se pueden notar las diferencias entre las
distintas marcas para el dıgito de ejemplo ‘4’.
La distribucion de las imagenes para ambos conjuntos por marca y por clase se muestran en la
Tabla 4.1.
74 4.4. Evaluacion y resultados
(a)
(b)
Figura 4.4: Metodologıas para la comparacion de algoritmos de binarizacion: (a) Utilizandometricas de desempeno, (b) Verificando su impacto en un sistema de reconocimiento completo.
(a) (b) (c) (d)
Figura 4.5: Ejemplos de imagenes de dıgitos individuales extraıdas de lecturas completas para4 marcas distintas de medidores de agua.
4. Pre-Procesamiento 75
Marca Cantidad de imagenes por clase Total0 1 2 3 4 5 6 7 8 9
Azteca 154 98 86 74 99 94 94 109 96 104 1,008
Barmeters 54 38 60 73 83 69 64 43 89 77 650
Delaunet 61 68 15 46 49 28 33 25 51 34 410
Elster 66 14 21 11 11 9 10 8 7 15 172
Total 335 218 182 204 242 200 201 185 243 230 2,240
Tabla 4.1: Distribucion de las imagenes de dıgitos individuales del conjunto de prueba 2.
4.4.2 Metricas de desempeno
En algunas aplicaciones medicas las comparaciones de tecnicas de segmentacion tienen como
imagenes de referencia algunas segmentadas de manera manual por varios expertos [56]. Sin embargo,
en un caso especıfico como el reconocimiento de caracteres, esta segmentacion manual puede llevarse
a cabo con un menor riesgo de error, ya que los sımbolos pertenecen a caracteres impresos y presentan
la misma estructura dentro de cada clase. De esta manera, la definicion de nuestras imagenes binarias
de referencia son el resultado del promedio de cinco segmentaciones manuales para cada clase dıgito
y cada marca de medidor. Ası, la imagen promedio resultante (g) se calcula de la siguiente manera:
g(x, y) =1
n
n∑i=1
Ii(x, y) (4.7)
donde n = 5, e I representa el conjunto de las 5 imagenes para cada dıgito de cada marca. Debido
a que el calculo del promedio de esta manera obtendrıa pıxeles con valores en el rango [0,1], se
decidio definir los pıxeles de la imagen final G como sigue:
G(x, y) =
1 si g(x, y) > 0.7
0 de otra manera(4.8)
En la Figura 4.6 se muestran cinco imagenes binarizadas del numero ‘5’ (I1, I2, ..., I5) y su imagen
promedio. Es importante notar como se conserva la estructura de este dıgito, e incluso algunos pıxe-
76 4.4. Evaluacion y resultados
les que aparecen como excesos en las imagenes originales son descartados mediante este promediado.
I1 I2 I3 I4 I5 G
Figura 4.6: Ejemplo de promediado de imagenes.
Una vez obtenidas las imagenes de referencia, la comparacion del desempeno de cada tecnica fue
realizada mediante los siguientes criterios:
(a) Clasificacion erronea.
Esta medida refleja el porcentaje de pıxeles del fondo asignados erroneamente al objeto, y a la inversa,
pıxeles objeto asignados al fondo de manera equivocada. La metrica de clasificacion erronea (ME)
[119] puede ser expresada de la siguiente manera:
ME = 1− |BO ∩BT |+ |FO ∩ FT ||BO|+ |FO|
(4.9)
donde BO y FO denotan la parte fondo y del objeto de la imagen original o de referencia, BT y FT
definen la parte fondo y del objeto de la imagen que se compara, y |.| es la cardinalidad de conjunto,
es decir el area o cantidad de pıxeles. ME varıa desde 0 para una imagen que coincide perfectamente,
a 1 para una imagen binaria totalmente diferente a la referencia.
(b) Penalizacion por distorsion de forma mediante la distancia Hausdorff
La distancia Hausdorff puede ser usada para evaluar la similaridad de forma de las regiones binarizadas
hacia las formas en la imagen original. La distancia Hausdorff para dos conjuntos finitos de puntos,
4. Pre-Procesamiento 77
en nuestro caso la imagen referencia y el resultado de la binarizacion respectivamente, esta dada por:
H(FO, FT ) = max{dH(FO, FT ), dH(FT , FO)}, (4.10)
donde dH(FO, FT ) = maxfO∈FO
d(fO, FT ) = maxfO∈FO
[( mınfT∈FT
‖fO − fT‖)]
y ‖fO − fT‖ denota la distancia euclidiana de dos pıxeles en la imagen de referencia y los objetos
binarizados.
Como la normalizacion de los datos para esta metrica no puede realizarse solo con la informacion
individual de cada comparacion, la manera de considerarla consistio en normalizar los datos en base a
la informacion general de los resultados obtenidos del calculo de esta metrica para todas las imagenes.
Por lo tanto, fue posible obtener valores en el rango [0, 1] para cada una de las tres metricas.
(c) Grado de similaridad mediante correlacion cruzada normalizada
Correlacion cruzada normalizada (NCC) es un enfoque estadıstico comunmente usado en corres-
pondencia de patrones y problemas de reconocimiento de patrones, mediante el cual se calcula la
probabilidad de que una imagen binaria sea una instancia del patron. Formalmente, el desempeno
es definido por la funcion de correlacion cruzada normalizada para calcular el grado de similaridad
entre I y T :
γ(u, v) =
∑x
∑y
[I(x, y)− I(x, y)][T (x− u, y − v)− T ]{∑x
∑y
[I(x, y)− I(x, y)]2∑x
∑y
[T (x− u, y − v)− T ]2
}1/2(4.11)
donde I es la media de I e I(x, y) es la media en la region del patron. Si I coincide con T
exactamente, entonces γ sera igual a 1, mientras que tendera a 0 conforme aumente la diferencia
entre ambas imagenes.
Ası, para fines de nuestro estudio, definiremos una metrica que represente que tan diferentes son
las imagenes en base al calculo de NCC. Por lo tanto, definimos la deficiencia de correlacion (DC)
78 4.4. Evaluacion y resultados
como sigue:
DC = 1− γ(u, v) (4.12)
4.4.3 Resultados
Basandonos en las metricas descritas anteriormente fue posible definir un puntaje para representar
el grado de referencia entre el conjunto de imagenes de referencia y las de prueba. Este puntaje se
determino como un promedio de las tres metricas mencionadas de la siguiente manera:
P = (ME +H +DC)/3 (4.13)
en donde P es el puntaje promedio que es calculado para cada una de las imagenes generadas por
los metodos de binarizacion, y por lo tanto el mejor metodo sera el que devuelva el puntaje menor.
La prueba consistio en obtener el promedio de los valores obtenidos con cada metrica para todo
el conjunto de imagenes. Finalmente el puntaje P fue calculado como se mostro en la Ecuacion 4.13.
Los resultados de esta prueba se muestran en la Figura 4.7. A fin de hacer notar la relevancia de
cada metrica, en la misma figura se muestra el promedio de los valores obtenidos por cada metrica
para el conjunto de imagenes completo de forma apilada. Ademas, se indica el promedio de las 3
metricas para cada metodo de binarizacion, el cual hace referencia al puntaje P mencionado.
Puede notarse como el metodo Bernsen obtiene el menor puntaje, es decir, presenta la menor
variacion en promedio de las imagenes de prueba respecto a la imagen binaria de referencia, y en
general de manera individual el resultado de cada metrica es inferior que en todos los otros casos.
La siguiente prueba fue realizada con el objetivo de verificar la factibilidad de la experimentacion
anterior. Esta consistio en determinar cual de los 5 metodos de binarizacion expuestos, era capaz
de obtener el mejor desempeno de un sistema de reconocimiento de dıgitos. Para esto, se realizo un
diseno preliminar de un sistema de reconocimiento que mantuviera fijos el metodo de extraccion de
caracterısticas y el algoritmo de clasificacion. De esta forma, utilizando de manera independiente
cada metodo de binarizacion, calculando los momentos centrales normalizados como caracterısticas,
4. Pre-Procesamiento 79
0.249 0.261 0.258 0.312 0.278
0.360
0.447 0.447
0.5440.536
0.319
0.401 0.414
0.3580.342
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Bernsen Niblack Sauvola Wellner White
Va
lor a
cu
mu
lativ
o
Métodos de binarización
DC
H
ME
Puntaje promedio
Figura 4.7: Puntaje de diferencia promedio para los metodos de binarizacion evaluados
y realizando la clasificacion mediante la distancia Mahalanobis, los resultados obtenidos se presentan
en la Tabla 4.2.
Metodo % Precision de reconocimiento en cada clase Media σ0 1 2 3 4 5 6 7 8 9
Bernsen 89.2 97.5 99.9 99.9 98.4 97.4 91.4 98.2 62.7 91.7 92.5 11.11
Niblack 76.7 75.0 75.3 91.4 90.4 76.9 85.1 83.1 93.8 92.3 84.0 7.6
Sauvola 78.0 76.5 82.2 85.8 89.5 77.5 85.6 88.3 93.7 92.5 84.9 6.2
Wellner 74.9 64.3 73.0 79.6 84.4 67.5 77.4 72.7 93.9 88.7 77.6 9.3
White 89.7 80.4 86.3 97.1 87.7 93.1 93.6 93.4 97.2 91.0 91.0 5.2
Tabla 4.2: Precision de reconocimiento para cada clase dıgito de los cinco metodos de bina-rizacion, usando momentos centrales normalizados. Los resultados presentan los valores de lamedia de 100 pruebas de validacion cruzada.
Los resultados mostraron que el metodo Bernsen obtuvo el mejor desempeno en cuanto al re-
conocimiento con una media para todos los dıgitos de 92.5±11.11 %. Esto coincide con la prueba
del puntaje de diferencia, y al mismo tiempo sugiere que el metodo Bernsen es capaz de preservar
mejor los atributos de los dıgitos que los otros cuatro metodos. Por esta razon, en los capıtulos
subsecuentes se asumira que el metodo de binarizacion utilizado fue el metodo Bernsen.
Una comparativa adicional consistio en determinar la complejidad computacional de los cinco
80 4.5. Resumen
algoritmos de segmentacion implementados. De esta manera, podrıa ser posible tener un apoyo
adicional en la seleccion de la tecnica mas apta para nuestro sistema de reconocimiento. La Tabla 4.3
muestra la cantidad de operaciones basicas requeridas en la ejecucion de cada algoritmo. En este
caso, n determina la cantidad de pıxeles de cada imagen tratada, y w el tamano de la ventana, es
decir el numero de sus pıxeles vecinos.
Metodo Sumas Multiplicaciones
Bernsen 2n n
Niblack 3nw + n 2nw + 3n
Sauvola 3nw + 3n 2nw + 4n
Wellner nw + n 3n
White nw 2n
Tabla 4.3: Analisis de los algoritmos de segmentacion.
Como puede observarse en la Tabla 4.3, los metodos Bernsen y White requieren de las menores
cantidades de operaciones de ambos tipos. Por lo que, dado los resultados de las pruebas anteriores,
estos dos metodos continuan siendo los mas prometedores en cuanto a eficiencia y reducida com-
plejidad computacional. La marcada diferencia de los otros tres algoritmos de binarizacion (Niblack,
Sauvola, Wellner) son atribuidas a la necesidad que tienen del calculo de la media y desviacion
estandar para el vecindario de cada pıxel.
4.5 Resumen
En este capıtulo se describieron los algoritmos de segmentacion implementados en este trabajo,
ası como los resultados de su evaluacion. Dentro de este proceso de segmentacion, los cinco metodos
de binarizacion mas prometedores y de complejidad computacional reducida reportados en la literatura
fueron utilizados. Se realizo la eliminacion de ruido y la normalizacion del tamano de los dıgitos como
pasos basicos. Ademas, fueron definidos tres tipos de representacion mediante estructuras binarias
con el fin de comparar sus ventajas: (1) la normal, extraıda directamente del procesamiento previo,
(2) una estructura adelgazada, y (3) el esqueleto.
4. Pre-Procesamiento 81
La evaluacion de las tecnicas de binarizacion implementadas se realizo mediante tres pruebas:
(1) la comparacion de las imagenes binarias mediante patrones optimos previamente definidos, (2)
la verificacion de la factibilidad de la prueba anterior con base en los resultados de un sistema de
reconocimiento, y (3) el analisis de la complejidad de dichas tecnicas.
Para la prueba (1) el metodo Bernsen obtuvo el menor puntaje mediante el conjunto de metri-
cas definidas, lo cual mostro su capacidad superior para extraer correctamente la estructura de los
caracteres. Mediante la prueba (2) se corroboro la factibilidad del uso del metodo Bernsen, ya que
en un sistema de reconocimiento de dıgitos con todas sus componentes, la tasa de reconocimiento
fue mayor que para el resto de los metodos. El analisis de complejidad computacional realizado per-
mitio determinar que los metodos Bernsen y White requieren de menores cantidades de operaciones
matematicas.
Por lo tanto, en los capıtulos subsecuentes se asumira que el metodo de binarizacion utilizado
para la obtencion de las imagenes binarias utilizadas en los procesos de extraccion de caracterısticas
y clasificacion, es el metodo Bernsen.
5Extraccion y seleccion de caracterısticas
El proceso de extraccion de caracterısticas consiste en analizar atributos de los objetos de interes
para generar informacion cuantitativa para diferenciar cada clase. La seleccion de un conjunto de
caracterısticas apropiado es probablemente el factor mas importante para poder generar un alto
desempeno en el reconocimiento. En este capıtulo se describen los conjuntos de caracterısticas que
se extrajeron a partir de las imagenes binarizadas obtenidas del paso anterior de pre-procesamiento.
Estas descripciones consistieron en representaciones a partir de la distribucion de pıxeles, y obtenidas
de caracterısticas geometricas y topologicas de los dıgitos representados de forma binaria. A partir
de este proceso de extraccion se obtuvieron dos tipos de descriptores dependientes del tipo de
caracterısticas, estos fueron los vectores numericos y cadenas de sımbolos.
Se analiza ademas la forma en que estos espacios de caracterısticas pueden reducir su dimensio-
nalidad de manera que aquellas irrelevantes o redundantes sean eliminadas y esto mejore el proceso
de reconocimiento. Se comparan los resultados de esta seleccion totalmente automatica contra una
seleccion mediante una busqueda secuencial del mejor subconjunto.
Finalmente, se muestran los resultados de la precision de un sistema que mantuvo fijas las etapas
de pre-procesamiento y clasificacion, mientras se intercambiaban los conjuntos de caracterısticas.
83
84 5.1. Extraccion de caracterısticas
Ademas de los conjuntos individuales se utilizaron combinaciones de estos con el fin de aumentar en
detalle la representacion de las distintas clases.
En la Figura 5.1 se muestra el proceso de extraccion y seleccion de caracterısticas el cual fue
utilizado como modelo para realizar la evaluacion sistematica por medio del analisis de cada compo-
nente.
Figura 5.1: Extraccion y seleccion de caracterısticas: etapas evaluadas
5.1 Extraccion de caracterısticas
Las caracterısticas extraıdas y analizadas para nuestro conjunto de caracteres de interes, se
encuentran clasificadas dentro de dos tipos principales [40]: (i) derivadas de la distribucion estadıstica
de pıxeles, y (ii) geometricas y topologicas. Las caracterısticas derivadas de la distribucion de puntos
han demostrado tener tolerancia a la distorsion y consideran las variaciones de estilo; mientras
que las que obtienen informacion de la forma o estructura de los caracteres permiten generar una
representacion basada en primitivas y caracterısticas independientes a la rotacion. Los diferentes
tipos de caracterısticas extraıdas se describen enseguida.
5. Extraccion y seleccion de caracterısticas 85
5.1.1 Derivadas de la distribucion estadıstica de pıxeles
5.1.1.1. Momentos centrales normalizados
Los momentos centrales normalizados de una imagen bidimensional f se denotan por ηpq, y se
definen como sigue[47]:
ηpq =µpqµγ00
, (5.1)
donde
γ = p+q2
+ 1,
y µpq corresponden a los momentos centrales de orden (p+ q), y para imagenes binarizadas pueden
ser expresados como:
µpq =M−1∑x=0
N−1∑y=0
(x− x)p(y − y)q, (5.2)
para p = 0,1,2,. . . y q = 0,1,2,. . ., M y N son el ancho y el alto de la imagen, respectivamente,
(x, y) es el centro de masa del objeto, y (x, y) son las coordenadas del pıxel que se evalua.
Estos momentos centrales son necesarios para el calculo de sus respectivas versiones normalizadas.
Para nuestra implementacion se usaron los ordenes 2 y 3, resultando en 7 momentos centrales
normalizados: η11, η20, η02, η30, η03, η21, η12. La principal ventaja de estos momentos es que son
invariantes a cambios de traslacion y escala.
En Tabla 5.1 se muestran los valores de los vectores numericos obtenidos para una imagen de
ejemplo de cada uno de los dıgitos.
5.1.1.2. Cruces y distancias
Teniendo confinada la representacion de un dıgito a un tamano de imagen preestablecido, los
cruces y las distancias se definen como sigue:
1. Un cruce, ya sea vertical u horizontal, se define como la cantidad de cambios de un pıxel del
fondo a un pıxel del objeto cuando se hace el recorrido por fila o columna.
86 5.1. Extraccion de caracterısticas
Clase Vector de caracterısticas (x)dıgito x1 x2 x3 x4 x5 x6 x7
η11 η20 η02 η30 η03 η21 η12
0 0.00284 0.09489 0.23996 0.00138 0.00449 0.00161 -0.00369
1 -0.00720 0.01080 0.58436 -0.00033 -0.04769 0.00065 0.01535
2 -0.02365 0.10229 0.46819 -0.00184 -0.01240 -0.01542 -0.00524
3 -0.01586 0.09242 0.42321 -0.01483 0.04316 -0.00188 -0.03709
4 -0.01267 0.08273 0.23147 -0.01451 -0.02752 0.01237 0.02287
5 0.05784 0.11183 0.40831 -0.00242 -0.00240 -0.00637 -0.01543
6 0.00145 0.10421 0.25600 0.00389 -0.04629 0.01312 0.01974
7 -0.07066 0.08462 0.51763 0.00715 0.25141 -0.03664 -0.03843
8 0.00511 0.07947 0.19063 -0.00134 -0.00123 0.00006 -0.00260
9 -0.03252 0.12601 0.31344 0.00070 0.04890 -0.01884 -0.02479
Tabla 5.1: Ejemplos de vectores de momentos centrales normalizados.
2. Las distancias se definen para cada una de las direcciones de donde se inicia el recorrido (arriba,
abajo, izquierda, derecha), como la distancia desde el borde hasta la primera ocurrencia de un
pıxel del objeto.
En la Figura 5.2 se muestra una representacion pictografica de estas caracterısticas para la imagen
binarizada del dıgito ‘5’.
Como puede observarse, considerando nuestras imagenes normalizadas de 20×30 pıxeles, la can-
tidad de caracterısticas obtenidas mediante este procedimiento es de 600, lo cual ciertamente implica
una complejidad mayor tanto en la extraccion como en la clasificacion. Por este motivo, se consi-
dero necesario determinar cuales de esta gran cantidad de caracterısticas eran suficientes para realizar
la clasificacion, al mismo tiempo que se determinaba si todas eran realmente relevantes. Esto fue rea-
lizado mediante un proceso posterior de seleccion automatica de caracterısticas que se describira en
la siguiente seccion, y el cual logro disminuir la dimensionalidad de este espacio a una cantidad de 8
caracterısticas relevantes.
Algunos ejemplos de representaciones mediante este tipo de caracterısticas se muestran la Ta-
bla 5.2, para cada clase. En este caso tambien se obtiene vector numerico. Las caracterısticas mostra-
das corresponden a cruces verticales (x1 y x2), un cruce horizontal (x3), distancias desde la izquierda
(x4, x5 y x6), una distancia desde la derecha (x7), y una distancia desde abajo (x8).
5. Extraccion y seleccion de caracterısticas 87
2 3 3
1
1
2
7
1
1
1
5
0
desde la IZQUIERDA
1 0 3
4 0 0
desde la DERECHA
desde ABAJOdesde ARRIBA
(a) (b)
Figura 5.2: Ejemplo: (a) Cruces: cambios de fondo-objeto, (b) Distancias del borde al objeto
5.1.1.3. Distancias del centroide al borde
La extraccion de estas caracterısticas consiste en medir la distancia euclidiana desde cada pıxel
del dıgito adelgazado al centroide de la imagen. Puesto que usamos imagenes normalizadas, los
dıgitos dentro de estas se ajustan al cuadro de la imagen, por lo tanto el centroide que consideramos
puede ser calculado de manera sencilla dividiendo el largo y el ancho entre dos. La distancia entre
el pıxel centroide (Pc) y cada uno de los pıxeles del dıgito (Pi) , de coordenadas (x1, x2) y (y1, y2)
respectivamente se calcula de la siguiente manera:
d(Pc, P i) =√
(x2 − x1)2 + (y2 − y1)2 (5.3)
En la Figura 5.3 se representan pictograficamente los pasos que ocurren cuando se extraen este
tipo de caracterısticas, desde la obtencion del centroide hasta el calculo y agrupacion de las distancias.
88 5.1. Extraccion de caracterısticas
Clase Vector de caracterısticas (x)dıgito x1 x2 x3 x4 x5 x6 x7 x8
0 1 4 0 1 1 1 17 30
1 1 0 1 10 9 9 11 0
2 2 2 1 13 9 6 17 30
3 2 2 1 11 8 14 14 29
4 2 2 1 7 5 2 16 23
5 2 2 0 3 3 15 14 30
6 3 2 1 4 3 1 9 30
7 1 0 1 8 7 7 12 10
8 2 2 1 1 3 1 19 30
9 2 1 2 1 3 11 19 23
Tabla 5.2: Ejemplos de vectores de cruces y distancias.
Grupo 1
Grupo 6
Grupo 5
Grupo 4
Grupo 3
Grupo 2
Grupo 7
(a) (b) (c) (d)
Figura 5.3: Distancias del centroide al borde: (a) Localizacion del centroide; (b) Calculo de lasdistancias; (c) Representacion secuencial de las distancias; (d) Definicion de grupos.
5. Extraccion y seleccion de caracterısticas 89
Debido a que la cantidad de pıxeles varıa inclusive entre imagenes de la misma clase, es necesario
realizar una normalizacion de los mismos. La normalizacion propuesta consiste en dividir en 7 grupos
el total de distancias, para despues obtener el promedio de las distancias para cada grupo. De esta
manera tendremos un conjunto de este tipo de caracterısticas del mismo tamano para todas las
clases, y lo suficientemente discriminante.
La division consistio primeramente en separar en 7 grupos aproximadamente iguales los pıxeles
que conforman al dıgito. Para lograr esto, se considero incluir cada pixel dependiendo de la posicion en
que se encontrara, es decir, mediante un recorrido de arriba hacia abajo y de izquierda a derecha uno
a uno fue anadido en el grupo correspondiente. Entonces, para cada grupo de pıxeles fue calculado
el promedio de las distancias al centroide de la imagen. En la Figura 5.3d se presenta visualmente
la definicion de cada grupo para este ejemplo en especıfico, y utilizando el criterio mencionado
anteriormente.
En la Tabla 5.3 se muestran ejemplos de representaciones mediante este tipo de caracterısticas
para cada una de las clases. Se obtuvieron vectores numericos para este tipo de descriptores.
Clase Vector de caracterısticas (x)dıgito x1 x2 x3 x4 x5
0 10.267 9.449 12.303 9.415 9.371
1 2.603 6.522 3.200 7.725 3.249
2 12.614 10.193 7.890 10.279 12.260
3 13.991 10.097 7.624 9.234 11.553
4 7.127 6.054 9.110 8.527 10.854
5 10.777 9.657 10.584 9.947 10.329
6 9.089 7.577 7.812 11.098 11.384
7 10.076 8.210 8.314 8.459 11.912
8 10.472 8.753 9.415 8.417 10.394
9 10.245 9.899 8.261 7.750 10.135
Tabla 5.3: Ejemplos de vectores de distancias del centroide al borde.
90 5.1. Extraccion de caracterısticas
5.1.1.4. Division en zonas
La idea basica de la extraccion de caracterısticas mediante division en zonas, es dividir la imagen
por zonas y definir alguna metrica respecto a la cantidad de pıxeles del objeto contenidos en cada
zona. El problema consiste entonces en como definir estas zonas. Nuestra propuesta es realizar la
division como se muestra en la Figura 5.4. La idea de esta division esta inspirada en la representacion
que comunmente tienen los numeros en una pantalla LCD/LED en calculadoras y otros aparatos de
medicion. Consta de 7 segmentos de recta, colocados horizontal y verticalmente, con los cuales es
posible representar con la inclusion de algunos o todos ellos, los 10 dıgitos .
Entonces, una vez definidas la zonas, en nuestro procedimiento el siguiente paso es obtener la
cantidad pıxeles objeto que existen por zona. Despues, la normalizacion de estos valores consiste en
dividir las cantidades obtenidas entre el area total ocupada por cada zona. De esta manera, lo que
se obtiene es la proporcion del objeto dentro de cada una de las 7 zonas (Figura 5.4).
1
2 3
5 6
4
7
18/30
16/30
6/24
14/24
14/24
4/24
6/24
(a) (b) (c)
Figura 5.4: Division en zonas, (a) Las 7 zonas propuestas para la extraccion de caracterısticas;(b) Ejemplo para un caracter; (c) La densidad de cada zona.
En Tabla 5.4 se muestran ejemplos de los vectores numericos extraıdos para algunas imagenes.
5.1.1.5. Puntos finales e intersecciones
Una vez obtenido el adelgazamiento del objeto, es posible obtener referencias respecto a pıxeles
con ciertas propiedades. Ejemplo de ello son los pıxeles que son puntos finales o de interseccion
(Figura 5.6). A partir de ellos podemos hacer algunas suposiciones que nos permitan diferenciar las
5. Extraccion y seleccion de caracterısticas 91
Clase Vector de caracterısticas (x)dıgito x1 x2 x3 x4 x5 x6 x7
0 0.67 0.63 0.58 0.08 0.63 0.64 0.63
1 0.02 0.00 0.00 0.75 0.00 0.00 0.00
2 0.59 0.05 0.49 0.60 0.41 0.00 0.69
3 0.80 0.05 0.33 0.55 0.04 0.56 0.54
4 0.27 0.25 0.50 0.18 0.59 0.65 0.20
5 0.52 0.50 0.26 0.20 0.11 0.48 0.55
6 0.35 0.55 0.00 0.38 0.70 0.63 0.62
7 0.63 0.14 0.13 0.40 0.25 0.00 0.15
8 0.66 0.68 0.73 0.50 0.68 0.80 0.65
9 0.54 0.50 0.49 0.45 0.15 0.24 0.24
Tabla 5.4: Ejemplos de vectores del conjunto de caracterısticas division en zonas.
clases de objetos que deseamos describir. El procedimiento propuesto utilizando esta informacion,
consiste en dividir la imagen en 6 zonas, tal como se muestra en la Figura 5.5, y determinar si en
alguna de ellas existen puntos finales o de interseccion. Ademas, para lograr una mejor descripcion
de las clases, si dentro de cada zona la porcion del dıgito es significativa, una caracterıstica adicional
es determinar si cada zona contiene o no parte del dıgito.
Reuniendo los descriptores mencionados anteriormente, se propone crear una cadena de sımbolos
para representar cada clase de dıgito. Esta cadena estara compuesta de 3 conjuntos de 6 letras, una
por cada zona, y utilizando la letra ’S’ para afirmar que existe ya sea un punto final, una interseccion
o parte significativa del caracter, o ’N’ en caso contrario. Mediante este procedimiento se obtiene
una cadena de tamano 18 recorriendo las zonas de izquierda a derecha y de arriba hacia abajo, la
cual es comparada mediante alineamiento de secuencias contra patrones previamente definidos. En
la Tabla 5.5 se muestran ejemplos de cadenas obtenidas mediante la extraccion de caracterısticas
denominadas puntos finales e intersecciones.
92 5.1. Extraccion de caracterısticas
1 2
3 4
5 6
(a) (b)
Figura 5.5: (a) Division por zonas ; (b) Ejemplo de una imagen del numero ’3’.
Clase Puntos finales Intersecciones Porcion de dıgitodıgito 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6
0 N N N N N N N N N N N N S S S S S S
1 N N N S N S N N N N N N N S N N N S
2 S N N N N S N N N N N N S S S S S S
3 S N S N N N N S N N N N S S N S S S
4 N N N N N S N S N N S N S S S S S S
5 N N S S N N S N N N N N S S S S S S
6 N N N S N N N N N S N N S S S S S S
7 S N S N N N N N N N N N S S N S S S
8 N N N N N N N N N S S N S S S S S S
9 N N S N N N N N N N S N S S S S S S
Tabla 5.5: Ejemplos de cadenas que representan el conjunto de caracterısticas puntos finalese intersecciones.
5. Extraccion y seleccion de caracterısticas 93
5.1.2 Geometricas y topologicas
5.1.2.1. Aproximacion de formas geometricas
El analisis de caracterısticas geometricas y topologicas es la tecnica mas popular investigada.
Estas caracterısticas pueden representar propiedades globales y locales de los caracteres. Entre ellas
estan trazos continuos, puntos finales, intersecciones de segmentos de lıneas, curvas cerradas y
propiedades angulares.
En este trabajo se obtuvo una aproximacion de las formas geometricas que presentan los com-
ponentes principales de los dıgitos. Este procedimiento consiste en los pasos siguientes:
1. Obtencion de puntos finales. Un punto final es aquel pıxel objeto que solamente tiene un punto
o pıxel vecino de tipo objeto, en un vecindario de 8 elementos contiguos (Figura 5.6).
(a) (b)
Figura 5.6: (a) pıxel P5 = punto final, (b) pıxel P5 = punto interseccion
2. Localizar el punto final mas arriba, y a partir de este empezar un recorrido sobre cada pıxel del
objeto. Dicha trayectoria sera definida por la posicion de sus vecinos. Si por ejemplo se inicia en
un punto mas a la izquierda, entonces la trayectoria se dirigira a la derecha, es decir para cada
pıxel se revisara si alguno de sus cinco pıxeles vecinos (Figura 5.7a) pertenecen al objeto. Si
no existieran pıxeles de objeto en esas direcciones, entonces se considera como que se llego al
final de un trazo o forma geometrica. Despues se continua el recorrido en la direccion contraria
si es posible.
3. Si el pıxel en la posicion actual tiene dos o mas vecinos, entonces continua con su recorrido
en la primera direccion que identifica, y las coordenadas del resto se agregan a una pila.
94 5.1. Extraccion de caracterısticas
(a) (b)
Figura 5.7: Pıxeles vecinos de P5 considerados (en azul), cuando se realiza la aproximacion deformas geometricas: (a) Cuando la trayectoria es hacia la derecha, (b) Cuando la trayectoriaes hacia la izquierda.
4. Una vez finalizado el primer recorrido sin interrupciones, los pıxeles que no han sido recorridos
aun y cuyas coordenadas fueron almacenadas, son explorados siguiendo las mismas directivas
mencionadas en los pasos anteriores.
5. Para cada forma geometrica encontrada, se realiza un analisis para determinar si esta se apro-
xima a una curva o una recta. Este analisis consiste en encontrar la ecuacion de la recta que
pasa por el punto inicial y final de la forma. Entonces, se calcula la distancia de cada punto
a la recta. Si el promedio de estas distancias es mayor que cierto umbral determinado, en-
tonces se considerara como que la forma es una curva, de lo contrario se supone que es una
recta. Ademas, si se identifica que varios segmentos pertenecen a una curva cerrada, estos son
considerados como una sola forma geometrica.
6. Finalmente, dependiendo de las formas geometricas encontradas, para cada una de ellas se
define un sımbolo dentro de una cadena que representara el conjunto de caracterısticas. De
esta forma, una recta estara representada por el sımbolo ’R’ seguido de otro que indicara que
tan cerca esta de ser horizontal o vertical (’H’, ’V’). En el caso de que se trate de una forma
curva ’C’, se agregara otro sımbolo indicando si es una curva abierta o cerrada (’A’, ’C’ ).
Finalmente para completar un trinomio de sımbolos para cada una de las formas geometricas,
se anade la letra ’S’ o ’N’, para determinar si es un forma final o intermedia, respectivamente.
La cadena final incluye al principio el sımbolo ’A’ para determinar que se inicio de un punto
final o ’m’ en caso contrario, seguido de la letra ’I’ si se inicio el recorrido comenzando por la
izquierda, o ’R’ si se inicio por la derecha. El resto de la cadena la forman los trinomios de
5. Extraccion y seleccion de caracterısticas 95
sımbolos para cada forma geometrica encontrada.
En la Figura 5.8 se muestra de manera pictografica el recorrido que tendrıa el analizar la imagen
de un dıgito ’2’. Luego, en la Tabla 5.6 se presentan cadenas de ejemplo para cada una de las clases
de dıgitos obtenidas por esta forma de representacion.
(a) (b)
Figura 5.8: (a) Trayectoria del recorrido utilizando el algoritmo propuesto para la aproximacionde formas geometricas y su cadena descriptora, (b) Analisis de las formas encontradas y surespectiva clasificacion.
5.1.2.2. Caracterısticas geometricas
El perımetro y el area de un objeto son dos rasgos primarios que se utilizan cuando el tamano de
las regiones de interes son invariantes [38]. El area (A) de una region se define como la cantidad de
pıxeles en la region, de manera que se describe su tamano. Mientras que el perımetro (P ) de una
region es la longitud de su contorno. Un pıxel del contorno es aquel en el que al menos uno de sus
vecinos es un pıxel del fondo. Considerando estas dos metricas se calculo el factor de compacidad
de la region de interes como:
FC = P 2/4πA. (5.4)
Otro descriptor de compacidad extraıdo fue la razon de circularidad, el cual se define como la
relacion entre el area de la forma del objeto con el area de un cırculo en donde ambos tienen el
96 5.1. Extraccion de caracterısticas
Clase dıgito Cadena
0 MDCCNRVS
1 AIRVS
2 AIRVNRHS
3 AICCNRVNCCS
4 MDRVNCCNRHS
5 ADRHNRVNCCS
6 ADCCNRVS
7 AIRHNRVS
8 MDCCN
9 MDCCNRVS
Tabla 5.6: Ejemplos de cadenas del conjunto de caracterısticas aproximacion de formasgeometricas.
mismo perımetro, y se calcula como:
RC = 4πA/P 2. (5.5)
En la Tabla 5.7 se muestran algunos vectores numericos que representan algunas imagenes de
dıgitos para las diez clases. x1 se refiere al factor de compacidad y x2 es la razon de circularidad.
Clase Vector de caracterısticas (x)dıgito x1 x2
0 0.623 0.156
1 0.205 0.209
2 -0.159 0.043
3 -0.170 0.047
4 0.449 0.132
5 -0.098 0.041
6 0.335 0.094
7 -0.136 0.058
8 0.569 0.127
9 0.356 0.098
Tabla 5.7: Ejemplos de vectores de caracterısticas geometricas.
5. Extraccion y seleccion de caracterısticas 97
5.2 Seleccion de caracterısticas
La seleccion de caracterısticas puede ser dividida en dos tareas [12]: (i) decidir cuales caracterısti-
cas seran usadas, y (ii) decidir como combinarlas. Ambas tareas pueden ser realizadas ordenando
las caracterısticas mediante algun criterio y despues seleccionar las k mejores caracterısticas. Dos
metodos de seleccion de caracterısticas basadas en este precepto fueron implementadas para reducir
la dimensionalidad de algunos de los espacios de caracterısticas.
El primer metodo de seleccion evaluado fue propuesto por Gomez et al.[37], con el cual el espacio
de caracterısticas es ordenado utilizando informacion mutua con un esquema basado en mınima-
redundancia-maxima-relevancia (mRMR). Posteriormente la seleccion del numero de caracterısticas
apropiado para representar las propiedades de los datos iniciales es determinada mediante una tecnica
para calcular la dimensionalidad intrınseca denominada analisis de componentes principales (PCA por
sus siglas en ingles). En este documento denominaremos a este metodo como mRMR+PCA.
El segundo metodo realiza de igual manera el ordenamiento de las caracterısticas bajo mRMR,
pero la cantidad de caracterısticas es obtenida empıricamente basandose en la precision del algoritmo
de clasificacion utilizado. Esto es, una vez teniendo el ordenamiento de las caracterısticas, una a una
son eliminadas de este conjunto de datos, a la vez que se entrena y se prueba con un clasificador de
mınima distancia Mahalanobis. De esta forma, el ındice del maximo valor de precision de clasificacion
correspondera a la cantidad de caracterısticas por seleccionar, ya que estan ordenadas. A este metodo
le llamaremos mRMR+BS, en donde BS se refiere a la busqueda secuencial utilizada para encontrar
el mejor subconjunto.
La decision de probar ambas tecnicas para reduccion de dimensionalidad basadas en seleccion
de caracterısticas y no en la creacion de nuevas caracterısticas a partir de las originales (extraccion
de caracterısticas), obedece principalmente a que estas ultimas presentan la desventaja de no tener
un significado fısico claro, ademas de que el proceso de extraccion de las mismas serıa mas compli-
cado. Es ası que la seleccion de caracterısticas para reducir la dimensionalidad de los conjuntos de
caracterısticas resulto ser una mejor opcion en la busqueda de un sistema de reconocimiento simple
y efectivo.
98 5.2. Seleccion de caracterısticas
La diferencia principal entre ambos metodos de seleccion evaluados consiste en que el prime-
ro trata de determinar el mejor subconjunto de caracterısticas sin considerar algun algoritmo de
clasificacion especıfico, es decir presenta un enfoque de seleccion por filtro mediante el uso de in-
formacion mutua; mientras que el segundo utiliza la informacion de la precision de un algoritmo de
clasificacion para guiar la busqueda (enfoque envolvente). Este segundo metodo podrıa considerarse
hıbrido ya que combina las ventajas de la generalizacion de la seleccion por filtro (mRMR), y la
busqueda secuencial para encontrar el mejor conjunto de caracterısticas basado en los resultados de
clasificacion.
Ambas tecnicas involucran el uso de metodos especıficos relacionados con informacion mutua y
dimensionalidad intrınseca, por lo tanto, en la siguiente seccion seran abordados con mas detalle.
Posteriormente, en la Seccion 5.2.2 se muestran los algoritmos que describen ambos procesos.
5.2.1 Reduccion de dimensionalidad
(a) Informacion mutua
En terminos de informacion mutua, el proposito de la seleccion de caracterısticas es encontrar un
conjunto S con k caracterısticas {xi} que en conjunto tienen la dependencia mas grande en la clase
objetivo c. Este esquema es conocido como Maxima-Dependencia [29].
Uno de los enfoques mas importantes para obtener la maxima dependencia es a traves de Maxima-
Relevancia, es decir, la seleccion de las caracterısticas con la maxima relevancia a la clase objetivo c.
La relevancia es comunmente caracterizada en terminos de correlacion o informacion mutua, siendo
esta ultima la metrica mas usada para definir la dependencia de variables.
Para variables discretas, la informacion mutua I de dos variables aleatorias x e y es definida en
terminos de sus funciones de densidad probabilıstica conjunta p(x, y) y las respectivas probabilidades
marginales p(x) y p(y) [29]:
I(x; y) =∑i,j
p(xi, yj) logp(xi, yj)
p(xi)p(yi)(5.6)
5. Extraccion y seleccion de caracterısticas 99
En Maxima-Relevancia, las caracterısticas seleccionadas xi se requieren individualmente para
obtener la informacion mutua I(xi; c) mas grande con la clase objetivo c, reflejando ası la mas
grande dependencia. En terminos de busqueda secuencial, las k mejores caracterısticas individuales,
es decir, las primeras k caracterısticas en orden descendente de I(xi; c), son seleccionadas como las
k caracterısticas.
La heurıstica llamada mınima-redundancia-maxima-relevancia (mRMR) es un criterio basado en
informacion mutua que tiene como objetivo minimizar la redundancia, y usar una serie de metri-
cas intuitivas de relevancia y redundancia para ordenar el conjunto de caracterısticas S. En este
ordenamiento la primera caracterıstica presenta la dependencia mas grande en la clase objetivo c.
Mediante el enfoque mRMR, para las variables categoricas la informacion mutua mide el nivel de
dependencia entre las variables. La condicion de mınima redundancia selecciona las caracterısticas
tal que son mutuamente exclusivas[94]:
mınR(S), R =1
|S|2∑
xi,xj∈S
I(xi;xj), (5.7)
Para medir el nivel de dependencia entre una caracterıstica individual xi y una clase objetivo c
es usada la condicion de maxima relevancia [94]:
maxD(S, c), D =1
|S|∑xi∈S
I(xi; c), (5.8)
Mientras que el criterio de combinacion de las condiciones en las ecuaciones 5.7 y 5.8 es propia-
mente llamado mınima-redundancia-maxima-relevancia (mRMR). Luego, un algoritmo incremental
puede ser utilizado para ordenar el conjunto de caracterısticas S de acuerdo a este criterio mRMR
maximizando la siguiente expresion:
maxxj∈X−Sk−1
I(xj; c)−1
k − 1
∑xi∈Sk−1
I(xj;xi)
(5.9)
100 5.2. Seleccion de caracterısticas
(b) Analisis de Componentes Principales
Basicamente el analisis de componentes principales (PCA) trata de reducir la dimensionalidad de los
datos encontrando una pocas combinaciones lineales ortogonales o componentes principales (CP)
de las variables originales con la varianza mas grande[33]. El primer CP, s1, es la combinacion
lineal con la varianza mas grande. Se tiene s1 = xTw1, donde el vector coeficiente d-dimensional
w1 = (w1,1, ..., w1,p)T resuelve [52]:
w1 = arg max||w=1||
Var{xTw} (5.10)
La segunda CP es la combinacion lineal con la segunda varianza mas larga y ortogonal a la
primera CP, y ası sucesivamente. Existen tantas CPs como cantidad de variables originales. Para
muchos conjuntos de datos, las primeras CPs explican la mayorıa de la varianza, de tal forma que el
resto pueden ser descartadas con una perdida mınima de informacion.
Puesto que la varianza depende de la escala de las variables, se acostumbra primero estandarizar
cada variable para tener variacion estandar igual a cero y desviacion estandar igual a uno. Despues
de la estandarizacion, las variables originales con posiblemente diferentes unidades de medicion, se
encuentran todas en unidades comparables. Asumiendo un conjunto de datos estandarizado con la
matriz de covarianza empırica:
Σd×d =1
nXXT , (5.11)
Se puede utilizar el teorema de descomposicion espectral para escribir Σ como:
Σ = UΛUT , (5.12)
donde Λ = diag(λ1, ..., λd) es la diagonal de la matriz con los eigenvalores 1 λ1 ≤ ... ≤ λd y U
es una matriz ortogonal de tamano d × d conteniendo los eigenvectores. Se puede ver que las CPs
1Los eigenvalores, son las sumas de los cuadrados de los pesos de cada columna de la matriz factorial, los cualesindican la cantidad total de varianza que explica ese factor (columna) para las variables consideradas como grupo.
5. Extraccion y seleccion de caracterısticas 101
estan dadas por las d filas de la matriz S de tamano d× n, donde:
S = UTX. (5.13)
El subespacio generado por los primeros k eigenvectores 2 tienen la desviacion cuadratica media
mas pequena de X entre todos los subespacios de dimension k. Finalmente, despues de esta trans-
formacion lineal, se obtiene un espacio de k-dimensional cuyas dimensiones son los eigenvectores, y
las varianzas sobre esas nuevas dimensiones son igual a los eigenvalores [3].
5.2.2 Metodos de seleccion de caracterısticas
Metodo mRMR+PCA
El algoritmo 1 representa el proceso del metodo de seleccion de caracterısticas mRMR+PCA.
Algoritmo 1 Metodo de seleccion de caracterısticas mRMR+PCA
ENTRADA: Conjunto de datos en matriz s× d (muestrass×d[ ][ ]).SALIDA: Conjunto de datos con las caracterısticas (columnas) seleccionadas de
m ordenadass×d[ ][ ].1: car selec[ ][ ]← null2: idx[ ]← ObtenerIndicesmRMR(muestras[ ][ ])3: m ordenadas[ ][ ]← OrdenarPormRMR(muestras[ ][ ], idx[ ])4: k ← ObtenerDimIntrinsecaPCA(muestras[ ][ ])5: for i = 1→ k do6: car selec[ ][ ]← ConcatenarHorizontal(car selec[ ][ ],m ordenadas[ ][i])7: end for8: return car selec[ ][ ]
De manera general, el metodo mRMR+PCA tiene como entrada el conjunto de datos que incluye
las caracterısticas de todas las imagenes de los dıgitos (muestrass×d), por lo cual el tamano de esta
matriz de datos es de s× d, donde s corresponde a la cantidad de muestras, y d indica la cantidad
de caracterısticas del espacio original o inicial. El resultado de este proceso devuelve una matriz
2Los eigenvectores, de una matriz cuadrada son los vectores distintos de cero que, despues de haber sido mul-tiplicados por la matriz, o bien permanecen proporcionales al vector original, esto es que hayan cambiado solo enmagnitud pero no en direccion, o se vuelven cero.
102 5.2. Seleccion de caracterısticas
con la misma cantidad de filas que la original (cantidad de muestras s) y con k columnas para las
caracterısticas seleccionadas de la matriz de datos ordenada mediante mRMR (m ordenadass×d).
El proceso inicia obteniendo los d ındices que representan el orden de las caracterısticas mediante
el criterio mRMR (idx), obtenido mediante la expresion 5.9. Posteriormente, estos ındices son utili-
zados para obtener una matriz de datos con las caracterısticas ordenadas (m ordenadas), es decir,
con las columnas indicadas por los indices de forma secuencial.
Despues, se obtiene la dimensionalidad ıntrınseca k del conjunto de datos inicial mediante el es-
timado PCA. El resto del procedimiento consiste en crear la matriz final car selec de tamano s× k
con la informacion de todas las muestras unicamente con las primeras k caracterısticas del conjunto
ordenado m ordenadas.
Metodo mRMR+BS
El proceso para la seleccion de caracterısticas mediante el metodo mRMR+BS se describe mediante
el algoritmo 2.
El metodo mRMR+BS tiene como entrada tambien el conjunto de datos que incluye las carac-
terısticas de todas las imagenes de los dıgitos (muestrass×d). El resultado de igual manera que el
metodo anterior es una matriz con la misma cantidad de filas que la original (cantidad de muestras
s) y con k columnas para las caracterısticas seleccionadas de la matriz de datos ordenada mediante
mRMR (m ordenadass×d).
Este procedimiento comienza con la obtencion de los d ındices que representan el orden de las
caracterısticas mediante el criterio mRMR (idx), y los cuales son utilizados para obtener una matriz
de datos con las caracterısticas ordenadas (m ordenadas).
Posteriormente, en un proceso iterativo se van concatenado a una matriz inicialmente vacıa
(actual selec) las columnas de las caracterısticas ordenadas (m ordenadas), es decir a cada paso
se obtiene una matriz con la acumulacion de las caracterısticas. A cada paso es necesario separar
los datos en dos conjuntos, uno para entrenamiento (datos entrenamiento) y otro para prueba
(datos prueba), con el 70 % y 30 % del total de muestras respectivamente. Luego, se entrena al cla-
5. Extraccion y seleccion de caracterısticas 103
Algoritmo 2 Metodo de seleccion de caracterısticas mRMR+BS
ENTRADA: Conjunto de datos en matriz s× d (muestrass×d[ ][ ]).SALIDA: Conjunto de datos con las caracterısticas (columnas) seleccionadas de
m ordenadass×d[ ][ ].1: actual selec[ ][ ]← null2: idx[ ]← ObtenerIndicesmRMR(muestras[ ][ ])3: m ordenadas[ ][ ]← OrdenarPormRMR(muestras[ ][ ], idx[ ])4: precisiones d[ ]← null5: for i = 1→ d step 1 do6: actual selec[ ][ ]← ConcatenarHorizontal(actual selec[ ][ ],m ordenadas[ ][i])7: datos entrenamiento[ ][ ]← ObtenerDatosEntrenamiento(actual selec[ ][ ])8: datos prueba[ ][ ]← ObtenerDatosPrueba(actual selec[ ][ ])9: actual precision← Clasificar(datos entrenamiento, datos prueba)
10: precisiones d[i]← actual precision11: end for12: k ← IndiceValorMayor (precisiones d[ ][ ])13: car selec[ ][ ]← null14: for i = 1→ k do15: car selec[ ][ ]← ConcatenarHorizontal(car selec[ ][ ],m ordenadas[ ][i])16: end for17: return car selec[ ][ ]
sificador y se evalua con el conjunto de prueba. La precision obtenida de cada iteracion es almacenada
en un arreglo de longitud d (precisiones d) en la correspondiente posicion.
La cantidad de caracterısticas por seleccionar se determina obteniendo el ındice k de la posicion
del valor mayor dentro del vector de precisiones. Finalmente se crea la matriz de salida car selec
de tamano s × k con la informacion de todas las muestras solamente considerando las primeras k
caracterısticas del conjunto ordenado m ordenadas.
5.3 Evaluacion y resultados
Los espacios de caracterısticas descritos en la Seccion 5.1 fueron extraıdos y fue evaluado su
desempeno al utilizarlos dentro de un sistema de reconocimiento completo. En Tabla 5.8 se muestra la
nomenclatura usada para identificar a los espacios de caracterısticas en este capıtulo. Denominaremos
104 5.3. Evaluacion y resultados
a estos espacios de caracterısticas como iniciales u originales, ya que tienen orıgenes distintos entre
ellos. Como se menciono anteriormente, se extrajeron vectores numericos y cadenas de sımbolos
como representaciones de las clases, que en nuestra nomenclatura se identifican con los prefijos n y
s , respectivamente.
Nombre Espacio de caracterısticas Dimensionalidad /corto longitud de cadena
n inv Momentos centrales normalizados 7
n cro Cruces y distancias 8
n d2b Distancias del centroide al borde 7
n zon Division en zonas 7
n geo Geometricas 2
s afg Aproximacion de formas geometricas variable
s pfi Puntos finales e intersecciones 18
s pfi afg s pfi + s afg variable
Tabla 5.8: Nomenclatura de espacios de caracterısticas iniciales, y sus respectivas dimensiona-lidades.
Ademas de la evaluacion de los espacios de caracterısticas iniciales de forma independiente, se
analizo la factibilidad del uso de combinaciones entre ellos. A fin de continuar con la simplicidad para
realizar la extraccion de caracterısticas, las combinaciones se realizaron solamente para conjuntos del
mismo tipo, ya sean numericas o de representacion mediante cadenas.
Como se describio en el Capıtulo 4, en la etapa de pre-procesamiento se definieron tres tipos de
estructuras para representar a las clases de dıgitos (normal, adelgazada y esqueleto) a fin de analizar
las ventajas de algunas de ellas al extraer determinado conjunto de caracterısticas . De esta manera,
la cantidad de combinaciones por realizar en el caso de los n espacios de caracterısticas numericos
(Tabla 5.8) equivaldrıa a(n2
)+(n3
)+ ...+
(nn
)para cada estructura. Esto obviamente incrementa la
complejidad de las pruebas para encontrar la combinacion optima. Por lo tanto, se opto por crear
solamente un nuevo espacio de caracterısticas por cada estructura como combinacion de todos los
espacios numericos, de manera que la tarea de determinar el mejor subconjunto de caracterısticas
dentro de cada una de estas combinaciones globales quedara a cargo de un selector de caracterısticas.
Se utilizaron los dos metodos para la seleccion de caracterısticas descritos en la Seccion 5.2.2, y
5. Extraccion y seleccion de caracterısticas 105
se compararon sus resultados. El interes de la comparativa de estos dos metodos de seleccion de
caracterısticas, radico en analizar el impacto que se tiene al obtener subconjuntos generalizados
para cualquier clasificador (mRMR+PCA), y al utilizar informacion directamente relacionada con el
proceso de clasificacion (mRMR+BS).
La etapa de seleccion no fue posible evaluarla con los descriptores de cadenas dada la naturaleza
de dichos metodos de seleccion. Esto ultimo no causo mayor problema ya que para los dos descriptores
en forma de cadena se obtuvo solo una combinacion.
Cabe mencionar ademas, que el tipo de estructura utilizada depende directamente de la clase
de caracterısticas por extraer, por ello algunos descriptores solo pudieron ser extraıdos de deter-
minadas estructuras, tal como se muestra en la Tabla 5.9. Por ejemplo, el conjunto n d2b no fue
posible extraerlo de la estructura normal del dıgito debido a la gran variacion que podrıa tenerse, en
contraparte a lo que sucedio cuando se utilizo una estructura mas simple como la adelgazada o el es-
queleto, las cuales conservaron solo la informacion necesaria. En Tabla 5.10 se muestran los espacios
de caracterısticas incluidos en cada combinacion, ademas del tamano del vector de caracterısticas
obtenido.
Espacio de Estructura binariacaracterısticas Normal Adelgazada Esqueleto
n inv 5 5 5
n cro 5 5 5
n d2b 5 5
n zon 5 5 5
n geo 5 5 5
s afg 5
s pfi 5
Tabla 5.9: Estructura por espacio de caracterısticas
5.3.1 Desempeno en la seleccion de caracterısticas
Antes de iniciar con la valoracion de la precision de reconocimiento generada por el uso de los
distintos espacios de caracterısticas de tipo numerico listados anteriormente, fue necesario determinar
106 5.3. Evaluacion y resultados
Nombre Estructura Combinacion Dimensionalidadcorto n inv n cro n d2b n zon n geo
CN1 Normal 5 5 5 5 24
CT1 Adelgazado 5 5 5 5 5 31
CE1 Esqueleto 5 5 5 5 5 31
Tabla 5.10: Nomenclatura de combinaciones de los espacios de caracterısticas numericas ini-ciales, y sus respectivas dimensionalidades.
cuales caracterısticas dentro de cada conjunto eran relevantes para el proceso de clasificacion. De
esta manera, mediante el uso de los dos metodos de seleccion descritos en la Seccion 5.2 fue
posible determinar para cada espacio la cantidad de caracterısticas necesarias para obtener el maximo
desempeno con respecto al proceso de clasificacion. El objetivo de esta prueba fue medir la efectividad
de estos metodos, a la vez que se evaluan sus ventajas y desventajas.
El primer metodo evaluado (mRMR+PCA) consistio en el uso del criterio mRMR para ordenar las
caracterısticas, para posteriormente obtener la cantidad adecuada para la clasificacion mediante el
calculo de la dimensionalidad intrınseca usando el estimador PCA. El segundo metodo (mRMR+BS),
basado en un criterio de seleccion hıbrida, realizo el mismo ordenamiento de las caracterısticas
mediante mRMR, pero la determinacion de la cantidad optima consistio en una busqueda secuencial
hasta encontrar el subconjunto que produjera el menor error de precision.
En la Figura 5.9 se compara la precision de reconocimiento obtenida por ambos metodos de
seleccion, utilizando el espacio de caracterısticas momentos centrales normalizados. Como puede
notarse, el metodo basado mRMR+PCA determino que el conjunto optimo era el que incluıa las
primeras 4 caracterısticas del conjunto ordenado. Sin embargo, al realizar la busqueda secuencial
con el metodo mRMR+BS, se encontro que el mejor desempeno dado por el clasificador era posible
utilizando el conjunto completo de caracterısticas. Este mismo resultado se obtuvo con la mayorıa
del resto de espacios de caracterısticas evaluados, excepto con el denominado cruces y distancias
(n cro).
En la concepcion inicial del conjunto n cro era posible obtener un total de 150 caracterısticas,
lo cual era dependiente del las dimensiones de la imagen conteniendo el dıgito, es decir, a partir de
5. Extraccion y seleccion de caracterısticas 107
92.5
86.5
40.0
50.0
60.0
70.0
80.0
90.0
100.0
2 3 4 5 6 7
Pre
cisi
ón
(%
)
Cantidad de características
Precisión
mRMR + BS
mRMR + PCA
Figura 5.9: Comparativa de los metodos de seleccion de caracterısticas evaluados, utilizandoel conjunto de caracterısticas momentos centrales normalizados (n inv)
cada fila o columna se obtenıan una o mas de estas caracterısticas. Luego, realizando una division
en seis partes iguales horizontal y verticalmente, estas lıneas resultaron representativas del conjunto
completo, obteniendo en total 36 caracterısticas (12 para cruces, y 24 para distancias). Este conjunto
resultante seguıa siendo relativamente grande, por lo que era necesario realizar una seleccion de
caracterısticas de manera que fuera posible evitar la extraccion innecesaria de algunas de ellas. Como
se dijo anteriormente unicamente en este caso la seleccion por ambos metodos evaluados coincidio,
con la cantidad de 8 caracterısticas seleccionadas para ambos casos. Por lo tanto, en lo subsecuente,
este espacio de caracterısticas sera referenciado a esta ultima dimensionalidad. En la Figura 5.10 se
muestra la precision para los diversos subconjuntos del conjunto de caracterısticas ordenado mediante
el criterio mRMR, senalando la coincidencia en la seleccion.
Debido a que se comprobo que la tecnica de seleccion de caracterısticas basada mRMR+PCA no
obtuvo buenos resultados, se procedio con el uso de la tecnica hıbrida para obtener los subconjuntos
apropiados. Ahora bien, se realizo una prueba que permitio corroborar que el uso del criterio de
mRMR para ordenar las caracterısticas evitarıa la busqueda exhaustiva de 2d posibles selecciones
de un conjunto determinado con dimensionalidad d. Esta prueba consistio en evaluar todas las
108 5.3. Evaluacion y resultados
94.094.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
2 12 22 32
Pre
cisi
ón
(%
)
Cantidad de características
Precisión
mRMR + BS
mRMR + PCA
Figura 5.10: Comparativa de los metodos de seleccion de caracterısticas evaluados, utilizandoel conjunto de caracterısticas cruces y distancias (n cro)
combinaciones posibles de los espacios de caracterısticas numericas extraıdos de la estructura normal
del dıgito, las cuales resultan ser algunas de las incluidas en las mencionadas 2d posibles. En este
caso, la combinacion mayor la cual incluye todos los espacios (CN1) tiene como subconjuntos el resto
de las combinaciones CN2-11 (vease Tabla 5.11). Por lo tanto, lo que se pretendio demostrar fue
que una vez obtenido el conjunto optimo a partir de la combinacion mayor, la precision de cualquier
subconjunto de este no podra igualar ni sobrepasar la suya. En Tabla 5.12 las combinaciones evaluadas
incluyendo su dimensionalidad original y la determinada por el metodo hıbrido propuesto.
Nombre Subconjuntoscorto CN1 CN2 CN3 CN4 CN5 CN6 CN7 CN8 CN9 CN10 CN11
CN1 5 5 5 5 5 5 5 5 5 5 5
CN2 5 5 5 5
CN3 5 5 5 5
CN4 5 5 5 5
CN5 5 5 5
Tabla 5.11: Subconjuntos de las combinaciones de los espacios de caracterısticas iniciales.
En la Figura 5.11 queda demostrado que el ordenamiento de las caracterısticas mediante el crite-
5. Extraccion y seleccion de caracterısticas 109
Nombre Combinacion Dimensionalidadcorto n inv n cro n d2b n zon n geo Total Seleccionados
CN1 5 5 5 5 24 21
CN2 5 5 5 22 21
CN3 5 5 5 17 14
CN4 5 5 5 16 13
CN5 5 5 5 17 13
CN6 5 5 15 15
CN7 5 5 14 11
CN8 5 5 9 9
CN9 5 5 15 15
CN10 5 5 10 10
CN11 5 5 9 8
Tabla 5.12: Nomenclatura de combinaciones de los espacios de caracterısticas iniciales.
rio mRMR permite reducir el problema de la busqueda exhaustiva del conjunto optimo a solo evaluar
d espacios con dimensionalidades de 1 a d, ya que como pudo comprobarse ninguna combinacion
supero en precision al subconjunto optimo obtenido de la combinacion mayor. Por ello, se com-
probo que para el metodo mRMR+BS unicamente era necesario evaluar las combinaciones globales
para cada estructura binaria para obtener el mejor subconjunto.
99.08
95.0
95.5
96.0
96.5
97.0
97.5
98.0
98.5
99.0
99.5
100.0
CN1 CN2 CN3 CN4 CN5 CN6 CN7 CN8 CN9 CN10 CN11
Pre
cisi
ón
(%
)
Espacios de características
Figura 5.11: Comparativa del espacio de caracterısticas CN1, y sus subconjuntos CN2-11.
110 5.3. Evaluacion y resultados
5.3.2 Desempeno de la utilizacion de los espacios de caracterısticas
Una vez que se ha corroborado que a partir de las combinaciones que incluyen todos los espacios
de caracterısticas definidos (numericos), es posible obtener un subconjunto apropiado para obtener
la maxima precision de clasificacion, a continuacion se analiza el impacto del uso de las diversas
estructuras binarias que se extrajeron para representar a las clases de dıgitos.
Para tener una referencia de la cantidad de caracterısticas seleccionadas para cada unos los espa-
cios iniciales y sus combinaciones mayores, en la Figura 5.12 se muestra la comparativa considerando
las diversas estructuras. En esta grafica puede notarse como la reduccion de dimensionalidad no se
realizo al utilizar la estructura esqueleto para la combinacion mayor (CE1), por lo cual la cantidad
de caracterısticas utilizadas para este espacio fue de 31. Mientras que una reduccion notable se
realizo para la combinacion CT1, pasando de 31 a 19 caracterısticas. Por consiguiente, podrıamos
decir a partir de estos resultados que la estructura adelgazada puede ser representada con menos
caracterısticas, para obtener una buena discriminacion entre las clases. Esto es, las estructuras mas
complejas, es decir, con mayor tendencia a variacion, como fueron el esqueleto y la estructura normal,
requirieron de mas detalles para obtener una representacion aceptable.
0
5
10
15
20
25
30
35
n_inv
n_cro
n_zon
n_geo
CN1
n_inv
n_cro
n_d2b
n_zon
n_geo
CT1
n_inv
n_cro
n_d2b
n_zon
n_geo
CE1
Normal Adelgazado Esqueleto
Ca
nti
da
d c
ara
cte
ríst
ica
s
Espacios de características
Descartadas
Seleccionadas
Figura 5.12: Caracterısticas seleccionadas para los espacios de caracterısticas numericos inicia-les y sus combinaciones principales, utilizando la tecnica de seleccion hıbrida (mRMR+BS).
5. Extraccion y seleccion de caracterısticas 111
En la Figura 5.13 se analiza a detalle la precision de la clasificacion de los espacios de caracterısti-
cas numericas a partir de la dimensionalidad mostrada anteriormente y para las diferentes estructuras
evaluadas. Puede observarse que la precision para la mayorıa de los espacios de caracterısticas inicia-
les es mayor cuando estas son extraıdas de una estructura adelgazada. Le siguen la estructura normal
y despues la de esqueleto con precisiones de reconocimientos menores. De manera independiente el
espacio de caracterısticas denominado como division en zonas (n zon) usando una estructura normal
del dıgito alcanza en promedio una precision del 97.3 % la cual es la mas grande entre estos conjun-
tos. Mientras que el peor desempeno se obtiene al utilizar los descriptores basados en caracterısticas
geometricas (n geo).
n_inv n_cro n_d2b n_zon n_geo
Normal 92.5 94.0 97.3 54.8
Adelgazado 96.1 96.6 90.0 97.3 64.7
Esqueleto 91.5 92.0 85.4 94.1 57.9
53.0
58.0
63.0
68.0
73.0
78.0
83.0
88.0
93.0
98.0
Pre
cisi
ón
(%
)
Espacios de características
Figura 5.13: Comparativa de las estructuras binarias usadas para los espacios de caracterısticasiniciales.
No obstante, aun y cuando los espacios individuales funcionan mejor con la representacion adel-
gazada, en las combinaciones principales la representacion en esqueleto obtuvo en promedio una
tasa de reconocimiento mayor, como puede observarse en la Figura 5.14. Es notable la diferencia en
precision entre las combinaciones CE1 y CN1, la cual es relativamente pequena y hasta cierto punto
112 5.3. Evaluacion y resultados
podrıa ser despreciable. Esto es, si fuera necesario eliminar la complejidad del sistema de extraer
una estructura como es la representacion mediante esqueleto, entonces utilizar la estructura original
(normal) podrıa considerarse como una opcion alternativa.
99.08 98.62 99.2397.5
98.0
98.5
99.0
99.5
100.0
CN1 CT1 CE1
Pre
cisi
ón
(%
)
Espacios de características
Figura 5.14: Desempeno del uso de las combinaciones principales de los espacios de carac-terısticas para los tres tipos de estructura binaria.
En cuanto a las descriptores mediante de cadenas de sımbolos (s pfi, s afg y s pfi afg) los re-
sultados fueron inferiores al 86 % de precision de reconocimiento por dıgito para las tres opciones,
como se muestra en la Figura 5.15. Sin embargo la representacion s spi supera en precision a algunas
numericas como las denominadas distancias del centroide al borde (n d2b) y geometricas (n geo).
Es considerable la diferencia entre las representaciones s spi y s afg, por lo que se considero combinar
ambas cadenas para generar s pfi afg. La mejora de esta ultima solo ocurrio con respecto al espacio
s afg, mientras tanto no pudo obtenerse un desempeno que superara la mejor de las dos opciones
originales.
El bajo desempeno con la representacion s afg puede ser explicada por la dificultad de obtener
los patrones (cadenas) en la etapa de entrenamiento. El problema radica en que las cadenas son de
longitud variable, ası que es difıcil encontrar una representacion generica para cada clase, al menos
mediante el metodo propuesto de creacion de cadenas patron. Por lo tanto, dados los resultados
5. Extraccion y seleccion de caracterısticas 113
85.65 54.54 69.0950.0
55.0
60.0
65.0
70.0
75.0
80.0
85.0
90.0
95.0
100.0
s_pfi s_afg s_pfi_afg
Pre
cisi
ón
Espacios de características
Figura 5.15: Desempeno de las representaciones mediante cadenas de sımbolos.
este tipo de descriptores mediante cadenas fue descartado para su implementacion en el dispositivo
movil.
5.4 Resumen
En este capıtulo se presentaron los conjuntos de atributos (caracterısticas) utilizados para re-
presentar y diferencias las clases de dıgitos. Las caracterısticas extraıdas fueron de dos tipos: (1)
derivadas de la distribucion estadıstica de los pıxeles, y (2) geometricas y topologicas. Del primer ti-
po fueron obtenidos los conjuntos nombrados momentos centrales normalizados, cruces y distancias,
division en zonas, distancias del centroide al borde de la imagen, y puntos finales e intersecciones.
Por otra parte, las caracterısticas geometricas ası como la aproximacion de formas fueron evaluadas
en el segundo tipo de descriptores.
La evaluacion en esta etapa consistio en determinar el impacto en la tasa de reconocimiento
de un sistema que implementara los conjuntos de caracterısticas extraıdos, ası como combinaciones
de ellos. Sin embargo, fue necesario realizar la reduccion de dimensionalidad de las combinaciones
resultantes, con el fin de lograr de apoyar el proceso de clasificacion. Dos tecnicas para la seleccion
114 5.4. Resumen
de caracterısticas fueron utilizadas para este fin, ambas utilizando el criterio mRMR basado en infor-
macion mutua para el ordenamiento de las caracterısticas. En una segunda fase, el primer metodo
(mRMR+PCA) determina el numero adecuado de caracterısticas dentro de este conjunto ordena-
do, mediante el uso de dimensionalidad intrınseca usando PCA. Mientras que el segundo metodo
(mRMR+BS), realiza una busqueda secuencial sobre este mismo conjunto basandose en la precision
de un clasificador para realizar la seleccion.
El mejor desempeno del sistema de reconocimiento se obtuvo con las caracterısticas extraıdas
de la estructura binaria esqueleto con un 99.23 % de precision. No obstante, en comparacion con
el uso de la estructura obtenida directamente de la binarizacion (normal), la diferencia es mınima
y probablemente irrelevantes, ya que sus uso obtiene una tasa de reconocimiento del 99.08 %. Por
ello, el espacio de caracterısticas considerado como el mas apto para representar las clases de dıgitos,
fue el que incluyo los momentos centrales normalizados, los cruces y distancias, y division en zonas,
extraıdos de la estructura normal y con una longitud de vector de 21.
6Clasificacion
Una vez que se tiene la representacion de los patrones de entrada o desconocidos, del tipo que
estas sean, el proposito de la clasificacion es etiquetarlas o asignarlas a una clase especıfica. En este
capıtulo se abordan los detalles de las implementaciones de diversos clasificadores dentro de los tipos
que mejores resultados han obtenido o que han sido potencialmente efectivos para el reconocimiento
de caracteres. Estos clasificadores incluyen: correspondencia por correlacion, clasificacion por mınima
distancia y correspondencia de cadenas. Algunas tecnicas especıficas fueron evaluadas para cada uno
de este tipo de clasificadores, teniendo como orıgenes de representacion de los dıgitos, la imagen
completa en escala de grises, vectores numericos, y cadenas. La idea de utilizar estas distintas
formas de representacion es determinar si a partir de cierto conjunto de caracterısticas el clasificador
es capaz de lograr la mas alta tasa de reconocimiento. En la Figura 6.1 se presentan los elementos
involucrados en esta etapa de clasificacion evaluada, iniciando por las representaciones de entrada, y
finalizando con la asignacion de la clase correcta. Al igual que en los capıtulos anteriores que tratan
las fases del proceso de reconocimiento de dıgitos, en este capıtulo se analizan los resultados de las
implementaciones realizadas de los clasificadores.
115
116 6.1. Clasificacion
Figura 6.1: Clasificacion: alternativas evaluadas.
6.1 Clasificacion
Dos tipos distintos de representaciones de las clases de dıgitos fueron presentadas en el Capıtu-
lo 5, las cuales son obtenidas de imagenes binarizadas. Estas representaciones consistıan en vectores
numericos y cadenas de sımbolos, siendo necesaria la utilizacion de dos clasificadores de tipos dis-
tintos para cada una de ellas. Ademas, una tercera forma de clasificacion basada en correspondencia
por correlacion fue evaluada. Los detalles de esta tecnica son presentados hasta este capıtulo ya que
a diferencia de los otros metodos evaluados, esta realiza comparaciones entre las imagenes de prueba
y los patrones en escala de grises. Es por ello que las operaciones para convertir las imagenes a una
representacion binaria no fueron necesarias para este tipo de clasificacion.
Cuando la descripcion es cuantitativa la clasificacion consiste en tomar un vector de caracterısticas
de entrada x y asignarlo a una de las K clases Ck, donde k = 1, ..., K. En el escenario mas tıpico
las clases se consideran que se encuentran disjuntas, de modo que cada entrada se asigna a una y
solo una clase. Ası, el espacio de caracterısticas es dividido en regiones de decision, cuyos lımites
son llamados fronteras de decision o superficies de decision. En cambio, cuando la descripcion es
estructural se utilizan un conjunto de primitivas que representan la estructura de los dıgitos, y las
cuales pueden ser definidas como letras, formando ası una cadena a partir del conjunto de estas.
Mientras que la clasificacion mediante correspondencia considera una metrica de relacion entre la
imagen de prueba y el conjunto de patrones entrenados. A simple vista, parecerıa mas intuitivo
6. Clasificacion 117
utilizar la forma de clasificacion mediante correspondencia directa, en donde uno a uno los pıxeles
de la imagen son analizados. Sin embargo, representaciones en un nivel un poco mas alto, permiten
obtener una descripcion mas generalizada de la estructura de los caracteres, a fin de afrontar los
problemas de variabilidad que el enfoque de correspondencia directa acarrea.
Entre las fuentes de variabilidad que pueden afectar el reconocimiento mediante correspondencia
directa se encuentran [62]:
El ruido anadido y los cambios de iluminacion a la imagen.
Los diferentes angulos de presentacion de los caracteres.
Las diferentes estructuras que pueden presentar los caracteres, que difıcilmente seran exacta-
mente iguales en todos los casos.
Este enfoque de correspondencia podrıa parecer difıcil de implementar considerando el tipo de
imagenes que se analizan en nuestro proyecto, sobre todos dada la problematica de iluminacion
desigual que afecta la calidad de las mismas. Pero si estas degradaciones pudieran ser sobrepasadas
se podrıan obtener imagenes con menos ruido. Es precisamente esta la forma en que dicha tecnica de
clasificacion es usada en nuestra investigacion, primero las imagenes son manipuladas para mejorar
su aspecto y despues se calcula la correspondencia entre las imagenes patron y de prueba.
Aunque la correspondencia directa llegara a obtener una buena tasa de reconocimiento, el calculo
de la metrica que usa podrıa ser muy complejo, lo cual serıa poco factible si se desea implementar
en un dispositivo movil. Por lo tanto, como se menciono en el Capıtulo 2 el uso de representaciones
numericas o estructurales, es una buena alternativa para la clasificacion contra algunos tipos de
variabilidad. En especıfico para vectores numericos, la discriminacion lineal es una tecnica sencilla, la
cual es recomendable antes de utilizar un modelo mas complicado, a fin de justificar el uso de estos
ultimos. Por ello, decidimos probar la factibilidad de clasificadores de mınima distancia basados en
este enfoque de discriminacion, esto mediante el uso de tres metricas para el calculo de las distancias
que permiten crear funciones de decision que separan las clases en el espacio de caracterısticas y dan
a cada patron de entrada una clasificacion.
118 6.1. Clasificacion
Por otra parte, la clasificacion mediante correspondencia de cadenas involucra el uso de primitivas
para representar la estructura de los dıgitos, lo cual podrıa considerarse como una buena forma de
lograr la clasificacion. No obstante, los resultados de la clasificacion dependeran de dos situaciones
principales: la forma en que se haga la representacion de las diversas clases, y del algoritmo utilizado
para comparar las cadenas. Esta investigacion considera el uso de un algoritmo que utiliza el enfoque
de alineamiento de secuencias, el cual es muy concurrido en el area de biologıa computacional para
comparar cadenas de ADN [5]. Su uso esta poco difundido para otro tipo de representaciones, ası que
decidimos utilizarla como una opcion factible para realizar la correspondencia de cadenas.
Enseguida se analizan los detalles de los distintos tipos de clasificadores descritos anteriormente,
a fin de tener una descripcion formal de los mismos.
6.1.1 Clasificador de mınima distancia
En esta investigacion evaluamos el uso de las metricas de distancia mas usadas en reconocimiento
de patrones [117]: distancia Manhattan, distancia Euclidiana y distancia Mahalanobis.
6.1.1.1. Distancia Manhattan
La distancia Manhattan entre el vector desconocido x al centroide de cada clase ωj se calcula a
lo largo de los ejes en angulos rectos. En la forma mas simple que incluye la comparacion de vectores
con dos caracterısticas, la medida corresponde a encontrar el camino mas corto a traves de las lıneas
de un plano cuadriculado.
La distancia Manhattan podrıa ser considerada la mas simple, ya que solo requiere calcular la
suma de las diferencias absolutas entre cada elemento de los vectores comparados. En la clasificacion
por mınima distancia esta metrica se define como:
Dj(x) = |x−mj|, j = 1, 2, . . . ,W. (6.1)
Finalmente, el vector desconocido es asignado a la clase ωj con la menor distancia.
6. Clasificacion 119
6.1.1.2. Distancia Euclidiana
La distancia Euclidiana de un vector desconocido x es calculada al centroide de cada clase ωj
como sigue:
Dj(x) = ‖x−mj‖ , j = 1, 2, . . . ,W., (6.2)
donde ‖a‖ = (aTa)1/2 es la norma Euclidiana. Por lo tanto, x se asigna a la clase ωj si Dj(x)
es la menor distancia. Como puede observase, esta metrica no considera ninguna otra informacion
adicional ademas de la media de cada clase, mientras que asume que todas las variables tienen la
misma varianza y que son independientes.
6.1.1.3. Distancia Mahalanobis
La distancia Mahalanobis, es la distancia que por cada una de sus variables (caracterısticas) toma
en cuenta la variabilidad cuando es calculada al centroide cada clase ωj. De esta forma, las variables
con alta variabilidad reciben menos peso que las que presentan menor variabilidad. Esto se realiza
mediante el reescalamiento de las variables consideradas. Sea la media m y la matriz de covarianza
C definidas como:
mj =1
Nj
∑x∈ωj
xj, Cj =1
Nj − 1
∑x∈ωj
(xj −mj)(xj −mj)T con j = 1, 2, . . . ,W ., (6.3)
donde Nj es el numero de vectores de patrones para la clase ωj. Entonces, la distancia Mahalanobis
se define como:
δ(x) =1
2((x−mj)
TC−1j (x−mj))1/2
(6.4)
La metrica Mahalanobis es una generalizacion de la metrica Euclidiana, adecuada para lidiar con
varianzas desiguales y caracterısticas correlacionadas [28]. Se asume entonces que todas las clases
tienen una matriz de covarianza identica C, reflejando una forma hiper-elipsoidal de las distribuciones
del vector de caracterısticas correspondiente.
120 6.1. Clasificacion
Debido al uso de la inversa de la matriz de covarianza (C−1), si una variable (caracterıstica) tiene
una varianza mas grande que otra, recibe menos peso en la distancia Mahalanobis. Similarmente,
dos caracterısticas altamente correlacionadas no contribuyen tanto como dos caracterısticas menos
correlacionadas. El uso de la inversa de la matriz de covarianza en consecuencia tiene el efecto de
estandarizar todas las variables para unificar la varianza y eliminar correlaciones [3].
6.1.2 Correspondencia por correlacion
Podemos considerar la correlacion entre dos imagenes como el fundamento que permite encontrar
replicas de una subimagen w(x, y) de tamano J × K dentro de una imagen f(x, y) de dimension
M × N , donde se supone que J ≤ M y K ≤ N . Para nuestra aplicacion el problema se reduce
a comparar imagenes y subimagenes del mismo tamano, es decir, se cuenta inicialmente con una
imagen patron para cada clase que se compara contra la imagen de prueba (subimagen). Aunque
este enfoque de correlaciones se puede formular en forma vectorial, resulta mas intuitivo trabajar
directamente con el formato original o inicial de las imagenes[39].
En su forma mas simple, la correlacion entre f(x, y) y w(x, y) es:
c(s, t) =∑x
∑y
f(x, y)w(x− s, y − t), (6.5)
donde s = 0, 1, 2, ...,M−1, t = 0, 1, 2, ..., N−1, y la sumatoria se calcula para la region de la imagen
donde se solapan w y f . En la Figura 6.2 se ilustra este proceso, suponiendo que el origen de f(x, y)
esta situado en su parte superior izquierda y que el origen de w(x, y) esta ubicado en su centro. Para
cualquier valor de (s, t) dentro de f(x, y), la aplicacion de la Ecuacion 6.5 dara como resultado un
valor de c. Al variar s y t, w(x, y) se desplaza por la superficie de la imagen, dando la funcion c(s, t).
El maximo valor de c(s, t) indica la posicion en la que se produce la mayor correspondencia entre
w(x, y) y f(x, y).
La Ecuacion 6.5 tiene la desventaja de ser sensible a los cambios de amplitud de f(x, y) y w(x, y).
Por ejemplo, si duplicamos todos los valores de f(x, y), se duplica el valor de c(s, t). Una tecnica
utilizada con frecuencia para superar esta dificultad consiste en realizar la correspondencia mediante
6. Clasificacion 121
Figura 6.2: Obtencion de la correlacion entre f(x, y) y w(x, y) en el punto (s, t)
el coeficiente de correlacion, que se define como:
γ(s, t) =
∑x
∑y
[f(x, y)− f(x, y)][w(x− s, y − t)− w]{∑x
∑y
[f(x, y)− f(x, y)]2∑x
∑y
[w(x− s, y − t)− w]2}1/2
, (6.6)
donde s = 0, 1, 2, ...,M − 1, t = 0, 1, 2, ..., N − 1, w es el valor medio de los pıxeles de w(x, y) (que
se calcula una sola vez), f(x, y) es el valor medio de f(x, y) en la region coincidente con la actual
ubicacion de w, y las sumatorias se calculan para las coordenadas comunes a f y w. El coeficiente de
correlacion γ(s, t) esta normalizado en el rango -1 a 1, y es independiente de los cambios de escala
aplicados a la amplitud de f(x, y) y w(x, y).
6.1.3 Correspondencia de cadenas
En muchas aplicaciones es de relevante importancia medir el grado de similaridad entre dos
cadenas o patrones para fines de correspondencia o reconocimiento. A continuacion examinaremos
dos de las metricas ampliamente usadas para medir la similaridad de cadenas. Ademas se describen
los algoritmos de cada uno de estos tipos que fueron implementados para su evaluacion.
122 6.1. Clasificacion
6.1.3.1. Distancia de edicion
La forma mas utilizada para comparar dos cadenas es realizando el calculo de la distancia de
edicion entre ellas [100]. La distancia de edicion entre dos cadenas X e Y de longitud m y n
respectivamente, es el costo mınimo de transformar una de las cadenas en la otra por medio de una
secuencia de operaciones sobre los caracteres: eliminacion, insercion y reemplazo [113]. El costo de
esas operaciones de edicion elementales esta dado por alguna funcion de costo o de puntuacion [45].
La ecuacion de recurrencia correspondiente a la definicion de distancia de edicion es la siguiente:
ED(i, j) = mın{ ED(i− 1, j − 1) + c(Xi, Yj),
ED(i− 1, j) + c(Xi,−),
ED(i, j − 1) + c(−, Yj)},
(6.7)
donde ED(i, j) es la distancia de edicion entre X[1..i] y Y [1..j] y ED(0, 0) = 0. Teniendo como
funciones de costo: c(Xi, Yi) asociado con el cambio de Xi a Yi, el costo c(Xi,−) en que se incurre
por una eliminacion de Xi, y c(−, Yj) correspondiendo al costo resultado de la insercion de Yj.
Una implementacion directa del esquema de recurrencia anterior funciona adecuadamente, pero
es ineficiente, ya que la cantidad de posibles combinaciones k del patron Y es de 2n. Sin embargo,
es a partir de esta definicion de recurrencia que se puede construir una solucion practica (no-NP)
al problema mediante programacion dinamica. La idea principal detras de la programacion dinamica
es dividir un problema computacional en pequenos subproblemas, almacenar los resultados de esos
subproblemas, y finalmente, usar los resultados almacenados para resolver el problema original, lo
cual evita recalcular los mismos valores en repetidas ocasiones [68]. Como puede observarse, en la
recurrencia mostrada en la Ecuacion 6.8, la optimalidad de ED(i, j) esta construida en esencia en
base la solucion optima de sus subproblemas, ED(i, j − 1), ED(i − 1, j − 1), y ED(i − 1, j), en
un tiempo polinomial. Este fenomeno encaja perfectamente en el esquema de optimizacion basada
en Tabla de consulta (LUT por sus siglas en ingles) por medio de programacion dinamica [9].
Una inspeccion a la Ecuacion 6.8 puede revelar el hecho de que el calculo de D(X, Y ) puede ser
realizado con una complejidad O(mn) considerando m = |X| y n = |Y |. El algoritmo 3 representa
6. Clasificacion 123
la solucion para el calculo de la distancia de edicion utilizando programacion dinamica. En este caso
la recursion es sustituida usando un bucle anidado para calcular ED(i, j) en el orden correcto, de tal
forma que ED(i− 1, j− 1), ED(i− 1, j), y ED(i, j− 1) son calculados antes de tratar de calcular
ED(i, j).
Algoritmo 3 Algoritmo de programacion dinamica para el calculo de la distancia de edicionED(X, Y )
ENTRADA: Las cadenas X e Y .SALIDA: La mınima distancia de edicion que se encuentra en ED[n,m].
1: for i = 0→ m do2: ED[i, 0]← i // caso base3: end for4: for j = 0→ n do5: ED[0, j]← j // caso base6: end for7: for i = 0→ m do8: for j = 0→ n do9: ED[i, j]← mın{ ED[i−1, j−1]+c(Xi, Yj), ED[i−1, j]+c(Xi,−), ED[i, j−1]+c(−, Yj)}
10: end for11: end for12: return ED[n,m]
En esta investigacion se evaluaron dos de las distancia de edicion mas tıpicas: la distancia Le-
venshtein, y la distancia Damerau-Levenshtein. Su interpretacion basica se muestra enseguida.
Distancia Levenshtein
La metrica mas simple en donde cada una de las tres operaciones (insercion, eliminacion y reemplazo)
tienen un costo unitario es conocida como la distancia Levenshtein [67]. Por lo tanto, para el calculo
de esta distancia los costos dentro del algoritmo 3 mostrado anteriormente quedan como sigue:
c(Xi, Yj) = 1,
c(Xi,−) = 1,
c(−, Yj) = 1
(6.8)
124 6.1. Clasificacion
Distancia Damerau-Levenshtein
La distancia Damerau-Levenshtein [25] es una generalizacion de la distancia Levenshtein ya que
agrega una operacion adicional a las tres iniciales: el intercambio entre dos caracteres adyacentes.
En la distancia Levenshtein, el intercambio de dos caracteres requiere dos operaciones, usualmente
una eliminacion y una insercion. El algoritmo 4 permite calcular la distancia Demerau-Levenshtein
entre dos cadenas X e Y . La diferencia principal con el algoritmo para el calculo de la distancia
Levenshtein, radica en la definicion del costo c(Xi, Yj) , y la recurrencia anadida para realizar la
operacion de intercambio.
Algoritmo 4 Algoritmo de programacion dinamica para el calculo de la distancia de edicion Damerau-LevenshteinENTRADA: Las cadenas X e Y .SALIDA: La mınima distancia de edicion que se encuentra en D[n,m].
1: // Inicializacion de la matriz de distancia2: for i = 0→ m do3: D[i, 0]← i // eliminacion4: end for5: for j = 0→ n do6: D[0, j]← j // insercion7: end for8: for j = 0→ n do9: for i = 0→ m do
10: if X[i] = Y [i] then11: costo← 012: else13: costo← 114: end if15: D[i, j]← mın{D[i− 1, j] + 1, D[i, j − 1] + 1, D[i− 1, j − 1] + costo}16: if i > 1 and j > 1 and X[i] = Y [j − 1] and X[i− 1] = Y [j] then17: D[i, j]← mın{D[i, j], D[i− 1, j − 1]} // Intercambio18: end if19: end for20: end for21: return D[n,m]
6. Clasificacion 125
6.1.3.2. Alineamiento de secuencias
La distancia de edicion presenta la desventaja de que tiende a fallar identificando cadenas equi-
valentes que han sido demasiado truncadas, es decir, en las cuales que existen brechas o huecos
muy grandes. Por otra parte, el objetivo del alineamiento de secuencias es minimizar la distancia de
edicion entre dos cadenas. Para ello, estos metodos extienden el esquema para permitir secuencias
de caracteres sin coincidencia, o con brechas (huecos). Esto se logra mediante el uso de un mo-
delo de brecha afın el cual ofrece una solucion al penalizar la insercion/eliminacion de b caracteres
consecutivos (brecha) con bajo costo, mediante una funcion afın representada por la Ecuacion 6.9:
P (b) = s+ e · l (6.9)
donde s es el costo de abrir o iniciar una brecha, e es el costo de extenderla, y l es la longitud de
la brecha. Este modelo produce una medida de similaridad mas sensible que la distancia de edicion.
Formalmente el alineamiento de secuencias se define como sigue: dadas dos secuencias X =
x1, x2, ..., xm e Y = y1, y2, ..., yn, un alineamiento es una asignacion de cero o mas brechas a las
posiciones 0..m en X y 0...n en Y . Las brechas son agregadas de forma que las dos secuencias sean
los mas similares posibles.
Bajo el paradigma de programacion dinamica, las tecnicas de alineamiento de secuencias pueden
ser divididas en dos fases:
1) Llenar la matriz de sustitucion o alineamiento M(n×m) con los valores de las puntuaciones.
2) Recorrer hacıa atras la matriz M y encontrar la ruta con la maxima puntuacion.
La matriz de sustitucion es utilizada para calcular la puntacion de un alineamiento y ası comparar
la efectividad del mismo. El valor en F (i, j) solo puede ser calculado una vez que los valores de las
celdas adyacentes F (i − 1, j − 1), F (i − 1, j) y F (i, j − 1) han sido obtenidos. Siendo F (i, j) la
puntuacion del elemento en la i-esima fila y la j-esima columna de la matriz de sustitucion, match
definida como puntuacion por coincidencia/no coincidencia para los i-esimo y j-esimo elementos de
126 6.1. Clasificacion
la secuencia X e Y , y gp la penalizacion por brecha, el calculo de la puntuacion para cada elemento
de la matriz puede ser representado como sigue:
F (i, j) = max
F (i− 1, j − 1) +match
F (i− 1, j) + gp
F (i, j − 1) + gp
(6.10)
F (i, j) mantendra el valor mınimo de las tres celdas adyacentes si los caracteres Xi y Yj coinciden.
La penalizacion es agregada al mınimo de las soluciones previas si se incurre en un costo por no
coincidencia o de brecha para los caracteres Xi e Yj.
Despues de que la matriz F ha sido calculada, para encontrar el alineamiento optimo es realizado
un recorrido hacıa atras empezando en la celda (n,m) y dirigiendose hacia (0, 0). Si Xn = Xm
entonces el movimiento se realiza hacia la celda (n − 1,m − 1), de otra manera, el movimiento es
hacia la celda con el valor mas pequeno entre (n− 1,m) y (n,m− 1) [99]. El recorrido hacia atras
permite obtener la ruta con el costo menor, que a su vez da el alineamiento con el menor costo.
Dos de los algoritmos mas populares para el alineamiento de secuencias basados en programacion
dinamica fueron implementados en nuestro estudio, estos fueron: el algoritmo Needleman-Wunsch
que realiza un alineamiento global, y el algoritmo Smith-Waterman para la alineacion local.
Algoritmo Needleman-Wunch
Este es un algoritmo de alineamiento global[85]. Esto significa que la secuencia completa tiene que
ser alineada y las brechas al final de la secuencia son penalizados tanto como las brechas internas.
Es simple de implementar pero su ejecucion consume mucho tiempo.
Sea X[1..m] y T [1..n] las dos secuencias de longitud m y n, respectivamente, para encontrar el
alineamiento con la puntuacion mas alta F (i, j) para dos subsecuencias X[1..i] e Y [1..j] esta dada
6. Clasificacion 127
por la siguiente ecuacion de recurrencia [81]:
F (i, j) = max
F (i− 1, j − 1) + s(Xi, Yi, p)
F (i− 1, j)
F (i, j − 1)
(6.11)
Para ellos se realizan las inicializaciones: F (0, 0) = 0, F (i, 0) = −1 y F (0, j) = −j. s(Xi, Yi, p)
es la funcion que regresa el valor de la matriz de sustitucion p para el par de secuencias X e Y . La
salida del algoritmo es el valor de F (m,n)
El algoritmo NW generalmente consiste en cuatro etapas que se describen a continuacion [105]:
(1) Inicializacion
En esta fase la primera fila y columna es inicializada con un puntaje. La puntuacion se establece
en la puntuacion de espacio vacıo, multiplicado por la distancia desde el origen debido a que es
considerado que es un requisito para el alineamiento global el cual garantiza que los alineamientos
regresan al origen.
(2) Llenado
En esta etapa todas las celdas de la matriz se llena con una puntuacion y un puntero mediante una
sencilla operacion. Para encontrar el puntaje de una celda H(i, j) es necesario encontrar el valor
maximo entre tres puntajes: un puntaje final, un puntaje vertical de espacio vacıo y un puntaje
horizontal de espacio vacıo. El puntaje final es la suma de la puntuacion de la celda diagonal. El
puntaje horizontal de espacio vacıo es la suma de la celda a la derecha y el puntaje de espacio vacıo.
Ademas el puntaje vertical vacıo es la suma de la celda de arriba y el puntaje de espacio vacıo. En
la Figura 6.3 se muestra como se encuentra un puntaje de una celda H(i, j) de acuerdo a las reglas
mencionadas.
(3) Seguimiento de pista
Esta fase simplemente recupera el alineamiento de la matriz. El proceso de recuperacion comienza
128 6.1. Clasificacion
Figura 6.3: Encontrando el puntaje de H(i, j): H(i, j) es el valor maximo de tres puntajes: elpuntaje final, un puntaje vertical de espacio vacıo y un puntaje horizontal de espacio vacıo
de la esquina inferior derecha y continua siguiendo el puntero hasta regresar al inicio. Para producir
el alineamiento de cada celda, se necesita mantener las letras correspondientes o un guion para el
sımbolo del espacio vacıo. En este caso, se sigue de un extremo al comienzo debido a que la alineacion
sera al reves. Para obtener el alineamiento final solamente es necesario invertirlo.
(4) Regreso hacia atras
Este paso simplemente recupera el alineamiento de la matriz. El proceso de recuperacion inicia desde
la esquina inferior derecha y sigue el puntero hasta llegar el inicio. Para producir el alineamiento
en cada celda, se mantienen las letras correspondientes o un guion para el sımbolo vacıo. En este
caso se va desde un extremo hasta el inicio debido a que la alineacion sera al reves. Para obtener el
alineamiento final solo es necesario invertirlo.
Algoritmo Smith-Waterman
El algoritmo Smith-Waterman [106] utiliza un enfoque de alineamiento local. Esto quiere decir que
las busquedas para ambas secuencias completas o parciales coinciden. Las brechas al final de la
secuencia tienen una penalizacion de cero. Al igual que el algoritmo Needleman-Wunch, es facil de
implementar pero el tiempo de ejecucion es muy grande.
Sea X[1..m] y T [1..n] las dos secuencias de longitud m y n, respectivamente, la puntuacion
optima de alineamiento F (i, j) para dos subsecuencias X[1..i] e Y [1..j] esta dada por la siguiente
6. Clasificacion 129
ecuacion de recurrencia [84]:
F (i, j) = max
D(i, j)
F (i− 1, j − 1) + x(i, j)
E(i, j)
0
(6.12)
y
D(i, j) = max
F (i, j − 1) + a
D(i, j − 1) + b
E(i, j) = max
F (i− 1, j) + a
D(i− 1, j) + b
donde F (0, 0) = D(0, 0) = E(0, 0) = F (0, j) = D(0, j) = E(0, j) = F (i, 0) = D(i, 0) =
E(i, 0) = 0, para 1 ≤ i ≤ m y 1 ≤ j ≤ n. x(i, j) es la puntuacion de similaridad obtenida de la
matriz de alineamiento para los caracteres correspondientes Xi y Yj
Para alinear las dos secuencias X e Y , la puntuacion total optima F (n,m) necesita calcularse.
Una vez que la matriz esta llena, se obtiene la puntuacion maxima en la matriz completa y se inicia
un recorrido hacia atras desde ese elemento a uno de los tres elementos desde el cual la puntuacion
por alineamiento es calculada. Este proceso se repite hasta que la puntuacion cae por debajo de
cierto umbral o de cero.
6.2 Evaluacion y resultados
La evaluacion del desempeno de las tecnicas de clasificacion descritas en la Seccion 6.1 (pag.
116) consistio en comparar su efectividad para realizar el reconocimiento de los dıgitos. Cada tipo
de clasificador requiere una forma especıfica de los descriptores de caracterısticas usados para las
clases, tal como se indica en la Tabla 6.1.
130 6.2. Evaluacion y resultados
Clasificador Descriptores
Mınima distancia Vectores numericos
Correspondencia por correlacion Imagenes en grises, e imagenes binarizadas
Correspondencia de cadenas Cadenas
Tabla 6.1: Relacion de formas de descripcion para los diferentes tipos de clasificadores.
Los conjuntos de caracterısticas extraıdos a partir de las imagenes segmentadas fueron descritos
en el Capıtulo 5, los cuales tenıan una representacion numerica mediante un vector, y estructural
definiendo una cadena de sımbolos. En el caso de la descripcion numerica el entrenamiento consiste
en obtener los centroides de las clases en un espacio geometrico n-dimensional partir de los datos
asignados para ello. Mientras que para la representacion estructural se definen cadenas patron para
cada una de las clases a fin de llevar a cabo la correspondencia de cadenas.
Ademas de la clasificacion a partir de los descriptores mencionados anteriormente, se evaluo una
tecnica de reconocimiento basada en correspondencia por correlacion (Seccion 6.1.2, en la pag. 120).
Siendo esta una de las formas mas intuitivas en reconocimiento de patrones, las imagenes completas
fueron utilizadas como patrones. Dos tipos de imagenes fueron utilizadas: (1) las originales en escala
de grises, y (2) las binarizadas. Se experimento con estos dos conjuntos de imagenes a fin de
comprobar si una estructura binarizada resultarıa suficiente para realizar la discriminacion de clases,
o si mas detalles como los definidos por la escala de color de las imagenes en grises, podrıa aportar
mas informacion al obtener la correspondencia.
En la Tabla 6.2 se muestra la categorizacion de las tecnicas especıficas evaluadas para cada
tipo de clasificador. Las pruebas consistieron en analizar para cada tipo de clasificador las diferentes
formas de implementacion por medio de los algoritmos mostrados.
Para la fase de experimentacion dos conjuntos de imagenes de prueba fueron creados a partir
de capturas de cuatro marcas de medidores de agua bajo un ambiente no controlado, utilizando un
telefono celular. Las imagenes fueron recopiladas en un formato de escala de grises (8-bit). El primer
conjunto de prueba esta formado por 285 imagenes de la recopilacion inicial, incluyendo todos los
tipos de medidores. Estas imagenes fueron normalizadas a un tamano individual de 120×30 pıxeles
6. Clasificacion 131
Clasificador Algoritmos
Mınima distancia Distancia ManhattanDistancia Euclideana
Distancia Mahalanobis
Correspondencia por correlacion Correlacion
Correspondencia de cadenas Distancia LevenshteinDistancia DamerauNeedleman-Wunsch
Smith-Waterman
Tabla 6.2: Relacion de formas de descripcion para los diferentes tipos de clasificadores.
(Figura 6.4). El segundo conjunto de prueba consistio en separar los dıgitos del resto de las capturas
iniciales a fin de tenerlos agrupados por clases (de 0 a 9). Este ultimo conjunto consistio en 2,240
imagenes de dıgitos individuales normalizadas a un tamano de 20×30 pıxeles (Figura 6.5).
(a) (b) (c) (d)
Figura 6.4: Ejemplos de imagenes capturadas y procesadas de las cuatro marcas de medidoresde agua.
(a) (b) (c) (d)
Figura 6.5: Ejemplos de imagenes de dıgitos individuales extraıdas de lecturas completas.
6.2.1 Desempeno de la clasificacion por mınima distancia
En la Figura 6.6 se presenta la comparativa de los clasificadores de mınima distancia implemen-
tados, para los conjuntos de caracterısticas numericas extraıdos inicialmente y el conjunto resultado
de la combinacion de algunos de ellos (CN2), y utilizando el conjunto de imagenes de dıgitos indi-
viduales. Es importante notar como para estos espacios de caracterısticas el calculo de la distancia
132 6.2. Evaluacion y resultados
Mahalanobis para realizar la clasificacion obtuvo el mejor desempeno en cuanto a precision de re-
conocimiento en todos los casos. Evidentemente el calculo de la correlacion entre clases por parte
del clasificador de mınima distancia Mahalanobis permitio realizar una mejor discriminacion de las
clases.
38.0
48.0
58.0
68.0
78.0
88.0
98.0
n_inv n_cro n_d2b n_zon n_geo CN2
Pre
cisi
ón
(%
)
Espacios de características
Manhattan
Euclidiana
Mahalanobis
Figura 6.6: Precision de reconocimiento por dıgito de los clasificadores por mınima distancia.
El mejor desempeno se obtuvo al utilizar como espacio de caracterısticas la combinacion CN2 que
incluıa los conjuntos n inv, n cro y n zon, con un 98.9 % de precision de reconocimiento por dıgito
utilizando el clasificador de mınima distancia Mahalanobis. Mientras que la segunda mejor opcion
fue utilizando el espacio de caracterısticas individual n zon con un 97.3 % de precision mediante el
mismo clasificador.
Por otra parte, el reconocimiento por lectura como era de esperarse, se comporto de forma similar
que la clasificacion de dıgitos individuales, como puede verse en la Figura 6.7. Pero a diferencia que
los casos anteriores, la clasificacion por mınima distancia Manhattan obtuvo el mejor desempeno
al utilizar el conjunto de caracterısticas n zon. En esta comparativa es aun mas notoria la ventaja
del calculo de la distancia Mahalanobis sobre todo en el caso del mejores resultado obtenido en el
reconocimiento de dıgitos individuales. La diferencia es clara, ya que se tiene un 93.1 % de precision
de la mejor opcion con el espacio de caracterısticas CN2 superando significativamente al segundo
6. Clasificacion 133
mejor resultado con 81.5 %. En la Figura 6.7 se senala tambien el lımite que inicialmente se buscaba
superar, que consistıa en obtener mas del 90 % de precision de reconocimiento por lectura, que como
pudo observarse fue sobrepasado.
93.09
30.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
n_inv n_cro n_d2b n_zon n_geo CN2
Pre
cisi
ón
(%
)
Espacios de características
Manhattan
Euclidiana
Mahalanobis
Objetivo
Figura 6.7: Precision de reconocimiento por lectura de los clasificadores por mınima distancia.
6.2.2 Desempeno de la clasificacion mediante correspondencia por
correlacion
En la Figura 6.8 se muestran los resultados de la clasificacion mediante correspondencia por
correlacion, para los dos tipos de imagenes utilizadas, en grises y binarizadas. Asimismo, es posible
comparar el resultado de la clasificacion de los dıgitos individuales y de las lecturas. Como puede
observarse, la precision de la clasificacion por dıgito fue superior a la de lecturas como era de esperarse.
Para ambos conjuntos de imagenes el desempeno del reconocimiento por lectura supero el lımite por
superar del 90 % con efectividad del clasificador de 90.9 % y 94.4 %, respectivamente.
Aunque la idea de que una representacion mas sencilla por medio de imagenes binarizadas para
definir los patrones serıa menos vulnerable al realizar el calculo de la correlacion, quedo demostrado
que con representacion mediante imagenes en escala de grises la discriminacion fue mas efectiva
mediante este clasificador.
134 6.2. Evaluacion y resultados
97.5
99.2
90.9
94.4
85.0
87.0
89.0
91.0
93.0
95.0
97.0
99.0
Binarizadas Grises
Pre
cisi
ón
(%
)
Tipo de imagen
Digito
Lectura
Objetivo
Figura 6.8: Precision de reconocimiento por dıgito y lectura de la clasificacion por correspon-dencia por correlacion, utilizando como origen imagenes binarizadas y en escala de grises.
6.2.3 Desempeno de la clasificacion mediante correspondencia de
cadenas
Como se menciono, la correspondencia de cadenas se realizo utilizando dos metricas de dis-
tancia de edicion: distancia Levenshtein y distancia Damerau; y dos algoritmos de alineamiento de
secuencias: Needleman-Wunsch (NW) y Smith-Waterman (SW). Solo tres espacios distintos fueron
definidos mediante descriptores estructurales usando cadenas. Estos consistieron en dos espacios
diferentes iniciales (s pfi y s afg), y su unica combinacion posible (s pfi afg).
La Figura 6.9 muestra los resultados de las implementaciones realizadas para el reconocimiento
de dıgitos individuales. Puede observarse como para las cadenas con longitud fija como las obtenidas
para el conjunto s pfi, son clasificadas mejor mediante las tecnicas de alineamiento de secuencias. Sin
embargo, cuando las cadenas que se comparan presentan una longitud variable como en los conjuntos
denominados s afg y s pfi afg, las metricas de distancia de edicion a simple vista parecen obtener
la mejor correspondencia. Un caso especial ocurrio al realizar la correspondencia de las cadenas
mediante el algoritmo de alineamiento de secuencias SW para el conjunto s pfi afg, ya que si bien
las cadenas de longitud son variables sus resultados fueron mejores que usando las distancias de
6. Clasificacion 135
edicion. Esta diferencia es mas notable en los propios algoritmos NW y SW, cuya ventaja de este
ultimo puede ser justificada debido a su enfoque local en el cual las brechas o huecos al final de las
cadenas no son penalizadas, y por lo tanto es mas tolerante a las variaciones en longitud al menos
en el caso presentado. En este reconocimiento por dıgito, dados los resultados, existen dos mejores
opciones utilizando ambos algoritmos de alineamiento de secuencias para el conjunto s pfi, ya que
sus precisiones fueron muy similares.
50.0
55.0
60.0
65.0
70.0
75.0
80.0
85.0
90.0
95.0
100.0
s_pfi s_afg s_pfi_afg
Pre
cisi
ón
(%
)
Espacios de características
Levenshtein
Damerau
NW
SW
Figura 6.9: Precision de reconocimiento por dıgito de los clasificadores por correspondencia decadenas.
En la Figura 6.10 se puede apreciar como el reconocimiento por lectura presento variaciones
similares a la clasificacion por dıgito. No obstante, se observa una diferencia mas marcada entre el
uso de los algoritmos de alineamiento de secuencias, obteniendose la mejor correspondencia mediante
el algoritmo SW. Sin embargo, la precision de reconocimiento por lectura de 75.3 % proporcionada por
el uso del espacio de caracterısticas denominado s pfi y el clasificador de alineamiento de secuencias
SW, queda muy por debajo del objetivo de reconocimiento inicialmente definido.
136 6.3. Resumen
75.3
44.5
61.9
35.0
45.0
55.0
65.0
75.0
85.0
95.0
s_pfi s_afg s_pfi_afg
Pre
cisi
ón
(%
)
Espacios de características
Levenshtein
Damerau
NW
SW
Objetivo
Figura 6.10: Precision de reconocimiento por lectura de los clasificadores por correspondenciade cadenas.
6.3 Resumen
En este capıtulo se describieron los algoritmos de clasificacion implementados en nuestra inves-
tigacion ası como los resultados de su evaluacion. Tres tipos de clasificadores fueron evaluados: (1)
clasificador de mınima distancia, (2) correspondencia por correlacion, y (3) correspondencia de ca-
denas; teniendo como representaciones especıficas de las clases de dıgitos, (1) vectores numericos,
(2) imagenes en grises y binarizadas, y (2) cadenas de caracteres, respectivamente.
Tres distancias fueron calculadas y comparadas al realizar la clasificacion por mınima distan-
cia: distancia Manhattan, distancia Euclideana y distancia Mahalanobis. La correspondencia por
correlacion siguio un unico camino. Mientras que para calcular la correspondencia de cadenas se uti-
lizaron dos metricas para calcular la distancia de edicion: distancia Levenshtein y distancia Damerau.
Ası tambien, el alineamiento de secuencias mediante los algoritmos NW y SW fue evaluado en la
correspondencia de cadenas.
Los resultados demostraron que la correspondencia por correlacion utilizando imagenes en grises
como patrones, obtuvo el mejor desempeno con una precision promedio de reconocimiento por dıgito
6. Clasificacion 137
de 99.2 %, y por lectura del 93.8 %. En segundo lugar con una diferencia mınima se encuentran los
resultados obtenidos por representaciones mediante descriptores numericos, los cuales mostraron una
precision promedio maxima de 98.9 % en el reconocimiento de dıgitos, y del 93.1 % en cuanto al
reconocimiento de lecturas completas. Mediante la correspondencia de cadenas el maximo desempeno
fue de 86 % de precision promedio de clasificacion por dıgito, y del 75.3 % en el reconocimiento de
lecturas, ambos casos utilizando algoritmos de alineamiento de secuencias.
Aun y cuando la correspondencia por correlacion fue mas efectiva en el reconocimiento de los
dıgitos, esta presenta una mayor complejidad al realizar el calculo de las correspondencias. Por ello, la
implementacion en un dispositivo de capacidades reducidas como un telefono celular requiere incluir
algoritmos menos complejos computacionalmente. Por lo tanto, la mejor opcion para implementar
en este dispositivo movil incluye la representacion numerica de las clases, y utilizar un clasificador de
mınima distancia. Todas estas cuestiones de implementacion de las versiones para el telefono movil
y el servidor de manejo de errores seran tratados en el siguiente capıtulo.
7Sistema de reconocimiento de dıgitos basado en
dispositivos moviles
Uno de los objetivos principales de esta investigacion fue el disenar e implementar un sistema
de reconocimiento de dıgitos automatizado basado en el uso de un dispositivo movil. Para ello, una
version del sistema se diseno para un dispositivo movil considerando sus capacidades, y por otra parte
un componente externo basado en la utilizacion de un equipo computacional de mayores prestaciones,
se encargo del reconocimiento de las lecturas consideradas como potencialmente incorrectas en el
movil.
En este capıtulo se describen los detalles de la arquitectura del sistema de reconocimiento auto-
matizado propuesto. Se inicia con la definicion de la estructura general del sistema, y posteriormente
se analizan sus dos componentes principales: (1) la version para el dispositivo movil ; y (2) la ver-
sion para el equipo de escritorio. Finalmente se evaluan los resultados de ambas implementaciones,
ası como la efectividad de su interaccion para el objetivo de reconocimiento de dıgitos planteado.
139
140 7.1. Arquitectura del sistema de reconocimiento automatizado
7.1 Arquitectura del sistema de reconocimiento
automatizado
En la Figura 7.1 se muestra el diagrama funcional que representa la estructura y funcionamiento
del sistema de reconocimiento de dıgitos propuesto. Es inevitable que el sistema de reconocimiento
implementado en el dispositivo movil cometa algunos errores en el reconocimiento, por mınimos que
sean. Por lo tanto, resulto conveniente que el esquema fuera capaz de realizar un manejo adecuado
de las lecturas no exitosas, y con esto dar una mejor calidad a los resultados.
Figura 7.1: Estructura de un servicio de lectura automatizada de medidores, que incluye el usode un telefono movil, y el manejo de los errores producidos por este dispositivo mediante eluso de un servidor externo.
El manejo de los errores del reconocimiento bajo el esquema propuesto consistio en definir metricas
en cuanto a la calidad de la imagen, con el fin de inferir si dadas ciertas caracterısticas de degradacion
potencialmente ocurra este error. Dos fueron los indicios seleccionados para la deteccion de errores
potenciales en el dispositivo movil:
La relacion de aspecto, que consiste en obtener la razon entre el ancho y el alto del objeto, y
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 141
con la cual es posible definir si el objeto se encuentra dentro de las dimensiones previamente
definidas para cada clase sin importar a que escala se encuentra ; y
El tamano de los objetos dıgitos comparados contra sus vecinos en la lectura, es decir que tan
diferente es el tamano del objeto analizado actualmente contra el promedio de las dimensiones
de los otros dıgitos en la lectura.
Por otra parte, el esquema de comunicacion para la evaluacion de los posibles errores del movil
fue el modelo tıpico cliente-servidor mediante la utilizacion de sockets TCP sobre una red de area
local (LAN). Este modelo se detalla en la Figura 7.2.
Figura 7.2: Modelo de comunicacion cliente-servidor utilizado en la transferencia de de image-nes del dispositivo movil al servidor para el manejo de errores.
Dado que ambas versiones del sistema fueron disenadas con base en las capacidades del dispo-
sitivo en que se implementaron, el proceso de reconocimiento difiere entre estas. Basicamente, el
objetivo fue definir la configuracion del sistema mas adecuada de acuerdo con los resultados obtenidos
142 7.1. Arquitectura del sistema de reconocimiento automatizado
mediante el estudio sistematico descrito en los Capıtulos 4, 5 y 6. Los detalles de la implementacion
de las dos versiones del sistema se describen en las siguientes secciones.
7.1.1 Version para el telefono movil
La version del sistema de reconocimiento del telefono movil consistio en la implementacion de las
tecnicas que reportaron mejores resultados mediante el estudio sistematico presentado en los Capıtu-
los 4, 5 y 6. Ademas, fue necesario identificar dentro de este mismo conjunto de opciones efectivas
aquellas que siguieran un enfoque de simplicidad computacional, debido a los recursos limitados con
que cuenta el dispositivo movil. La configuracion del sistema de reconocimiento implementado en el
movil consistio en lo siguiente:
Binarizacion: mediante el metodo Bernsen.
Posprocesamiento: normalizacion en tamano de cada dıgito en la lectura.
Espacio de caracterısticas: conjunto creado por la combinacion de: momentos centrales nor-
malizados, zoning, cruces y distancias.
Seleccion caracterısticas: no hubo reduccion de dimensionalidad, cada una de las caracterısticas
del conjunto seleccionado fue relevante para la clasificacion.
Clasificador : por mınima distancia Mahalanobis.
En la Figura 7.3 se muestra graficamente el funcionamiento del sistema implementado en el
telefono movil de acuerdo a la configuracion mencionada anteriormente.
7.1.1.1. Definicion de patrones
Los datos creados en el entrenamiento y necesarios para realizar el reconocimiento de nuevas
muestras de prueba, fueron cargados al telefono movil en archivos de texto plano con tabulaciones.
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 143
Figura 7.3: Sistema de reconocimiento de dıgitos implementado en el telefono movil
144 7.1. Arquitectura del sistema de reconocimiento automatizado
Para el funcionamiento del sistema reconocimiento en el movil fue necesario crear tres archivos, cuyo
contenido se describe a continuacion:
(1) Los centroides de los patrones de las clases.
Como se menciono en la Seccion 6.1.1, cuando se utiliza un clasificador de mınima distancia cada
clase esta representada por la media de las muestras del conjunto de entrenamiento. Esto significa
que para cada una de las m clases existira un vector de caracterısticas de tamano n en donde el
valor de cada elemento (caracterıstica) esta dado por el promedio de los valores de los vectores de
entrenamiento en el elemento correspondiente. En la Figura 7.4 se representa la estructura generica
del archivo de texto conteniendo los patrones de entrenamiento. En este caso el valor de m es fijo
ya que la clasificacion se realiza para 10 clases en todos los casos expuestos.
Figura 7.4: Estructura del archivo de texto que almacena los valores de los centroides de lospatrones de las clases
(2) Los datos para la normalizacion del conjunto de prueba.
La normalizacion puede ser utilizada para escalar los datos en el mismo rango de valores para
cada caracterıstica. Es especialmente util para modelar la aplicacion donde las entradas (vectores
de caracterısticas) presentan valores en escalas muy diferentes, como es el caso del conjunto de
caracterısticas que se selecciono para su implementacion. Para normalizar nuestros conjuntos de
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 145
datos tanto de entrenamiento como de prueba, se utilizo un metodo de normalizacion lineal, con el
cual cada variable o elemento del conjunto fue normalizado al intervalo [0 10]. Este procedimiento
por medio de la siguiente transformacion lineal simple [8]:
xnormalizada =xoriginal − xminxmax − xmin
× 10 (7.1)
donde xmin y xmax son los valores maximo y mınimo respectivamente, dentro de los datos de cada
variable (caracterıstica) del conjunto. De esta manera, la normalizacion de un vector requiere aplicar
este procedimiento para cada variable. En nuestro caso un archivo fue creado con la informacion
necesaria para la normalizacion de los datos de prueba, el cual incluyo los valores maximos y mınimos
para cada una de las n caracterısticas del conjunto seleccionado (Figura 7.5).
Figura 7.5: Estructura del archivo de texto que almacena la informacion necesaria para lanormalizacion de los datos de prueba.
(3) La inversa de la matriz de covarianza.
La tecnica de clasificacion implementada en esta version del telefono movil involucra el calculo de
la distancia mediante la metrica Mahalanobis. Esta metrica requiere obtener la inversa de la matriz
de covarianza para cada una de las clases, tal como se describe en la Seccion 6.1.1.3. La dimension
original de cada matriz de covarianza para las m clases es de n×n, donde n se refiere a la cantidad de
caracterısticas del espacio en cuestion. El archivo generado conteniendo estas matrices consistio en
una fila de longitud p = n×n×m, de manera que su importacion dentro de la aplicacion fuera hacia
un arreglo unidimensional, y por lo tanto el acceso a este fuera computacionalmente mas sencillo .
Estos archivos fueron guardados en la tarjeta de memoria SD del telefono celular. Luego, el
146 7.1. Arquitectura del sistema de reconocimiento automatizado
Figura 7.6: Estructura del archivo de texto que almacena las matrices inversas de covarianzausadas en el clasificador por mınima distancia Mahalanobis.
conjunto de imagenes de prueba que contiene lecturas completas fue usado para evaluar la precision
del reconocimiento del sistema en esta version.
7.1.1.2. Implementacion
Esta version del sistema de reconocimiento fue implementada en un telefono inteligente con
el sistema operativo Android usando el lenguaje de programacion Java. El equipo utilizado fue un
telefono Motorola MB511 con un procesador OMAP3410 operado a 600 Mhz y con 512 MB de
memoria RAM.
7.1.2 Version para el equipo de escritorio
La evaluacion sistematica de cada paso en el proceso de reconocimiento de dıgitos presentado
en los Capıtulos 4, 5 y 6, fue realizada en un equipo de escritorio. Por tal motivo, no fue necesario
realizar alguna consideracion especial respecto a la version de escritorio del sistema de reconocimiento.
Ademas, esta version permitio lograr tres objetivos principales:
Agilizar el proceso de depuracion y prueba de todas las implementaciones de algoritmos; y
Obtener los datos de entrenamiento para utilizarlos en la version implementada en el dispositivo
movil.
Realizar el manejo de los errores identificados por la version del dispositivo movil, mediante el
reconocimiento efectivo de las lecturas incorrectas.
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 147
El proceso mediante el cual esta version de escritorio realiza el reconocimiento efectivo de de las
imagenes de las lecturas que el telefono movil identifica como errores potenciales, se muestra en la
Figura 7.7.
Figura 7.7: Sistema de reconocimiento de dıgitos implementado en el equipo de escritorio
En este caso fue elegida la tecnica de correspondencia por correlacion (Seccion 6.1.2) para realizar
la clasificacion, dado que esta opcion fue la que mejores resultados obtuvo. Tal como se mostro en
la Seccion 6.2.2, el uso de esta tecnica obtuvo una precision promedio de reconocimiento por lectura
del 93.8 % mediante el calculo de la correlacion cruzada normalizada (NCC por sus siglas en ingles).
Este procedimiento implico el uso de W imagenes patron para representar las clases de cada marca
(pi). De esta manera el calculo de la correlacion se realiza entre cada imagen patron y la imagen de
prueba conteniendo un dıgito.
7.1.2.1. Implementacion
Esta version de escritorio fue implementada en Matlab R2011a, y considero la evaluacion de
todas las tecnicas descritas en los Capıtulos 4, 5 y 6.
148 7.2. Evaluacion y resultados
7.2 Evaluacion y resultados
La implementacion del sistema completo fue evaluada considerando su precision de reconoci-
miento y tiempo de procesamiento. Se analizo de manera independiente el desempeno de la version
del telefono movil, ası como como su interaccion con el servidor externo (version del equipo de
escritorio), a fin de evaluar la efectividad del sistema completo.
7.2.1 Implementacion en el telefono movil
El traslado de la implementacion de los algoritmos probados en el equipo de escritorio fue realizada
de manera transparente, es decir, los resultados en cuanto al reconocimiento de la version del telefono
movil no se vieron afectados notablemente en el proceso.
Considerando la precision reducida disponible en el telefono movil para las operaciones matemati-
cas con numeros flotantes, se realizo el escalamiento de los datos con un factor de 104, mientras
que los valores menores de 10−4 fueron igualados a cero. Experimentalmente se pudo comprobar que
este escalamiento de los datos no afecto significativamente los resultados originalmente obtenidos.
En la Tabla 7.1 se muestran los resultados del desempeno del espacio de caracterısticas elegido
para su implementacion (CN2) tanto para el reconocimiento de los dıgitos de manera individual,
como para el caso de las lecturas completas. Ademas, se comparan los resultados de los conjuntos
que originalmente componen a esta combinacion. Como puede observarse los resultados concuerdan
con los obtenidos en el analisis sistematico y que fueron presentados en el Capıtulo 6.
Espacios de caracterısticas Precision ( %)Dıgito Lectura
n inv Momentos centrales normalizados 92.5 58.5
n cro Cruces y distancias 94.0 74.7
n zon Zoning 97.3 47.5
CN2 Momentos invariantes + Zoning + Cruces 98.9 93.2
Tabla 7.1: Precision de reconocimiento por dıgito y lectura del sistema implementado en eltelefono movil.
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 149
La otra metrica que se utilizo para valorar el desempeno de la version del telefono movil, fue el
tiempo promedio que le lleva a este sistema realizar el proceso de reconocimiento. En la Tabla 7.2
se muestran los tiempos promedio de procesamiento por dıgito para los espacios de caracterısticas
utilizados en la implementacion. Aunque se habıa determinado que la clasificacion se realizarıa me-
diante mınima distancia Mahalanobis, tambien se obtuvo el tiempo promedio de ejecucion al utilizar
la metrica Euclidiana mediante el mismo tipo de clasificador, con el fin de compararlos y mostrar sus
diferencias.
Tiempo de ejecucionEspacios de caracterısticas por clasificador (mseg)
D.Euclidiana D. Mahalanobis
n inv Momentos centrales normalizados 26 27
n cro Cruces y distancias 29 31
n zon Zoning 26 27
CN2 Momentos invariantes + Zoning + Cruces 32 37
Tabla 7.2: Tiempo promedio (en milisegundos) de procesamiento para el espacio de caracterısti-cas con el mejor desempeno y los espacios de caracterısticas individuales que lo componen.
Por lo tanto, dada la mejor configuracion del sistema (CN2) el mayor tiempo posible para llevar
a cabo el reconocimiento de una lectura tomarıa 185 milisegundos en promedio, en el caso de una
lectura de 5 dıgitos y utilizando un clasificador de mınima distancia Mahalanobis. Aun y cuando
el calculo de la distancia Mahalanobis implica realizar algunas operaciones extras que la distancia
Euclidiana, los resultados de tiempos de procesamiento en general fueron muy similares. Ası, dados
los resultados, el uso de la distancia Mahalanobis en el clasificador de mınima distancia fue la mejor
opcion para su implementacion en el telefono movil.
7.2.2 Desempeno del sistema completo
La evaluacion del desempeno del sistema de reconocimiento automatizado consistio en valorar el
impacto del uso del servidor externo (version de escritorio) para mejorar los resultados obtenidos por
la version del sistema en el telefono movil, considerando la tasa de reconocimiento final y el tiempo
de procesamiento efectivo.
150 7.2. Evaluacion y resultados
En la Figura 7.8 muestra la comparativa de la precision de reconocimiento de las versiones del
telefono movil y de la de escritorio, ası como del sistema completo. Aquı se puede observar que en este
sistema completo la precision promedio obtenida por el telefono solo mejora en un 0.45 % utilizando
el servidor externo el cual cuenta con una tasa de reconocimiento promedio de 93.54 % por lectura.
Aunque la precision de la tecnica de correspondencia de patrones utilizada en el servidor en una prueba
independiente con las mismas imagenes obtuvo excelentes resultados (94.43 % precision por lectura),
esta deficiencia del sistema completo obedece principalmente a la forma en que fueron detectadas las
lecturas incorrectas. Entonces, si la implementacion del telefono movil envio mayormente el mismo
tipo de imagenes de mala calidad que el servidor tampoco podıa reconocer, en consecuencia el
reconocimiento final se vio ligeramente mejorado.
93.09
94.43
93.09
0.45
92.00
92.50
93.00
93.50
94.00
94.50
95.00
Móvil Servidor Sistema completo
Pre
cisi
ón
(%
)
Servidor
Móvil
Figura 7.8: Comparativa del desempeno de las versiones: movil, servidor y sistema completo.
Por otra parte, fue calculado el tiempo maximo de ejecucion en el cual puede ser llevado a cabo el
proceso completo, desde que se realiza el reconocimiento en el movil hasta que se recibe el resultado
del servidor. Los pasos involucrados en este procedimiento se describen a continuacion:
1. Procesamiento en el movil: Es la ejecucion de la version en el dispositivo movil para
realizar el reconocimiento de una lectura, ası como para verificar si esta podrıa ser reconocida
incorrectamente.
7. Sistema de reconocimiento de dıgitos basado en dispositivos moviles 151
2. Transferencia de la imagen al servidor: La transferencia ocurre cuando el telefono
movil detecta una lectura con posibilidades de ser reconocida de manera incorrecta, y esta es
enviada al servidor mediante la red de area local.
3. Reconocimiento en el servidor: Es el proceso de reconocimiento de la lectura enviada
por el telefono movil utilizando la version de escritorio del sistema.
4. Transferencia de los resultados al movil: Una vez realizado el reconocimiento mediante
la version de escritorio del sistema, los resultados son enviados de vuelta por el mismo medio.
La Figura 7.9 muestra una lınea de tiempo con la cual se tratan de representar los tiempos
promedio (en segundos) que el sistema requiere para realizar cada tarea del proceso, ası como su
orden secuencial. Estos tiempos fueron calculados en base al reconocimiento de la imagen de una
lectura conteniendo 5 dıgitos. Por lo tanto, el tiempo maximo estimado que el sistema completo
tarda en resolver el reconocimiento de una lectura es de 3.16 segundos, considerando los tiempos
promedio de cada actividad. Es de interes senalar que esto se encuentra aun bajo el lımite de tiempo
impuesto en los objetivos de esta investigacion.
Figura 7.9: Lınea de tiempo (en segundos) del proceso de reconocimiento del sistema completopara una lectura de 5 dıgitos. Franja gris: duracion promedio de las actividades de maneraindividual.
152 7.3. Resumen
El tiempo efectivo de procesamiento lo definimos como el tiempo que en promedio tomara el
reconocimiento de una lectura de maximo 5 dıgitos considerando la precision del movil y la proba-
bilidad de que se llame al servidor para realizar el manejo del reconocimiento erroneo. El calculo de
esta medida de desempeno se realiza mediante la Ecuacion (7.2) :
te = (tM ∗ pM) + (tM + tS) ∗ (1− pM) (7.2)
donde tM y pM son el tiempo promedio de procesamiento, y la probabilidad de que se realice
el reconocimiento correctamente en el movil, respectivamente. tS es el tiempo promedio de proce-
samiento en el servidor, y 1 − pM es la probabilidad de realizar una llamada al servidor, es decir,
la probabilidad de que el reconocimiento falle. Entonces, considerando tiempos calculados anterior-
mente, podemos realizar el calculo del tiempo efectivo de procesamiento de la siguiente manera:
te = (0.185seg)(0.931) + (0.185seg + 2.973seg) ∗ 0.069
te = 0.39seg
7.3 Resumen
En el presente capıtulo se presento la implementacion de un sistema de reconocimiento de dıgitos
automatizado compuesto de una version para un telefono movil y otra para un equipo de escritorio,
de forma que esta ultima aumentara la calidad de los resultados dadas las lecturas incorrectas
del movil. La implementacion en el dispositivo movil de los algoritmos probadas en el equipo de
escritorio se realizo de manera transparente, por lo que no existio ninguna diferencia apreciable.
El sistema completo obtuvo un reconocimiento promedio del 93.53 %, lo cual solo mejoro en un
0.45 % los resultados obtenidos por la version del telefono movil. Mientras que el tiempo maximo
de reconocimiento por lectura mediante el movil es de 185 milisegundos. Por otra parte, el tiempo
efectivo de procesamiento es de 3.16 segundos considerando la probabilidad de que alguna lectura
potencialmente incorrecta sea detectada.
8Conclusiones y trabajo futuro
8.1 Conclusiones
Actualmente, el desarrollo de aplicaciones para el ambito productivo en dispositivos moviles es
factible. Esto es posible gracias a las prestaciones con las que cuentan dispositivos actuales como los
telefonos inteligentes para los cuales se pueden construir aplicaciones de reconocimiento o lectura
automatica de sımbolos o caracteres.
En el caso especıfico del diseno de sistemas de procesamiento de imagenes este requiere de
un analisis detallado de las caracterısticas de la aplicacion y de las capacidades del dispositivos en
que se deseen implementar. El objetivo de esta tesis fue precisamente el desarrollo de un sistema
que realizara el reconocimiento de dıgitos a partir de imagenes tomadas de medidores de agua. La
motivacion fue crear un sistema que permitiera automatizar este proceso que anteriormente se hacıa
de manera manual, haciendo uso de las capacidades de un dispositivo de uso muy difundido.
Sin embargo, no bastaba con realizar la implementacion directamente de algun diseno encontrado
en la literatura para realizar el reconocimiento de estos caracteres, ya que su funcionamiento depende
de las caracterısticas de la aplicacion y aun no existe una forma de generalizar todas las variantes de
153
154 8.1. Conclusiones
este tipo de problemas. Con el fin de satisfacer las restricciones de tiempo y un nivel de exactitud
requerido en un entorno movil, fue necesario llevar a cabo un estudio sistematico que permitiera
identificar en cada fase del sistema de reconocimiento, las tecnicas que mejores resultados podrıan
generar en la salida final del sistema, es decir, en la correcta clasificacion de los dıgitos.
En la primera etapa evaluada definida como pre-procesamiento, algunos algoritmos permitieron
realizar la simplificacion de las imagenes en escala de grises originales utilizadas como entrada del
sistema, de manera que quedaran identificadas mediante dos colores de pıxel, uno para los objeto y
otro para el fondo. Aquı, fueron evaluados cinco algoritmos que calculan un umbral para realizar la
binarizacion. Se consideraron dos maneras para realizar el analisis de esta etapa, los cuales consistieron
en primero determinar mediante algunas metricas correspondencia de patrones principalmente, cual
era la desviacion con respecto a patrones de imagenes binarias esperadas; y segundo, corroborar
mediante la creacion de un sistema de reconocimiento preliminar si estos resultados concordaban
con la integracion de estos algoritmos en el sistema.
La etapa de extraccion de caracterısticas, considerada una de las mas importantes, pretendio en-
contrar la mejor representacion que podrıan tener las clases de dıgitos a fin de realizar la correcta
clasificacion de los elementos de prueba. Para ello, se opto por extraer caracterısticas relacionadas
con la distribucion estadıstica de puntos, y otras que permitieran describir o definir como primiti-
vas geometricas a los dıgitos. Basicamente, se trato de definir dos tipos de clasificaciones una del
tipo numerico, la cual es ampliamente usado en el reconocimiento de patrones, y otra que pudie-
ra considerar a las caracterısticas de los dıgitos, como una cadena de sımbolos. Fueron evaluados
estos conjuntos individuales de caracterısticas y sus combinaciones mas prometedoras. Dada la di-
mensionalidad resultante de estas combinaciones se considero utilizar una tecnica de seleccion de
caracterısticas de forma de que los descriptores redundantes o menos redundantes fueran descartados
para la representacion de las clases de dıgitos. Esta tecnica automatica de seleccion de caracterısticas
basada en un enfoque de mınima-redundancia-maxima-relevancia (mRMR), no obtuvo los resultados
esperados, ya que la seleccion no concordaba con una seleccion manual realizada para corroborar su
implementacion. Por lo tanto, habiendo encontrado poco factible la utilizacion de esta tecnica de
seleccion, se procedio a seleccionar manualmente a la vez que se evaluaba el impacto en el sistema
8. Conclusiones y trabajo futuro 155
final.
En la etapa final correspondiente a la clasificacion, algunas tecnicas fueron evaluadas, sobre to-
do de aquellas que de hecho se conociera su simplicidad de implementacion. Fueron analizadas las
ventajas del uso de clasificadores basados en el calculo de mınima distancia, por medio del uso de
tres metricas distintas: Manhattan, Euclidiana y Mahalanobis. Las ventaja del uso de la metrica
Mahalanobis fue lo suficientemente superior para considerarla la mejor opcion para este tipo de clasi-
ficadores. Ademas, se realizo la implementacion de dos algoritmos de clasificacion, uno para realizar
la correspondencia por correlacion, y el otro para realizar la correspondencia de cadenas de sımbolos.
Los resultados demostraron que en el reconocimiento de dıgitos individuales, la correspondencia por
correlacion fue mejor que los otros clasificadores, incluso que los del calculo de la distancia mınima.
Sin embargo, no se considero su implementacion en el dispositivo movil debido a la complejidad de
los calculos que requiere. En el caso de la correspondencia de cadenas los resultados fueron los mas
bajos respecto de todo el conjunto de clasificadores evaluados.
Finalmente, la implementacion en el telefono celular se realizo con la configuracion que mejores
resultados obtuvo, definida a partir del estudio sistematico llevado a cabo. Los inconvenientes de
esta implementacion fueron mınimos en cuanto a que la viabilidad de los algoritmos evaluados
no correspondiera con las capacidades computacionales del dispositivo. De esta manera, se pudo
trasladar la implementacion de escritorio a un smartphone. Esto permitio obtener ademas una metrica
de desempeno relacionada con el tiempo de procesamiento. Ası, las metas impuestas en cuanto a
obtener una precision mayor al 90 % y que el tiempo de procesamiento fuera menor a 6 segundos
fueron alcanzadas.
Por otra parte, si se requiriera que el sistema integrara el reconocimiento de otra marca de
medidor, eso implicarıa redefinir los patrones de las clases tanto la version en el telefono movil
como la del servidor. Para la implementacion en el movil, tanto el algoritmo de binarizacion como
el conjunto de caracterısticas utilizado mostraron un buen desempeno con la variedad existente de
medidores, por lo que no es necesario volver a probar el resto de los espacios considerados. De igual
manera, el clasificador por mınima distancia Mahalanobis se utilizarıa por defecto, ya que la diferencia
en efectividad contra el resto de los clasificadores fue considerables. En la version del servidor en la
156 8.2. Trabajo futuro
computadora de escritorio la integracion del nuevo medidor serıa mas sencilla, ya que bastarıa con
agregar sus imagenes patron y realizar el calculo de la correlacion para las imagenes actuales y las
que se integran. Obviamente, para este ultimo caso el procesamiento serıa cada vez mayor conforme
se agregaran mas marcas de medidores, lo cual no sucederıa en la version movil que solo requiere
volver a entrenar.
Ademas, se contribuyo al estado del arte con la elaboracion de dos artıculos. Uno de ellos muestra
los resultados obtenidos por la comparacion de los metodos de binarizacion examinados en esta tesis
[82]; y el siguiente mostrando los resultados de la implementacion del sistema en un telefono movil
[83].
8.2 Trabajo futuro
Dentro del trabajo futuro a partir de esta tesis, dados los tiempos de procesamiento reducidos
obtenidos en nuestro analisis, podrıa ser factible integrar tecnicas mas robustas para deducir la
calidad de la imagen y por lo tanto actuar de acuerdo a sus caracterısticas, mediante tecnicas
de segmentacion, extraccion de caracterısticas y clasificacion adaptandose a cada caso de manera
dinamica.
Otra directiva de trabajo futuro podrıa incluir el desarrollo de algoritmos de clasificacion que
involucren la combinacion de los implementados y de otros tipos, como clasificadores estadısticos o
la clasificacion mediante el uso de redes neuronales, a fin de que las colaboraciones inter-clasificador
generen mejores resultados finales. Ası tambien, algunas propuestas podrıan incluir la mejora de
ciertas metodologıas propuestas en este trabajo. Tal es el caso del reconocimiento mediante corres-
pondencia de patrones, que si bien los resultados fueron aceptables, los tiempos de procesamiento
son considerablemente altos, esto debido a la comparacion exhaustiva que debe realizarse utilizando
las imagenes patron correspondientes a cada marca de medidor y por clase. Por lo tanto, la inclusion
como fuente de imagen de una nueva marca de medidor involucrarıa aumentar la complejidad o calcu-
lo de comparaciones. Ası, la idea mas basica consistirıa en definir indicios que permitan determinar
de manera preliminar el tipo de medidor y las clases a las que pertenecen los dıgitos, y ası reducir la
8. Conclusiones y trabajo futuro 157
cantidad de comparaciones requeridas por este procedimiento.
Finalmente, serıa interesante mostrar la factibilidad de la metodologıa de reconocimiento pro-
puesta en otros dispositivos moviles, incluyendo smartphones de otros fabricantes y sus diversos
sistemas operativos, ası como para los dispositivos que actualmente se encuentran en auge dada su
versatilidad como lo son las tabletas electronicas.
Bibliografıa
[1] Canedo Rodriguez A., Soohyung Kim, and Blanco Fernandez. English to spanish translation
of signboard images from mobile phone camera. In Southeastcon, 2009. SOUTHEASTCON
’09. IEEE, pages 356–361, Washington, DC, USA, 2009. IEEE Computer Society.
[2] F. Al-Omari. Handwritten indian numeral recognition system using template matching approa-
ches. In Proc. ACS/IEEE Int Computer Systems and Applications Conf. . 2001, pages 83–88,
2001.
[3] Ethem Alpaydin. Introduction to Machine Learning. The MIT Press, London, UK, 2nd edition,
2010.
[4] N. Arica and F. T. Yarman-Vural. An overview of character recognition focused on off-line
handwriting. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and
Reviews, 31(2):216–233, 2001.
[5] G. Arpit, R. Adiga, and K. Varghese. Space efficient diagonal linear space sequence alignment.
In Proc. IEEE Int BioInformatics and BioEngineering (BIBE) Conf, pages 244–249, 2010.
[6] Vittorio Astarita and Michael Florian. The use of mobile phones in traffic management and
control. In Young Computer Scientists, 2008. ICYCS 2008. The 9th International Conference
for, pages 913–918, Washington, DC, USA, 2001. IEEE Computer Society.
[7] K.K. Chung Bae, K.S. Kim and W.P. Y.G. Yu. Character recognition system for cellular phone
with camera. In Computer Software and Applications Conference, 2005. COMPSAC 2005. 29th
Annual International, pages 539–555, Washington, DC, USA, 2005. IEEE Computer Society.
[8] Andrzej Bargiela and Witold Pedrycz. Granular computing: an introduction. Kluwer Academic
Publishers, Dordrecht, London, UK, 2003.
159
160 BIBLIOGRAFIA
[9] Richard Ernest Bellman. Dynamic Programming. Princenton Universit Press, Princenton, New
Jersey, USA, 1957.
[10] J. Bernsen. Dynamic thresholding of gray-level images. In in Proc.Eighth Intl Conf. Pattern
Recognition, pages 1251–1255, 1986.
[11] Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer, New York, USA,
2006.
[12] Avrim L. Blum and Pat Langley. Selection of relevant features and examples in machine
learning. Artificial Intelligence, 97:245–271, 1997.
[13] H. Blum. A transformation for extracting new descriptors of shape. In Symposium Models for
Perception of Speech and Visual Form, pages 362–380, Cambridge, UK, 1967. MIT Press.
[14] Al Bovik. The Essential Guide to Image Processing. Elsevier Inc., San Diego, California, USA,
2009.
[15] David N. Breslauer, Robi N. Maamari, Neil A. Switz, Wilbur A. Lam, and Daniel A. Fletcher.
Mobile phone based clinical microscopy for global health applications. PLoS ONE, 4(7):e6320,
San Francisco, CA 94111, USA 2009.
[16] Mo Bu and Jun Lin. A study of blood sugar meter embedded in mobile phone. In Con-
trol and Automation, 2007. ICCA 2007. IEEE International Conference on, pages 995 – 998,
Washington, DC, USA, 2007. IEEE Computer Society.
[17] Wilhelm Burger and Mark James Burge. Digital Image Processing: An Algorithmic Introduction
using Java. Springer Science+Business, LLC, New York, USA, first edition, 2008.
[18] Ed Burnette. Hello, Android. Introducing Google’s Mobile Development Platform. The Prag-
matic Bookshelf, North Carolina Dallas, Texas, USA, 3rd edition edition, 2010.
[19] D. Castells-Rufas and J. Carrabina. Camera-based digit recognition system. In Proc. 13th
IEEE Int. Conf. Electronics, Circuits and Systems ICECS ’06, pages 756–759, 2006.
BIBLIOGRAFIA 161
[20] Guanling Chen, D. Bo Yan Minho Shin Kotz, and E. Berke. Mpcs: Mobile-phone based patient
compliance system for chronic illness care. In Mobile and Ubiquitous Systems: Networking
& Services, MobiQuitous, 2009. MobiQuitous ’09. 6th Annual International, pages 1 – 7,
Washington, DC, USA, 2009. IEEE Computer Society.
[21] Wei-Chao Chen, Yingen Xiong, Jiang Gao, N. Gelfand, and R. Grzeszczuk. Efficient extraction
of robust image features on mobile devices. In Mixed and Augmented Reality, 2007. ISMAR
2007. 6th IEEE and ACM International Symposium on, pages 287–288, nov. 2007.
[22] Cheolho Cheong, Tack-Don Han, Jae-Yun Kim, Taek-Jean Kim, Keechoon Lee, Sang-Yong
Lee, A. Itoh, Y. Asada, and C. Craney. Pictorial image code: A color vision-based automatic
identification interface for mobile computing environments. In Mobile Computing Systems and
Applications, 2007. HotMobile 2007. Eighth IEEE Workshop on, pages 23 – 28, Washington,
DC, USA, 2007. IEEE Computer Society.
[23] Kwontaeg Choi, Kar-Ann Toh, and Hyeran Byun. Realtime training on mobile devices for face
recognition applications. In Pattern Recognition, volume 44, pages 386 – 400. Elsevier Ltd,
2011.
[24] Yuk Ying Chung, Man To Wong, and M. Bennamoun. Handwritten character recognition
by contour sequence moments and neural network. In Proc. IEEE Int Systems, Man, and
Cybernetics Conf, volume 5, pages 4184–4188, 1998.
[25] Fred J. Damerau. A technique for computer detection and correction of spelling errors. Com-
mun. ACM, 7:171–176, March 1964.
[26] Sanmay Das. Filters, wrappers and a boosting-based hybrid for feature selection. In Proceedings
of the Eighteenth International Conference on Machine Learning, ICML ’01, pages 74–81, San
Francisco, CA, USA, 2001. Morgan Kaufmann Publishers Inc.
[27] M. Dash and H. Liu. Feature selection for classification. Intelligent Data Analysis, 1:131–156,
1997.
162 BIBLIOGRAFIA
[28] J.P. Marques de Sa. Pattern Recognition: Concepts, Methods and Applications. Springer, New
York, USA, 2001.
[29] C. Ding and H. Peng. Minimum redundancy feature selection from microarray gene expression
data. In Proc. IEEE Bioinformatics Conf. CSB 2003, pages 523–528, 2003.
[30] D. Doermann, Jian Liang, and Huiping Li. Progress in camera-based document image analysis.
In Document Analysis and Recognition, 2003. Proceedings. Seventh International Conference
on, pages 606 – 616 vol.1, aug. 2003.
[31] ∅ivind Due Trier, Anil K. Jain, and Torfinn Taxt. Feature extraction methods for character
recognition - a survey. Pattern Recognition, 29(4):641 – 662, Elsevier B.V. 1996.
[32] Brian Fling. Mobile Design and Development. O’Reilly Media, Inc., 1005 Gravenstein Highway
North, Sebastopol, CA 95472, USA, 2009.
[33] Imola Fodor. A survey of dimension reduction techniques. Technical report, Lawrence Livermore
National Laboratory (LLNL), Livermore, CA 94550, USA, 2002.
[34] H. Freeman. Boundary encoding and processing. In Picture Processing and Pshcholopictorics,
pages 241–266, New York, 1970. Academic Press Professional, Inc.
[35] V. Ganapathy and C. C. H. Lean. Optical character recognition program for images of printed
text using a neural network. In Proc. IEEE Int. Conf. Industrial Technology ICIT 2006, pages
1171–1176, 2006.
[36] Marko Gargenta. Learning Android. O’Reilly Media, Inc., 1005 Gravenstein Highway North,
Sebastopol, CA 95472., first edition edition, March 2011.
[37] W. Gomez, L. Leija, and A. Dıaz-Perez. Mutual information and intrinsic dimensionality for
feature selection. In 7th International Conference on Electrical Engineering,Computing Sciences
and Automatic Control, CCE 2010, 8 al 10 de septiembre, Tuxtla Gutierrez, Chiapas,, pages
339–344, 2010.
BIBLIOGRAFIA 163
[38] R. C. Gonzalez and R. E. Woods. Digital Image Processing. Prentice Hall, New Jersey 07458,
USA, 2002.
[39] Rafael C. Gonzalez and Richard E. Woods. Digital Image Processing. Prentice Hall, New
Jersey 07458, USA, 2008.
[40] V. K. Govindan and A.P. Shivaprasad. Character recognition – a review. Pattern Recognition,
23(7):671 – 683, 1990.
[41] A. Gupta and L. N. Long. Character recognition using spiking neural networks. In Proc. Int.
Joint Conf. Neural Networks IJCNN 2007, pages 53–58, 2007.
[42] Simon Haykin. Neural Networks: A Comprehensive Foundation. Prentice Hall, New Jersey,
USA, 1999.
[43] J. He, Q. D. M. Do, A. C. Downton, and J. H. Kim. A comparison of binarization methods for
historical archive documents. In Proc. Eighth Int Document Analysis and Recognition Conf,
pages 538–542, Washington, DC, USA, 2005. IEEE Computer Society.
[44] Abdelsalam Helal, Bert Haskell, and Jeffery L. Carter. Any time, anywhere computing. Mobile
computing concepts and technology. Kluwer Academic Publishers, Massachusetts 02061, USA,
2002.
[45] Danny Hermelin, Gad M. Landau, Shir Landau, and Oren Weimann. A unified algorithm for
accelerating edit-distance computation via text-compression. In Susanne Albers and Jean-Yves
Marion, editors, 26th International Symposium on Theoretical Aspects of Computer Science
(STACS 2009), volume 3 of Leibniz International Proceedings in Informatics (LIPIcs), pages
529–540, Dagstuhl, Germany, 2009. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik.
[46] Ming-Kuei Hu. Visual pattern recognition by moment invariants. IRE Transactions on Infor-
mation Theory, 8(2):179–187, 1962.
164 BIBLIOGRAFIA
[47] Zhihu Huang and Jinsong Leng. Analysis of hu’s moment invariants on image scaling and rota-
tion. In In Computer Engineering and Technology (ICCET), 2010 2nd International Conference
on, pages 476–480. IEEE Computer Society, 2010.
[48] J. Huiying Shen Coughlan. Reading LCD LED displays with a camera cell phone. In Computer
Vision and Pattern Recognition Workshop, 2006. CVPRW 06. Conference on, pages 119–119,
Washington, DC, USA, 2006. IEEE Computer Society.
[49] Byeong il Lee, Jeong Min Ham, and Ki Soo Park. Development of the investigation scheduling
system using mobile phone utilization of the department of nuclear medicine. In Enterprise
networking and Computing in Healthcare Industry, 2005. HEALTHCOM 2005. Proceedings of
7th International Workshop on, pages 325–326, Washington, DC, USA, 2005. IEEE Computer
Society.
[50] an NPD Group Company In-Stat. There’s an app for that: Smartphone ap-
plication market overcrowded but downloads continue to rise, June 2011. URL
http://www.instat.com/newmk.asp?ID=3217&SourceID=00000652000000000000.
[51] Gartner Inc. Gartner says 428 million mobile communication devices sold world-
wide in first quarter 2011, a 19 percent increase year-on-year, May 2011. URL
http://www.gartner.com/it/page.jsp?id=1689814.
[52] J. Edward Jackson. A User’s Guide to Principal Components. John Wiley & Sons, Inc., New
Jersey, USA, 2003.
[53] A. Jain and D. Zongker. Feature selection: evaluation, application, and small sample per-
formance. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(2):153–158,
1997.
[54] A. K. Jain, R. P. W. Duin, and Jianchang Mao. Statistical pattern recognition: a review. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 22(1):4–37, 2000.
BIBLIOGRAFIA 165
[55] A. K. Jain and D. Zongker. Representation and recognition of handwritten digits using deforma-
ble templates. IEEE Transactions on Pattern Analysis and Machine Intelligence, 19(12):1386–
1390, 1997.
[56] Ying Zhuge Jayaram K. Udupa, Vicki R. LeBlanc. A framework for evaluating image segmen-
tation algorithms. In Computerized Medical Imaging and Graphics, volume 30, pages 75–87,
March 2006.
[57] Jin Jing, Abdelsalam Sumi Helal, and Ahmed Elmagarmid. Client-server computing in mobile
environments. ACM Comput. Surv., 31:117–157, June 1999.
[58] J.S. Kang, M.H. Kang, C.H. Park, J.H. Kim, and Y.S. Choi. Implementation of embedded
system for vehicle tracking and license plates recognition using spatial relative distance. In
Information Technology Interfaces, 2004. 26th International Conference on, volume 1, pages
167–172. IEEE Computer Society, June 2004.
[59] A. Khotanzad and Y. H. Hong. Invariant image recognition by zernike moments. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 12(5):489–497, 1990.
[60] Egyul Kim SeongHun Lee JinHyung Kim. Scene text extraction using focus of mobile ca-
mera. In Personal, Indoor and Mobile Radio Communications, 2006 IEEE 17th International
Symposium on, pages 1520–5363, Washington, DC, USA, 2009. IEEE Computer Society.
[61] Yanming Zou Kongqiao Wang and Hao Wang. Bar code reading from images captured by
camera phones. In Mobile Technology, Applications and Systems, 2005 2nd International
Conference on, pages 6 pp. – 6, Washington, DC, USA, 2005. IEEE Computer Society.
[62] B. V. K. Vijaya Kumar, A. Mahalanobis, and R. D. Juday. Correlation Pattern Recognition.
Cambridge University Press, New York, USA, 2005.
[63] K.Yamamoto. Recognition of handprinted characters in the first level of jis chinese characters.
In Proc.8 th ICPR, pages 570–572, 1986.
166 BIBLIOGRAFIA
[64] O.S. Laine, M. Nevalainen. A standalone ocr system for mobile cameraphones. In Personal,
Indoor and Mobile Radio Communications, 2006 IEEE 17th International Symposium on, pages
1–5, Washington, DC, USA, 2006. IEEE Computer Society.
[65] Jian Yuan Yi Zhang Kok Kiong Tan Tong Heng Lee. Text extraction from images captured via
mobile and digital devices. In Advanced Intelligent Mechatronics, 2009. AIM 2009. IEEE ASME
International Conference on, pages 566–571, Washington, DC, USA, 2009. IEEE Computer
Society.
[66] Cornelius T. Leondes. Image Processing and Pattern Recognition: Neural Network Systems
Techniques ans Applications. Academic Press Professional, Inc., San Diego, California, USA,
1998.
[67] Vladimir I. Levenshtein. Binary codes capable of correcting deletions, insertions, and reversals.
Soviet Physics Doklady, 10(8):707–710, 1966. American Institute of Physics.
[68] Art Lew and Dr. Holger Mauch. Dynamic Programming: A computacional tool. Springer, New
York, USA, 2007.
[69] C.-L. Liu, S. Jaeger, and M. Nakagawa. Online recognition of chinese characters: the state-
of-the-art. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(2):198–213,
2004.
[70] Cheng-Lin Liu, Kazuki Nakashima, Hiroshi Sako, and Hiromichi Fujisawa. Handwritten digit
recognition: investigation of normalization and feature extraction techniques. Pattern Recog-
nition, 37(2):265 – 279, 2004.
[71] H. Liu and H. Motoda. Computational methods of feature selection. In Chapman & Hall/CRC
Data Mining and Knowledge Discovery Series, page 440. CRC Press, Taylor & Francis Group,
2007.
[72] L. M. Lorigo and V. Govindaraju. Offline arabic handwriting recognition: a survey. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 28(5):712–724, 2006.
BIBLIOGRAFIA 167
[73] Y.S. Manochehri, AlHinai. Mobile-phone users’ attitudes towards’ mobile commerce and ser-
vices in the gulf cooperation council countries: Case study. In Conference on Service Systems
and Service Management, 2008 International, pages 1–6, Washington, DC, USA, 2008. IEEE
Computer Society.
[74] Tommi Mikkonen. Programming Mobile Devices: An introduction for practitioners. John Wiley
& Sons, Inc., West Sussex, England, 2007.
[75] J. L. Mitrpanont and Y. Imprasert. Thai handwritten character recognition using heuristic rules
hybrid with neural network. In Proc. Eighth Int Computer Science and Software Engineering
(JCSSE) Joint Conf, pages 160–165, 2011.
[76] Cheng-Lin Liu Mohamed Cheriet, Nawwaf Kharma and Ching Suen. Character Recognition
Systems: A Guide for Students and Practitioners. John Wiley & Sons, Inc., New Jersey, USA,
2007.
[77] Shunji Mori, Hirobumi Nisshida, and Hiromitsu Yamada. Optical Character Recognition. John
Wiley & Sons, Inc., Rijeka, Croatia, 1999.
[78] R. Mukundan, S. H. Ong, and P. A. Lee. Image analysis by tchebichef moments. IEEE
Transactions on Image Processing, 10(9):1357–1364, 2001.
[79] Hitomi Murakami, Atsushi Ito, Yu Watanabe, and Takao Yabe. Mobile phone based ad hoc
network using built in bluetooth for ubiquitous life. In ISADS ’07: Proceedings of the Eighth
International Symposium on Autonomous Decentralized Systems, pages 137–146, Washington,
DC, USA, 2007. IEEE Computer Society.
[80] T. Nagasaki, T. Yanagida, and M. Nakagawa. Relaxation-based pattern matching using au-
tomatic differentiation for off-line character recognition. In Proc. Fifth Int. Conf. Document
Analysis and Recognition ICDAR ’99, pages 229–232, 1999.
[81] Loris Nanni and Alessandra Lumini. Generalized needleman-wunsch algorithm for the recogni-
tion of t-cell epitopes. Expert Syst. Appl., 35:1463–1467, October 2008.
168 BIBLIOGRAFIA
[82] M. Nava-Ortiz, W. Gomez-Flores, A. Dıaz-Perez, and G. Toscano-Pulido. Evaluation of binari-
zation algorithms for camera-based devices. In Jose Martınez-Trinidad, Jesus Carrasco-Ochoa,
Cherif Ben-Youssef Brants, and Edwin Hancock, editors, Pattern Recognition, volume 6718 of
Lecture Notes in Computer Science, pages 164–173. Springer Berlin / Heidelberg, 2011.
[83] Martın Nava Ortiz, Wilfrido Gomez Flores, and Arturo Dıaz Perez. Digit recognition system for
camera mobile phones. In 8th International Conference on Electrical Engineering, Computing
Sciences and Automatic Control, CCE 2011, 26 al 28 de Octubre, Merida, Yucatan., pages
863–867, October 2011.
[84] Z. Nawaz, K. Bertels, and H. Ekin Sumbul. Fast smith-waterman hardware implementation.
In Proc. IEEE Int Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW)
Symp, pages 1–4, 2010.
[85] S. B. Needleman and C. D. Wunsch. A general method applicable to the search for similarities
in the amino acid sequence of two proteins. In Journal of molecular biology, volume 48, pages
443–453, 1970.
[86] M. Ng, C.K.; Savvides and P.K. Khosla. Real-time face verification system on a cell-phone
using advanced correlation filters. In Automatic Identification Advanced Technologies, 2005.
Fourth IEEE Workshop on, pages 57 – 62, Washington, DC, USA, 2005. IEEE Computer
Society.
[87] Wayne Niblack. An introduction to digital image processing. Prentice-Hall International,
Michigan, USA, 1986.
[88] T. Nukano, M. Fukumi, and M. Khalid. Vehicle license plate character recognition by neural
networks. In Proc. Int. Symp. Intelligent Signal Processing and Communication Systems
ISPACS 2004, pages 771–775, 2004.
[89] L. O’Gorman. Experimental comparisons of binarization and multi-thresholding methods on
document images. In Proc. 12th IAPR Int. Pattern Recognition Vol. 2 - Conf. B: Computer
BIBLIOGRAFIA 169
Vision & Image Processing. Conf, volume 2, pages 395–398, Washington, DC, USA, 1994.
IEEE Computer Society.
[90] H. Ohbuchi, E.; Hanaizumi and L.A. Hock. Barcode readers using the camera device in mobile
phones. In Cyberworlds, 2004 International Conference on, pages 260 – 265, Washington, DC,
USA, 2004. IEEE Computer Society.
[91] N. Otsu. A threshold selection method from gray-scale histogram. In IEEE Transactions on
System, Man, and Cybernetics, pages 62–66, 1979.
[92] Sankar K. Pal and Amita Pal. Pattern Recognition From Classical to Modern Approaches.
World Scientific, Covent Garden, London, UK, 2001.
[93] Jaehwa Park and Young-Bin Kwon. An embedded ocr: A practical case study of code porting
for a mobile platform. In Proc. Chinese Conf. Pattern Recognition CCPR 2009, pages 1–5,
2009.
[94] Hanchuan Peng, Fuhui Long, and C. Ding. Feature selection based on mutual information
criteria of max-dependency, max-relevance, and min-redundancy. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 27(8):1226–1238, 2005.
[95] P. Phokharatkul and C. Kimpan. Recognition of handprinted thai characters using the cavity
features of character based on neural network. In Proc. IEEE Asia-Pacific Conf. Circuits and
Systems IEEE APCCAS 1998, pages 149–152, 1998.
[96] R. Plamondon and S. N. Srihari. Online and off-line handwriting recognition: a comprehensive
survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(1):63–84, 2000.
[97] William K. Pratt. Digital Image Processing. John Wiley & Sons, Inc., Hoboken, New Jersey,
USA, 2007.
[98] M. Rahman and N. Kehtarnavaz. Real-time face-priority auto focus for digital and cell-phone
170 BIBLIOGRAFIA
cameras. In Consumer Electronics, IEEE Transactions on, pages 1506 – 1513, Washington,
DC, USA, 2008. IEEE Computer Society.
[99] Rong-Fuh and Day. Examining the validity of the needleman-wunsch algorithm in identifying
decision strategy with eye-movement data. Decision Support Systems, 49(4):396 – 403, 2010.
[100] Michael S. Rosenberg, editor. Sequence Alignement: Methods, Models, Concepts and Strate-
gies. University of California Press, California, USA, 2009.
[101] P. K. Sahoo, S. Soltani, A. K.C. Wong, and Y. C. Chen. A survey of thresholding techniques.
Comput. Vision Graph. Image Process., 41:233–260, February 1988.
[102] J. Sauvola and M. Pietikainen. Adaptive document image binarization. In Pattern Recognition,
volume 33, pages 225–236, 2000.
[103] Bernhard Scholkopf, Alexander Smola, and Klaus-Robert Muller. Nonlinear component analy-
sis as a kernel eigenvalue problem. In Neural Computation, volume 10, pages 1299–1319,
Cambridge, MA, USA, July 1998. MIT Press.
[104] Frank Y. Shih. Image Processing and Pattern Recognition. John Wiley & Sons, Inc., Hoboken,
New Jersey, USA, 2010.
[105] T. R. P. Siriwardena and D. N. Ranasinghe. Accelerating global sequence alignment using cuda
compatible multi-core gpu. In Proc. 5th Int Information and Automation for Sustainability
(ICIAFs) Conf, pages 201–206, 2010.
[106] T F Smith and M S Waterman. Identification of common molecular subsequences. Journal of
Molecular Biology, 147(1):195–197, 1981.
[107] Eriko Tamaru, Kimitake Hasuike, and Mikio Tozaki. Cellular phone as a collaboration tool
that empowers and changes the way of mobile work: Focus on three fields of work. In Hans
Gellersen, Kjeld Schmidt, Michel Beaudouin-Lafon, and Wendy Mackay, editors, ECSCW 2005,
pages 247–266. Springer Netherlands, 2005.
BIBLIOGRAFIA 171
[108] C. C. Tappert, C. Y. Suen, and T. Wakahara. The state of the art in online handwriting
recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 12(8):787–808,
1990.
[109] C.-H. Teh and R. T. Chin. On image analysis by the methods of moments. IEEE Transactions
on Pattern Analysis and Machine Intelligence, 10(4):496–513, 1988.
[110] O. D. Trier and A. K. Jain. Goal-directed evaluation of binarization methods. IEEE Transactions
on Pattern Analysis and Machine Intelligence, 17(12):1191–1201, 1995.
[111] K. Venkataramani, S. Qidwai, and B.V.K. Vijayakumar. Face authentication from cell phone
camera images with illumination and temporal variations. In Systems, Man, and Cybernetics,
Part C: Applications and Reviews, IEEE Transactions on, pages 411 – 418, Washington, DC,
USA, 2005. IEEE Computer Society.
[112] F. von Reischach, S. Karpischek, and R. Adelmann. Evaluation of 1d barcode scanning on
mobile phones. In Internet of Things (IOT), 2010, pages 1 – 5, Washington, DC, USA, 2010.
IEEE Computer Society.
[113] Robert A. Wagner and Michael J. Fischer. The string-to-string correction problem. J. ACM,
21:168–173, January 1974.
[114] N. Wakahara, T.; Yamamoto and H. Ochi. Image processing of dotted picture in the qr
code of cellular phone. In P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2010
International Conference on, pages 454 – 458, Washington, DC, USA, 2011. IEEE Computer
Society.
[115] P. D. Wellner. Adaptive thresholding for the digitaldesk. In Technical Report EPC-1993-110,
Rank Xerox Ltd, 1993.
[116] J.M. White and G.D. Rohrer. Image thresholding for optical character recognition and ot-
her applications requiring character image extraction. In IBMJ. Research and Development,
volume 27, pages 400–411, 1983.
172 BIBLIOGRAFIA
[117] Yun Xue, Chong Tong, and Weipeng Zhang. Survey of distance measures for nmf-based
face recognition. In Yuping Wang, Yiu-ming Cheung, and Hailin Liu, editors, Computational
Intelligence and Security, volume 4456 of Lecture Notes in Computer Science, pages 1039–
1049. Springer Berlin / Heidelberg, 2007.
[118] Feng Yang and Fan Yang. Character recognition using parallel bp neural network. In Proc.
Int. Conf. Audio, Language and Image Processing ICALIP 2008, pages 1595–1599, 2008.
[119] William A. Yasnoff, Jack K. Mui, and James W. Bacus. Error measures for scene segmentation.
Pattern Recognition, 9(4):217–231, 1977. Elsevier B.V.
[120] Mi Zhang, Anand Joshi, Ritesh Kadmawala, Karthik Dantu, Sameera Poduri, and Gaurav S.
Sukhatme. Ocrdroid: A framework to digitize text using mobile phones. In Mobile Computing,
Applications, and Services, volume 35 of Lecture Notes of the Institute for Computer Scien-
ces, Social Informatics and Telecommunications Engineering, pages 273–292. Springer Berlin
Heidelberg, 2010.
[121] Shanjun Zhang and K. Yoshino. A braille recognition system by the mobile phone with em-
bedded camera. In Innovative Computing, Information and Control, 2007. ICICIC ’07. Second
International Conference on, page 223, Washington, DC, USA, 2008. IEEE Computer Society.
[122] Pei Zheng and Lionel Ni. Smart Phone and Next-Generation Mobile Computing. Elsevier, San
Franciso, California, USA, 2006.
[123] Steven Zhiying Zhou, Syed Omer Gilani, and Stefan Winkler. Open source OCR framework
using mobile devices. In Reiner Creutzburg and Jarmo H. Takala, editors, Multimedia on
Mobile Devices 2008, volume 6821, pages 6821–04. SPIE, 2008.