27 de febrero de 2013

Actividad 4: Detección de Diagonales

Laboratorio de Visión Computacional
Actividad 4

Para esta entrega de laboratorio se nos pidió detectar líneas diagonales, además de las líneas horizontales y verticales que ya se habían logrado detectar en la entrega anterior.

Enseguida las imágenes originales con su respectivo resultado después de aplicar la detección de líneas.










Código


Esta es la sección de código relevante, donde comparando con la entrega hecha para la clase, se modifico la forma en que se obtiene el ángulo usando una función de la librería math de python, lo cual nos ahorra unas cuantas líneas y simplifica el proceso.

Tenemos el método de convolución para aplicar las máscaras que nos facilitan la detección de líneas y no solo bordes como en otras entregas anteriores.

Ahora el programa pinta de color azul las líneas horizontales, de color rojo las verticales y de color verde las diagonales.


Otra forma que encontré para encontrar líneas diagonales, fue usando una máscara diferente para detección de diagonales. Usando esta máscara junto con lo ya implementado anteriormente para detección de formas (ahora en este caso las líneas), logre separar por colores diferentes secciones de líneas.

Usando dos de las imágenes mostradas al inicio, obtuve el siguiente resultado.



26 de febrero de 2013

Algoritmos Eficientes de Recuperación de Redes Inalámbricas

Laboratorio de Redes de Telecomunicaciones
Lectura

Nombre del documento original:
"Efficient Recovery Algorithms for Wireless Mesh Networks with Cognitive Radios"
Autores:
Roberto Hincapie, Li Zhang, Jian Tang, Guoliang Xue, Richard Wolff y Roberto Bustamante
Enlace:
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5198977


Las Redes de Malla Inalámbricas (Wireless Mesh Networks - WMN) están previstos para proporcionar diversos datos y aplicaciones multimedia, tales como acceso a Internet, juegos compartidos, Video-on-Demand (VoD) y las comunicaciones de emergencia, y a los usuarios inalámbricos en el futuro.

Estas aplicaciones implican generalmente un gran volumen de tráfico, que necesita una gran cantidad de ancho de banda para la entrega de paquetes. Un usuario inalámbrico no autorizado con radio cognitiva (usuario secundario) puede detectar y acceder a un espectro de banda utilizado, incluso si está autorizado, siempre y cuando no haya usuarios con licencia para esa red (también conocidos como usuarios primarios) que estén activos en esa banda, con el fin de conducir a una mejor utilización de los recursos, por lo tanto mayor ancho de banda y mayor rendimiento obtenido.

Por lo tanto, radios cognitivos pueden mejorar las funcionalidades de un sistema WMN y ayudar a servir mejor a sus aplicaciones. Sin embargo, el espectro o canal disponible fluctúa en el tiempo y la ubicación. En una WMN con radios cognitivos, cuando un usuario primario se convierte en activo en un canal en un área determinada, los nodos y enlaces que estaban usando ese canal debe liberarla, lo que provocará fallos de tráfico. Planes de recuperación simple y eficaz se necesitan para reasignar los recursos disponibles para el tráfico en el que se ocasionaron fallas.

Formulación del Problema

Consideramos una WMN que consiste en nodos de la malla con ubicaciones conocidas, cada uno de los cuales está equipado con un radio cognitivo. El espectro disponible se divide en un conjunto de canales no ocupados. Durante un cierto período de tiempo, un conjunto de canales están disponibles para un nodo de la malla particular. La disponibilidad de canales puede cambiar con el tiempo debido a la aparición de los usuarios primarios en la misma zona. Cualquier espectro propuesto esquema de detección se puede utilizar para detectar los canales disponibles a nivel local. También asumimos que cada nodo tiene una radio de bajo coste de control, que se utiliza para intercambiar mensajes de control sobre un canal de control común.

Desempeño de acciones a través del simulador

