Max Hernandez

Laberinto - Ejemplo de Canvas en HTML5

jueves, 27 de noviembre de 2014

Semana 14: Envío a revisión por el comité

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de completar todos los pendientes posibles y mandar el documento de tesis  a los asesores.

Para esta semana es importante que la tesis este en un grado de calidad suficiente, por lo tanto se ha utilizado todo el tiempo de redacción para completar con pendientes de la misma. Para esta semana se han hecho los siguientes avances en la tesis:
  • Se han corregido errores de compilación del documento en Latex.
  • Se agregaron contribuciones al resumen inicial.
  • Se corrigieron errores de ortografía en la sección de agradecimientos.
  • Se corrigieron errores de ortografía en el capítulo de introducción.
  • Se agregó contenido al capítulo de antecedentes dejando éste completado en un porcentaje aproximado del 80%.
  • Se ha terminado de redactar el capítulo "Trabajos relacionados", aunque aún hacen falta las correcciones de los asesores.
  • Se ha terminado de redactar el capítulo de "Solución propuesta", aunque aún hacen falta las correcciones de los asesores.
  • Se ha terminado de redactar el capítulo de "Análisis de los resultados", aunque aún hacen falta las correcciones de los asesores.
  •  Se ha terminado de redactar el capítulo de "Conclusiones", aunque aún hacen falta las correcciones de los asesores.
  • Se ha agregado un apéndice.  
  • Se ha agregado contenido a la autobiografía y se han corregido errores de ortografía en la misma.  
De la redacción del documento de tesis se han marcado los pendientes y se ha añadido una fecha de terminación de los mismos a los mismo, los pendientes son los siguientes:

  • Definir lo que es una memoria cache en el capítulo de antecedentes. Se planea concluir con el pendiente para antes del: 15/12/2014.
  • Agregar definiciones de conceptos cliente servidor al capítulo de antecedentes. Se planea concluir con el pendiente para antes del: 15/12/2014.
  • Agregar las referencias utilizadas en el capítulo de antecedentes a la sección de referencias al final del documento. Se planea concluir con el pendiente para antes del: 15/12/2014.

 Avances proyecto EcoAR 
 Los avances para el proyecto de software realizados durante esta semana fueron:
  •  Se ha añadido la barra de calificación construida el día de ayer al Activity que muestra información de productos, se agregó un Listener para interactuar con la barra y se implementó un Loader para cargar y mandar los datos al servidor.
     
  • Se ha implementado un Layout con una barra para calificar el producto esto con el fin de recolectar una calificación de los usuarios sobre un producto.
     
  • La estructura de la página de Amazon ha cambiado por lo cual se ha escrito de nuevo la clase AmazonParser.
     
  • Se ha implementado una clase Loader para mandar una petición HTTP al servidor que sirva para cerrar la sesión del usuario, además se diseñó y agregó un icono en el botón de cerrar sesión.

Sub-menú para que los usuarios califiquen la calidad del producto.


Icono diseñado para el botón de cerrar sesión.

jueves, 20 de noviembre de 2014

Semana 14: Articulo

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar un articulo de conferencia con los avances realizados hasta ahora. El artículo se hizo utilizando la plantilla de la IEEE dicha plantilla puede ser encontrada en el siguiente enlace www.ieee.org.

Articulo 

El articulo es un resumen de pocas páginas de la investigación realizada. El articulo se divide en tres partes importantes: la introducción, el sistema móvil y las conclusiones.

En la introducción se trata de explicar cual es la finalidad el proyecto así como los objetivos que se buscaron realizar con el mismo. Se discute cuales son las contribuciones de la investigación explicando que se  ha contribuido a desarrollar un sistema de búsqueda de información general de productos, que utiliza una tecnología emergente de inteligencia artificial. La investigación además muestra un análisis experimental de la eficacia que tiene utilizar la detección de logotipos, en conjunto con la detección de texto y la lectura de códigos de barras en la detección de un producto. Se espera que la aplicación móvil tenga un impacto positivo en los usuarios y que al ser de código abierto sirva como base para aplicaciones más especificas de búsqueda de información.

Se menciona brevemente la hipótesis planteada por la investigación, además se hace una pequeña explicación de los conceptos básicos que se deben de tener para poder comprender la investigación, dado que esto es solo un resumen de la investigación, se explica solamente conceptos como para poder simplementa contestar las siguientes preguntas: ¿Qué es una aplicación móvil?, ¿Qué es Android?, ¿Qué es la visión computacional? y ¿Qué es un servicio web?.

En la siguiente parte del artículo se describe la arquitectura de la aplicación móvil, se explican las tres partes en las que se divide el sistema: La aplicación móvil, el servicio web y el módulo de visión computacional. Se muestran diagramas de cada una de las partes para simplificar la explicación de la arquitectura del mismo. En la aplicación móvil se muestra solamente un diagrama de clases y capturas de pantalla de la aplicación móvil, dado a que esta solamente sirve como interfaz de interacción con el usuario.

Lo siguiente es una explicación de los experimentos que se utilizaron para evaluar el sistema móvil, ahí mismo se muestran gráficas o tablas con los datos recabados.

Al final se muestra una discusión de las conclusiones obtenidas con la investigación.

La versión actual del articulo puede ser descargada desde el siguiente enlace:
https://dl.dropboxusercontent.com/u/20770926/Tesis/articuloMaxHernandez.pdf

 Avances proyecto EcoAR
Los avances realizados durante esta semana fueron:
  • Se agrego funcionalidad para modificar los símbolos de aprobado o no aprobado de las categorías en la muestra de información de un producto.
  • Se agrego funcionalidad para mandar un objeto ProductModel de un Activity a otro, después se agrego un Loader que servirá para pedir información del producto al servidor.
  • Se agrego funcionalidad para modificar la lista de últimos productos que aparece al principio de la aplicación, se agrego un Adapter y un nuevo Layout para cada elemento de la lista y se modifico el modelo de datos de un comentario.

jueves, 13 de noviembre de 2014

Semana 13: Poster

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar un póster de conferencia con los avances realizados hasta ahora.

Póster
El póster es el siguiente y puede descargarse desde el siguiente hipervinculo:
https://dl.dropboxusercontent.com/u/20770926/Tesis/poster.pdf



 Avances proyecto EcoAR
Los avances realizados durante esta semana fueron:
  • Se agregó funcionalidad para tomar una foto de la cámara y convertirla a bitmap.
  • Se construyó el layout de la muestra de información de un producto, basándose en la interfaz web del proyecto EcoAr del proyecto de mi compañera encargada de éste.
  • Se diseñaron utilizando inkscape algunos iconos para mostrar información de un producto.
  • Se agregó un modelo de datos para la información de un producto y se agregó funcionalidad para modificar algunos valores del layout para mostrar información de un producto.

jueves, 6 de noviembre de 2014

Semana 12: Presentación

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar una presentación con los avances realizados hasta ahora.

Presentación 
 La presentación resume el contenido actual de el documento de tesis. El contenido de la presentación se divide en los temas:
  • Introducción
  • Antecedentes
  • Trabajos relacionados
  • Solución propuesta
  • Experimentación
  • Conclusiones

En el primer punto de manera resumida se explica cual es la finalidad del proyecto y que se desea obtener.

En los antecedentes se muestra los conceptos que son resumidos en el documento de tesis, más no se explican, solo se enlistan esto con la finalidad de resumir rapidamente estos conceptos interactuando con el publico. dependieno del nivel de conocimiento de los presentes se explicaran o se dejaran como obvios algunos conceptos.

