lunes, 29 de abril de 2013

Lab #9

Mi sugerencia para este proyecto es que, tomen en cuenta los usuarios a los que esta enfocado para que no tengan problemas al manejar lo  y otra cosa es que esta bien que ellos tengan configuraciones predeterminadas, pero a muchos usuarios les gusta tener sus sistemas o aparatos con configuraciones acordes a la necesidad del momento y seria bueno que la alarma tuviera un acceso fácil a poder configurar lo de la manera que el usuario necesite.


Para este proyecto, yo sugeriría que hicieran un poco mas amigable la manera en que trabajan y en la que el usuario entiende que es lo que hace el sistema en si. Para esto seria bueno que, o se le explicara detalladamente al usuario antes de usar la aplicación en que consiste o, que al momento en que este este manipulando la aplicación aparezcan globos informativos o iconos que sean intuitivos para el usuario.

Oficina Inteligente
Para este proyecto al igual que la alarma inteligente que tomen en cuenta las opciones que se tienen para que el usuario pueda configurar lo a su gusto, otra cosa importante es tomar en cuenta los tiempos que el usuario ocupa para poder tener acceso, y pues la presentación que se le dará al usuario también importa mucho ya que si el usuario ve muchos cables o cosas que desconoce, tiende a no querer usar las cosas porque les parece complicado o ideas así por el estilo. 

En este proyecto (no tengo muy clara la idea) pero creo que deberían hablar un poco mas de lo que consiste su aplicación  para facilitar un mayor entendimiento al usuario, entiendo que al momento de realizar pruebas el usuario tiene la facilidad de hacer preguntas de porque o para que ciertas funciones, pero estaría super padre que si es un usuario que no esta muy familiarizado con la tecnología entienda fácilmente que es la idea que se le quiere transmitir.

Para este proyecto, seria bueno que tomaran en cuenta el como estarían colocados los sensores, y saber si afectan o no el descanso del usuario, y también tomar en cuenta si el usuario no afecta el funcionamiento de los sensores, es decir, si ya se ha tomado en cuenta el peso del usuario y si los sensores resisten esto.

Para este proyecto algo que deben tomar en cuenta, es que la colocación de las cámaras  ya que en un prototipo que tienen existe una cámara justo detrás de una puerta y esto podría afectarles al momento de de hacer monitoreo y que la puerta obstruya la visión. Otra cosa importante es, que si por alguna razón mi celular o el aparato donde tenga la aplicación se pierde o se le acaba la batería  existirá algún sensor extra que me permita acceder  a mi casa? 

En este proyecto me parece bien como se han manejado la manera de la presentación  pero al igual que el proyecto anterior, necesitan mostrar alguna alternativa para poder acceder al auto y no quedar fuera de el. Y también el buscar como garantizarle al usuario que su auto estará seguro.
Bueno para este proyecto es importante tomar en cuenta el costo con el que se presentara al usuario, también la seguridad con la que este contara y un plan b en caso de que el smartphone este en uso.

jueves, 25 de abril de 2013

Byte pair encoding

Compresión

Este método es un método de compresión muy simple, este consiste en buscar las repeticiones de pares de letras diferentes dentro de una cadena, por ejemplo la siguiente:
asdasdasadaasdad
  • Por lo tanto el primer par que tenemos es:

                                                                asdasdasadaasdad
 y lo asignamos a Z entonces tenemos que Z= as
  • Después sustituimos dentro de la cadena:

                                                             ZdZdZadaZdad
  • Ahora buscamos el siguiente que mas se repite y lo asignamos a la Y y tenemos que Y=ad 

                                                             ZdZdZadaZdad
  • Y sustituimos:

                                                             ZdZdZYaZdY
  • Ahora tomamos el siguiente par de repeticiones y lo asignamos a W , W=Zd
                                                      ZdZdZdYaZdY
  • Y tenemos lo siguiente:
                                                        WWWYaWY
Y con esto tenemos una cadena de 16 caracteres a 7 caracteres.

Descompresión

Para descomprimir la cadena resultante se utiliza el diccionario que se crea al momento de comprimirlo.(Letras Mayúsculas utilizadas(en este caso)).
  • Z=as
  • Y=ad
  • W=Zd
Después sustituimos cada carácter dentro de la cadena:
                                           WWWYaWY ----> ZdZdZdYaZdY

