viernes, 28 de febrero de 2014

[Tesis] Semana 6: Diseño de la solución propuesta

Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron:
  • Ortografía
    • Espacios alrededor de puntuación
    • Usar punto y coma
  • Cuidar redacción de párrafos, no hablar en tercera persona del plural (no dialogar con el lector)
  • Concluir sección 1.4 
  • Corregir tabla de la sección 3.2, usar \scalebox en lugar de \scriptsize, doble linea en el último renglón de la tabla
  • Buscar nombres de autores con puras iniciales
  • Arreglar .bst para que la bibliografía quede en español
  • Escribir autobiografía


Evidencia de la sexta semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El sexto avance de código consistió en mejorar el proceso de detección, en éste caso, se separó completamente el modulo de detección y se agrego comunicación vía sockets. (4 puntos)
  • El sexto avance de redacción de tesis consistió en comenzar a diseñar la solución propuesta y escribir los puntos que se estén listos (4 puntos)
  • Reunión final agendada para el día 28 de febrero de 2014 (1 punto)

Avances de la redacción tesis


Para esta semana se realizó la redacción de la solución propuesta para comprobar la hipótesis del proyecto de tesis.

Para el diseño de la solución propuesta de debieron establecer todas las herramientas, métodos y procesos que la conforman.

Para darle estructura, se divide en dos partes:

  • Herramientas de software: En esta subsección se habla de los lenguajes y librerías a utilizar, asimismo se habla de los procesos que conforman la implementación; se habla de la manera en la que se comunican entre sí y se presentan algunos diagramas para facilitar la comprensión
  • Componentes de hardware: Se habla de los dispositivos que conforman la parte del hardware y la manera en la que se comunican entre si.

También se hablará de la manera en la que se comunican ambas capas

En la subsección Implementación se hablará de manera más especifica de los procesos establecidos, se especificarán los algoritmos utilizados y la forma en la que se implementarán en la solución propuesta, se hablará de los datos específicos del proyecto, cómo son, cómo se procesarán, cómo se modificarán

También se agregó la autobiografía al final de la tesis.

Avance en código


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

Para esta semana se propuso como avance mejorar el proceso de detección y la retroalimentación para el usuario, sin embargo, se decidió completar un módulo pendiente del proyecto.

La implementación debe ser distribuída, esto quiere decir que el proyecto se divide en dos partes:
  • Un cliente
  • Un servidor

La parte del cliente es el usuario y se encarga de capturar lo que el usuario esta observando y de mostrar la información que el usuario necesita. El servidor se encarga de procesar las capturas para identificar logotipos, etiquetas o marcas y asi enviar al cliente la información necesaria.

En este caso, el cliente es cliente es la parte que corre la interfaz, contiene 3 hilos diferentes:
  • App: Se encarga de dibujar la ventana y mostrar lo que se captura desde la cámara web.
  • Capture: Se encarga de obtener las capturas de la webcam y enviarlas al hilo App, asimismo le envía cada cierto tiempo una captura al hilo Detection.
  • Detection: Recibe la captura del hilo Capture, la codifica en forma de un string de bytes y la manda a traves del socket. Recibe la respuesta del servidor.

El servidor es secuencial y no hace uso de ningún hilo, primero carga los logotipos que se pueden reconocer, y espera hasta que recibe el mensaje del cliente y lo decodifica para obtener una captura , posteriormente preprocesa la captura utilizando algunos filtros, después obtiene los keypoints y descriptors utilizando el algoritmo ORB, finalmente envía la información al matcher (FLANN) que se encarga de comparar la captura obtenida para encontrar algún logotipo.

Por ahora no hay retroalimentación, pero se espera para la siguiente semana que ya sea posible. Este paso ayudará en etapas posteriores cuando ya exista una base de datos con la información de los logotipos y ésta pueda enviarse al usuario desde un servidor remoto.




Avances para la siguiente semana


Los avances en la redacción de la tesis será redactar la implementación de la solución propuesta.

Los avances en código a realizar son:
  • Implementar un módulo de retroalimentación para el usuario cuando un logotipo es reconocido.


No hay comentarios:

Publicar un comentario