Los trabajos relacionados en la presentación resumen los trabajos mas representativos de este capitulo. Puesto que poner todos los trabajos relacionados hubiera sido muy tedioso para el publico.

En la solución propuesta se explica el diseño de la aplicación móvil  y algunas capturas del trabajo obtenido.

La experimentación y sus resultados a diferencia del documento de tesis en la presentación se dejan en un solo apartado y se explican en conjunto, puesto que es mas fácil resumir así esta información. En esta parte se explica cada métrica medida.

Por ultimo las conclusiones simplemente resumen si la hipotesis fue cumplida y en que grado.

La presentación en el estado actual se puede ver desde:
https://drive.google.com/file/d/0B5xi4pJ3FjxAUXVkT21ZSWw0WkU/view


 Avances proyecto EcoAR
  •  Durante esta semana se realizaron avances en los siguientes puntos: 
  • Se agrego un ejemplo para tomar un preview de la camara.  
  • Se agrego un boton para tomar una imagen y se le añadio un tema en al apartado de 'styles.xml'.
  • Se modificaron los parámetros de la cámara para que muestre la imagen obtenida por la cámara en la correcta orientacion, además de que se arreglo un error que no permitia a la camara modificar el surfaceHolder donde se dibujaba la imagen en la pantalla.







jueves, 30 de octubre de 2014

Semana 11: Conclusiones

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar las conclusiones de la investigación. Este capítulo se utiliza para mostrar de manera concisa los datos recabados durante los experimentos y evaluaciones de la investigación. Esta publicación será dedicada a dicha tarea

 Dado a que los experimentos de la investigación no han sido llevados a cabo aún, la redacción de esta semana sirve como plantilla para poder solamente modificar las conclusiones con los datos reales una vez que estos se tengan.


Conclusiones

En esta capitulo se lleva a cabo una reflexión sobre todo el desarrollo de esta investigación, los resultados obtenidos, las contribuciones logradas y el trabajo a futuro. El capítulo comienza con un resumen del proceso de realización de esta investigación. En la sección de discusión se analizan los datos obtenidos, llevando a discusión si los datos obtenidos de la experimentación justifican la hipótesis, que se construyo al inicio de la investigación. En la sección de contribuciones se discuten los avances que existen ahora que no existían antes de la investigación. El final del capítulo se discuten las modificaciones que podrían ayudar a mejorar el resultado obtenido, así como vertientes de las cuales podrían desarrollarse nuevas investigaciones.

Discusión
Los resultados obtenidos en la evaluación de eficacia del sistema fueron aceptables, con lo cual se puede argumentar que los módulos utilizados en conjunto para detectar los productos parecen ser satisfactorios en este aspecto.

En la evaluación general de la aplicación móvil,  los resultados de la evaluación de la cantidad de funcionalidad de la aplicación es aceptable, los cual ayuda argumentar que las funcionalidades de la aplicación son al menos suficientes para que los usuarios lleven a cabo la tarea de buscar información en la barra de búsqueda y en la búsqueda utilizando la cámara del dispositivo. En cuanto a la confiabilidad de la implementación, la medición del tiempo de respuesta durante fallos muestra valores aceptables y el tiempo promedio de recuperación de los mismos es aceptable. La eficiencia de la implementación fue evaluada midiendo el tiempo de ejecución y los recursos de memoria utilizados específicamente en la tarea de buscar información consultando el servicio web, los resultados fueron satisfactorios lo que comprueba que la implementación es eficiente al menos para este tipo de tareas.

Contribución
Esta investigación ha contribuido a desarrollar un sistema de búsqueda de información general de productos, que utiliza una tecnología emergente de inteligencia artificial. La investigación además muestra un análisis experimental de la eficacia que tiene utilizar la detección de logotipos, en conjunto con la detección de texto y la lectura de códigos de barras en la detección de un producto. Se espera que la aplicación móvil tenga un impacto positivo en los usuarios y que al ser de código abierto sirva como base para aplicaciones más especificas de búsqueda de información.


 Trabajo a futuro

 Principalmente se considera que el trabajo a futuro se puede dividir en las modificaciones que se pueden hacer en la aplicación que resultó como producto de la investigación y las investigaciones a las que puede dar lugar esta investigación. Comenzando por el primer tipo de trabajo, en la implementación construida se considera que las siguientes características pueden ser mejoradas:
  • Construir una base de datos con la información reunida de todos los productos, esto como alternativa a la implementación actual que busca los datos en Internet.
  • La información que se muestra de los productos es muy general, sería una buena idea crear aplicaciones móviles en base a la de esta investigación que sirva para buscar y filtrar tipos de información de productos más específicos o añadir funcionalidad a la implementación de esta investigación para filtrar de manera cómoda la información de los productos.
  • A pesar de la usabilidad contemplada en la implementación de la aplicación móvil, el diseño gráfico no fue tomado en cuenta en gran medida, lo cual deja esta la belleza del aspecto visual como un punto en el que fácilmente se pueden hacer mejoras.

Se considera que esta investigación puede ser utilizada como base para una investigación sobre el impacto que tenga sobre usuarios una herramienta de este tipo, responder la pregunta ¿Éste tipo de herramientas modifican el comportamiento de los consumidores?, y ¿Como lo modifican? si existe una correlación entre la salud del consumidor y el nivel de conocimiento que tiene sobre los productos, y ¿En que medida mejora la salud de un consumidor éste tipo de herramientas?


 Avances proyecto EcoAR

 Durante esta semana se realizaron avances en los siguientes puntos:

  • Se agrego la clase base Activity con funcionalidad del ActionBar a todos los Activity donde se necesita y se corrigieron errores en la misma clase que impedían agregar la configuración del SlideMenu a la clase misma.
  • Se agrego funcionalidad para modificar el slideMenu izquierdo dependiendo de si el usuario ha iniciado sesión o no.
  • Se diseñaron algunos iconos para usar en el menú izquierdo.xml de Android, además se arreglaron algunos errores encontrados durante el proceso como el poder lanzar el navegador cuando se dan click a los links que se usan en la app.
  • Se agregaron gran cantidad de variables que se encontraban en los layouts a los archivos de recursos xml que implementa Android y se mejoraron algunos layouts durante este proceso.
  • Se diseño e implemento un botón en la barra de búsquedas que servirá para añadir un producto a la lista de supermercado que servirá para que el usuario almacene una lista de productos de consumo que necesite comprar, además se crearón Layouts iniciales para estas clases.
  • Se añadió una clase que permite guardar en la memoria una lista de productos y recuperarlos utilizando Gson, esta lista se planea utilizarla como funcionalidad de la lista del súper.


jueves, 16 de octubre de 2014

Semana 10: Analisis de resultados parte 2

Esta semana en la construcción de la tesis de licenciatura continuamos redactando el capitulo de análisis de resultados. Este capítulo se utiliza para mostrar de manera concisa los datos recabados durante los experimentos y evaluaciones de la investigación. Esta publicación será dedicada a dicha tarea

Análisis de los experimentos
Se agregó una evaluación de la calidad de la aplicación móvil, esta evaluación se divide en las siguientes categorías:

Funcionalidad

La funcionalidad es la capacidad del software para proveer de características que cumplan con las necesidades requeridas cuando es usado en condiciones especificas.

La primer métrica de funcionalidad que maneja el modelo es la suficiencia. Esta es la capacidad del software para tener una variedad de funcionalidades decentes para que el usuario pueda realizar tareas y objetivos específicos.