Ahora veamos el desempeño de las acciones que se emprendan a través de simulaciones con NS2 y CPLEX 10.1. En la simulación, los nodos de la malla se colocaron al azar en una región cuadrada de 1000m x 1000m. Todos los canales se dividieron en tres grupos, cada uno de ellos tiene el mismo número de canales. Los canales en el primer grupo tienen un rango de transmisión de 250 m y una velocidad de datos de enlace de 11 Mbps. Los valores se fijaron a 200 m y 22 Mbps para los canales en el segundo grupo, y 150 m y 54 Mbps para los canales en el tercer grupo. En cada canal, el alcance de la interferencia se ajusta a 2 veces el rango de transmisión correspondiente. Cada usuario primario fue colocado al azar y su canal ha sido seleccionado al azar. Establecieron el número de canales a 12, el número de ranuras de tiempo en una trama a 20, y el número de usuarios activos primarios a 8. En la simulación, se generaron los flujos de tráfico de la siguiente manera: para cada flujo, escogidos al azar una fuente, un destino y una demanda de tráfico en el intervalo [0.1, 5] Mbps.

A continuación, aplica el algoritmo de Dijkstra para encontrar un camino más corto y un algoritmo aleatorio simple para asignar bloques libres de transmisión para cada enlace a lo largo del camino para satisfacer su demanda de tráfico sujeto a la restricción de interferencia. El flujo es acepatdo sólo si una ruta factible y solución de asignación de bloque se pueden encontrar. De lo contrario, un nuevo flujo se generará y su factibilidad serán verificadas. Después de este proceso, hemos creado un conjunto de flujos de extremo a extremo y se identificaron los bloques de transmisión utilizados y libre en cada enlace. La relación entre el número de flujos fijos y el número total de flujos fallidos, y la relación entre la cantidad de tráfico fijo y la cantidad total de tráfico no se utilizan como parámetros de rendimiento y que se conocen como "relación de eficiencia de recuperación de números" y "eficiencia de recuperación relación rendimiento".

Aquí conforme se incrementa el número de canales tenemos una menor eficiencia.


Aplicado el algoritmo mencionado para la simulación se ve un cambio significativo en la eficiencia en cuanto prevención de fallos en la red inalámbrica.


En pocas palabras...

En el trabajo observado se trató con la recuperación de fallas causadas por cambios en la disponibilidad de canales en WMN con radios cognitivas. Formularon los problemas correspondientes de ILP y se resolvieron para obtener soluciones óptimas. Y además proponen un algoritmo eficiente para distribuir una rápida recuperación ante fallos.

Mediante una simulación se encontró que el rendimiento dado por el algoritmo propuesto es muy próximo a las soluciones óptimas, suponiendo que existe un algoritmo que arrojará resultados óptimos en tiempo polinomial.

24 de febrero de 2013

Detección de Líneas

Visión Computacional
Tarea 3

La tarea de esta semana fue la detección de líneas. Veamos los resultados directamente en la comparación de imágenes originales y las imágenes después de la detección de líneas.







Aquí una más, donde tuve que cambair el color de líneas horizontales porque los tonos de rojo no se distinguían muy bien.




Código


El código completo es el siguiente, y como en ocasiones anteriores, el parámetro que necesita es la ruta a una imagen.



Podemos ver en la captura anterior, que en el terminal se imprimen los contadores para los pixeles horizontales y verticales.

23 de febrero de 2013

Experimentos de Calidad de Servicio

Redes de Telecomunicaciones
Tarea 4

El experimento que yo realicé para medir la calidad de servicio fue en el streaming en vivo que ofrece Ustream.tv usando una red Axtel vía Ethernet y vía WiFi.



Las pruebas que realicé fue tomando en cuenta solo algunos de los parámetros más comunes para verificar la calidad de servicios que necesitan la transferencia de vídeo y/o voz.

Las pruebas fueron las siguientes:
  • Pérdida de paquetes
  • Latencia
  • Jitter
  • Ancho de banda

Para esta última prueba fue necesario instalar un paquete adicional en Ubuntu, llamado bmon, que se encarga de medir el ancho de banda usado en la computadora, donde es posible especificar que interfaz es la que queremos monitorear.

