29 de abril de 2014

Preparación de una Presentación

Investigación
Semana 12

El 8 de Abril del 2014 llevé a cabo la doceava reunión con mi asesora de tesis donde tuve revisión del capítulo de conclusiones y el avance de código en GitHub. En esta reunión se explicó que debería de estar incluido en la presentación de diapositivas y el uso de un paquete para la realización del mismo.

Tareas realizadas

Las tareas realizadas son las que se listan a continuación:
  • Se agregaron librerías requeridas por algunos módulos del servicio web.
  • Se modificó el script de python que ejecuta el servidor para que pueda recibir parámetros.
  • Se creó una vista sencilla para la aplicación web que se encargará de tomar la imagen del producto y se enviará al servidor para ser analizada.
  • Se implementaron los métodos necesarios para subir y almacenar la imagen en el servidor, y mensajes de estado que se regresan al usuario dependiendo del éxito o fracaso del almacenamiento del archivo.
  • Se creó un contenedor para mostrar dentro de la misma vista web, una vista previa de la imagen antes de subirla.
  • Se modificó el script que evalúa los productos donde ahora se añade un valor al producto el cual se suma con otros y se normaliza para obtener una escala del 0 al 1.

Redacción y presentación de diapositivas

  • Se agregaron algunos textos en capítulos 6 y 7.
  • Se modificaron errores en la bibliografía.
  • Se hizo uso del paquete Beamer para presentaciones en Latex.
  • Se creó el primer borrador de la presentación.

Creación de Web App

La imagen que se muestra a continuación en una captura de la interfaz de la aplicación web que se encargará de tomar la imagen del producto para luego ser enviada al servidor y ser analizada.


Se decidió hacer esta herramienta como una aplicación web con el fin de no limitar el prototipo preliminar a una sola plataforma como pudo haber sido Android. De esta manera haciendo uso de capacidades de HTML5 es posible alcanzar una experiencia agradable al usuario.

Una de estas ventajas de HTML5 es la posibilidad de adjuntar un archivo de imagen directamente tomado con la cámara del dispositivo, como si fuese una aplicación nativa, sin necesidad de abrir la galería y seleccionar una imagen previamente almacenada.


Y como se muestra en la imagen anterior, una vez tomada la imagen con la cámara, se agrega una vista previa de la misma, para que el usuario pueda corroborar que la toma fue correcta.

Avances para la siguiente semana

  • Corregir la presentación de ser necesario.
  • Preparar un póster.
  • Crear vista para mostrar los resultados obtenidos por el script ejecutado en el servidor.
  • Corregir detalles en el prototipo funcional para hacer pruebas con usuarios.

7 de abril de 2014

Conclusiones y Trabajo a Futuro

Investigación
Semana 11

El 1 de Abril del 2014 llevé a cabo la onceava reunión con mi asesora de tesis donde solicité únicamente la revisión respecto a este blog y el código en GitHub. Además se me indicó qué debería de estar cubierto en la redacción de tesis para esta semana.

Tareas realizadas

De forma general las tareas realizadas fueron las que se listan a continuación:
  • Se eliminaron lineas de código comentadas en algunos archivos que servían para hacer diferentes pruebas usando los métodos ofrecidos por OpenCV.
  • Se modificó a una función reutilizable el script encargado de recortar la imagen en el área donde se encuentra la mayor cantidad de líneas de texto.
  • Se corrigieron problemas que se ocasionaban al ejecutar algunos de los archivos de Python.
  • Se creó una nueva función sencilla encargada de determinar el valor de un producto tomando en cuenta si en el texto encontrado en la etiqueta de un producto contiene el nombre de una marca reconocida y si es de un país reconocido.

Redacción de la tesis

  • Se agregaron algunas imágenes.
  • Se redactó a manera de borrador las conclusiones y trabajo a futuro.

Valoración de productos determinado por texto encontrado

Como se mencionó en las tareas realizadas esta semana se creó una función que se encarga de determinar el valor de un producto tomando en cuenta palabras encontradas después del reconocimiento de texto. Al inicio el producto tiene un valor de cero, y este aumenta en una unidad si se encuentra que el producto es de alguna marca reconocida, y aumenta si se encuentra que es de un país listado.

Por el momento toma como entrada un archivo de texto, el cual será reemplazado posteriormente por la salida que se obtiene al reconocer texto en la imagen de la etiqueta de un producto.


Las palabras encontradas se almacenan en un arreglo al cual se itera para hacer una búsqueda de coincidencia de palabras. A continuación se muestra el arreglo impreso antes de hacer la búsqueda junto con la información de salida.

memories:research ramongonzalez$ python eco_classifier.py texts/text-sample-2.txt 
['hecho', 'en', 'mxico', 'por', 'embotelladores', 'autorizados', 'bajo', 'licencia', 'de', 'pepsico,', 'inc.', 'purchase,', 'n.y.', 'responsable', 'de', 'fabricacin', 'pepsi-cola', 'mexicana,', 's.', 'de', 'r.l.', 'de', 'c.v.,', 'bosque', 'de', 'duraznos', 'no.', '67', 'piso', '7,', 'col.', 'bosques', 'de', 'las', 'lomas,', 'delegacin', 'miguel', 'hidalgo,', 'c.p.', '11700,', 'mxico,', 'd.f.', 'ingredientes:', 'agua', 'carbonatada,', 'azcares', '(azcar', 'y/o', 'jarabe', 'de', 'maz),', 'caramelo', 'clase', 'iv,', 'concentrado', 'pepsi-cola.', 'pepsi,', 'pepsi-cola', 'y', 'el', 'logotipo', 'pepsi', 'son', 'marcas', 'registradas', 'de', 'pepsico,', 'inc.', 'consumo', 'preferente', 'y', 'lote', 'ver', 'tapa', 'o', 'cuello', 'del', 'envase,', 'consrvese', 'en', 'lugar', 'fresco.', 'cuida', 'el', 'ambiente,', 'recicla', 'el', 'envase.', '0712', 'informacin', 'nutrimental:', 'porcin', '200ml,', 'porciones', 'por', 'envase', '7,5.', 'cantidad', 'por', 'porcin:', 'contenido', 'energtico', '92', 'cal', '(391', 'kj);', 'protenas', '0', 'g;', 'grasas', '0', 'g', 'de', 'las', 'cuales:', 'grasa', 'saturada', '0', 'g;', 'carbohidratos', 'disponibles', '23', 'g', 'de', 'los', 'cuales:', 'azcares', '23', 'g;', 'fibra', 'diettica', '0', 'g;', 'sodio', '27', 'mg']
mxico is a known place
pepsico, is brand word
pepsi-cola is brand word
mxico, is a known place
pepsi-cola. is brand word
pepsi-cola is brand word
pepsi is brand word
pepsico, is brand word
Product rate: 2
memories:research ramongonzalez$

Ahora lo que sigue es darle valor a las marcas y países a listar, por ejemplo, en el caso de ser de origen mexicano tenga un valor mayor a un producto de origen extranjero, y hacerlo de igual forma con las marcas, donde aquella que tenga mayor prestigio dé como resultado un valor mayor al producto.

Avances para la siguiente semana

  • Realizar correcciones.
  • Terminar los textos faltantes en capítulos anteriores.
  • Mejorar la función encargada de valorar productos.