La segunda métrica que propone el modelo para medir la funcionalidad es la seguridad. Esta se define como la capacidad que tiene el sistema para proteger la información. Para medir esto el modelo propone iniciar sesión y después medir la razón de accesos de manera autorizada que se hacen a los datos del sistema entre la cantidad de accesos que se hacen a los datos del sistema.

Confiabilidad

La confiabilidad es descrita como la capacidad de un software para mantener un nivel adecuado de rendimiento en condiciones especificas.

Tolerancia de fallos es la primer métrica que maneja el modelo para esta categoría, y se describe como la capacidad del sistema de mantener un nivel adecuado de rendimiento durante fallos del sistema.



Recuperación del sistema es la segunda medida de confiabilidad del modelo, esta se define como la capacidad de recuperar datos afectados durante un fallo en el sistema.


Eficiencia


La eficiencia de un sistema es la capacidad del sistema de proporcionar un rendimiento adecuado, relativo a la cantidad de recursos. La eficiencia es la característica más común de utilizar para evaluar la calidad de un sistema de software y existe toda una ciencia construida para analizar la eficiencia de un software.

En esta investigación se miden el tiempo de ejecución y además los recursos de ejecución. El tiempo de ejecución ha sido medido sondeando el tiempo que toma para la aplicación móvil realizar una tarea especifica y los recursos de ejecución se miden sondeando la cantidad de memoria que utiliza el software para realizar la misma tarea.

Avances proyecto EcoAR
Esta semana se trabajo principalmente en la barra superior de Android la ActionBar, esa herramienta nos permite agregar botones en la parte superior y es algo limitada.
También se corrigieron algunos errores y se hizo una clase para configuraciones generales de todos los Acitivity.

  • Se arreglo un error al abrir la aplicación e intentar recuperar un token CRSF que no ha sido pedido al servidor.
  • Se agrego funcionalidad para usar el logotipo del ActionBar de Android como botón para desplegar la lista de opciones.
  • Se agrego funcionalidad al ActionBar y se agrego un estilo en los recursos para este menú, por ahora el color del menú es verde.
  • Se agrego la clase ActionBarHandler que se encargara de configurar el ActionBar para cada uno de los Activity de la aplicación, además se agregó un botón rápido de búsqueda al ActionBar.
  • Se agrego una clase Activity base para extender por las demás clases y facilitar el modificar el ActionBar o elementos globales de la mayoría de los Activity.
  • Se agrego la clase base Activity con funcionalidad del ActionBar a todos los Activity donde se necesita y se corrigieron errores en la misma clase que impedían agregar la configuración del SlideMenu a la clase misma.

La imagen de abajo muestra el menú superior y la forma que interactúa con el menu izquierdo, se cambio el menú que se tenia anteriormente por este, dado a que esta es la forma correcta de implementarlo.








viernes, 3 de octubre de 2014

Semana 9: Analisis de resultados

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar redactar el capitulo de análisis de resultados. Este capítulo se utiliza para mostrar de manera concisa los datos recabados durante los experimentos y evaluaciones de la investigación. Esta publicación será dedicada a dicha tarea.


Análisis de los experimentos
Los datos mostrados en este capítulo sirven para entender las características que tiene el sistema que ha sido construido, la finalidad de este capítulo es mostrar los datos crudos y ayudar a analizarlos para usar los mismos como base para el siguiente capítulo donde se muestran las conclusiones de la investigación.

Por ahora los datos que se tienen solo son datos simulados utilizando distribuciones especificas, cuando se lleven a cabo los experimentos se actualizaran en el documento de tesis. 

Procesamiento de las imágenes de los productos
La finalidad de este experimento es demostrar que la implementación que ha sido realizada en un dispositivo móvil, utilizando los tres módulos de visión computacional mencionados para vincular la imagen de un producto con información del mismo, funciona de manera eficiente.

Recordando de manera concisa el experimento, se toman imágenes de la envoltura o caja de un producto cuidando que el producto abarque el espacio exacto hasta llenar los margenes mostrados en la pantalla. Se llevan a cabo tomas en diferentes lados del producto: Lado frontal, costado izquierdo, costado derecho y parte trasera. Para cada uno de los productos a los que se le toman las fotos, para cada lado del producto se cuentan el número de veces que se vínculo o se extrae información del mismo. Esto último se hace para cada uno de los tres módulos de visión que se mencionan en esta investigación. Es decir para cada permutación de módulo de visión y foto de un lado del producto,  se cuentan el número de veces que se logra extraer información del total de productos.

En la tabla se muestra el porcentaje de productos para los cuales se logro extraer o vincular información del producto.



En la gráfica se muestra una gráfica de estrella donde se muestran para los porcentajes de la tabla anterior. En esta gráfica se puede ver que cada uno de los módulos de visión es representado por una figura de cierto color. Entre mas área abarque una figura más útil en general es el módulo para extraer información de la imagen de un producto. El caso ideal que puede mostrar la gráfica dicha, es que al menos alguna de las figuras de cada módulo toque cada una de las esquinas que representan una imagen de un lado del producto, formando un rombo entre todas las figuras de la gráfica.



Avances proyecto EcoAR
Esta semana se implementaron las siguientes funcionalidades en la aplicación móvil:
  • Se modifico la estructura de paquetes para mejorar la modulacion del código, se implemento codigo para hacer Post Request con el modulo java.net y tambien el modulo org.apache.
  • Se ha agregado funcionalidad a la app para soportar guardar y administar cookies con peticiones GET y POST, esto con el fin de crear sesiones de usuario con base en cookies.
  • Se arreglaron errores el mandar peticiones HTTP y se creo una pantalla de carga al iniciar la aplicacion que manda a una activity u otro dependiendo de si el usuario ha iniciado sesión o no.
  • Se modificaron elemntos del menú superior.
  • Se realizaron simulaciones de algunos de los datos que se recabaran en los experimentos para verificar los datos.
Pantalla de carga de inicio para recuperar datos del usuario del servidor:

Login para ingresar a la cuenta del usuario:

miércoles, 1 de octubre de 2014

Semana 8: Experimentación

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar seguir redactando el capitulo de experimentación. Este capítulo se utiliza para diseñar y redactar la evaluación de la aplicación móvil que se obtendrá como resultado de la investigación. Esta publicación será dedicada a dicha tarea.


 Experimentación
El objetivo de este capítulo es documentar los experimentos que se llevaran a cabo para evaluar la aplicación móvil que se desarrolla en esta investigación.
Los experimentos de esta investigación se centran en evaluar los resultados arrojados por el sistema y evaluar la calidad de la aplicación móvil.

Evaluando la obtención de información de un producto por medio de técnicas de visión computacional

En este exte experimento se búsca evaluar la calidad de la obtención de información de un producto. Se utilizan tres módulos para detectar un producto: La detección por medio del logotipo, detectar el texto estampado en la envoltura o recipiente del producto y detección del código QR. Dado que la investigación se centra en juntar estos tres en unificar estos tres módulos y añadir la funcionalidad necesaria para su funcionamiento en conjunto, la interacción de las partes con la base datos y la unificación en la aplicación móvil. Estos módulos se tomaran en el experimento como uno solo y se intentara evaluar la calidad para extraer información.

Las métricas para medir la calidad de la extracción de información del producto son: La cantidad de productos para los cuales es posible extraer información en un lado(frontal, lateral) dado de la envoltura o recipiente modificando, la cantidad de comparaciones que lleva a cabo el detector del logotipo en la base de datos para cada producto que se intenta escanear, para cada producto con texto en la envoltura el porcentaje de texto detectado.