Para instalar, desde la terminal se escribe lo siguiente:
~$ sudo apt-get install bmon
Si queremos ver que es lo que hace este nuevo paquete, basta con escribir lo siguiente y ver la información que se despliega.
~$ bmon
Al ejecutarse podemos ver en el mismo terminal algo como lo siguiente.


Pero tener el monitor en la terminal no me es útil ya que yo necesito de alguna forma estar tomando los datos arrojados por esta herramienta, afortunadamente es posible agregar parámetros para poder ver la información, sin la visualización como monitor.

Podemos probar lo siguiente, donde eth1 es la interfaz a probar, y ascii es el método de salida que deseamos.
~$ bmon -p eth1 -o ascii

Esto provoca que se ejecute infinitamente, pero podemos agregar unas opciones más para evitar esto. Con el siguiente comando obtenemos solo 5 muestras y quitamos la cabecera de información.
~$ bmon -p eth1 -o 'ascii:noheader;quitafter=5'

Con esto ya podemos leer la información impresa en la terminal de una forma más cómoda, y así es como usaré el comando para ejecutarlo desde un script de python que procese esa información. Cabe mencionar que noté que en la primera muestra todos los datos siempre aparecen en ceros, por lo que en el programa descarte la primer línea.

Otro comando utilizado para la prueba es el ping que ya viene instalado en Ubuntu, y yo lo usé de esta manera para hacer pruebas al host de Ustream.
~$ ping www.ustream.tv -c 5 -s 120 -Q 0x10 -n
Donde -c 10, es la cantidad de paquetes a probar, -s 120 es el tamaño del paquete (más 8 bytes adicionales para la cabecera), -Q 0x10 es para minimizar el retraso de paquetes, y -n es para no mostrar el nombre del host en la información impresa.

Con estos dos comandos desde la terminal puedo obtener la información necesaria para calcular los parámetros de QoS mencionados al inicio. Es importante señalar que el comando ping arroja por si solo estadísticas de los paquetes enviados, pero lo que mi script de python hace es calcular esos datos, manipulando la información obtenida.

Código


Al ejecutarlo lo podemos dejar sin parámetros, ya que por defecto hace prueba a www.ustream.tv con una cantidad de 100 paquetes.


Al terminar, nos muestra el resumen de información.


Pruebas


Ethernet
ramon@pavilion:~/Documents/redes-de-telecomunicaciones$ python qos.py 
Packets sended: 100
Packets received: 99
Lost percentage: 1.0
Max time: 78.0 ms
Min time: 71.8 ms
Latency: 75.15 ms
Jitter: 3.12 ms
Bandwith used: 129.37 KiB/s
ramon@pavilion:~/Documents/redes-de-telecomunicaciones$ python qos.py 
Packets sended: 100
Packets received: 100
Lost percentage: 0.0
Max time: 92.1 ms
Min time: 68.2 ms
Latency: 84.09 ms
Jitter: 12.68 ms
Bandwith used: 125.29 KiB/s

Como podemos ver la cantidad de paquetes perdidos es casi nula por esta vía, y los tiempos de latencia y jitter son pequeños como se espera de un servicio como el que estamos probando.

WiFi
ramon@pavilion:~/Documents/redes-de-telecomunicaciones$ python qos.py 
Packets sended: 100
Packets received: 98
Lost percentage: 2.0
Max time: 1204.0 ms
Min time: 67.8 ms
Latency: 84.84 ms
Jitter: 138.44 ms
Bandwith used: 129.17 KiB/s
ramon@pavilion:~/Documents/redes-de-telecomunicaciones$ python qos.py 
Packets sended: 100
Packets received: 97
Lost percentage: 3.0
Max time: 147.0 ms
Min time: 67.9 ms
Latency: 70.61 ms
Jitter: 60.89 ms
Bandwith used: 123.25 KiB/s

