jueves, 30 de enero de 2014

[Tesis] Semana 2: Introducción

Notas de la semana

La reunión correspondiente a esta semana se llevó a cabo el día 20 de enero de 2014.
Durante la reunión se corrigieron algunos de los errores cometidos en los entregables de la primera semana y se establecieron los requisitos para la siguiente entrega.


Evidencia de la segunda semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El segundo avance de código abarca la capacidad del programa para reconocer logotipos en diferentes posiciones, ya sea con rotación o a escala. (4 puntos)
  • El segundo avance de redacción de tesis abarca definir los objetivos y la hipotesis de la tesis (4 puntos)
  • Reunión final agendada para el día 20 de enero de 2014 (1 punto)

Avances de la redacción tesis


Para la primera semana se estableció la estructura de la tesis, después de corregir algunos errores señalados en la reunión final de la semana pasada el esqueleto de la tesis quedó de la siguiente forma

Cabe mencionar que las secciones y subsecciones pueden modificarse conforme avance el proyecto.

Para esta semana se comenzó a redactar la sección de Introducción, pero con más en énfasis en los objetivos y la hipótesis.

En resumen, estas son las subsecciones:

  • Objetivos:
El objetivo es diseñar, desarrollar e implementar una interfaz de realidad aumentada utilizando unos lentes de realidad aumentada, que permita desplegar en el campo de visión del usuario información relevante acerca de las marcas y los productos que consume comúnmente así como aquellos otros productos disponibles y que pueda adquirir en un futuro.

La información que el usuario podrá visualizar en la interfaz será principalmente información ecológica de los productos. Se busca informar a los usuarios acerca de qué tan ecológico es un producto en distintos niveles.

  • Hipótesis
La hipótesis se centra en una pregunta clave:

¿Es posible modificar o influir en las decisiones de compra de los usuarios utilizando nuevas tecnologías como la visión computacional y la realidad aumentada?

En éste caso, el proyecto de tesis hace énfasis en las características ecológicas de un producto

Aprovechando el aumento en la conciencia de las personas acerca del cuidado del medio ambiente y por la ecología, ¿será posible que la información ecológica de los productos tenga el impacto necesario para influir en la decisión de comprar o no un producto?


Avance en código


Como primer avance se logró crear un matcher sencillo de logotipos utilizando Python y OpenCV, y el método SURF para la detección de caracteristicas. El matcher lograba reconocer exitosamente los logotipos con los que fue entrenado pero su capacidad de reconocimiento estaba limitada y si los logotipos estaban girados o a diferente escala los resultados ya no eran los esperados.
Para esta semana se decidió abordar esa problemática y se decidió entrenar el matcher con los logotipos, pero en diferentes posiciones y ver el grado de mejoría

El código se encarga de tomar el logotipo en 4 diferentes posiciones (0, 90, 180 y 270 grados), despues de cada una de estas posiciones se extraen los keypoints, los descriptors y la imágen en escala de grises en forma de arreglo Numpy. Ésta información se almacena en el disco duro para el posterior entrenamiento del matcher.

90°
180°
270°

El problema que se tiene es en la etapa de entrenamiento, actualmente se utiliza el método KNN (K-nearest neighbors), es un método sencillo que permite hacer match entre pares equivalentes de elementos. Parecido a una red neuronal, se debe entrenar con muestras de lo que se quiere reconocer o clasificar. Sin embargo, tengo problemas al momento de presentarle las muestras al algoritmo.
Los samples deben tener un formato especial, los samples estan compuestos por los descriptors de los keypoints, sin embargo tengo problemas al momento de formatear todos los samples ya que las imágenes difieren en tamaño al momento de girarse, es decir, a 0 y 180 grados el logotipo aparece horizontal mientras que a 90 y 270 grados el logotipo aparece vertical.

Sin embargo, a pesar que las muestras son aceptadas por el algoritmo, no tienen el formato adecuado porque no hace match de ningún logotipo, puede ser problema al momento de modificar la forma y tamaño de los arreglos Numpy de los elementos. Se espera corregir el problema en entregas posteriores.

Los avances de código pueden encontrarse en el repositorio.

Liga al repositorio: https://github.com/jcespinosa/EcoGlasses

No hay comentarios:

Publicar un comentario