martes, 27 de mayo de 2014

[Tesis] Semana 16: Finalización de tesis


Notas de la semana


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


Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance en código. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en redactar el borrador la tesis de tal manera que estuviera listo para una la revisión. (4 puntos)
  • Reunión final agendada para el día 27 de mayo de 2014 (1 punto)


Avances de la redacción tesis

Ésta semana se trabajó principalmente en la corrección y observaciones hechas a la redacción de la tesis, los avances realizados a la redacción fueron:
  • Se complementó el capítulo 2 de antecedentes con algunos conceptos nuevos.
  • Se complementó el capítulo 4 de solución propuesta con los avances realizados al proyecto las últimos días, se agregaron algunas imágenes y diagramas de flujo para ilustrar los procesos.
  • Se corrigieron detalles con imágenes de otros capítulos.


Avances en código

Se han realizado pruebas con las lentes, la integración de la cámara en lugar de utilizar la cámara web de una laptop, se hicieron pruebas para correr la aplicación a pantalla completa.
Se ha investigado la integración de un módulo para generar peticiones HTTP para recuperar la información relacionada a cada marca y logotipo detectado desde un servicio web.

Avances para la siguiente semana


Continuar con la redacción de la tesis y la redacción del artículo para su revisión final.

Los avances en código a realizar son:
  • Generar peticiones HTTP para recuperar la información de los logotipos.


martes, 20 de mayo de 2014

[Tesis] Semana 15: Finalización de tesis


Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron principalmente hacia el póster y la presentación que se realizaron.

Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance en código. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en redactar el borrador la tesis de tal manera que estuviera listo para una la revisión. (4 puntos)
  • Reunión final agendada para el día 20 de mayo de 2014 (1 punto)


Avances de la redacción tesis

Ésta semana se trabajó principalmente en la corrección y observaciones hechas al póster y al artículo las dos semanas anteriores.
En el póster se expone todo el diseño del proyecto y se presentará el concepto del mismo.

Avances para la siguiente semana


Continuar con la redacción de la tesis y la redacción del artículo para su revisión final.

Los avances en código a realizar son:
  • Integración de los lentes de realidad aumentada con el proyecto.
  • Investigar medios alternos a Windows para el desarrollo de aplicaciones para los lentes.


viernes, 16 de mayo de 2014

[Tesis] Semana 14: Preparación de un articulo

Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron principalmente hacia el póster y la presentación que se realizaron.

Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance en código. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en redactar el borrador de un artículo que será enviado a alguna revista científica para su publicación. (4 puntos)
  • Reunión final agendada para el día 16 de mayo de 2014 (1 punto)


Avances de la redacción tesis

Para ésta semana se comenzó la redacción de un artículo para su publicación en una revista científica; se comenzó con una plantilla descargada del sitio http://www.latextemplates.com/cat/articles.
Un artículo es una descripción completa de una investigación que se está llevando a cabo, en este caso, el contenido del artículo son extractos de las secciones de la tesis que se esta desarrollando.

Algunas revistas científicas en español que se han considerado para la publicación del artículo son las siguientes:

  • Revista Ingeniería, Investigación y Tecnología.
  • Revista Ingeniería Mecánica, Tecnología y Desarrollo.
La redacción del artículo se realizó en Microsoft Word.


Avances de código


Esta semana pause un poco el desarrollo del código en Python para centrarme en probar los lentes de realidad aumentada, se trata de unos lentes Vuzix STAR 1200XLD, cuyas especificaciones se encuentran descritas en el sitio http://www.vuzix.com/augmented-reality/products_star1200xld/.


Imagen tomada de http://www.vuzix.com/augmented-reality/products_star1200xld/

Para probar las lentes se trabajó en el sistema operativo Windows 8.1; para ello fue necesario descargar e instalar algunas herramientas, la primera de ellas llamada VR Manager 4.1 que permite calibrar el Warp Tracker que es un giroscopio capaz de detectar el movimiento de la cabeza, utiliza 9 sensores (3 acelerometros, 3 giroscopios y 3 sensores de campo magnetico) para detectar el movimiento de la cabeza, el ángulo de visión y la dirección. La aplicación VR Manager 4.1 incluye las opciones necesarias para calibrar dichos sensores.