En este caso si es posible ver con más frecuencia pérdida de paquetes, y en ocasiones el tiempo de respuesta en uno de ellos se eleva mucho, afectando los demás resultados. Pero aún así, no sobrepasamos exageradamente los tiempos deseados, tal y como se mencionó en la entrada de laboratorio.

Referencias:
Ping command
Bandwidth ubuntu monitor
QoS en linux

22 de febrero de 2013

Actividad 4: Pruebas para QoS

Laboratorio de Redes de Telecomunicaciones
Actividad 4

QoS (Quality of Service) o Calidad de Servicio, se refiere a la calidad en la transmisión y recepción de información a través de una red de datos.

Existen diferentes definiciones para el término de Calidad de Servicio, aquí las más importantes.
  • ITU E.800: Efecto global de las prestaciones de un servicio que determinan el grado de satisfacción de un usuario al utilizar dicho servicio.
  • IETF RFC 2386: Conjunto de requisitos del servicio que debe cumplir la red en el transporte de un flujo.
  • ISO-9000: Grado en el que un conjunto de características inherentes cumple con los requisitos.

En realidad QoS es un concepto abstracto y subjetivo, y no existe una medida estandarizada, es especialmente importante para ciertas aplicaciones tales como la transmisión de vídeo o voz. Se pueden realizan medidas objetivas y/o subjetivas.

Parámetros que definen la QoS


Existen varias medidas que se pueden realizar en una red para evaluar la calidad del servicio, y cada una de ellas puede estar dada por más de un parámetro. Veamos algunas de estas medidas y sus respectivos parámetros.

Medida Parámetros de QoS
Tiempo Latencia, Retraso, Tiempo de recuperación, Garantía, Intervalo de sincronización y Disponibilidad
Volumen de tráfico Throughput y Picos de volumen
Precisión Precisión de direccionamiento, Tasa de error e Integridad
Robustez Confianza, Mantenibilidad, Resistencia y Supervivencia
Contabilidad Costo y Auditabilidad
Manejabilidad Monitorización y Control
Seguridad Autenticación, Confidencialidad y Seguridad del tráfico del flujo

Parámetros más comunes para medir la calidad de servicio:
  • Ancho de Banda
  • Latencia
  • Jitter
  • Perdida de paquetes


Ancho de Banda

Es una medida de recursos disponibles para transmitir datos. También es una medida que se usa para definir la velocidad de nuestra conexión a Internet. Se puede usar para referirse a capacidad o a consumo.

El ancho de banda es la máxima cantidad de datos que pueden pasar por un camino de comunicación en un momento dado. Cuanto mayor sea el ancho de banda, más datos podrán circular por ella al segundo. El ancho de banda se indica generalmente en bits por segundo (bps), kilobits por segundo (Kbps), o megabits por segundo (Mbps).


En el ejemplo de la imagen podemos ver que la prueba de velocidad nos esta arrojando 4.77 Mbps, lo que indica que por cada segundo se es posible enviar casi 5 millones de bits. Hay que saber que este tipo de pruebas hacen un promedio de los picos y bajos que hay al hacer la prueba, ya que no es una velocidad constante siempre.

Este parámetro mientras más grande sea, mucho mejor calidad en el servicio podemos tener.


Latencia

Se refiere al nivel de trafico a través del tiempo. Esta información es útil especialmente en el transito de tráfico de tiempo real e interactivo.

En redes informáticas de datos se denomina latencia a la suma de retardos temporales dentro de una red. Un retardo es producido por la demora en la propagación y transmisión de paquetes dentro de la red.


La medida usada para la latencia es habitualmente ms (milisegundos), y mientras menor sea en una red, nos indica que la capacidad de respuesta para enviar y recibir paquetes, es más rápida.


Jitter (Variación de retardo)

Es el efecto de desplazamiento de la señal o bit con la posición ideal que debería ocupar en el tiempo.

También conocido como variación de retardo, en el caso de transferencia de voz, ocasiona que los paquetes sean descartados por el receptor cuando este no recibe los paquetes a tiempo, en la práctica los usuarios perciben este problema como un entrecortado en la voz.

