Full text
Trabajo de Fin de Máster Máster en Ingeniería de Sistemas e Informática Reconocimiento robusto de texto en imágenes de dispositivos móviles Ana Belén Cambra Linés Directora: Ana Cristina Murillo Arnal Departamento de Informática e Ingeniería de Sistemas Escuela de Ingeniería y Arquitectura Universidad de Zaragoza Septiembre de 2013
RESUMEN El procesamiento automático de imágenes tiene gran interés en el desarrollo de nuevas tecnologías y aplicaciones basadas en información visual. Hasta hace poco, estas tareas han estado limitadas a realizarse en ordenadores con gran capacidad de cómputo, debido a los altos requerimientos de los algoritmos utilizados. Sin embargo, estas limitaciones van desapareciendo gracias a las últimas generaciones de teléfonos móviles, los smartphones, que poseen capacidades de procesamiento mucho más altas. En particular, dentro del campo de la visión artificial y en particular en temas de reconocimiento automático, una tarea que se ve muy beneficiada de la portabilidad a dispositivos móviles es la detección y reconocimiento de texto, ya que se han generado nuevos ámbitos de aplicación. Con este trabajo de fin de máster se propone mejorar un sistema base existente de reconocimiento de texto en imágenes. El sistema base consiste en una aplicación para móviles capaz de extraer el texto de carteles rectangulares presentes en una fotografía capturada con el móvil. Actualmente existen muchos reconocedores de caracteres, llamados OCRs (del inglés Optical Character Recognition), que permiten extraer el texto de una imagen pero sus buenos resultados están muy condicionados a cómo se presenta el texto dentro de dicha imagen. Se requiere que el usuario enfoque con mucha precisión dónde se encuentran los textos a leer. Esta situación es una gran restricción y sobretodo muy poco realista y robusta, además de no permitir aprovechar estas tecnologías para, por ejemplo, dar servicios a personas con problemas de visión. Aunque el prototipo tomado como base para este trabajo consigue mejorar los resultados obtenidos por un OCR convencional, sigue presentando limitaciones para el uso en escenarios generales. En particular, se va a realizar una evaluación exhaustiva del prototipo, y se va a diseñar e implementar mejoras que reduzcan las limitaciones actuales que presenta, para conseguir un reconocimiento más robusto. Dado que el campo donde se enmarca este trabajo es una rama activa dentro de la visión artificial, han aparecido nuevos enfoques dentro del reconocimiento de texto que obtienen mejores resultados que los tradicionales OCRs. Por ello, también se va a diseñar y evaluar la integración de este tipo de enfoques con el trabajo realizado. Los resultados obtenidos han sido satisfactorios, consiguiendo mejorar el prototipo base. También la evaluación realizada del proceso demuestra que éste consigue mejorar los resultados de otros OCRs existentes, además de mejorar, en determinados casos, los resultados de otras técnicas de extracción de texto más modernas. Con parte de estos resultados se redactó el siguiente articulo: “Towards robust and efficient text sign reading from a mobile phone” que fue publicado en el 2nd IEEE Workshop on Mobile Vision llevado a cabo junto con el ICCV 2011. i
Índice general 1. Introducción 1 1.1. Introducción................................... 1 1.2. Trabajorelacionado............................... 1 1.3. Objetivos .................................... 3 1.4. SistemaBase .................................. 3 1.4.1. Problemaaresolver........................... 4 1.4.2. Prototipobase ............................. 5 1.5. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Reconocimiento robusto 8 2.1. Generacióndehipótesis............................. 9 2.1.1. Inserción de rectas . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2. Agrupamiento de esquinas . . . . . . . . . . . . . . . . . . . . . . . 11 2.2. Evaluación de la probabilidad . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3. Proyección de las hipótesis rectangulares . . . . . . . . . . . . . . . . . . . 13 2.4. Selección de hipótesis finales . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3. Evaluación y comparación 17 3.1. Evaluación de las mejoras . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2. Comparación con otros OCRs ......................... 18 3.3. Nuevosenfoques................................. 19 4. Conclusiones 23 4.1. Conclusiones................................... 23 4.2. Trabajofuturo ................................. 24 Bibliografía 26 Anexos 28 A. Análisis de tiempo de procesamiento del OCR 28 B. Publicación de los resultados 30 iii
C. Detalles de las pruebas realizadas 39 C.1.Imágenesutilizadas............................... 39 iv
Capítulo 1 Introducción 1.1. Introducción El procesamiento automático e inteligente de datos ha tenido y sigue teniendo un gran interés dentro del campo científico-técnico. En concreto, la rama dedicada al campo de la visión artificial se ha visto muy beneficiada por la aparición de una amplia gama de potentes dispositivos móviles, proporcionándole un nuevo campo de aplicación. Hasta hace poco, las tareas de procesado automático e “inteligente” de imágenes estaban destinadas a realizarse en ordenadores, debido a los requerimientos de cálculo de los algoritmos utilizados. Pero ahora, dada la calidad de las cámaras integradas y la creciente mejora de la capacidad de cómputo de los smartphones, se ha producido un gran aumento en el desarrollo de aplicaciones que realizan tareas relacionadas con la visión artificial. Más concretamente este trabajo pretende estudiar y mejorar un sistema ya existente que permite extraer texto de señales que aparecen en imágenes capturadas desde un teléfono móvil. El sistema base consiste en un prototipo desarrollado para iOS. Para más detalle de sistema base utilizado como punto de partida para este trabajo consultar la sección 1.4 de este mismo documento. Hay que destacar que el propósito de este trabajo no se centra en transformar el prototipo en una aplicación final. Por un lado se pretende realizar una definición más formal del proceso diseñado así como estudiar y mejorar varios aspectos detallados más adelante. Por otro lado, se pretende comparar el proceso con otras técnicas existentes en el estado del arte dentro del campo de la detección de texto en escenas generales. 1.2. Trabajo relacionado En el campo del reconocimiento de texto, los métodos basados en OCR [1] fueron propuestos hace mucho tiempo pero, todavía se siguen encontrando nuevas contribuciones ampliando: su campo de aplicación, robustez o aumentando su rendimiento. Inicialmente las técnicas de los OCRs estaban orientadas a digitalizar el texto procedente de papel. Hoy en día, hay un montón de aplicaciones en las que sería muy útil poder reconocer el texto en imágenes generales. Por ejemplo, en el caso particular de la lectura para la asistencia, 1
1.2 Trabajo relacionado 1. Introducción en la literatura se encuentran varias propuestas dirigidas a desarrollar aplicaciones para discapacitados visuales [2, 3, 4, 5]. Sin embargo, todavía encontramos pocas de estas ideas integradas en los teléfonos móviles, en parte, debido al alto costo computacional de algunas de las propuestas. En este trabajo, se analizan qué técnicas de procesamiento de imágenes pueden ser adecuadas para la mejora de los resultados de este tipo de aplicaciones que se ejecutan en un teléfono móvil. Gracias a la explosión del desarrollo de aplicaciones móviles ya se encuentran aplicaciones comerciales que realizan tareas de visión artificial, como wordlens1, que lee texto en una aplicación de realidad aumentada. Los OCRs suelen requerir que el texto presente en la imagen este lo más frontal, cercano y centrado posible, para tener un buen resultado a la hora de extraer el texto, presentando malos resultados en caso contrario, como puede verse en la Figura 1.1. Las investigaciones relacionadas se pueden dividir en dos grupos diferentes. Por un lado, hay un grupo de obras dirigidas hacia una mejora en sí misma del reconocimiento de caracteres, proponiendo nuevas técnicas para los OCRs. Incluso nos encontramos con obras capaces de identificar texto muy deformado [6] tal y como se presenta en servicios web como los CAPTCHAs. Por otro lado, hay obras que proponen cómo se pueden “pre procesar” las imágenes de escenas generales para detectar que áreas tienen mayor probabilidad de contener texto y cómo reconocerlo. Tratar de reconocer texto en imágenes sin restricciones es un campo activo de investigación, con conferencias y concursos específicos. Existen trabajos que proponen trabajar con segmentos de la imagen: dividiendo ésta en componentes conectadas para después aplicar diferentes filtros de textura a la imagen [7]; o clasificando a nivel de pixel, como se propone en [8], usando valores de histogramas y gradientes de una región alrededor de cada píxel. Ciertos trabajos intentan detectar texto en vídeos, aprovechando información temporal o técnicas de tracking [9], [10]. Otros resultados interesantes hacia la detección del texto en imágenes generales se basan en diferentes técnicas de aprendizaje y clasificación, por ejemplo usando un clasificador basado en AdaBoost [11] o entrenando varios clasificadores SVM [12], para determinar qué regiones tienen mayor probabilidad de contener texto. El sistema base utilizado está relacionado con las propuestas que intentan pre-procesar las imágenes para obtener regiones de interés, que posteriormente pueden ser procesadas con las técnicas estándar de los OCRs. Hay dos trabajos muy cercanos a este enfoque [13, 14]. Ambos, utilizan diferentes pasos para corregir la orientación o perspectiva basándose en restricciones geométricas, pero ninguno de ellos integra todos los pasos requeridos en el proceso ni demuestra que son factibles para ejecutarse en un teléfono. Algunos trabajos recientes proponen pasar el uso de las técnicas típicas de los OCRs a técnicas generales de reconocimiento de objetos adaptadas para reconocimiento de texto [15, 16]. El trabajo de [15] propone, una vez que se ha ejecutado el reconocimiento de caracteres sobre una región de interés, tener en cuenta la probabilidad de formar palabra. 1http://questvisual.com/ 2
1. Introducción 1.3 Objetivos Los autores en [16] presentan un enfoque conjunto de localización y reconocimiento de texto que considera los caracteres como regiones MSER y propone sistemas de entrenamiento con fondos sintéticos. La fase de evaluación del sistema que se propone en este trabajo también tiene en cuenta estos nuevos enfoques. 1.3. Objetivos El sistema base permite detectar desde la cámara de un móvil, automáticamente, donde hay carteles en una imagen y reconocer su texto mediante un sistema OCR convencional. Aunque este prototipo consigue mejorar los resultados obtenidos con OCRs convencionales, sigue presentando limitaciones para el uso en escenarios generales. En particular, se van a estudiar estos problemas: el tiempo de ejecución en algunos casos es muy elevado, el método de detección de los carteles produce muchos falsos positivos y el resultado de los OCRs convencionales no es correcto pese a haber detectado la existencia del cartel. En este trabajo fin de máster se va a realizar una evaluación más exhaustiva del prototipo y diseñar e implementar mejoras sobre estas limitaciones. En más detalle, las tareas a realizar son: Diseñar un nuevo algoritmo que mejore la detección y evaluación de las hipótesis de los carteles detectados. Realizar una formalización del proceso de clasificación y evaluación de hipótesis, para presentar un análisis de probabilidades en lugar de decisiones heurísticas. Realizar un estudio exhaustivo de las mejoras del proceso diseñado, comparando con OCRs más potentes aunque no estén disponibles para integrarse en la plataforma móvil. Diseñar y evaluar la integración del método de pre-procesamiento diseñado con técnicas más recientes de detección/extracción de texto basadas en métodos generales de reconocimiento de objetos. Analizar si estas técnicas son más adecuadas para escenas generales que las técnicas específicas de los OCRs (orientadas a documentos escaneados, manuscritos,...). Redactar un documento/artículo de investigación para difundir los resultados. 1.4. Sistema Base El sistema utilizado como base [17] es un prototipo cuyo objetivo general era desarrollar una aplicación que fuera capaz de extraer el texto de carteles rectangulares a partir de una fotografía general de una escena que lo contenga. El proceso se realiza por completo en el propio móvil: desde la captura o elección de la imagen hasta la obtención del texto procedente del cartel, o carteles, existentes en ella. 3
2.1 Generación de hipótesis 2. Reconocimiento robusto Para esta tarea, se partió de la interfaz alternativa desarrollada durante la construcción del prototipo base, que permitía mostrar los resultados intermedios obtenidos en cada paso crítico del proceso, como por ejemplo, ver qué hipótesis eran rechazadas por tener una baja probabilidad de contener texto. Aunque esta interfaz proporciona información útil, resulta escasa cuando se pretende analizar por qué en determinadas imágenes no se obtienen mejores resultados. En la Figura 2.2 se observan los detalles añadidos a esta interfaz de depuración sobre los pasos anteriores a proporcionar una hipótesis al OCR. (a) Versión base (b) Versión mejorada Figura 2.2: (a) Interfaz de depuración existente en el sistema base y (b) la nueva interfaz que permite visualizar más pasos intermedios. 2.1. Generación de hipótesis Como ya se ha mencionado anteriormente, el proceso pretende detectar carteles existentes en una imagen para conseguir mejorar los resultados que proporciona un OCR convencional. El proceso diseñado está orientado a detectar posibles carteles, siendo éstos de forma rectangular. Al no existir ninguna restricción en la imagen a procesar, el primer paso es detectar segmentos rectos y puntos de corte (esquinas) entre todos ellos. Teniendo en cuenta la posición relativa del punto de corte entre dos rectas se puede etiquetar el tipo de esquina detectado como: superior izquierda, superior derecha, inferior izquierda o inferior derecha. Para generar las hipótesis rectangulares se realiza un agrupamiento de esquinas compatibles. Para considerar que dos esquinas son compatibles se tienen en cuenta: los segmentos rectos que las forman, la distancia entre ellas y su tipo. Que dos esquinas sean compatibles 10
2. Reconocimiento robusto 2.1 Generación de hipótesis Tabla 2.1: Número de hipótesis generadas a partir del número de esquinas alineadas correctamente. Esquinas Alineamientos Hipótesis 4 4 1 4 3 2 3 2 3 2 1 3 1 0 1 significa que pueden formar parte de un mismo rectángulo y por tanto, se considera que están alineadas. Es posible que no se consigan realizar alineamientos completos, es decir, con una esquina de cada tipo. En estos casos, es necesario estimar la forma rectangular de las hipótesis. En la Tabla 2.1 se muestran el número de hipótesis que se generan dependiendo del número de alineamientos conseguidos entre esquinas de distintos tipos. Debido al elevado número de hipótesis que se pueden llegar a generar según la imagen y escenario utilizado, y con la intención de no sobrecargar el paso final del OCR, se limitó el número de hipótesis rectangulares aceptadas. La elección de qué hipótesis deben continuar el proceso depende del número de alineamientos conseguidos. De esta manera, se favorece a aquellas hipótesis que han conseguido realizar cuatro alineamientos de esquinas presentes en las imágenes frente a hipótesis formadas con un número inferior de esquinas encontradas. A continuación, se detallan todas las mejoras introducidas. 2.1.1. Inserción de rectas Aunque la extracción de rectas consigue resultados aceptables, en algunas imágenes no consigue extraer suficientes rectas (en la Figura 2.3 se muestran algunos ejemplos). Para favorecer la detección de esquinas y que posteriormente permita construir hipótesis se ha insertado una nueva recta “virtual”, correspondiente a un borde vertical de la imagen. La elección de incluir solo una recta en vez del borde completo de la imagen es para evitar generar una hipótesis que englobe toda o casi toda la imagen. Hay que destacar que esta recta sólo se añade en casos concretos, es decir, cuando existen varios segmentos rectos horizontales que finalizan muy próximos al borde de la imagen. En la Figura 2.4 se muestra un ejemplo en el que se consigue generar una hipótesis más adecuadas gracias a este paso; en la versión original se detectaba una hipótesis formada por un alineamiento y en la versión final se consigue generar la misma hipótesis pero con cuatro alineamientos. 11
2.1 Generación de hipótesis 2. Reconocimiento robusto Figura 2.3: Ejemplos de imágenes donde la extracción de rectas no ha obtenido suficientes como para continuar con el proceso. (a) 1 alineamiento (b) 4 alineamientos Figura 2.4: En (a) se han detectado 2 esquinas, lo que provoca construir una hipótesis con 1 único alineamiento. Sin embargo en (b), gracias a la mejora conseguida al insertar una nueva recta “virtual”, se han detectado 4 esquinas, lo que permite generar una hipótesis completa con 4 alineamientos. 2.1.2. Agrupamiento de esquinas También se ha llevado a cabo un refinamiento en la agrupación de las esquinas. La existencia muy próxima de esquinas del mismo tipo provoca la generación de hipótesis 12
2. Reconocimiento robusto 2.2 Evaluación de la probabilidad Figura 2.5: Agrupación de esquinas muy cercanas y del mismo tipo para disminuir el número de hipótesis solapadas. muy similares. Lo que ocasiona un procesamiento repetitivo de la misma zona de la imagen sin mejorar los resultados. Es por ello, que se ha considerado necesario agrupar aquellas esquinas cercanas. Para elegir el representante de un grupo de esquinas, se ha atendido a su tipo. Por ejemplo, ante un grupo de esquinas superiores izquierdas, se selecciona como representante la esquina, y por tanto, se eliminan el resto de esquinas, aquella que se encuentra lo más próxima a la esquina superior izquierda de la imagen. De esta manera se pretende generar un menor número de hipótesis, pero que engloben el contenido de las hipótesis que se habrían generado con las esquinas que han sido eliminadas. En la Figura 2.5 se puede observar, en la primera imagen todas las esquinas encontradas y en la segunda, el resultado tras realizar el refinamiento mencionado anteriormente. 2.2. Evaluación de probabilidad de contener texto Es muy posible que no todas las hipótesis generadas correspondan con carteles y, teniendo en cuenta que el paso donde el OCR realiza la extracción del texto es el paso más costoso (representa el 70 %del tiempo de procesamiento total), es preciso seleccionar cuáles de estas hipótesis tienen una mayor probabilidad de contener realmente texto. En el Anexo A puede consultarse con más detalle un análisis del tiempo de procesamiento 13
2.3 Proyección de las hipótesis rectangulares 2. Reconocimiento robusto del proceso previo al OCR y del tiempo de procesamiento de éste. Para analizar la probabilidad de contener texto se diseñaron una serie de filtros atendiendo a la forma geométrica de las hipótesis así como a analizar la textura de los píxeles dentro del rectángulo. Originalmente, estos valores fueron calculados basados en características observadas y confirmados con una serie de imágenes de prueba. Sin embargo, cuando se realizaron más pruebas con hipótesis reales, se observó que algunos de esos filtros no proporcionaban suficiente información como para determinar si las hipótesis contenían o no texto. Esos filtros correspondían con el valor de la Kurtosis de la distribución y con el criterio de que uno de los picos debía ser superior al 40 %del máximo valor encontrado. Con la eliminación de esos filtros se obtuvieron mejores resultados. Los filtros, finalmente utilizados son los siguientes: Tipo expresión peso Geometría: (r≥0,5) ∧(r≤10) 5 Textura: (¯x−Mo)≥11 σ≥21 ∃(Max1(h)∧Max2(h)) 2 donde ¯x,Moyσcorresponden con la media, la moda y la desviación típica respectivamente, hel histograma calculado de la hipótesis y Max1and Max2corresponden con los 2 picos del histograma Cada criterio incrementa el valor de los votos vide que una hipótesis Ricontenga texto. La probabilidad de que una hipótesis sea del tipo Text, se calcula así: Pini =P(Ri|Text) = vi |V|(2.1) donde |V|es el número máximo de votos que una hipótesis podría obtener, estableciendo que cada criterio vota de acuerdo al peso mostrado anteriormente. Finalmente, sólo las hipótesis con una Pini >0,75 son aceptadas. Se ha realizado un análisis de los resultados que proporciona este filtro con cerca de 500 hipótesis. Los resultados se recogen en la Tabla 2.2. En ella se puede ver que se consigue una tasa baja de Falsos Negativos (FN), es decir, este filtro no descarta hipótesis que realmente contienen texto. 2.3. Proyección de las hipótesis rectangulares Las pruebas realizadas con el sistema base [17] confirmaron que un OCR proporciona mejores resultados en imágenes donde el texto está lo más frontal, centrado y recto. Para conseguir obtener una vista lo más frontal posible, se utilizó la técnica basada en la estimación de una homografía [18] correspondiente al plano del cartel para conseguir visualizar un cartel rectangular como si éste hubiera sido capturado visto de frente. Para 14
2. Reconocimiento robusto 2.3 Proyección de las hipótesis rectangulares Tabla 2.2: Resultado de la evaluación de las hipótesis: %de las hipótesis correctamente clasificadas (VP) o no (VN), %de hipótesis clasificadas incorrectamente como que contenían texto (FP) o no (FN). VP VN FP FN 32,49 %29,98 %35,01 %2,52 % poder utilizar esta técnica es preciso estimar el tamaño real del cartel encontrado. La heurística utilizada en el prototipo base para estimar la longitud de la arista del rectángulo, lado, se calculó teniendo en cuenta el ángulo α: lado = lado si α > 83o lado ·1,1si 63o< α ≤83o lado ·1,2si 46o< α ≤63o lado ·1,3si 23o< α ≤46o lado ·1,5si α≤23o (2.2) donde lado es el tamaño en pixeles en la imagen actual de la arista horizontal y el ángulo αcorresponde con el ángulo que forman las aristas horizontal y vertical del rectángulo. Figura 2.6: Mejora en la nitidez de los caracteres proyectados Antes de introducir una mejora en la forma de estimar el tamaño del rectángulo, se observó que se obtenían mejores resultados en la proyección de las hipótesis al aumentar el tamaño de la imagen. Originalmente, todas las imágenes utilizadas eran de 640 x 480 píxeles. Aprovechando que las imágenes capturadas por los dispositivos utilizados en el prototipo son de una mayor resolución, de hasta 3264 x 2448 píxeles, se ha optado por utilizar imágenes de 1024 x 768 píxeles. La decisión de utilizar esta resolución y no la máxima proporcionada radica en que la operación de proyectar las hipótesis es algo costosa y dado que el número de hipótesis puede llegar a ser elevado, utilizando esta resolución se han observado resultados aceptables. En la Figura 2.6 se puede observar como utilizando una imagen original de mayor resolución, se consigue aumentar en gran medida la 15
2.4 Selección de hipótesis finales 2. Reconocimiento robusto nitidez de las hipótesis proyectadas, lo que posteriormente permite un reconocimiento de caracteres mejor. Estimación del tamaño real La segunda mejora introducida ha consistido en mejorar la estimación del tamaño real de las hipótesis. El cálculo del tamaño también se basa en el ángulo que forman las hipótesis rectangulares. Para estimar el tamaño se ha realizado un experimento con hipótesis reales para calcular la relación a partir de casos reales: 1. Se han capturado varias imágenes de un cartel, de tamaño conocido, desde distintos puntos de vista. 2. Se han extraído las hipótesis obtenidas y se ha calculado el ángulo que forman. 3. Al conocer el tamaño real del cartel, se conoce también su ratio de aspecto. Con este valor es posible calcular el factor por el que hay que multiplicar su lado para conservar el mismo aspecto de ratio. En la Figura 2.7 se muestra una gráfica donde se relaciona el ángulo de cada hipótesis y el factor por el que hay que multiplicar el tamaño del lado para conseguir su tamaño real. !"#$%&'(") Figura 2.7: Función lineal para calcular factor a multiplicar por el lado 2.4. Selección de hipótesis finales Llegados a este punto las hipótesis con mayor probabilidad podrían ser procesadas por el OCR. Sin embargo, al realizar una binarización previa se obtienen mejores resultados. Esta binarización es propia para cada hipótesis y está relacionada con los picos encontrados en su histograma (calculado durante el análisis de la probabilidad de contener texto). 16
2. Reconocimiento robusto 2.4 Selección de hipótesis finales Durante esta binarización, es posible que se elimine el texto como puede verse en la Figura 2.1. Para evitar pasar este tipo de hipótesis al OCR, en la versión original se analizaban los segmentos rectos existentes y en caso de existir más de 10, la hipótesis era válida y en caso contrario, se descartaba. Junto con este análisis también se comprobaba si la hipótesis contenía un posible borde y se procedía a su recorte, consiguiendo eliminar posible ruido. Figura 2.8: Detección de rectas uniformemente distribuidas a lo largo de la imagen La mejora introducida en este apartado realiza un análisis de estos segmentos rectos de una manera más completa. Las hipótesis que contienen caracteres correctamente binarizados poseen segmentos rectos verticales distribuidos uniformemente a lo largo de la imagen.Para detectar esta situación, se divide la hipótesis en celdas rectangulares, en concreto en 8 celdas, y se comprueba cuantas de estas celdas contienen segmentos rectos verticales y se calcula una nueva probabilidad, Plines: Plines =Ci |C|(2.3) donde Cies el número de celdas que contienen al menos un segmento recto y |C|es el número total de celdas. En la Figura 2.8 puede verse una hipótesis que no contiene texto y otra que sí y cómo se realiza la división en celdas para calcular esta nueva probabilidad. Finalmente, se re-calcula la probabilidad final de cada hipótesis como sigue: Pfinal =Pini ∗Plines (2.4) El siguiente paso del proceso es extraer el texto de la hipótesis que posee la probabilidad máxima Pfinal, junto con aquellas que superan el 80 % de la máxima obtenida. 17
Capítulo 3 Evaluación y comparación respecto al estado del arte En este capítulo se pretende realizar una evaluación del proceso diseñado para justificar que se han conseguido los objetivos planteados en este trabajo. Por una parte se va a evaluar cuánto se ha mejorado el sistema y por otra, se va a demostrar que el proceso diseñado no solo mejora los resultados del OCR integrado en el prototipo sino que, el proceso implementado consigue buenos resultados independientemente de él. 3.1. Evaluación de las mejoras En el capítulo 2 se han presentado las distintas mejoras introducidas sobre el sistema base. Junto con cada incorporación se han mostrado casos en los que se observa que se obtienen mejores resultados parciales. Sin embargo, para medir la mejora global se han repetido las mismas pruebas que se hicieron originalmente con el sistema base. Esas pruebas consistieron en seleccionar imágenes, frontales y no frontales. Para cada imagen se contabilizan el número de caracteres que se han acertado para calcular una tasa de aciertos. Para cuantificar las mejoras realizadas se han repetido dichas pruebas, pero eligiendo únicamente imágenes no frontales, por ser éstas las más difíciles de procesar para el OCR, y por tanto, tienen un mayor interés para mostrar los resultados del trabajo realizado. Los resultados de estas pruebas quedan reflejados en la Tabla 3.1, donde se muestra la tasa de aciertos en cuanto a los caracteres correctamente reconocidos. La primera columna corresponde con los resultados obtenidos por el OCR original, la segunda Tabla 3.1: Media µy desviación típica σdel %de caracteres reconocidos correctamente por el OCR utilizado, el sistema base y el sistema final sobre 25 imágenes con carteles oblicuos. OCR Base Mejoras µ|σ µ |σ µ |σ %char 21,44 %| 32,54 %30,69 %| 39,41 %47,82 %| 38,86 % 19
4.2 Trabajo futuro 4. Conclusiones 4.2. Trabajo futuro La principal línea de trabajo futuro sería integrar todo el proceso propuesto de preprocesado y re-proyección de las imágenes con las nuevas líneas y enfoques basadas en el reconocimiento de objetos, ya que éstas no se centran en una forma geométrica particular. Tras las pruebas realizadas se ha visto que son técnicas mucho más generales para la extracción de texto en imágenes, pero que aún falta trabajo sobre su eficiencia para poder llegarse a ejecutar en un dispositivo móvil. Además, también se podría trabajar en su robustez frente a deformaciones provocadas por la perspectiva, lo cual parece posible mejorar con las técnicas propuestas en este trabajo. 26
Bibliografía [1] S. Mori, C.Y. Suen, and K. Yamamoto. Historical review of ocr research and development. Proceedings of the IEEE, 80(7):1029 –1058, jul 1992. [2] N. Ezaki, M. Bulacu, and L. Schomaker. Text detection from natural scene images: towards a system for visually impaired persons. In Int. Conf. on Pattern Recognition, volume 2, pages 683 – 686 Vol. 2, aug. 2004. [3] C. Mancas-Thillou, S. Ferreira, J. Demeyer, C. Minetti, and B. Gosselin. A multifunctional reading assistant for the visually impaired. In EURASIP Journal on Image and Video Processing, 2007. [4] M. Tanaka and H. Goto. Text-tracking wearable camera system for visually-impaired people. In ICPR, pages 1–4, 2008. [5] YingLi Tian, Chucai Yi, and Aries Arditi. Improving computer vision-based indoor wayfinding for blind persons with context information. In Proc. of Int. Conf. on Computers helping people with special needs, pages 255–262, 2010. [6] B. B Zhu, J. Yan, Q. Li, C. Yang, J. Liu, N. Xu, M. Yi, and K. Cai. Attacks and design of image recognition captchas. In Proc. of Conference on Computer and Communications Security, 2010. [7] Victor Wu, R. Manmatha, and Edward M. Riseman. Finding text in images. In Proc. of the Int. Conf. on Digital libraries, DL ’97, pages 3–12, New York, NY, USA, 1997. ACM. [8] Paul Clark and Majid Mirmehdi. Combining statistical measures to find image text regions. In Proc. of International Conference on Pattern Recognition, pages 450–453, September 2000. [9] Christian Wolf and Jean-Michel Jolion. Extraction and recognition of artificial text in multimedia documents. Pattern Anal. Appl., 6:309–326, February 2003. [10] Huiping Li, D. Doermann, and O. Kia. Automatic text detection and tracking in digital video. Image Processing, IEEE Transactions on, 9(1):147 –156, jan 2000. 27
BIBLIOGRAFÍA BIBLIOGRAFÍA [11] Xiangrong Chen and A.L. Yuille. Detecting and reading text in natural scenes. In Computer Vision and Pattern Recognition, pages II–366 – II–373 Vol.2, 2004. [12] M. Cord J. Fabrizio and B. Marcotegui. Text extraction from street level images. City Models, Roads and Traffic (CMRT), pages 199–204, 2009. [13] S. Ferreira, V. Garin, and B. Gosselini. A text detection technique applied in the framework of a mobile camera-based application. Proc. of Camera-based Document Analysis and Recognition, Seoul, 2005. [14] Qixiang Ye, Jianbin Jiao, Jun Huang, and Hua Yu. Text detection and restoration in natural scene images. Journal of Visual Communication and Image Representation, 18(6):504 – 513, 2007. [15] Kai Wang and Serge Belongie. Word spotting in the wild. In Proc. of the European Conference on Computer Vision, pages 591–604, September 2010. [16] Lukáš Neumann and Jiří Matas. A method for text localization and recognition in real-world images. In Proc. of the 10th Asian Conf. on Computer Vision, volume IV, pages 2067–2078, November 2010. [17] Ana Belén Cambra Linés. Interpretación de carteles con la cámara de un móvil, Abril 2011. Proyecto Fin de Carrera. [18] R. I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, ISBN: 0521540518, second edition, 2004. 28
Anexos 29
Anexo A Análisis de tiempo de procesamiento del OCR En este anexo se recogen los datos de las pruebas realizadas para analizar el tiempo de ejecución del OCR utilizado. Durante todo el presente documento se ha hablado de que es importante no sobrecargar al OCR con hipótesis que no contengan texto. En la Tabla se recogen los datos obtenidos de medir el tiempo medio de procesamiento de una hipótesis frente al tiempo que tarda el OCR en extraer su texto. En ella se aprecia que el tiempo de procesar una hipótesis por el OCR supone un 70 %del tiempo total de procesamiento de esa hipótesis. Esta es la razón por la que todo el trabajo desarrollado pretende que el OCR sólo analice aquellas hipótesis con mayor probabilidad de contener texto. De esta manera se consigue un tiempo de respuesta aceptable para el usuario final. 31
A. Análisis de tiempo de procesamiento del OCR Tabla A.1: Tiempo medio, expresado en milisegundos, de procesamiento de una hipótesis frente a la extracción de su texto con el OCR utilizado. Imagen Procesamiento OCR flores 47,76 386,43 buzon 68,1812 428,08 tercero 142,8595 160,771 seminarios 66,2526 515,594 infra 55,547 42,883 lab 35,49 136,167 prob 53,12 209,76 lab micro 49,54 321,34 pulsador 50,63 95,97 acceso lejos 43,12 88,9 acceso cerca 51,48 226,97 salida cerca 62,14 96,81 vidrio 42,9 59,5 planta baja 41,48 29,711 plan baja sec 52,88 161,513 extintor 41,97 33,037 logronño 59,0105 87,85 uni 41,23 96,94 no usar 74,379 222,671 salida mad 42,32 50,374 diis 53,78 271,25 plan prim 47,88 101,708 plan prim peq 43,39 172,288 edificio 31,24 772,904 manguera 66,89 88,87 plan pri cen 55,79 414,07 aul+pul 47,14 177,46 uso bom frente 58,49 128,82 alquilo 24,19 79,74 pul+man 47,47 107,848 Tiempo Medio 53,29 192,21 32
Anexo B Publicación de los resultados A continuación se incluye el artículo “Towards robust and efficient text sign reading from a mobile phone” , donde se recogen parte de los resultados conseguidos con la realización de este trabajo. El articulo fue publicado en el 2nd IEEE Workshop on Mobile Vision llevado a cabo junto con el ICCV 2011, en Barcelona en Noviembre del 2011. 33
Towards robust and efficient text sign reading from a mobile phone A. B. Cambra, A. C. Murillo DIIS, Instituto de Investigaci´ on en Ingenier´ ıa de Arag´ on University of Zaragoza, Spain [email protected], [email protected] Abstract Embedded applications on mobile phones are reaching impressive goals thanks to the current powerful smartphones. This work is focused on text recognition applications from mobile phone pictures. Optical Character Recognition (OCR) methods have been developed for a longtime, but they still have poor robustness to process text in general scene images. Our general goal is to study and improve their results, in particular when running locally on a phone. We present a realistic prototype running on iOS, with a light geometry based pre-processing step that helps detecting regions of interest in the image, i.e., likely to contain text-signs. Then, we show how to process and filter these hypothesis to facilitate text recognition by standard OCR methods. This initial version is aimed to rectangular shaped signs to easily take advantage of geometric cues. We demonstrate the performance improvements of including our proposal together with several available OCR libraries. All steps are run locally on the phone in the designed application, which can read or translate the text using additional standard services in the phone. 1. Introduction There is a broad range of powerful smartphones on the market nowadays, and it is getting more and more common to use them for plenty of daily tasks besides standard calling and texting actions: maps, e-mail, agenda, games ... Their common characteristic is that they allow developing and installing new and third party applications that can make use of hardware components, such as GPS localization or integrated camera. As a general goal, this work is aimed to study how easy and feasible is to develop computer vision based applications in these mobile phones, within the particular field of text reading assistance applications. There are plenty of Optical Character Recognition (OCR) systems, many available as open source libraries. However, they are not usually designed to process general scene images but scanned texts or images zoomed, cropped (a) Correct reading (b) Failed reading Figure 1. (a) Successful recognition results obtained with an OCR in a frontal and zoomed view. However, more general scenes with distant text and perspective deformations (b) fail more often. and centered in the text. We already find several recent commercial applications applying these techniques within mobile devices, making the phone able to ”read” text from pictures but with some restrictions for the user. This work presents a proposal towards eliminating these restrictions and improving robustness of this kind of systems, what could increase their fields of application. Typically, OCR methods present low recognition performance when the text in the image suffers perspective distortion or is not properly aligned, centered, zoomed or illuminated, as can be seen in the example in Fig. 11. Performance would increase if we could automatically obtain regions of interest containing text and process them to avoid those issues from general scene images. Considering the application should be run on a mobile phone brings important differences with regard to multiple related works, detailed next, on text recognition in unrestricted scenes. Simpler and efficient steps seem a requirement to allow the system to run locally on the phone. We start by restricting this initial work to rectangular text-signs, which allows us to make geometric assumptions that help obtaining an efficient prototype running on the mobile phone. Perspective deformation is corrected in plenty of computer vision applications through well known homography estimation and planar region projection, we present here how to apply these ideas in our particular problem. In order too run a homography based rectification, the basic step in this proposal is the gen1obtained with one of the many OCR available online: OnlineOCR, http://www.onlineocr.net/ 1 B. Publicación de los resultados 34
(a) (b) (c) (d) Figure 2. Summary of the proposed process. Acquisition (a), pre-processing steps to get a better view (b) that can be read by an standard OCR (c) and then used for different applications (d). eration of rectangular region hypothesis in the image. This step is also aimed to automatically detect regions of interest, releasing the user from image acquisition restrictions (such as how the image should be acquired or where the text should be located in the image). This work shows promising results running a simple approach and presents a fully automated text-sign reader prototype running on iOS. Besides presenting good usability and reasonable execution time, our proposal is shown to improve the performance of standard OCR libraries running on the phone. Several improvements and alternatives still have to be explored to generalize the approach to non-rectangular signs. Figure 2shows a summary of the process developed. First the user acquires a new image (a), and then different steps based on geometric cues and simple texture analysis are run in a transparent way to the user (b). Finally we obtain the OCR analysis (c) only for the most likely hypothesis. This result is then said aloud or processed by an online dictionary (d). In the following sections, we describe and evaluate the details of our approach and the improvements in the performance when integrating it with different available OCR methods. 1.1. Related Work There are plenty of successful OCR methods [10] proposed for a long time but we still find recent and novel contributions towards new fields of application, robustness or higher performance. Initially, OCR techniques were thought to process scanned texts from paper format to obtain a digital version of them. Nowadays, there are plenty of applications where it would be useful to recognize the text in general images. For example, in the particular case of reading assistance, we find plenty of proposals in the literature towards visually impaired assistance applications [3,9,12,13]. However we still find few of these ideas integrated on mobile phones, partly due to high computational cost of some of the proposals. In this paper, we analyze which image processing techniques may be suitable for improving the results of this kind of applications running on a mobile phone. Thanks to the explosion of mobile application development we already find interesting computer vision based recent commercial products, such as wordlens2 that reads texts in an augmented reality application. As already mentioned, OCR methods typically require specific image acquisition (frontal view, zoom, centered ...) to have a good performance recognizing the text, presenting poor robustness to perspective distortions or more cluttered images, as seen in the initial example in Fig. 1. We can divide related research in two different groups. On one hand, there is a group of works towards better character recognition itself, proposing new OCR techniques. We even find works able to identify highly deformed text [18] as presented in web CAPTCHA systems. On the other hand, there are works that propose how to ”pre-process” images of general scenarios to detect which image regions are likely to contain text and how to recognize it. Trying to recognize text in unrestricted images is an active field of research, with specific conferences and competitions dedicated to it. We find approaches proposing to work with image segments, dividing the image into connected components areas after applying different texture filters to the image [16]; or classification approaches at pixel-level, as proposed in [2], using histogram and gradient values on the region around each pixel. Certain works try to detect text along videos, taking advantage of the tracking and temporal information [15], [8]. Other interesting results towards detecting text areas in general scenarios include proposals based on different classification and learning techniques, e.g., using an AdaBoost based classifier [1] or training several SVM classifiers [6], to determine which regions are more likely to contain text. Some recent works propose to move from the use of typical OCR techniques to more general object recognition tech2http://questvisual.com/ B. Publicación de los resultados 35
Anexo C Detalles de las pruebas realizadas En este anexo se muestran las pruebas que contienen los resultados las pruebas realizadas para 25 imágenes. Para estas pruebas se han seleccionado imágenes que contienen carteles oblicuos por considerarse estos los más difíciles de procesar. En la Figura C.1 se muestran los resultados obtenidos de procesar las imágenes de prueba con el OCR utilizado. En la Figura C.2 se muestran los resultados obtenidos utilizando el sistema base y en la Figura C.3 se observan los resultados con las mejoras introducidas. En la Figura C.4 se muestran los resultados obtenidos de procesar las hipótesis obtenidas de distintas imágenes con carteles oblicuos, por un lado utilizando el OCR integrado en el prototipo, y por otro lado, combinando el proceso de pre-procesamiento y re-proyección con nuevos enfoques en el campo de la extracción de texto que aplican técnicas de reconocimiento de objetos. C.1. Imágenes utilizadas En la Figura C.5 se muestran las imágenes que han sido utilizadas para las pruebas realizadas y calcular la tasa de aciertos de cada sistema. 43
C.1 Imágenes utilizadas C. Detalles de las pruebas realizadas Figura C.1: Resultados del OCR original. 44
C. Detalles de las pruebas realizadas C.1 Imágenes utilizadas Figura C.2: Resultados del sistema base 45
C.1 Imágenes utilizadas C. Detalles de las pruebas realizadas Figura C.3: Resultados del sistema con las mejoras realizadas 46
C. Detalles de las pruebas realizadas C.1 Imágenes utilizadas !""#$%&'(&) *+,-.&/0 *123/45/5657853"!2 !"!#$%&'%$()*&+) 9:;/5<"19:!#; *123=2/*7!6572 *123=2/*7!6572 />;6>57;: /?@AB@C& 2""5:;/15D;: 2""5::;/"57"2 ,E&.F@ ,&-&.*&! !!!!! =;=21 G0HH0 &I-@E'JK 0HHLHM NNLNM 0GGLOM PHHLHM NNLNM !"!#$%&'/)%."0&+) ,&-&.*&! !!!!! =;=21 G0HH0 &I-@E'JK 0HHLHM 0PNNLNM PHHLHM PHHLHM PQNLNM 0GLGOM 0OLRSM QNLNNM 0RLROM 54!T!"!;/1!>75/45/U96;: 62389572 !"!#$%&'%$()*&+) 2*2895/2V9! IBEKJK/@K?&CJ( :21!42/*957=2 :9/"!8277!11; /&*&/#$*$! !!!!! =;=21 GGQ GW0 R &I-@E'JK NNLNM 0S WWLGM NNLNM HO RRLPM RPNNLNM :21!42/K@II-J. Figura C.4: Resultado obtenidos para calcular las mejoras que se podrían conseguir combinado el trabajo desarrollado en este documento y con nuevos enfoques de reconocimiento de texto. 47
C.1 Imágenes utilizadas C. Detalles de las pruebas realizadas (b) Figura C.5: Imágenes utilizadas para calcular la tasa de aciertos 48