Para cada métrica se toman treinta muestras utilizando productos reales. Todos los datos recabados se guardan en una base de datos para su futura revisión. Para la realización de este experimento se utiliza una interfaz diseñada para esto y se guardan en una pequeña base de datos en el dispositivo los datos obtenidos los cuales después se recuperan.

Evaluando la calidad del sistema
Para evaluar la calidad del sistema se ha decidio utilizar la investigación de Aida Niknejad, donde se desarrolla una evaluación para medir la calidad de un sistema programado en Android.

Las métricas que propone esta investigación se dividen en las siguientes partes: funcionalidad, fiabilidad, eficiencia, usabilidad.

Más información se puede encontrar en el reporte de la investigación:
https://gupea.ub.gu.se/bitstream/2077/26728/1/gupea_2077_26728_1.pdf
 
Avances proyecto EcoAR
 Para esta semana se implemento la funcionalidad de la barra de búsquedas para extender las búsquedas de barras de búsquedas de tiendas en linea de productos.

Los avances logrados en este proceso fueron los siguientes:
  •  Se implemento un fragment sobre la bienvenida del inicio para poder implementar un loader en el.
  • En el view de la seccion de busqueda se utiliza ahora un ListFragment en conjunto con Adapter y un AsyncLoader para modificar los resultados. mostrados y hacer peticiones HTTP a un servidor.
  • Se utilizaron el loader, adapter y la librería Jsoup para hacer peticiones a la barra de busqueda de Amazon y mapear los resultados a una lista de la interfaz de la aplicación móvil.
  • Se agrego una clase estructura para compartir la informacion del producto entre los modulos de la app y se descarga de manera temporal la imagen del producto para agregarse a la barra de busqueda.
  • Se agrego un progressBar al final de la lista de resultados de la barra de busqueda, mientras manda las petciones HTTP.
  • Se arreglaron errores en la barra de busquedas al cargar mas elementos, se mandaban a cargar elementos varias veces.


Liga al repositorio:
 https://github.com/MaxHernandez/TesisDeLicenciatura

jueves, 11 de septiembre de 2014

Semana 7: Solución propuesta diagramas

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar seguir redactando el capitulo de solución propuesta. Esta vez centrándonos en los diagramas que muestran la arquitectura de la solución propuesta. Esta publicación será dedicada a dicha tarea.


 Solución propuesta
Se extendió la redacción que explica como funciona el servicio web del sistema. El servicio web del sistema se encarga de conectar la aplicación móvil con la información contenida en la base de datos y de enviar a procesar las imágenes  al módulo de visión computacional. En el diagrama de secuencia de secuencia de abajo se muestra proceso de búsqueda de información de un producto en el servicio web.

El servicio web se encarga de recibir las imagenes, después las pasa a cada uno de las partes del módulo de visión computacional, estos procesan la imagen y extraen palabras clave para realizar búsquedas del producto.



Avances proyecto EcoAR
Esta semana se ha estado trabajando en librerías de Java y Python para poder hacer peticiones HTTP a servicios de compras de productos conocidos. Esto con el fin de falicitar al usuario la tarea de buscar productos, opinar y clasificar los mismos.

Los avances logrados en este proceso fueron los siguientes:
  • Se agrego un login, logout y codigo para utilizar la autenticacion por sesion de django
  • Se instalo el framework haystack para realizar busquedas en la base de datos
  • Se agrego la libreria Jsoup para parsear html desde Android
  • Se implemento una clase que hace peticiones HTTP de forma asincrona aun servidor
  • Se agrego una libreria para falicitar las peticiones http en un script de python
  • Se implemento funcionalidad para hacer peticiones HTTP al buscador deproductos de amazon

En el siguiente programa se hace una petición a la barra de búsqueda de la página de Amazon y se parsea el html recibido para extraer algunos datos de los productos.


Para lograr esto se utilizaron las librerías BeutifulSoup y requests de python. La primera como parser de los datos html obtenidos y la segunda para relizar las peiciones HTTP.


Liga al repositorio:
 https://github.com/MaxHernandez/TesisDeLicenciatura

jueves, 28 de agosto de 2014

Semana 6: Solución propuesta

Esta semana en la construcción de la tesis de licenciatura se nos ha dado la tarea de redactar el capitulo de solución propuesta. Esta publicación será dedicada a dicha tarea.

Solución propuesta
El capitulo se encarga de explicar cual será la solución técnica de la investigación.
El objetivo de la investigación es demostrar los beneficios de usabilidad que tiene utilizar un sistema de búsqueda de información de un objeto, utilizando la realidad aumentada para reconocer y mostrar información del producto.

La investigación intenta aportar experimentos para demostrar lo anterior, para realizar estos experimentos se ha decidido construir un sistema de realidad aumentada basado en la búsqueda de información de productos de consumo.
 Por esta razón el capitulo de solución propuesta explica de manera técnica el diseño, implementación y la metodología utilizada para construir este sistema.

La metodología utilizada en la construcción del sistema es el desarrollo en cascada.
Se ha decidido seguir esta metodología dado a que el desarrollo en cascada se parece mucho a la manera en la que se desarrolla la clase escolar que se toma en conjunto con la investigación, haciendo que sea más sencillo llevar a cabo la redacción de este documento en conjunto con el desarrollo del software. Otra razón por la cual se ha decidido realizar un desarrollo en cascada es por que no existe un equipo de desarrollo del sistema, el desarrollo se lleva a cabo por una persona y por lo tanto no se necesita una sincronización entre diferentes partes del equipo. En un equipo de desarrollo la persona que desarrolla el código no podrá empezar a hacerlo hasta que el diseñador del sistema haya terminado su trabajo. Esto no es una desventaja en este caso dado que al ser una persona no habrá un tiempo de espera, puesto que no puede empezar otra etapa sin abandonar la anterior.

Herramientas utilizadas
Esta sección se encarga de documentar las herramientas de software que han sido utilizadas en el desarrollo del sistema de la investigación.


El software utilizado hasta ahora:
  • Python
  • Java
  • Android
  • Zbar
  • Django
  • Django Rest
  • Opencv
El hardware utilizado hasta ahora:
  • Una computadora portátil con procesador Intel Core i3(2.53GHz) y 3GB de memoria RAM. Este ordenador es utilizado para el desarrollo del código y redacción de este documento.Una computadora portátil mini con un procesador
  • Intel Atom N2600(2 núcleos a 1.6GHz) y 1GB de memoria RAM. Se utiliza este ordenador como servidor casero para realizar las pruebas del servicio web.
  • Una tableta Samsung Galaxy Tab 2 10.1. Se utiliza esta tableta para probar la aplicación móvil y realizar los experimentos con los usuarios.

Diseño del sistema
El objetivo de la investigación es probar que un buscador de información de un producto ofrece una mejor experiencia de usabilidad que una barra de búsqueda común. Sin embargo el objetivo del sistema que es utilizado para realizar los experimentos es ofrecer información sobre el impacto ecológico de los productos. Esta sección se centra en el diseño del sistema, en capítulos posteriores se explican los módulos del sistema que son utilizados para los experimentos y como fueron extraídos del sistema y adaptados.

El sistema se puede ser dividido en tres partes: aplicación móvil, servicio web y módulo de realidad aumentada.