Debido al retardo mismo del enlace también se pueden descartar paquetes, incluso si tuviera un retardo fijo, pero aquí también se puede aplicar el Jitter Buffer como una alternativa de solución para incrementar el tiempo de espera del receptor sin que descarte los paquetes.

En otras palabras el parámetro Jitter, es como la medida de la varianza en que puede rondar el propio valor de la latencia, como si se tratase de un umbral.

Mientras menor sea el Jitter, indica que la latencia varía mucho menos y por lo tanto tendremos una mejor calidad de servicio.


Pérdida de Paquetes

Se refiere a los paquetes de datos que son desechados cuando las colas de tráfico están colapsadas, perdiéndose información en el camino.

La pérdida del paquete ocurre cuando uno o más paquetes de los datos que viajan a través de la red falla para alcanzar su destino. La pérdida del paquete se distingue como uno de los tres tipos de error principales encontrados en comunicaciones digitales.

Las comunicaciones en tiempo real están basadas en el protocolo UDP. Este protocolo no está orientado a conexión y si se produce una pérdida de paquetes no se reenvían. Además la pérdida de paquetes también se produce por descartes de paquetes que no llegan a tiempo al receptor.

La perdida de paquetes máxima admitida para que no se degrade la comunicación en una transferencia de voz deber ser inferior al 1%.


Para realizar una prueba de pérdida de paquetes, como lo hacen muchos de los servicios en línea para este tipo de pruebas, es enviando una cantidad fija de paquetes, luego se calcula cuantos paquetes llegaron sin problemas, y por último se calcula el porcentaje de paquetes perdidos en la red.

Mientras menor sea el porcentaje de paquetes perdidos, la calidad de conexión será mucho mejor.


Referencias:
Calidad de Servicio (QoS) en redes
Gestión de tráfico y Calidad de servicio
Latencia
Pérdida de paquetes

21 de febrero de 2013

Actividad 4: Retroalimentación de Proyectos

Laboratorio de Cómputo Ubicuo
Actividad 4

En la pasada clase de Cómputo Ubicuo todos los equipos presentamos el estudio de campo realizado, donde mayoritariamente se hizo uso de entrevistas y/o encuestas para obtener información de personas que podrían ser futuros usuarios de los productos o servicios que estamos desarrollando, y después de escuchar a todos los equipos se nos pidió hacer una retroalimentación entre nosotros mismos para lograr obtener algunas recomendaciones hacia los proyectos y a la forma en que se realizaron los estudios de campo.

A continuación están mis recomendaciones, sugerencias y críticas constructivas de las presentaciones vistas.


Alarma Inteligente para Autos


Integrantes: Alex, Sergio, Roberto y Cristhian.

En la encuesta electrónica hecha por el equipo de este proyecto, noté el error de usar casillas de verificación (check box) en vez de botones de opción (radio button) en algunas de sus preguntas, en donde la persona que contesta las preguntas solo debería de poder elegir entre una respuesta u otra, con el fin de obtener información exacta.

También otro detalle en la encuesta fue el uso de cajas de texto para responder preguntas donde hubiera sido mejor poner algunas respuestas habituales y que se seleccionen mediante casillas de verificación, y dejar al final un espacio para indicar si existía alguna otra respuesta que no estaba en la lista.

Me gusta la idea de que quieran añadir un panel donde se ingrese un código para poder abrir el auto, aunque en realidad no me gustaría un pequeño tablero numérico en la puerta, ya que le quitaría algo de estética al auto, y optaría mejor por hacer el uso de un dispositivo móvil que abra la puerta del auto a distancia.

Así podrían integrar varias opciones en una misma aplicación móvil donde la función principal sería saber la posición del auto mediante GPS, y como función secundaria hacer uso de la aplicación como llave para abrir la puerta, además de opciones para hacer un bloqueo en el acelerador del auto para que en caso de que alguien lo robe, no pueda huir muy lejos.

Enlace a entrega de estudios de campo:
http://ubicomputo.blogspot.mx/2013/02/avance-2-reporte-de-estudio-de-campo.html