El siguiente paso fue descargar el kit de desarrollo, para ello se seleccionó el SDK para Windows en este sitio http://www.vuzix.com/support/developer_program/.
La programación de los lentes se realiza en los lenguajes C# y C++, ell SDK consiste en una serie de drivers y librerías que se importan en el código y proporcionan la funcionalidad de conectarse y leer los valores del Warp Tracker.
El SDK no incluye ningún editor de código o algo parecido, para el desarrollo de proyectos en C# y C++ de instaló Visual Studio 2012.

Como parte de la pruebas se configuraron las herramientas anteriores, sin embargo, se detectaron algunos problemas, el principal problema fue que algunas librerías utilizadas requieren de complementos para Windows que están desactualizados por lo que no están disponibles, eso hizo que los ejemplos incluidos en el SDK no fueran funcionales. Se espera seguir realizando más pruebas con las lentes para futuras entregas.

Por el lado de desarrollo de en Python, solo se configuró el código para trabajar con la cámara incluida en los lentes:

Avances para la siguiente semana


Realizar correcciones al póster y los errores que puedan surgir en el paper.

Los avances en código a realizar son:
  • Integración de los lentes de realidad aumentada con el proyecto.
  • Investigar medios alternos a Windows para el desarrollo de aplicaciones para los lentes.


viernes, 9 de mayo de 2014

[Tesis] Semana 13: Preparación de un póster

Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron:

  • Utilizar imágenes propias o bajo licencia Creative Commons.
  • Ortografía:
    • Cuidar los acentos y correcta escritura de las palabras.
    • Corregir las observaciones realizadas a la ortografía (errores de ortografía, redacción y sintaxis).
  • Corregir las observaciones hechas a la bibliografía.
  • En la tabla comparativa del capítulo 3, evitar desperdiciar espacio en blanco.
  • Mejorar la calidad de las imágenes.

Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance en código. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en realizar un poster utilizando plantillas de Latex. (4 puntos)
  • Reunión final agendada para el día 09 de mayo de 2014 (1 punto)


Avances de la redacción tesis

Se realizaron las observaciones de la semana anterior.

Se complementó la información de la presentación elaborada en la semana pasada, la presentación se irá ampliando y complementando conforme se vaya concluyendo la tesis, se realicen los experimentos y se tengan los resultados.

Se realizó un poster con el contenido de la tesis para su presentación.

Avances de código


Esta semana se trabajo en el desarrollo de una base de datos que almacenará la información de los logotipos y diferentes productos a ser detectados, se utilizó MongoDB como base de datos y la estructura de cada colección es de la siguiente forma:

[
  {
    "id": "lala",
    "name": "Lala",
    "product": "Milk",
    "barcode": "7501020515398",
    "madein": "Gomez Palacio, Durango, Mexico"
  },
  {
    "id": "quaker",
    "name": "Quaker Oats",
    "product": "Oats flakes",
    "barcode": "038527132577",
    "madein": "Estados Unidos"
  },
  {
    "id": "kellogs",
    "name": "Kellogs",
    "product": "Corn flakes",
    "barcode": "none",
    "madein": "none"
  }
]

En etapas anteriores se utilizaba como base de datos un archivo almacenado directamente en el disco duro y era accesado como cualquier otro archivo.
Entonces se implementó un script para conectar la base de datos con el código de detección de logotipos en el lado del servidor, con ello es posible realizar una búsqueda en la base de datos cuando un logotipo es detectado, recuperar la información disponible en la base de datos y enviarla al cliente.

Se estuvo trabajando con la interfaz y haciendo pruebas para correrla a pantalla completa, así como cambios menores en las funciones que procesan del lado del cliente la información recibida desde el servidor para que sea desplegada al usuario.

Avances para la siguiente semana