El proceso de búsqueda de información de un producto comienza en el dispositivo móvil. La aplicación móvil contiene la interfaz gráfica con la que interactúa el usuario, toda interacción con el usuario se lleva a cabo en la aplicación móvil. El papel principal de la aplicación móvil en el proceso de realidad aumentada es mandar al servidor una imagen que contenga el logotipo o el código de barras del producto del cual se desea obtener información y dibujar sobre la pantalla del  dispositivo la información gráfica que genere el módulo de realidad aumentada sobre el producto.

El servidor se encarga de procesar las peticiones HTTP que provienen de la aplicación del dispositivo móvil, su principal función es servir de interfaz entre la información del usuario y el dispositivo móvil, se encarga de guardar, recuperar, eliminar y procesar algunos datos del usuario necesarios para el funcionamiento de la aplicación móvil.

En el proceso de realidad aumentada, el servidor recibe una petición HTTP con una imagen, esta imagen es trasladada al módulo de visión computacional. El módulo de visión computacional calcula los descriptores de la imagen y los devuelve al módulo del servidor. El servidor compara los descriptores con los que se encuentran en la base de datos, si encuentra un logotipo que se le parezca devuelve la información relacionada con ese logotipo. La información obtenida es transmitida a la aplicación móvil por el servidor.

El módulo de realidad aumentada se encarga de extraer información de un producto a través de su logotipo y de su código de barras. Este módulo esta dividido en dos partes una en el servidor que utiliza la visión computacional para extraer características de una imagen y asociarla con información en una base de datos, y otra se encuentra en la aplicación móvil que se encarga de dibujar la información del producto en tiempo real.

Avances al proyecto EcoAR
En la construcción del código se llevaron a cabo principalmente avances en el servidor web. Gran parte del tiempo se paso leyendo sobre Django y Django-Rest.
Los avances logrados en este proceso fueron los siguientes:

  • Se implemento una relacion entre el modelo User por defecto de django y un modelo con mas datos del usuario, con este modelo extendido se construyó un cgi en el servidor para registrar al usuario y verificar que los datos sean correctos
  • Se cambiaron algunas vistas a una estructura de clases y se añadieron algunas otras vistas como una estructura de los request que se necesitaran hacer al servicio web
  • Se agregó funcionalidad para cambiar la respuesta de la petición HTTP a partir del método de envio
  • Se implementó funcionalidad de django-rest para devolver un JSON con datos de productos con una peticion GET
  • Se implementó Script para modificar la base de datos usando funcionalidad de django
 En la siguiente imagen se muestra un usuario registrado. El modelo de datos parece extender el modelo base de usuario de django, pero en realidad se utilizan un modelo diferente y se unen por medio de reaciones en un serializador de django-rest para recuperar toda la información del usuario. 



Liga al repositorio:
 https://github.com/MaxHernandez/TesisDeLicenciatura

jueves, 7 de agosto de 2014

Semana 5: Búsqueda y clasificación de trabajos relacionados

Buen día, para esta semana en la tesis escribiremos una tabla de comparación entre los trabajos relacionados que nos parecieron mas relevantes, esta publicación será dedicada a dicha tarea.

Analisis comparativo de trabajos
relacionados


En esta sección de la tesis se realizo una tabla comparativa entré los trabajos relacionados que me parecieron que guardan mayor relación con el tema de tesis en el que estoy trabajando.

Primero se realizo un pequeño resumen de los trabajos relacionados y después se fueron agregando a la tabla. La tabla generada fue la siguiente:




Liga al repositorio:
 https://github.com/MaxHernandez/TesisDeLicenciatura

jueves, 24 de julio de 2014

Semana 4: Trabajos relaiconados


Para esta semana en la tesis se nos dio a la tarea de investigar y redactar investigaciones existentes, esta publicación esta dedicada al desarrollo de dicha tarea.

Trabajos relacionados
Los trabajos relacionados es una sección donde se buscan investigaciones relacionadas a las áreas en las cuales nuestra investigación de desarrolla.

Los trabajos relacionados de los cuales se redactó en la tesis son los siguientes:  

EPAR
Es una investigación donde se trata de construir una herramienta para simular el rendimiento de energía en un edificio utilizando técnicas de dinámica de fluidos en una simulación computacional.

The Use of Augmented Reality, GPS and INS for Subsurface Data Visualisation 
En este articulo se habla de una investigación donde se intento construir un sistema que utilizando tecnologías GPS y INS es capaz de calcular con cierta precisión la posición del usuario, después se utiliza esta información agregan gráficos de visualización de diferentes datos del subsuelo, como podrían ser datos de estructuras subterráneas, tuberías de agua o gas, zonas contaminadas, etc.

Collaborative visualization of engineering processes using tabletop 
augmented reality
Este articulo presenta una investigación sobre la construcción de una herramienta llamada ARVita que utiliza la realidad aumentada para visualizar gráficos 3D de manera colaborativa.

Augmented reality framework supporting conceptual urban planning and enhancing the awareness for environmental impact:
Este articulo habla sobre la idea de una herramienta que sea capaz de utilizar realidad aumentada para mostrar a usuarios resultados de simulaciones hechas para la toma de decisiones de planificaciones urbanas, permitiendo a los usuarios visualizar diferentes casos sobre que puede pasar dependiendo de las planificaciones que se lleven a cabo.

ionroad
Es una aplicación móvil de realidad aumentada que sirve como un asistente de manejo, tiene una gran cantidad de funciones, sirve por ejemplo como una caja negra y tiene funcionalidad para alertar en caso una posible colisión. Esta aplicación probé gráficos en tiempo real remarcando de cierto color el carril en el que viaja el carro, notificando la velocidad del auto, distancia en tiempo entre autos, etc.

Google Goggles
Esta es una aplicación ya bastante famosa de Google, la idea es que tomas una foto de un objeto, un código QR o una imagen conocidas, la aplicación buscara en la base de datos de Google y mostrara información que encuentre acerca del mismo. Además esta aplicación cuenta con una gran cantidad de funcionalidades, puede resolver un sudoku, puede detectar productos del mercado y buscar por productos parecidos, reconocimiento de caracteres, etc.

Avances de proyecto EcoAr
Para esta semana se estuvo investigando sobre el uso de la herramienta Django de python para llevar a cabo peticiones asíncronas a un servidor.

Se realizaron unos pequeños ejercicios sobre como realizar como realizar:
  • Pantallas con html utilizando plantillas.
  • Modelos en la base de datos.
  • Formularios de django.
  • La herramienta Django-Rest que utiliza los modelos de django para producir archivos Jason.


Esta imagen busca un pequeño demo que se hizo con un buscador simple en django.
Hasta ahora la búsqueda solo usa simples funcionalidades de la base de datos para hacer una búsqueda, pero se planea Haystack para realizar búsquedas mas complejas.

Liga al repositorio:
 https://github.com/MaxHernandez/TesisDeLicenciatura

sábado, 5 de julio de 2014

Semana 3: Antecedentes

Para esta semana se nos dio la tarea de definir los antecedentes de nuestra investigación, esta publicación será dedicada a dicha tarea.

Antecedentes
El primer paso fue investigar que son los antecedentes, buscando en internet y leyendo algunas tesis como ejemplos llegue a la conclusión que la estructura de mis antecedentes debía ser la siguiente:

  • Un resumen general de cuales son las áreas científicas que abarca la investigación.
  • Un resumen y una critica de la bibliografía utilizada.
  • Una explicación de los conceptos necesarios para poder comprender e implementar los experimentos de la investigación.
Se dividieron los antecedentes en cuatro partes, las cuatro partes son:
  • Conceptos básicos de programación.
  • Realidad aumentada.
  • Visualización de datos.