Después tomamos el siguiente carácter guardado dentro del diccionario y sustituimos en lo que se obtuvo anteriormente:
                                      ZdZdZdYaZdY ------> ZdZdZdadaZdad

Y por ultimo sustituimos la letra restante dentro del diccionrio:
                                     ZdZdZdadaZdad ------> asdasdasdadaaddad

Y listo tenemos la cadena original :)

Referencias: 


martes, 23 de abril de 2013

Actividad # 7 Detección de agujeros mediante histogramas

Para esta entrada de laboratorio.. se nos pidió trabajar con histogramas para la detección de agujeros.

Al utilizar histogramas en la detección de agujeros lo que se busca es utilizarlos con las intensidades de los colores de los pixeles dentro de las filas y las columnas de una imagen, para buscar los posibles agujeros.

A continuación explicare como genere los histogramas para cada una de las imágenes en las cuales se trata de identificar los posibles agujeros.

Primero que nada lo que hice fue recorrer la imagen para obtener los pixeles verticales y los horizontales y a partir de esto generar un archivo .dat en el cual se hace un listado de los pixeles revisados y su intensidad.
****
****

Una vez obtenidos los archivos .dat mando llamar el siguiente codigo en gnuplot para que nos genere las graficas:
****
****


Y este es el resultado con algunas de las imágenes:

Imagen Original

      

Histograma

Esta es otra de las imágenes aunque esta tiene mucho ruido, y varían mucho las intensidades de color, lo que hace que las lineas donde se marcan los posibles agujeros sean demasiadas.



  




Lab #8

Un marco de Evaluación para Aplicaciones de Computo Ubicuo

Autores: 
Mary Theofanos , Jean Scholtz


Se sabe que para las aplicaciones de computo ubicuo es necesario aplicarles algún tipo de evaluación, esto para saber que tipo de reacción causan social mente. Ademas de evaluar la utilidad dentro del marco propuesto para las aplicaciones de ubicomp.

Estas pruebas también son necesarias para saber si dentro de la aplicación hubo un buen diseño y/o identificación de aspectos que pueden ser de utilidad social mente.

Introducción


Dentro de la computación ubicua, se pude decir que para evaluar una aplicación existen diversas maneras de realizarlas a ademas de que muchas son difíciles de realizar.
Muchos de los sistemas actuales se evalúan según la cantidad de tareas que estos realizan. Individualmente se puede decir que si cumplen los requisitos que uno quiere, pero estos sistemas están limitados ya que solo están hechos a las suposiciones de lo que se cree que el usuario quiere, no lo que realmente necesita el usuario.

Para poder lograr que estos sistemas se integren a la vida real, es necesario entender como se diseñan y se evalúan estos sistemas.

Antecedentes

Las evaluaciones de usabilidad actualmente se centran en: eficiencia, eficacia y satisfacción del usuario. Estas pautas suelen ser muy eficientes en la evaluación de aplicación de tradicionales de la computación, pero no resultan muy eficientes para las aplicaciones de computo ubicuo.

Dentro de la literatura podemos encontrar ejemplos de aplicaciones ubicuas en las cuales se ha fracasado por que los desarrolladores hacen caso omiso a las necesidades sociales.

Un marco para la Evaluación del Usuario

En este marco se trata de obtener una medida de evaluación del usuario, utilizando las métricas asociadas a el. Las medidas se definen como valores que pueden ser observables.
Dentro del pdf se muestra en una tabla las 9 áreas de evaluación de un usuario.

Algo importante que se debe tomar en cuenta por los evaluadores son los involucrados directos e indirectos, en que manera les ayuda o en que manera les afecta su trabajo y desarrollo social. Actualmente solo se centran en los involucrados directos, pero siempre hay que tomar en cuenta a que usuarios indirectos afectara y de que manera (positiva/negativa).

El marco se desarrolló de modo que diferentes aplicaciones pueden utilizar el mismo vocabulario y, por tanto, aprender unos de otros. Un problema en el desarrollo de las evaluaciones que se extienden más allá de la aplicación es el desarrollo de los métodos y parámetros necesarios.

Aplicación del Marco ( 9 points)