Seguridad en Computadora


Integrantes: Obed, Avendaño, Pedro y Jonathan.

Me parece buena la idea de un sistema de auto-bloqueo para la computadora ya que todos hemos pasado por este tipo de situaciones donde por despistados o por olvidar cerrar sesiones abiertas de sitios web, solemos ser víctimas de compañeros bromistas, e inclusive malintencionados, que hacen mal uso de nuestra computadora para hacernos ver mal o inclusive en los peores casos, robo de archivos personales.

Me imagino que entre las ideas que ellos tienen es la de optar por hacer uso de cámara web para identificar a las personas y saber si son en realidad el dueño de la computadora, o tal vez reconocimiento de escritura en el teclado.

En cuanto a la encuesta aplicada, falto ver una estadística de las personas que han sufrido realmente una situación donde otra persona haga mal uso de su computadora para hacer bromas, para conocer que tan viable es el desarrollo de un sistema inteligente como el propuesto.

Enlace a entrega de estudios de campo:
http://aveoctavo.blogspot.mx/2013/02/clase-de-computo-ubicuo.html


Oficina Personalizada


Integrantes: Osvaldo, Triana, José y Esteban.

Uno de los puntos tratados en el estudio de campo de este equipo fue plantear las acciones que el sistema debería de realizar cuando detecte a un ladrón dentro de la oficina, lo cual me parece que existe una forma más rápida para evitar el robo. Según la encuesta lo ideal sería recibir una llamada y después que se haga una llamada a la policía. Pero mi sugerencia sería que no se trate de buscar soluciones para después de que se detectó alguien robando, sino buscar alternativas de precaución, como el cerrar o bloquear la puerta cuando no este el dueño en la oficina, y disparar una alarma cuando alguien entre sin autorización, al igual que lo haría el sistema de alarma de un auto.

Por lo general la mayoría ha pasado situaciones donde el aire acondicionado dentro de un salón, cuarto u oficina suele ser estar a temperatura muy baja, y que es muy confortable si en el exterior hace mucho calor. El problema aquí es que en muchas ocasiones el cambio brusco de temperatura (de estar en un cuarto frío y luego salir a la calle con un calor abrumador) es una de las razones por las que personas suelen enfermar. Una de las cosas que me gustaría que se agregara al proyecto es que no solo este encargado de la moderación del clima en el interior de la oficina, sino que también se tenga una hora aproximada de salida de la persona que trabaja en la oficina, y el clima se regule de alguna forma para que antes de la salida de la persona de la oficina, el sistema cambie a una temperatura que siga siendo cómoda pero no provoque un cambio drástico al salir.

Enlace a entrega de estudios de campo:
http://pepgonzalez.blogspot.mx/2013/02/campos-de-estudio-oficina-personalizada.html


Proyecto Localizador


Integrantes: Omar, Saúl e Isaías.

Me parece que se debería definir en concreto para que tipo de usuarios estará enfocado el sistema, ya que no me parece del todo buena idea tratar las encuestas por igual para quienes desean localizar personas y para los que desean localizar mascotas, y además en la parte de que tipo de dispositivo les gustaría utilizar, el mezclar uso de collar con brazalete en una misma gráfica, no es del todo informativa ya que no se sabe si el collar se deseaba para un niño o solo para mascota, debió haber sido por separado, podrían haber sido dos tipos de encuestas diferenciadas donde una estuviera enfocada a localizar personas y otra a localizar mascotas.

Tomando en cuenta de que se crea un sistema para localizar personas, o en el caso particular niños, sería bueno que el dispositivo integrado que el niño vaya a cargar, que según las encuestas les parece mejor a todos que sea mediante un brazalete, tenga integrado también un botón para que él también tenga la posibilidad de enviar una señal cuando este perdido, a modo de un "botón de pánico".

Enlace a entrega de estudios de campo:
http://gtdsoftwa.blogspot.mx/2013/02/presentacion-estudio-de-campo-proyecto.html


Galería Inteligente