Avances proyecto ECOAR

Esta semana se estuvo trabajando en el buscador de productos de la aplicación, se realizarón principalmente estas tareas:

Se construyo la funcionalidad básica para mostrar resultados:


Una vez teniendo esta funcionalidad, se armo un servidor casero en una computadora mini esto con el objetivo de realizar pruebas en el servidor.

Una ves teniendo el servidor se empezo a diseñar la manera de construir un web service para realizar las pruebas de las peticiones del buscador a un servidor. Hasta ahora solo se ha decidido usar la herramienta Django Rest una librería base Django para llevar a cabo algunas peticiones de prueba. Pero hasta ahora solo se ha estado investigando su documentación.





sábado, 21 de junio de 2014

Semana 2: Definiendo objetivos

Esta semana la construcción de la tesis estuvo dedicada a la definición de los objetivos de la investigación, esta publicación esta dedicada para explicar como se realizo dicha tarea.

Objetivos de la investigación

El objetivo es crear una herramienta de software que tenga la capacidad de utilizar técnicas de visión computacional para extraer información del entorno físico y utilizar esta información para dibujar y visualizar diagramas en el entorno. Esta herramienta permitirá facilitar datos del impacto ambiental de productos a usuarios comunes.

Una vez teniendo el software se comparara se va a comparar el software con las caracteristicas ideales que debe tener un sistema de realidad aumentada y un sistema de visualización de datos. El fin es darse una idea si las tecnologías actuales permiten la construcción de herramientas de este tipo.


Los objetivos específicos son los siguientes:
  • Investigar cuales son las herramientas existentes de visión computacional y realidad aumentada para dispositivos móviles.
  • Investigar los métodos de representación de datos con realidad aumentada o sin ella ya existentes.
  • Investigar las características que serán comparadas entre los tipos de sistemas de visualización de datos.
  • Diseñar un esqueleto inicial del sistema de visualización de datos.
  • Construir un modelo de datos del impacto ambiental de productos del mercado o si es posible conseguir datos reales de alguna fuente confiable.
  • Construir el experimento en el que estará centrada esta investigación.
  • Construir una beta del software.
  • Realizar pruebas de software.
  • Realizar experimentos.
  • Obtener conclusiones.

Estos objetivos fueron construidos tomando como ejemplo las investigaciones de mis compañeros de clase. Además de hojeando investigaciones tesinas alojadas en el internet.

Las tesis que fueron consultadas se enlistan en la publicación anterior:
http://maxkalavera.blogspot.mx/2014/06/semana-1-definiendo-el-problema-resolver.html

sábado, 14 de junio de 2014

Semana 1: Definiendo el problema a resolver

Durante esta semana de trabajo en la investigación de tesis nos hemos dado a la tarea de definir un poco el tema que aborda la investigación, así como el problema que va a se resuelto.

 El posible tema de investigación elegido en esta fase de la tesis es: "Visualización de impacto ambiental de productos en dispositivos móviles con técnicas de realidad aumentada"

Las preguntas que surgen de este tema son:
  • ¿Como mejora la realidad aumentada el entendimiento de el impacto ecológico en consumidores de productos?
  • ¿Las tecnologias de realidad aumentada van a remplazar a las tecnologías existentes de visualización de datos en dispositivos móviles?
  • ¿Que beneficios ofrece utilizar tecnologías de realidad aumentada para visualizar datos de impacto ecológico? 
  • ¿Es posible llevar a cabo una comparación de la usabildiad de visualizar datos de impacto ecológico con realidad aumentada en usuarios con la usabilidad de visualizar datos con herramientas comunes?
  • ¿Las herramientas de realidad aumentada existentes permiten eficazmente desarrollar herramientas para visualizar datos de impacto ecológico?


Ejemplos de tesis

Con lo que he leído hasta ahora puedo darme una idea de lo que es una tesis pero otra buena manera de saber como debería realizar mi tesis es viendo ejemplos.

Las tesis fueron consultadas del repositorio http://udspace.udel.edu/ de La Universidad de Delaware.

Las tesis consultadas fueron las siguientes:

Casalnuovo, C. 2013. TOWARD GENERATING COMMIT MESSAGES FOR SOFTWARE REPOSITORIES. Undegraduate. University of Delaware.

Cory Bart, A. 2012. EXPLORING THE XO LAPTOP AS A PLATFORM FOR ENCOURAGING CREATIVE WRITING BY CHILDREN. Undergraduate. University of Delaware.

Saponaro, P. 2010. IMPROVING NUMERICAL REPRODUCIBILITY AND STABILITY IN LARGE-SCALE NUMERICAL SIMULATIONS ON GPUS. Undergraduate. University of Delaware.

Stagitis, M. 2013. EXAMINING INFORMATION-GRAPHICS: EXTRACTING IMPORTANT INFORMATION FROM USER-WRITTEN QUERIES TO HELP DEVELOP AN EFFECTIVE RETRIEVAL SYSTEM. Undergraduate. University of Delaware.

Como contenido complementario anexo el hipervínculo de una publicación pasada donde se puede encontrar la definición de una tesis:
http://maxkalavera.blogspot.mx/2014/01/actividad-1-que-es-una-tesis.html

El repositorio del proyecto:
https://github.com/MaxHernandez/TesisDeLicenciatura

jueves, 10 de abril de 2014

Semana 11: Conclusiones y trabajo a futuro

Para esta semana me he dado a la tarea de agregar un apartado sobre conclusiones y trabajo a futuro en la tesis.

Durante este capitulo se construyo un resumen sobre las actividades realizadas durante la investigación empezando por la construcción de la hipótesis; siguiendo con el diseño y construcción de las herramientas de comparación; la construcción de el experimento explicando cada una de las características de usabilidad comparadas y terminando con el análisis que se hizo a los datos obtenidos.

En la segunda parte de este capitulo se habla sobre el trabajo a futuro a realizar. centrándose primordialmente en que el uso de lentes de realidad aumentada podría dar un agregado a la investigación. Otro de los puntos del tema es que las técnicas de comparación de usabildiad de los sistemas no fueron las más sofisticadas y una investigación de cual es la mejor manera de comparar dos sistemas de realidad aumentada puede ser una mejora en la investigación.

Avances al proyecto ECOAR

Esta semana se estuvo trabajando en el código de python que sirve como demo en el proyecto. La idea es crear un sistema que identifique el logotipo y despliegue información relacionada al mismo.

La imagen de abajo muestra un prototipo de lo que se quiere lograr. 

El avance de esta semana consiste en un código que identifica la posición del logotipo en la imagen, extrae esa parte de la imagen e identifica el borde del logotipo. La idea de esto es crear una especie de aureola en el logotipo como se muestra en el prototipo.

Utilizando un umbral y el algoritmo convel hull se pudo obtener el borde en logotipos simples. Pero en logotipos mas complicados esto no funciona pues se el umbral se distorsiona con el fondo o la luz. 



jueves, 3 de abril de 2014

Semana 10: Análisis de resultados

Para esta semana me he dado a la tarea de definir cuales son las formas de mostrar la información obtenida por medio de la experimentación y las formas analizar dichos datos.

Se ha definido una estructura para el capítulo. Para cada característica de usabilidad seleccionada se ha creado una sección dentro del capítulo. Cada sección se encarga de analizar una característica diferente de las medidas de usabilidad obtenidas en el capítulo de experimentación.

Modificando el experimento las características de usabilidad que son comparadas en la investigación son las siguientes:
  • Facilidad de aprendizaje de las herramientas.
  • La eficiencia de las herramientas.
  • La satistaccion de los usuarios utilizando las herramientas.
