27 de mayo de 2014

Entrega de Resultados

Investigación
Semana 16

El 20 de Mayo del 2014 llevé a cabo la penúltima reunión con mi asesora de tesis donde se dio revisión a la redacción de tesis, al blog y al código en GitHub. También se dio una segunda revisión al póster elaborado para hacer las últimas correcciones antes de mandarse a imprimir y hacer una exposición del mismo en el CIIDIT.

Tareas realizadas

  • Se movieron de la raíz del repositorio los archivos que no son usados por ningún script y que solo funcionan como prueba para cierta implementación.
  • Se agregó información al README con el fin de que aquellos desarrolladores con alguna configuración diferente de RoR puedan ejecutar las instrucciones sin problemas.
  • Se añadió funcionalidad en el controlador del servidor para que cuente el tiempo desde el momento en que recibe la imagen, hasta cuando termina de procesar justo antes de enviar la información de regreso, con el fin de tomar estos datos en los resultados de desempeño computacional.
  • Se creó un archivo que guarda el resultado de similitud para las diferentes pruebas realizadas con una misma imagen.

Correcciones del póster

  • Se agregaron los logotipos de la UANL, FIME y el CIIDIT.
  • Se eliminaron textos con información tentativa.
  • Se agregó definición de OCR y se agregó un cuadro con el procedimiento.
  • Se cambiaron las imágenes en el cuadro de propuesta por unas más recientes.
  • Se extendió la explicación del prototipo.

Ejecución de pruebas computacionales

Con la funcionalidad agregada al controlador y al script de pruebas, ahora es posible concentrar información verdadera en archivos con información separada por comas que sirven para crear tablas de velocidad de procesamiento, tamaño de archivo analizado y porcentaje de similitud de texto, para aquellos textos de imágenes previamente transcritos.

Por ejemplo en el archivo de velocidad de procesamiento tenemos en la primer columna el tiempo que tardo para cierta imagen, y el peso en Kb de la misma imagen.
11.756,330,
24.762,404,
7.373,235,
Para la prueba de similitud de texto recuperado de cierta imagen (por el momento solo dos imágenes se tienen capturadas manualmente para hacer la comparación), se le hace pasar por distintos filtros antes de ser examinada para la obtención de texto, y cada uno de estos diferentes procesos arroja un valor de similitud que esta entre el 0 y 1, donde se puede entender como 1 cuando se recuperó el 100% del texto tal cual se ve en la imagen.
0.143660212367,0.0844761382337,0.0547762191049,0.0,
0.826848249027,0.764598540146,0.836935166994,0.442250740375,
Este tipo de prueba ya se había hecho anteriormente para seleccionar cual técnica daba mejor resultado, pero no se tenía un registro de pruebas que dieran validez al mismo. Con esto ya es posible demostrarlo cuantitativamente, y no solo por percepción humana.

Resultado entregado

De entre las opciones que se tenían para entregar como resultado en el trabajo de investigación, decidí la opción del póster, el cuál fue presentado en un evento académico en el CIIDIT.

Trabajo a futuro

  • Continuar con el trabajo de investigación.
  • Crear un módulo reutilizable para otros proyectos.

20 de mayo de 2014

Finalización

Investigación
Semana 15

El 16 de Mayo del 2014 llevé a cabo la reunión número quince con mi asesora de tesis donde se dio revisión al artículo. A pesar de haber seleccionado una revista como opción para enviar el artículo a publicar, decidí no hacerlo y dedicar más tiempo a la parte final de desarrollo para un primer prototipo del trabajo de tesis.

Tareas realizadas

  • Se añadió el script de python para clasificar y evaluar productos en el servicio web.
  • Se hicieron los cambios pertinentes para unir este código con lo demás ya implementado en el lado del servidor.
  • Se cambió el valor aleatorio que se mostraba como calificación por el valor arrojado por el script.
  • Se modificó la vista web para cambiar de color el contenedor con el resultado dependiendo del valor de la calificación, donde rojo es para valores menores a 4, amarillo para valores mayores o iguales a 4 y menores a 8, y verde para valores mayores o iguales a 8.

Corrección del póster

  • Se hicieron correcciones en el póster según lo marcado en rojo hace dos entregas.
  • Se cambiaron y corrigieron algunos textos.
  • Se cambiaron las capturas de imagen del prototipo creado por unas más recientes.

Evaluación del producto desde el servicio web

Una vez añadido el script encargado de valorar un producto, se modificaron los archivos necesarios para lograr que el servidor regresará exitosamente el texto recuperado junto con el valor como resultado de la evaluación.

Como se mencionó en las tareas realizadas se modificó el color del contenedor para que este cambiará según el valor obtenido. A continuación se muestran dos capturas de este cambio.


En el siguiente caso el producto obtuvo un resultado con un valor de 5, lo cual provocó que el contenedor se pintará de amarillo. Si hubiese sido menor a 4, este se hubiera pintado en color rojo.


Tareas para la siguiente semana

  • Comprobar por lo menos un producto terminado (póster).
  • Continuar con la redacción de la tesis de ser posible.

16 de mayo de 2014

Preparación de un Artículo

Investigación
Semana 14

El 9 de Mayo del 2014 llevé a cabo la reunión número catorce con mi asesora de tesis donde se expuso frente al grupo la presentación elaborada y corregida que en su momento servirá para la defensa de tesis. También se revisó el póster y se nos hicieron correcciones en el mismo.

Tareas realizadas