A continuación describiré algunos de los 9 puntos dentro de la evaluación del usuario:
  • Atención: utilizada para mostrar un ambiente claro para el usuario.
  • Interacción: además de la recopilación de datos sobre la eficiencia, la eficacia y la satisfacción del usuario, la tarea principal es centrarse en servir a los clientes.
  • Modelo Conceptual: En este punto se analiza el grado de adecuación entre el modelo de usuario y la funcionalidad real de la aplicación.
  • Impacto y efectos secundarios: Evalúa cambios en la productividad, los cambios de producción, etc..
  • Robustez de la aplicaciónTambién se examinaron los problemas de hardware incluyen, duración de la batería y eficaz iluminación de fondo de la pantalla para los turnos de noche.

Conclusiones

Los sistemas de evaluación que se presentan, están enfocados mas que nada para que al momento de realizar un sistema ubicuo, este sea de utilidad para cualquier persona. El marco es un primer paso para proporcionar una estructura para que las áreas clave de la evaluación no se pasen por alto y en la identificación de indicadores validados y directrices de diseño que puede ser objeto de un uso para mejorar la interacción persona-ordenador de sistemas ubicuos.

Critica/ Opinión

Desde mi punto de vista, al desarrollar un sistema ubicuo siempre es necesario tomar en cuenta todos los usuarios que se verán afectados al utilizar el sistema, ademas de que antes de desarrollar algo seria buena idea ubicar a que tipo de usuarios va enfocado principalmente, y después ver si es posible que este sistema sea implementado de tal manera que cualquier usuario que lo utilice, no tenga dificultades con el y le pueda brindad seguridad y confianza al operar el sistema ubicuo.


Aquí dejo el link del pdf completo, esta corto pero muy interesante y con puntos sobre el usuario que se deben tomar muy en cuenta para que nuestro sistema ubicuo funcione y tenga éxito.


Tarea # 6 - Hole detection

Para esta semana en la clase de visión se nos pido trabajar en la detección de agujeros.

Pero que es un agujero, bueno pues un agujero es todo aquel que tiene una forma similar a un circulo y dentro de el existe un cambio en la intensidad de luz que hay sobre la superficie, lo cual hace que estos sean fáciles de detectar mediante la utilización de histogramas.

En la entrada de laboratorio se  habla mas sobre ese tema. La imagen que utilizare para esto es la siguiente:

Bien utilizando esta técnica obtenemos los siguiente :

****

******


Aquí dejo el link a mi repositorio

https://github.com/AdriC1705/Viscomp.git





jueves, 18 de abril de 2013

Actividad # 6 - Elipses

Para esta entrada se nos pidio trabajar con el tema de detección de elipses, solo que en este caso era identificarlo y rellenarlo con un color distinto al original.

Para realizar esto era necesario utilizar los puntos ubicados en el centro de cada posible elipse, y recorrerlo mediante un bfs, como se ha tratado en tareas anteriores.

Hasta ahorita tengo un avance parcial sobre esto, ya que tuve algunos problemas con la tarea de este tema, y este es el código que tengo..

*****
*****

Y esto es algo de lo que obtuve, antes de procesar la imagen le aplique binarizacion y convolucion.




lunes, 15 de abril de 2013

Lab#7


An Outdoor Navigation System Using GPS 
and Inertial Platform

INTRODUCCIÓN

La navegación en exteriores es un tema bastante variado y requiere de diferentes tipos de sistemas, ambientes y sensores.

Para hablar de la navegación en exteriores podemos tomar por ejemplo el un vehículo que viaja en un bosque o uno que hace una exploración de un estacionamiento, ambos ejemplos ocupan requisitos diferentes mas sin embargo ambos están en el exterior. 
A pesar de que este entorno es bastante simple representa problemas muy distintos al estar en un interior. Esto es porque los sensores necesarios deben ser diferentes, como por ejemplo los sensores ultrasonicos no se pueden utilizar, ya que son afectados por diversos cambios climáticos, uno de ellos es la lluvia y/o el viento, ademas de que tienen muy poco alcance.

Al aire libre, el sistema de posicionamiento global es de mayor ayuda, ya que nos puede servir para proporcionar mayor información sin tener la necesidad de agregar otro tipo de dispositivos o puntos de referencia artificiales. Aunque por razones militares la precisión disponible fue degradada de modo que solo receptores diferenciales pueden utilizarse para la localización de entornos considerados.