Las métricas de análisis de cada una de las características de la usabilidad se discuten en cada una de las secciones del capítulo. La facilidad de aprendizaje de la herramienta se analiza utilizando el tiempo de aprendizaje y los errores cometidos por el usuario. Para llevar a cabo la comparación y para mejorar la calidad de la métrica, el procedimiento para obtener estos valores en el experimento se repite tres veces. Con estos tres valores se hace un calculo de la diferencia entre el primero con el segundo, después el segundo con el tercero, a esta medida se le llama puntuación diferencia. Se ha optado por utilizar esta medida para comparar puesto que por definición un sistema fácil de aprender reduce en gran medida el tiempo al realizar una tarea y los errores en las primeras veces de uso.

La eficiencia de herramientas se mide utilizando el tiempo de realizado de una tarea y la cantidad de interacciones del usuario con el usuario. Se eligió interacciones del usuario como medida, dado que medir la cantidad de clicks que hace el usuario no tiene sentido en un sistema de realidad aumentada. Por eso se definen como medida interacciones como por ejemplo: La cantidad de veces que se visualiza una gráfica u otra, para tomar una decisión.

 Para medir la satisfacción se ha optado por realizar al usuario un cuestionario con escalas al final del segundo experimento.

Para visualizar el conjunto de datos obtenidos de la experimentación se ha decidido mostrar la información con un histograma y mostrar información sobre la distribución de datos con un diagrama de caja.

Histograma con datos de prueba de la puntuación diferencia de tiempos de aprendizaje.
Diagrama de caja con datos de prueba de la puntuación diferencia de tiempos de aprendizaje.



Avances proyecto EcoAr


Esta semana se estuvo trabajando en el calculo de la homografia a partir de los puntos de las características  encontrados en la imagen.

Se realizo un código que toma las características de los puntos de la imagen que se usa para buscar y las características encontradas y se calcula la matriz de transformación.

Se estuvo investigando sobre los siguientes pasos a tomar en la implementación del ejemplo en python. Se utilizara las técnicas de estimación de pose a partir de las caracteristicas encontraras y la homografia calculada. Mas información de esto se puede ver en  el link utilizado como referencia.



Referencias:
http://www0.cs.ucl.ac.uk/staff/ucacsjp/Papers/PrinceXu.pdf






jueves, 13 de marzo de 2014

Semana 8: Experimentación

En esta semana se me ha dado la tarea de definir los experimentos con los cuales se comprobara la hipotesis de la investigación. Esta publicación esta dedicada a dicha tarea

Recordando la hipotesis de la investigación es: en la visualización del impacto ambiental de un producto de mercado, una aplicación móvil que utiliza realidad aumentada para la visualización de gráficas, ofrece mayor usabilidad que herramientas de visualización de gráficas comunes.

Para llevar a cabo la comparación de los diferentes tipos de gráficos se planea construir dos herramientas para cada experimento, una que sirva para la búsqueda de información de productos usando gráficos comunes y otra con realidad aumentada.

Para la comparación de la usabilidad en ambos tipos de herramienta se seleccionaron las siguientes métricas de usabilidad:
  • Tiempo de aprendizaje: El tiempo que le toma al usuario aprender a realizar una tarea. 
  • Errores de aprendizaje: Los errores que comete el usuario mientras aprende a realizar una tarea.
  • Tiempo de tarea: El tiempo que le toma al usuario realizar una tarea.
  • Satisfacción de complejidad: Se usa una barra de escala para que el usuario evalúe del uno al cinco la dificultad de la tarea que ha realizado
  • Interacciones: El número de interacciones importantes del usuario con la herramienta que en esta investigación serán: número de clics en la pantalla, visualizar una gráfica diferente.

Se ha decidió realizar dos experimentos. Los cuales sirven utilizan un grupo de métricas diferentes cada uno y sirven  para evaluar diferentes partes de la realidad aumentada.

El primer experimento se encarga de medir la dificultad que tiene un usuario que no esta relacionado con el uso de dispositivos móviles en aprender a utilizar una herramienta de búsqueda y compararlo con la dificultad que tiene un el mismo tipo de usuario en aprender a escanear el producto enfocando la cámara hacia el logotipo del mismo.

El segundo experimento mide la complejidad que tiene para un usuario en seleccionar un producto mostrándole gráficos en una ventana por un lado e inmersos en realidad aumentada por otro lado.

Avances al proyecto EcoAr

Esta semana se estuvo trabajando con opencv. Se estuvo investigando sobre el método más común de realizar realidad aumentada, donde se utilizan caracteristicas de la imagen para detectar un objeto y se calculan coordenadas de una escena 3D de un objeto para dibujar encima de la imagen gráficos.

Como ya se tenia un ejemplo con comparación de características en opencv utilizando el lenguaje python, esté ejemplo se agregó al repositorio y se estuvo trabajando sobre el ejemplo.

Se investigó y trabajo en las siguientes funciones de opencv:
  • findHomography: Esté método sirve para calcular una diferencia de perspectiva entre dos planos, para el ejemplo utilizamos una diferencia entre las coordenadas de las características de la imagen que se utiliza como plantilla y la imagen.
  • perspectiveTransform: Esté se encarga de convertir coordenadas de la imagen a coordenadas de una escena 3D.

jueves, 6 de marzo de 2014

Semana 7: Implementación de la solución propuesta

Buen día, para esta semana dentro de nuestra tesis redactaremos el diseño de lo que será nuestra implementación solución al problema planteado.

Redacción de la tesis

Para la redacción de la tesis se corrigieron errores en la introducción y resumen de la tesis. Se modificaron algunas áreas de los antecedentes para mostrar que el área principal del proyecto es la realidad aumentada.

Se modificó el titulo del proyecto para mostrar más claramente las intenciones del proyecto.
Se definió en el resumen de menará más precisa la metodología que se va a utilizar:
  • Detección de puntos característicos.
  • Descripción de puntos característicos.
  • Comparación de puntos característicos entre imagenes.
  • Calibración de cámara y reconstrucción 3D.
  • Búsqueda de formas por medio de sus bordes.
  • Gráficos computacionales.



Avances al proyecto EcoAr
Los avances realizados al proyecto durante esta semana son:

Algunas capturas de pantalla
 Se estructuraron los diferentes componentes de cada ventana dividiéndolos en diferentes archivos. Esto nos da la posibilidad de agregar o quitar contenido dependiendo del tamaño de pantalla. Los tamaños de los objetos son pequeños pues están diseñados para dispositivos con pantallas muy pequeñas, pero una vez que este bien definida la estructura de las ventanas se agregarán estos parámetros.

Los botones con productos relacionados llevan a una descripción del producto. Los botones del slidemenu están definidos con una plantilla XML por lo cual se puede cambiar fácilmente su estructura y etilo sin modificar la funcionalidad para agregar contenido. Los primeros tres son funcionales dado que la búsqueda por cámara se esta trabajando en App de Android diferente por ahora y se integrará todo a la misma app próximamente.



miércoles, 26 de febrero de 2014

Actividad 6: Diseño de la solución propuesta

Buen día, para esta semana dentro de nuestra tesis redactaremos el diseño de lo que será nuestra solución al problema planteado.

La solución propuesta es un capitulo donde se define con mucho detalle, cuales son los métodos que se utilizan para llegar a la solución, así como, cual es la estructura que la solución tendrá. Dado que para la solución de la tesis en la que trabajo se necesita un sistema, es conveniente explicar en la solución la estructura del mismo, sus entradas y salidas y cualquier documentación relacionada con este tipo de herramientas que resulte útil para explicar la tesis.