Comenzar a redactar un artículo sobre el tema de tesis para su posterior publicación en una revista científica..

Los avances en código a realizar son:
  • Cambios y actualizaciones al driver de la base de datos
  • Trabajar en la interfaz gráfica para mostrar a los usuarios la información utilizando los lentes de realidad aumentada.
  • Investigar sobre OpenGL para Python y analizar su posible integración.


lunes, 5 de mayo de 2014

[Tesis] Semana 12: Preparación de una presentación

Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron:

  • Utilizar imágenes propias o bajo licencia Creative Commons.
  • Ortografía:
    • Verificar la redacción de los párrafos, evitar palabras en futuro y primera persona del plural.
    • Cuidar los acentos y correcta escritura de las palabras.
    • Corregir las observaciones realizadas a la ortografía (errores de ortografía, redacción y sintaxis).
  • Corregir las observaciones hechas a la bibliografía.
  • En la tabla comparativa del capítulo 3, alinear símbolos al centro
  • Concluir el diseño experimental, qué se evalúa, cómo, en qué unidades se mide y la finalidad.
  • Agregar redacción sobre trabajo a futuro.

Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance en código. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en realizar una presentación utilizando la clase beamer en Latex. (4 puntos)
  • Reunión final agendada para el día 29 de abril de 2014 (1 punto)

Avances de la redacción tesis

Se realizaron las observaciones de la semana anterior, se complementó el capítulo dos con nuevos antecedentes y se agregaron las imágenes correspondientes al capítulo. Se complementó la redacción de la solución propuesta hasta abarcar los avances en código que se tienen hasta la fecha. Se agregó la redacción de trabajo a futuro en el capítulo de conclusiones.

Se realizo una presentación utilizando la clase beamer en latex, la presentación es necesaria para la defensa del tema de tesis. Se eligió el tema CambridgeUS con el esquema de colores seahorse.

Avances para la siguiente semana


Los avances en la redacción de la tesis será complementar los capítulos 5 y 6, agregar contenido al capítulo 2 mientras siga avanzando la solución propuesta.
Comenzar a redactar un poster sobre el tema de tesis.

Los avances en código a realizar son:
  • Desarrollar el módulo de comunicación con la base de datos, complementar con una API para realizar peticiones y guardar contenido en la misma.
  • Continuar mejorando el proceso de detección.
  • Complementar la interfaz de realidad aumentada, mejorar la retroalimentación y el dibujo de los elementos en el campo de visión del usuario.


lunes, 7 de abril de 2014

[Tesis] Semana 11: Conclusiones y trabajo a futuro

Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron:

  • Utilizar imágenes propias o bajo licencia Creative Commons.
  • En los \caption, utilizar descripciones más variadas.
  • Cambiar aquellas imágenes que puedan representarse mediante cuadros e incluir otros más.
  • Complementar las introducciones a las secciones del capítulo 4.
  • Describir para qué se utilizan cada una de las librerías en la lista de la sección 4.2.1.
  • Ortografía:
    • Verificar la redacción de los párrafos, evitar palabras en futuro y primera persona del plural.
    • Cuidar los acentos y correcta escritura de las palabras.
    • Corregir las observaciones realizadas a la ortografía (errores de ortografía, redacción y sintaxis).
  • Corregir las observaciones hechas a la bibliografía.

Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance de esta semana en código consistió en agregar retroalimentación de los productos al usuario. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en comenzar la redacción del capítulo de conclusiones y trabajo futuro. (4 puntos)
  • Reunión final agendada para el día 08 de abril de 2014 (1 punto)


Avance en código

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

Para esta semana se trabajo sobre el panel lateral para mostrar la información al usuario, en este caso se agregó algo de información simple cuando un producto es detectado, por ahora se esta trabajando con una "base de datos" que es un archivo JSON y que es leído por el proceso de detección del lado del servidor.

Se estuvo trabajando en un módulo para recuperar información desde una base de datos desarrollada en MongoDB, sin embargo, no se espera que sea parte de la implementación final ya que estos métodos dependen de las especificaciones para los servicios del backend, pero ayudará a preparar el código para que sea menos complicado adaptarlo cuando los servicios estén listos.