Al utilizar GPS el procesamiento de datos es muy poco y su error es independiente de la distancia recorrida y de las posiciones de los obstáculos. El problema es para caracterizar el comportamiento de este sistema en diferentes situaciones y para adaptar la localización  y los sistemas de navegación, esto para obtener los máximos beneficios de uso.

En el documento se analizo el sistema de localización implementado en un  ATRV-Jr dentro de un estacionamiento que tiene un terreno robusto y no pavimentado, ademas de discutir la precisión de GPS. En efecto, este es el sensor más importante para los movimientos grandes en espacios abiertos, cuando ninguna otra referencia está disponible y su corto término de error afecta a la aplicación del sistema de navegación completo.El sistema de localización se basa en un filtro de Kalman extendido (EKF) y se describe dando énfasis a las peculiaridades derivadas de las características de los sensores empleados.

DESEMPEÑO DE UN SISTEMA SIMPLE GPS

Un receptor GPS esta basado en señales, recibidas de varios satélites que no son geoestacionarios. Conocer la referencia geográfica de donde son enviados los mensajes, la posición de la antena y la hora del sistema GPS puede calcular si cuatro o mas pseudodistacnias están disponibles.

El receptor determina los retrasos a lo largo de los caminos de los satélites y su antena y por lo tanto los rangos a los satélites, Se puede decir que el proceso de medición esta dañado por  el ruido y los fenómenos no modelados.  Ademas de que el numero y la posición de los satélites disponibles cambian con el tiempo e influye dentro de la precisión del sistema.

Un receptor GPS también es capaz de proporcionar valores que caracterizan la precisión de la medida, tal como dilución de la precisión (DOP) y valores EPE. 

Los valores de DOP son multiplicadores de error, esto porque no tiene en cuenta los retrasos de la propagación de la onda, por lo tanto no puede se utilizado como una medida de localización. Así que los receptores GPS utilizan a menudo otros indicadores de precisión generalmente llamados error estimado de posición o EPE.Se calcula utilizando información estadística de la propiedad de filtro utilizado en el receptor y por lo tanto no existe una definición general para EPE. Un error de frecuencia baja es notable si se considera posición absoluta, sino que está interesado en la precisión de la posición relativa en un tiempo bastante corto, esta parte puede ser descartado.
El GPS utiliza un chipset propio basado en el circuito de alto nivel integración para minimizar los requisitos de espacio y energía. Ademas de soportar operaciones pesadas y es resistente al agua.

A partir de estas consideraciones podemos concluir que la EPE y el número de acarreo de satélite, más o menos, la misma cantidad de información, por lo que utiliza este último para cambiar la matriz de covarianza de los GPS. Además, como el error absoluto varia lentamente, cada vez que se acercaba un rasgo entorno conocido, el error global se puede restablecer. Por esta razón, el algoritmo de localización utiliza el subsistema de GPS como un sensor de relación sin necesidad de una precisión absoluta fuerte.

PLATAFORMA DE INERCIA

La DMU-6X (ver Tabla VI) es una plataforma inercial 6-DOF diseñado para la medición general de la aceleración lineal y la velocidad angular en entornos dinámicos. La DMU-6X utiliza un procesador de señal digital de alto rendimiento para proporcionar salidas que son compensados ​​por las fuentes de error determinístico dentro de la unidad. Compensaciones internas incluyen desplazamiento, factor de escala y alineación.

Los datos digitales se pueden adquirir desde un PC mediante un puerto serie, mientras que las salidas analógicas están plenamente compensados ​​y están diseñados para conectarse directamente a los equipos de adquisición de datos.

Conclusiones (pdf)

La eliminación de la disponibilidad selectiva del GPS ha hecho localización disponible al aire libre incluso utilizando receptores de bajo costo. 



*Desde mi punto de vista el trabajar con GPS para ubicar y/o localizar el área en donde se realizan los experimentos me parece bastante bien ya que tiende a ser mas preciso para áreas con relieves y con objetos que en determinado momento se encuentren en movimiento, como el caso del estacionamiento, seria de mucha ayuda el no solo trabajar con un solo tipo de sensor.. si no realizar diversos experimentos utilizando diferentes recursos, esto  por que como se plantea en un inicio estamos al aire libre, y existen muchos diferentes tipos de entorno en los cuales puede resultar muy útil el combinar el GPS y algún otro sensor, sea proximidad, etc.. 