Integrantes: Adriana, Blanca, Vanessa y Rodolfo.

Para la encuesta aplicada, sería buena idea haber agregado una introducción de cuál es el tema que van a tratar, y qué se debería entender por galería inteligente, para evitar confusiones en los encuestados.

También a modo de introducción sería bueno haber presentado imágenes o vídeos de las galerías inteligente o interactivas que ya existen para luego mencionar la idea que ustedes tienen para implementar y sus respectivas innovaciones con respecto a lo ya existente.

Enlace a entrega de estudios de campo:
http://ultimo-sem.blogspot.mx/2013/02/estudio-de-campo.html


Casa Inteligente


Integrantes: René, Raúl e Iván.

En este proyecto me gusta la idea del simulador de presencia, ya que sería una buena alternativa para evitar que personas malintencionadas entren o intenten entrar a nuestra casa, y con el uso de un sistema como el que proponen, fácilmente se podría ahuyentar a los ladrones.

Deberían de ser más precisos al momento de hacer la encuesta, para que no solo este en términos generales de seguridad, sino específicamente en un servicio o producto específico, que podría ser el sistema para seguridad de puertas y ventanas, o el sistema de seguridad para que los niños estén seguros dentro de la casa.

Enlace a entrega de estudios de campo:
http://3puntosteam.blogspot.mx/2013/02/diseno-conceptual.html


Auto con NFC


Integrantes: Abraham, Rafael, David y Juan.

En primera instancia, me parece que el rango de edad para las personas encuestadas es muy pequeño. El rango de edad al que proponen orientar el sistema/producto es en realidad para adolescentes, y me parece que debería de estar también incluido el rango para gente joven que puede ir de los 20 a 26 años.

Me parece que tampoco se tomo en cuenta de que aveces un mismo auto es utilizado por varios integrantes de la familia, por lo que es posible que el sistema no sea de todo agrado si ese mismo auto lo usa el papá del adolescente. Así que en esta parte hubiera sido bueno preguntar si el auto solo es usado por el encuestado o si es auto compartido, además de preguntar si las personas con las que comparte el auto estarían de acuerdo de usar una tecnología como la propuesta.

Enlace a entrega de estudios de campo:
http://inteligentsystems.wordpress.com/2013/02/19/diseno-de-contexto/


Garage Inteligente


Integrantes: Emmanuel, Max, Carmen y Víctor.

Me gustó la forma de presentar los prototipos a las personas para conocer con cual de ellos estarían más cómodos los usuarios, y lo cuál les ayudo mucho para conocer por cuál de estos cuatro prototipos presentados, las personas se sienten más familiarizados.

El único detalle es que el prototipo 3 y 4 debieron de haberse integrado como uno solo, ya que mayoritariamente el uso de un servicio web, implicaría constar con un dispositivo móvil con acceso a Internet, donde es sabido que el más común es un teléfono inteligente, entonces estos dos prototipos pudieron ser simplemente una sola idea conjugada. Fuera de eso, todo lo demás me pareció muy preciso.

Enlace a entrega de estudios de campo:
http://obicomp.blogspot.mx/2013/02/presentacion-reporte-de-campo.html


En general todos los proyectos me parecen buenas ideas y espero que con la retroalimentación logren concretar más las funciones que tendrán los diferentes sistemas inteligentes propuestos.

20 de febrero de 2013

Actividad 3: Convex Hull

Laboratorio de Visión Computacional
Actividad 3

La envoltura convexa se trata de encontrar todos los puntos que se encuentran más al exterior del contorno de una figura, y cuyas líneas que se unan de un punto a otro logren encerrar toda la figura sin dejar ningún segmento fuera de este nuevo poligono creado.

Implemente este algoritmo basado en pseudocódigo de la primer liga en las referencias, y usando como base el código usado para la entrega anterior en clase de la detección de formas.

Aquí unas muestras de las imágenes originales y su respectiva salida después de aplicar el convex hull y dibujar las líneas.







Código completo



Referencias:
Gift Wrapping
Convex Hull