Se realizaron algunas optimizaciones menores al código de detección del lado del servidor.

Avances para la siguiente semana


Los avances en la redacción de la tesis será complementar los capítulos 2, 4, 5 y 6, agregar los contenidos faltantes, imágenes y preparar un primer borrador de la tesis.

Los avances en código a realizar son:
  • Continuar trabajando con la retroalimentación al usuario.
  • Proceso para detectar 2 o más logotipos y/o marcas.
  • Realizar los cambios necesarios y corregir los errores en el código.


lunes, 31 de marzo de 2014

[Tesis] Semana 10: Análisis de experimentos y agregaciones pendientes

Notas de la semana


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

Las observaciones realizadas a los avances de la semana anterior fueron:

  • Complementar los agradecimientos.
  • Usar algunos cuadros en lugar de solo imágenes.
  • Citar el contenido de la seguridad de la información y telecomunicaciones.
  • Arreglar la tabla del capítulo 3.
  • Complementar la redacción del capítulo 5, la introducción a cada sección.
  • Ortografía:
    • Verificar la redacción de los párrafos.
    • Cuidar los acentos y correcta escritura de las palabras.
  • Corregir bibliografía.

Evidencia de la semana:
  • Redactar una entrada en el blog con los avances realizados durante la semana. (1 punto)
  • El avance de esta semana en código consistió en corregir algunos errores en el proceso de cifrado de la comunicación entre sockets. (4 puntos)
  • El avance de ésta semana en redacción de tesis consistió en complementar los capítulos 5 y 6 con las agregaciones pendientes (redacción, tablas, gráficas o  imágenes) (4 puntos)
  • Reunión final agendada para el día 28 de marzo de 2014 (1 punto)


Avance en código

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

Para esta semana se corrigió el módulo de encriptación de la comunicación, el procedimiento funcional quedo de la siguiente manera:

  • Codificación en base64.
  • Compresión con zlib.
  • Segmentación del mensaje.
  • Cifrado de cada segmento utilizando RSA.
  • Unión de los segmentos en un nuevo mensaje completo.

Los procedimiento es correcto, sin embargo, se encontró un problema más crítico: mientras que el proceso de cifrado del lado del cliente funciona de la manera esperada, el proceso de descrifrado del lado del servidor tarda mucho lo que vuelve muy lento el proceso de detección, por ahora se desactivo la parte del cifrado, posiblemente se deba a que la longitud de la llave para cifrar y descifrar es de 2048 bits, de probarán con llaves más pequeñas ya que la codificación base64 y la compresión agregan seguridad adicional al proceso.

De la misma manera, se corrigió la pérdida de mensajes en la comunicación del socket, éste sucedía porque el mensaje se enviaba segmentado, por ello se agregó un último paso que consiste en juntar todos los segmentos y enviarlos en un solo mensaje.

Se realizaron cambios a la interfaz diseñada, en una primera etapa la detección ocurría en tiempo real y cada segundo, sin embargo, se decidió agregar interactividad. Ahora es posible realizar una detección en tiempo real mientras que la interfaz espera a que suceda, cuando un logotipo es detectado la interfaz espera a que el usuario realice alguna acción, se irán agregando más interacciones en etapas posteriores, por ahora solo se agregó un panel lateral donde se mostrará la información del logotipo encontrado y un botón de reseteo de la detección, esto sirve para que el proceso de detección no se quede enviando peticiones al servidor sino que espere a que el usuario elija qué hacer cuando un logotipo de ha detectado dándole tiempo de analizar la información disponible del producto.

Avances para la siguiente semana


Los avances en la redacción de la tesis será redactar la el análisis de los experimentos.

Los avances en código a realizar son:
  • Implementar un módulo que permita recuperar la información de los logotipos, terminar el panel lateral para mostrar la información.
  • Proceso para detectar 2 o más logotipos y/o marcas.