También otro punto importante es intentar realizarlo un poco mas remotamente y no tener que tener conectado directo nuestro experimento a la pc , esto para poder hacerlo un poco mas aplicable y que en cualquier momento el usuario tenga completo acceso a el.


A continuación anexo el link de donde se puede descargar el pdf de la investigación completo. En donde se añaden las tablas completas de los experimentos realizados, ademas de los autores que contribuyeron a su realización.

miércoles, 10 de abril de 2013

Tarea #3

For this homework I worked in huffman compression algorithm, the huffman compression consist in the use of a  table of codes of variable long assigned to characters that the element to compress contains.

How works?
The algorithm consist in make a tree based in the frequency in that the characters appears in the string.

First, when we have a string we search the frequency of the characters, for example:

'Adriana'
And this is the frequency:
Then the characters are added to a list ordered from lowest to highest according to their reps.

From the list from the tree as follows:
  • First we take the first two nodes of the list and create a new node in which its root will be NULL and the sum of the number of repetitions of these two nodes.

  • Nodes taken from the list are removed and the new node is added to the list and we have as follows:


  • Repeat the process to combine the following lower nodes and get this:







Now, this is my code:
[ ]

:B 

To be continued...

References:

sábado, 6 de abril de 2013

Lab#6 - Sugerencias


Para esta entrada haré una retroalimentación de los avances vistos en clase de los demás equipos.

Alarma Inteligente

Este equipo se tiene dividido el proyecto en dos fases,  Ademas de que utilizaran como su componente principal un arduino, conexiones a modulo bluetooth para su primera fase del proyecto y modulo gps para la segunda parte.

Sugerencia:

Me parece muy buena idea dividir en fases el proyecto, aunque hubiera estado mejor que al momento de calendarizar el tiempo de trabajo se desglosaran bien que tiempo tienen estimado para cada actividad, y así no les consuma mas  tiempo del necesario una fase de la otra.


----------

Oficina Personalizada

En este equipo lo que se tiene bien enfocada la idea de las prioridades del proyecto, ademas de todo el material de hardware y software, y algunas tareas en las que se trabajara.

Sugerencia:

A mi parecer, creo que esta bien que ya tengan bien fijo lo que van a usar y hacer, aunque creo que deberían tener un calendario mas amplio, y fijar algunas fechas de cuando deberían estar terminados los puntos que el equipo ha marcado como prioridad.

También estaría padre que se implementaran algunas de las ideas o sugerencias que anteriormente se le han dado al equipo, o mostrar alguna simulación de como quedaría.


----------

Localizador

En este equipo se encuentra bien definido lo que harán y lo que utilizaran para realizar el localizador.

Sugerencias:
Seria bueno que agregaran un poco mas de detalle dentro de su calendario.
Otra cosa es que la idea en general de localizar cosas esta bien pero también es posible aplicarlo con las personas en todo caso para las familias que tienen ninos pequeños y hay gente que se preocupa mucho que por si salen a la calle o otras cosas mas, entonces seria bueno que siguieran con la idea y no descartar la del todo.


----------

Cama Inteligente

En este equipo también esta bien definido lo que se hará y lo que utilizaran.
En particular en este equipo seria bueno que mostraran algún dibujo o imagen de lo que desean crear para que el publico al que va enfocado tenga una mejor idea.


----------

Casa Inteligente

En este equipo lo que se tiene es el material que se utilizara para manejar la casa inteligente, tienen buenos componentes y el software que se utilizara también,  Ademas de que tienen organizado que es lo que harán y en que fechas

Sugerencia:
Como ellos mencionan y creo que antes ya les habían dado la sugerencia, es en donde aplicaran lo que es la seguridad de la casa, creo que les falta poner la idea en si sobre lo que van a trabajar o si solo lo añadirán a lo que es la casa inteligente.


----------

CarNXP

En este equipo se tiene bien clara la idea de lo que harán, así como también el hardware y software que utilizaran. Utilizaran  un lector NFC para leer el dispositivo móvil y obtener acceso al auto.

Sugerencia:
Como en otros equipos estaría bien que definan que actividad realizara cada quien,  Otro punto que tambien deberían tomar en cuenta es el costo en material de lo que dijeron que ellos mismos realizarían.
----------