Las tareas realizadas son las que se listan a continuación:
  • Se hicieron algunos ajustes de contenido en la vista principal de la aplicación web.
  • Se cambiaron de directorio los scripts de python, ya que estos se encontraban en una carpeta de acceso público.
  • Se hicieron los ajustes necesarios para que los controladores del servicio web funcionaran correctamente debido al cambio anterior.
  • Se agregó en el JSON que regresa la petición del servidor una variable que contiene el valor de la evaluación.
  • Se agregó a la vista principal un contenedor que muestra en color verde el resultado de la evaluación, justo arriba del texto recuperado.
  • Se agregaron los scripts previamente elaborados con el fin de procesar la imagen antes de la obtención de texto.

Creación de un artículo

  • Se buscó por algunas revistas y congresos del país en donde pudiéramos enviar nuestro artículo para ser publicado.
  • Se seleccionó sólo uno para después buscar los requisitos necesarios para mandar.

Revistas/Congresos considerados:

Revista seleccionada: Revista Ciencia UANL

Requisitos:
Los originales deberán tener una extensión máxima de cinco páginas (incluyendo gráficas y fotos) de acuerdo al formato que a continuación se especifica:
  • Formato. Tamaño carta; el margen superior deberá ser de 2.5 cm. y el resto de 2 cm.
  • Título. Máximo 2 renglones, tipografiado en altas y bajas, tipo Times New Roman a 24 puntos, con interlínea normal, en negritas.
  • Nombre del autor o autores. En mayúsculas con alineación al margen derecho, misma fuente tipográfica en 12 puntos, asterisco sobrescrito al final.
  • Adscripción. Colocarla en pie de página de la 2a. columna antecedida por un asterisco, en tipografía Times New Roman de 8 puntos.
  • Cuerpo del texto. A dos columnas, con tipografía Times New Roman de 10 puntos, justificado.
  • Resúmenes. No mayores de 100 palabras tanto en inglés como en español. Incluir a lo sumo cinco palabras clave tanto en inglés como en español para ser utilizadas en índices. Deben ubicarse al terminar el cuerpo y antes de las referencias. Misma tipografía que el cuerpo.
  • Referencias. Deberán ser numeradas y aparecerán en el orden que fueron citadas en el texto, utilizando la misma tipografía del cuerpo. Las fichas bibliográficas deberán contener los siguientes datos: autores o editores, título del artículo, nombre del libro o de la revista, lugar, empresa editorial, año de la publicación, volumen y número de páginas.
  • Subtítulos. Tipografía Times New Roman, 10 puntos, en negritas.
  • Notas al pie. Times New Roman, 8 puntos.
  • Material gráfico. Mínimo 3 imágenes o gráficas en blanco y negro, a una o dos columnas, máximo media página (deben entregarse originales).
  • Pie de gráficos. Tipografía Times New Roman, itálica de 9 puntos.

Procesamiento de imagen desde el servicio web

Ahora se agregaron los scripts encargados del preprocesamiento de la imagen, de tal forma que el texto recuperado es algo más entendible que lo mostrado la semana pasada.

En seguida se muestran dos capturas del trabajo realizado.


Por el momento el resultado mostrado como la evaluación es un número aleatorio, pero se espera que la próxima semana el módulo que hace esta tarea se agregue al servidor web.


Tareas para la siguiente semana

  • Agregar el módulo para evaluación de productos para después del procesamiento de imagen que ya hace el servidor.
  • Hacer mejoras en código.
  • Mejorar scripts para los experimentos.

9 de mayo de 2014

Preparación de un Póster

Investigación
Semana 13

El 29 de Abril del 2014 llevé a cabo la reunión número trece con mi asesora de tesis donde tuve revisión de la presentación elaborada la cual servirá en determinado momento en la defensa de tesis. En esta reunión se pidieron correcciones en la presentación y se nos pidió preparar un póster para esta semana.

Tareas realizadas

Las tareas realizadas son las que se listan a continuación:
  • Se crearon los iconos para la aplicación con una imagen de uso libre.
  • Se probaron otras formas de enviar una captura de imagen desde el móvil hasta el servidor.
  • En la aplicación web se agregó funciones de javascript para redimensionar la imagen antes de enviarla.
  • Se usó una librería en el controlador para poder convertir una imagen en codificación Base 64.
  • Se creó un método que se encarga de ejecutar el script simple de OCR para obtener el texto de la imagen.
  • El texto recuperado por el script es enviado desde el servidor a la aplicación web y es mostrada al usuario.

Creación de un póster

  • Se hizo uso del paquete Baposter para crear un póster en Latex.
  • Se creó el primer borrador del póster.

Enviar imagen vía AJAX y recibir texto recuperado en la aplicación web

La imagen que se muestra a continuación es una captura de la interfaz de la aplicación web desde el emulador que Chrome tiene integrado. Esto se hizo en la primer fase de prueba con el fin de mostrar errores en consola y mensajes para depurar el programa.


Ahora vemos el resultado de "tomar una imagen" (para este caso se seleccionó una imagen previamente tomada y almacenada en la computadora) y enviarla al servidor para su procesamiento. Una vez que la imagen es procesada el servidor regresa una cadena de datos del texto recuperado, los cuales muestro desde consola.


Posteriormente se hicieron las modificaciones necesarias para mostrar el texto recuperado en la misma vista, y una vez probadas nuevamente en el navegador, se probó esto mismo pero desde un dispositivo móvil.


Por el momento no se incluyeron los scripts anteriormente desarrollados los cuales son encargados del preprocesamiento y análisis de información, de tal forma que el texto recuperado actualmente por el servidor no tiene mucho sentido. En las tareas de la próxima semana ya se tiene contemplado la mejora en este aspecto.

Tareas para la siguiente semana

  • Terminar textos faltantes en la tesis.
  • Preparar un artículo.
  • Completar por lo menos un producto terminado.
  • Hacer una limpieza general al código en python.
  • Agregar el preprocesamiento de imagen y análisis de información al script que ejecuta el servidor.