Las secciones del capitulo seleccionadas por ahora son:
  • Metodología
  • Aspectos ecológicos a tomar en cuenta
  • Conjunto de datos utilizado
  • Visualización de datos
  • Gráficas con realidad aumentada utilizadas
  • Detección de características
    Detección de superficies

Avances al proyecto EcoAr
Se continuo dando funcionalidad a las listas que servirán para mostrar algunos productos o para mostrar una sección de comentarios. Se separó el código de la lista del código del Vew en el que se estuvo trabajando y se definieron nuevas funcionalidades como Eliminar, eliminar todo, agregar una lista de elementos.

La idea es utilizar una clase abstracta que tenga todas las funcionalidades que deban tener este tipo de listas de de ahí implementar para cada tipo de lista las características requeridas por ejemplo para un comentario se cargaría el Layout que se muestra enseguida y solamente se cambian los valores de elementos con los ID name, date, content.




Se agregó además una clase de java donde se dibuja el circulo con la puntuación que se muestra en las capturas de pantalla anteriores. Este fue hecho con Shapes de android por lo que ya es posible definir configurar fácilmente cosas como sus medidas, la tipografía del texto, el tamaño del texto y el color, en algún archivo de configuración.

Se agregó una librería que implementa un SlideMenu que sirve para acceder a un menú deslizando el dedo de la pantalla hacia un lado. El SlideMenu fue obtenido del siguiente repositorio: https://github.com/jfeinstein10/SlidingMenu, agradezco al computologo Jeremy Feinstein por su herramienta y por compartirla.

jueves, 20 de febrero de 2014

Actividad 5: Búsqueda y clasificación de trabajos relacionados

Buen día, para esta semana en la tesis escribiremos una tabla de comparación entre los trabajos relacionados que nos parecieron mas relevantes, esta publicación será dedicada a dicha tarea.

Analisis comparativo de trabajos
relacionados


En esta sección de la tesis se realizo una tabla comparativa entré los trabajos relacionados que me parecieron que guardan mayor relación con el tema de tesis en el que estoy trabajando.

Primero se realizo un pequeño resumen de los trabajos relacionados y después se fueron agregando a la tabla. La tabla generada fue la siguiente:




Avances de proyecto EcoAr
Se estuvo trabajando en las listas que se utilizan para poder publicar comentarios, o mostrar los productos más recientes en el menú, este tipo de listas se crea utilizando linearLayouts que son un tipo de contenedor de Android que puede contener una lista de elementos uno después de otros, estos layouts son herramientas bastante comunes en Android, pero dado que en si estos layouts son listas, no se necesita más para crear una lista de comentarios.

Para crear la interfaz de la lista se utilizan drawables, estos son elementos gráficos de android, existen grán cantidad de elementos drawables, los drawables que utilizamos para este tipo de lista son shapes, que utilizados como fondo de un comentario, nos dan la sensación de ser comentarios diferentes.

Estos shapes son múy útiles por que por ejemplo en el simbolo verde que se muestra en la imagen inferior, se puede definir esta forma y el color con código XML con la instrucción  " " se pueden creár de forma dinámica diferentes formas dependiendo de las necesidades. En este caso se usa la instrucción "" para cambiar entre rojo y verde dependiendo de que tan amigable es con el ambiente el producto.

Una vez entendido esto se utiliza código en java y una simple lista de java para representar los datos contenidos por la lista gráfica, se agregan y se quitan elementos de forma simple con la funcionalidad que el linearLayout nos probé.

Esta es la pantalla donde se muestra la información relacionada con el producto, la idea como se mostró en los diseños de las semanas pasadas es la de mostrar

 

jueves, 13 de febrero de 2014

Actividad 4: Trabajos relacionados

Buen día para esta semana se nos dio a la tarea de investigar trabajos relacionados a nuestra tesis de licenciatura, esta publicación esta dedicada a dicha tarea.
  Trabajos relacionados
Los trabajos relacionados es una sección donde se buscan investigaciones relacionadas a las áreas en las cuales nuestra investigación de desarrolla. Por lo general se debe buscar que la redacción de estos trabajos contento los siguientes puntos esenciales:
  • El tema central de la investigación.
  • El propósito de la investigación.
  • La metodología aplicada.
  • Los resultados obtenidos.
  • Las recomendaciones sugeridas.


Avances de proyecto EcoAr
Esta semana estuve investigando e implementando algunas pantallas de la interfaz gráfica en Android las pantallas fueron definidas en archivos XML llamas Layouts, como se puede observar con el XML se describe la estructura de la interfaz gráfica.

Uno de los problemas más complicados de la implementación de interfaces gráficas en dispositivos móviles es que estos se puedan adaptar a el diferente tamaño de pantallas de los dispositivos. En Android se utilizan medidas del tamaño de los componentes de la interfaz Llamadas medidas de densidad de pantalla esta medida no es más que la diagonal de la resolución en píxeles dividida entre la diagonal de las medidas reales de la pantalla, la idea es que utilizando estas medidas es posible crear layouts con diferentes rangos de medidas de DP para los componentes de la interfaz.

[imagen obtenida de: "http://eng.pulse.me/wp-content/uploads/2011/10/chart1.png"]

El beneficio de crear Layouts en archivos XML es que se puede cargar un layout con ciertas medidas de DP a otro con la misma interfaz pero con otro rango de medidas de DP dependiendo de la medida de la densidad de la pantalla del dispositivo.
 

Algunas pantallas en las que se ha estado trabajando:

Interfaz del menú de bienvenida


Pantalla de búsqueda de productos

Pantalla de ingreso a la cuenta de usuario, esta debería aparecer al abrir la aplicación.

Cada una se implemento en un view por separado puesto que a pesar de que en los diseños de pantallas realizados dos semanas atrás se muestra un menú con tablillas la idea es implementar un menú deslizable para minimizar el espacio de dicho menú, además de que es muy utilizado  por otras aplicaciones por lo cual sería muy simple adaptarse a el por parte del usuario.

[imagen obtenida de:"https://raw.github.com/kidfolk/android-FlyInMenu/master/4png.png"]

Referencias

Espacio Virtual. 2007. Estructura general de las Tesis de Grado. [online] Available at: http://espaciovirtual.wordpress.com/2007/07/08/estructura-general-de-las-tesis-de-grado/ [Accessed: 13 Feb 2014].

jueves, 6 de febrero de 2014

Actividad 3: Antecedentes

Para esta semana se nos dio la tarea de definir los antecedentes de nuestra investigación, esta publicación será dedicada a dicha tarea.

Antecedentes
El primer paso fue investigar que son los antecedentes, buscando en internet y leyendo algunas tesis como ejemplos llegue a la conclusión que la estructura de mis antecedentes debía ser la siguiente:

  • Un resumen general de cuales son las áreas científicas que abarca la investigación.
  • Un resumen y una critica de la bibliografía utilizada.
  • Una explicación de los conceptos necesarios para poder comprender e implementar los experimentos de la investigación.
Se dividieron los antecedentes en cuatro partes, las cuatro partes son:
  • Conceptos básicos de programación.
  • Visión computacional.
  • Visualización de datos.
  • Ecología.
El último tema no esta relacionado con el área de mi carrera pero es importante conocer algunos conceptos de este dado que esta será uno de los puntos importantes de la investigación y será en este en el que se basen los datos para experimentar.