viernes, 21 de febrero de 2014

[Tesis] Semana 5: Resumen de trabajos relacionados relevantes

Notas de la semana


La reunión inicial correspondiente a esta semana se llevó a cabo el día 13 de febrero de 2014.

Las observaciones realizadas a los avances realizados fueron:
  • Quitar \sc de addcontentsline de la bibliografía
  • Revisar el capítulo de introducción a un formato semi final y redactar objetivos específicos.
  • Verificar ortografía, formato de párrafos.
  • Cuidar las referencias a los capítulos, utilizar \label + \ref y/o \pageref
  • Revisar las referencias bibliográficas y citas.
  • Cuidar la redacción científica

Evidencia de la quinta semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El quinto avance de código consistió en implementar BoW (Bag of Words) en el proyecto, sin embargo se realizó una implementación distinta. (4 puntos)
  • El quinto avance de redacción de tesis consistió en realizar un cuadro comparativo de los trabajos relacionados, algo conocido como tabla de estado de arte (4 puntos)
  • Reunión final agendada para el día 21 de febrero de 2014 (1 punto)

Avances de la redacción tesis


Para esta semana, con los trabajos y proyectos relacionados que se encontraron, se procedió a fabricar una tabla de estado de arte. En esta tabla se comparan las características de los proyectos entre si y las características del proyecto de tesis que se esta realizando.

Las caracteristicas a comparar fueron:
  1. Interfaz de realidad aumentada: El proyecto utiliza una o más técnicas de realidad aumentada.
  2. Asistente de compras: El proyecto es capaz de asistir a los consumidores al momento de adquirir sus productos.
  3. Detección de logotipos, marcas o etiquetas: El proyecto es capaz de reconocer algún producto, etiqueta, marca; utilizando alguna técnica de detección.
  4. Base de datos con información sobre productos: Se cuenta con una base de datos que almacena toda la información requerida.
  5. Recomendaciones de compra: Indica que el proyecto es capaz de recomendar a los usarios que artículos comprar de acuerdo a ciertos criterios.
  6. Despliegue de información sobre los productos: El proyecto puede mostrar a los usuarios información sobre los productos tales como nombre, precios, ingredientes, etcétera.
  7. Despliegue de información cualitativa de los productos: Se puede mostrar información complementaria como comentarios, calificaciones, opiniones o recomendaciones hechas por otros usuarios.
  8. Orientado al cuidado del medio ambiente: Se centra en el cuidado del medio ambiente.
  9. Influencia sobre las decisiones de compra: Uno se sus objetivos es afectar o modificar las decisiones de compra de los consumidores.
  10. Perfiles de compras: Aprende o almacena el historial de compras de los consumidores.

Los proyectos elegidos para la comparación fueron:

La tabla comparativa resultante es la siguiente:

C1C2C3C4C5C6C7C8C9C10
P1NoSiNoSiSiSiNoNoNoSi
P2SiSiSiSiNoSiNoNoNoNo
P3NoSiNoSiNoSiNoSiNoNo
P4NoSiNoSiNoSiSiNoNoNo
P5NoSiNoNoSiNoSiNoNoSi
P6SiSiNoSiSiSiNoNoSiNo
P7SiSiNoSiSiSiNoNoSiNo
P8SiNoNoSiSiSiNoNoNoNo


También se complemento la redacción del capítulo uno (introducción) para dejarla en estado casi final.


Avance en código


Los avances pueden encontrarse en el repositorio: https://github.com/jcespinosa/EcoGlasses

Para esta semana se busco investigar e implementar el concepto BoW (Bag of Words) al proyecto, sin embargo, los módulos no están disponibles en la version para Python de OpenCV y solo existe la implementación para C++.
Como segundo punto, se decidió realizar pruebas de extracción/detección de características utilizando método ORB (Oriented FAST and rotated BRIEF) que como su nombre lo indica hace uso de los algoritmos FAST (Features and Accelerated Segment Test) y BRIEF (Binary Robust Independent Elementary Features), se tomó esta decision ya que los algoritmos SURF y SIFT se encuentran patentados y se debe pagar licencia de uso para aplicaciones comerciales.

Dado que no fue posible implementar BoW en el proyecto, se optó por probar otras implementaciones, la primera hacia uso del método K-Nearest Neighbour, que es un clasificador de clases sencillo, sin embargo, tenía algunos problemas.

El siguiente método a probar fue un detector de patrones. Los beneficios de detectar patrones es que son bastante precisos, pues comparan todas las características del patrón, el fallo es que no son muy confiables cuando las imágenes se encuentran giradas o su tamaño cambia.

 1. Patron con giro

 2. Patron con cambio de tamaño

3. Patron exacto

La tercer implementación hace uso del algoritmo ORB para la extracción de características (keypoints y descriptors). En éste caso el proceso de detección mejoro mucho ya que se obtuvieron buenos resultados incluso ante el cambio de tamaño, rotación y cambios sutiles de iluminación.

 1. Cambio de tamaño

 2. Tamaño normal

 3. Tamaño normal y rotación

4. Tamaño pequeño y rotación


Dado la velocidad con la que tomaba la captura de la ventana, da la impresión que solo se detectan pocas características, pero en realidad la detección es constante y con muy poco ruido.

Se continuará haciendo pruebas con la implementación de ORB y se trabajará en el módulo de retroalimentación para los usuarios.

Avances para la siguiente semana


Los avances en la redacción de la tesis será redactar el diseño de la solución propuesta.

Los avances en código a realizar son:
  • Perfeccionar el proceso de detección.
  • Mejorar la retroalimentación para el usuario cuando un logotipo es reconocido.


No hay comentarios:

Publicar un comentario