martes, 28 de mayo de 2013

Compresión de imagenes

En esta ocasión les hablaremos un poco de la manera de comprimir imágenes. Bueno empecemos:


Para poder comprimir la imagen se utilizo la Transformada de coseno discreta (DCT).   Con la transformada nos permite obtener los datos de los pixeles que son de gran importancia y de aquellos que no lo son. Existen  diferentes modelos de DTC para este ejemplo se uso el modelo DCT 2 que es el mas utilizado para matrices en dos dimensiones en este caso una imagen en 2D.

Para poder realizar esto se utilizo se utilizo una herramienta científica para python llamada scipy. Esta librería se puede instalar desde la terminal tecleando lo siguiente:

sudo apt-get install python-scipy

O desde el synaptic buscando por scipy.

Esta librería nos permite sacar directamente la Transformada de coseno discreta al igual que la inversa, además que también nos permite obtener la transformada inversa de la misma para obtener los valores anteriores, además que también nos permite hacer integrales, derivadas y diferentes transformadas de  Fourier.

Información de scipy para diferentes transformadas

Informacion especifica para la transformada de coseno discreta con scipy.  

El algoritmo a seguir es el siguiente:

 1-.Se pasa la imagen original a escala de grises.
 2-.Se divide la imagen por cuadros de 8 pixeles cada uno.
 3-.Se obtiene la transformada de coseno discreta por cada uno de los bloques.

Para obtener la transformada usando la librería primero es necesario llamarla de la siguiente manera:

from scipy.fftpack import dct,idct

Como sabemos dct tiene tres diferentes modalidades, pero como es en 2D usaremos la modalidad dos

  • Llamamos al método DCT, este método necesita varios parámetros.
  • Primero es la matriz.
  • El segundo es el tipo de DCT.
  • el tercero es la longitud de la transformada en este caso dejamos que la librería use la estándar.
  • El cuarto es el eje en que se realizara la transformada
  • Quinta es la normalización.

De esta manera podemos llamarla y obtener la matriz de la transformada:

    b = dct(matriz,type=2,n=None,axis=-1,norm='ortho',overwrite_x=False)

Teniendo encuentra que la matriz que le enviamos es necesario que este entre el rango de -128 a 128, para esto solo restamos cada uno de los valores un 128.

Posteriormente necesitamos cuantificar, para saber que tanta calidad necesitamos reducir a la imagen, para ello se utilizo la matriz por default:




Posteriormente se realiza una división entre la matriz de la transformada y la matriz cuantificadora.

Frec = dct/Q

Obteniendo así una matriz predominante de ceros y diferentes números. Los ceros son las frecuencias importantes, mientras tanto los otros números son aquellos que no son tan importantes y que usaremos para reducir la calidad de la imagen y por consiguiente el tamaño.


Ejemplo de una sola matriz:



Código para obtener la matriz cuantificada:

Código para obtener la matriz cuantificada.




Esto es para sacar solo la matriz cuantificada.

Para el proceso en la imagen se va recorriendo la matriz de pixeles generando matrices de 8 x 8 y estas matrices se procesa de la manera anterior.

Las matrices cuantificadora resultantes son por lo general datos ceros que corresponde a las frecuencias importantes y los datos restantes son los menos importantes, solo es cuestión de utilizar un umbral para que estos datos se modifiquen de tal manera para reducir la calidad e invertir la matriz para general los nuevos pixeles y sustituir en la original para obtener nuestra imagen con menor calidad y menor tamaño en bytes.

Código para invertir la matriz ya con los nuevos valores:

Código para invertir la matriz ya con los nuevos valores.




Aquí unas pruebas

Imagen original (Escala de grises ):
Imagen comprimida:


imagen original(Escala de grises)

Imagen comprimida





Código del método principal:

Código del método principal.

Otro método que se utilizo fue el siguiente:

Se siguió el procedimiento de la misma manera asta obtener la matriz cuantificada.

Para poder modificar los pixeles , se realizo un filtro mediano entre los valores de mayor frecuencia y se sustituyo en todo el bloque de 8  obteniendo los siguientes resultados:

Imagen Original (Escala de grises):

Imagen comprimida:


Como resultado se obtuvo una imagen muy pixeleada pero con una compresión alta por la gran reducción de la calidad.


Click aquí para el código completo


 Referencias:

The JPEG Image Compression Algorithm | John W, O'Brien | 2 de diciembre de 2005 | http://hkn.colorado.edu/resources/latex/jpeg-paper/appm3310-project-final.pdf

 Image Compression Using Burrows wheeler Transfor | Vo si Van | 25 de noviembre 2009 | http://lib.tkk.fi/Dipl/2009/urn100116.pdf

 



domingo, 26 de mayo de 2013

Clase de telecomunicaciones

En esta ocasión les presentamos una pequeña reseña del siguiente paper:

Wireless sensor networks for personal health monitoring: Issues and
an implementation



Introducción:
 
Hoy en día los sistemas de salud se encuentran estructurados y optimizados de tal manera que se pueda dar atención rápida y oportuna, pero esto podría terminar rápidamente ya que la población actual en el mundo va en rápido crecimiento además de nuevos padecimientos en donde las personas tendrán que enfrentarse, además de cuidar las personas de manera adecuada y óptima en especial con enfermedades de pro vida.

En la actualidad existen sistemas de vigilancia de la salud  permitiendo que una persona pueda seguir cerca los cambios en sus signos vitales y proporcionar información para mantener un estado de salud óptimo.Además de que estos sistemas pueden alertar a las unidades medicas en caso de necesitarlas el paciente.

Pero con los grandes avances tecnológicos en áreas como miniaturizacion en sensores físicos, microcontroladores embebidos, chips, redes inalámbricas y entre otras mas. Todas estas nueva generación de tecnología a permitido redes inalámbricas de sensores adecuados para diferentes aplicaciones.

En el área de medicina mas exactamente existen sensores de posición para integrarse aun wireless body o red de área personal Wearable (WWBAN).


Estas redes WWBAN son de bajo costo , sensores ligeros que no molestan al paciente, miniatura y resistentes que permiten una vigilancia discreta a largo plazo, instantánea retroalimentación, y actualizaciones de los registros casi en tiempo real.
Tal sistema puede se utilizado para la supervición de diversas condiciones e incluso la detección temprana de condiciones medicas importantes.

Arquitectura del WWBAN



  • Tier 1: Se incluyen un numero de nodos de sensores médicos inalámbricos integrados en una WWBAN. Cada uno de los nodos puede detectar, mostrar y procesar una o mas señales fisiológicas.
  • Tier 2: abarca la aplicación del servicio personal PS, que se ejecuta en un asistente digital personal  PD haya sea un celular o o una computadora personal. EL PS es el responsable para un sin fin numero de tareas , que proporciona una interfaz a los sensores médicos , para el usuario y para el servicio medico. Esta interfaz también incluye la conflagración de la red y la gestión de la misma. La aplicación PS gestiona la red, el cuidado del canal, la sincronización, la recuperación de datos, y el procesamiento.
  • Tier 3: Incluye un servidor medico que se accede a través de Internet, cuidados formales del mismo, Este servidor se ajusta o sincroniza al PS de los diferentes usuarios, recoge la información e integra los datos al servido o servidores de las diferentes clínicas.


Requisitos para sensores médicos inalámbricos


  • Portabilidad:  Para no presentar evación o molestia, estos sensores deben ser pequeños y ligeros. Pero el tamaño debe ser consistente con la proporción de la batería, solo se espera que la tecnología avance para mejorar este aspecto.
  • Comunicación fiable: Es de suma importancia para aplicaciones medicas basadas en WWBAN. La necesidad de la comunicación de diferentes sensores varían de acuerdo a la necesidad. Además de lograr un equilibrio entre la energía, la comunicación, y el procesamiento.
  • Seguridad: Otra cuestión importante del sistema es la seguridad. Esto existe en los tres diferentes niveles. En el primer nivel (Tier 1) debe cumplir con todos los estándares de privacidad dispuesta por la ley, y deben tener seguros la integridad de los datos. Aunque los sensores tiene grandes problemas en tener seguros los datos por el tamaño de los mismos y la capacidad.
  • Operabilidad interna: Los sensores médicos inalámbricos debe permitir a los usuarios fácilmente montar un WWBAN en función del estado de salud de la persona.
Prototipo WWBAN

Hardware: El nodo sensor Actis cuenta con una organización jerárquica  empleada para ofrecer un amplio conjunto de funciones, se beneficia desde el apoyo de software libre, y realizar tareas de procesamiento y comunicaciones con un gasto mínimo de energía.  
Las tarjetas hijas directas hacen muestreos de datos y en algunos casos preprosesamiento de señales. La plataforma Telos puede apoyar el análisis mas sofisticados en tiempo real y puede realizar filtrado adicional, la extracción,  y el reconocimiento de patrones.


Organización del software

El software que se utiliza es el TinyOs. El código TinyOs es de código abierto, ligero para el sistema operativo de los sensores inalámbricos integrados. Esta diseñado para utilizar un mínimo de recursos.


Cordinador de la red: EL cordinador de la red se implementa en Telos. Se alimenta de la aplicación PS a través de un usb y gestiona la transmición de los mensajes del PS que establece una sección por cada uno de los individuos, distribuye las claves de manera cifrados y asigna ranuras de comunicación.



Protocolos de sincronización

Uno de los principales protocolos de sincronización de tiempo en redes inalámbricas de sensores es el Protocolo de inundación de sincronización de tiempo (FTSP), desarrollado en la Universidad de Vanderbilt. Cuenta con la capa MAC sellado de tiempo para una mayor precisión y compensación de retardo con la regresión lineal para dar cuenta de la sincronización del reloj. La FTSP genera la sincronización de tiempo con mensajes de sincronización de tiempo periódicos. La red puede elegir dinámicamente un nodo raíz. Cada vez que un nodo recibe un mensaje de sincronización de tiempo, se retransmite el mensaje, inundando la red con mensajes de sincronización de tiempo. El mensaje en sí mismo contiene una marca de tiempo muy precisa de cuando el mensaje ha sido enviado. El nodo receptor tiene una marca de tiempo adicional local cuando reciba el mensaje.

En este paper se modifica la FTSP original para ajustes WWBAN. Esta modificación explota la ZigBee de la red de topología en estrella para minimizar aún más los recursos necesarios para la sincronización de tiempo. El prototipo cuenta con una jerarquía maestro-esclavo donde el coordinador de la red envía periódicamente un mensaje de faro para los nodos esclavos para mantener el enlace de comunicación sincronizado; un nodo esclavo recibe la baliza sin volver a la transmisión. Esta sincronización de tiempo de alta precisión permite que un nodo esclavo para desactivar su radio y un modo de espera de bajo consumo, el despertar justo antes del siguiente mensaje es debido. Además, permite una implementación original donde una raíz puede ser elegido de forma dinámica y la red inundado por los mensajes de sincronización en el caso de que el coordinador de la red falla o se apaga.


Para la sincronización de tiempo, debe haber un punto fijo en el tiempo desde que tanto el emisor y el receptor pueden hacer referencia a la marca de tiempo en un mensaje dado. Para un mensaje ZigBee, este punto está en el extremo del inicio del delimitador de trama (SFD). la siguiente figura muestra la interfaz entre el transceptor CC2420 de Chipcon radio y el microcontrolador en la parte superior, y el formato de trama física 802.15.4 IEEE y la actividad pin correspondiente en la parte inferior.



Esta es una implementación específica de la plataforma del mecanismo de FTSP original, y da lugar a marcas de tiempo muy exactos de profundidad en la pila de radio. Además, el CC2420 proporciona flexibles recibir y transmitir búferes FIFO y se comunica con el procesador principal mediante una interfaz periférica síncrona (SPI). Generalmente, cuando se transmite un mensaje, el procesador cargue el FIFO de transmisión con todo el mensaje y luego permite la transmisión. Sin embargo, los mensajes FTSP contienen una marca de tiempo que se genera después de que el mensaje ha comenzado la transmisión. Cuando se produce la interrupción SFD, el valor del temporizador capturado se recupera y se convierte en una indicación de la hora mundial. La marca de tiempo se inserta en el mensaje y el resto del mensaje se coloca en la FIFO. Suponiendo que todo esto se puede hacer con la suficiente rapidez, se transmite el mensaje correctamente. Sin embargo, si el proceso es demasiado lento, el FIFO será el empotramiento y la transmisión del mensaje fallará.

El soporte de software para la sincronización de tiempo se implementa como una interfaz NesC que proporciona acceso a las aplicaciones de la información de sincronización de tiempo.

Para las pruebas de protocolo de sincronización de tiempo, se ha desarrollado un banco de pruebas donde el coordinador de la red y los sensores esclavos WWBAN están conectados a una señal de cable común conectado a un puerto de E / S digital de MSP430 con capacidad de captura de temporizador.
Sorprendentemente, se ha descubierto que aumenta el tiempo entre los mensajes, mejora la sincronización de tiempo, porque los nodos están en mejores condiciones para estimar el sesgo del reloj. Sin embargo, el costo de los períodos entre baliza más grandes es un aumento en el tiempo de conversión algoritmo. En consecuencia, se implementó un esquema híbrido donde se envían más a menudo mensajes. Durante la convergencia, los nodos procesarán cada baliza. Después se consigue una convergencia gruesa, nodos comenzarán a procesar cada N-ésimo faro, lo que permite una estimación más precisa.

Eficiencia energética

El consumo de energía es una primera clase de restricción de diseño de redes de sensores inalámbricos, ya que funcionan con baterías. Para extender la vida de cada nodo, es necesario reducir la disipación de energía tanto como sea posible; disipación por debajo de 100 LW, se permitirá el funcionamiento de la energía recogida desde el medio ambiente. Varios diseños trade-offs entre la comunicación y la computación en el sensor, protocolos de colaboración, y la organización jerárquica de la red puede producir un ahorro de energía significativa. Una vez que la red de sensores se despliega, las técnicas de administración de energía dinámica se pueden emplear con el fin de maximizar la vida de la batería.
En los sistemas de WWBAN, reducir el consumo total de energía es crucial, por varias razones. La capacidad de una batería es directamente proporcional a su tamaño. Por consiguiente, los nodos de sensores WWBAN tienen que ser extremadamente eficiente de la energía, ya que la reducción de los requerimientos de energía permitirá a los diseñadores utilizar baterías más pequeñas. Baterías más pequeñas tendrán como resultado mayor miniaturización de los sensores fisiológicos y, a su vez, un mayor nivel de confort del usuario. En segundo lugar, es deseable un período prolongado de operación sin cambios de la batería, debido a los cambios de batería frecuentes en múltiples sensores son propensos a obstaculizar la aceptación de los usuarios. Además, la vida útil de la batería disminuirá los costos operativos WWBAN.

Se a diseñado un protocolo personalizado, específico de la aplicación de acuerdo con las recomendaciones 802.15.4. Con el fin de satisfacer los requisitos de aplicaciones médicas, el protocolo de red especifica un ciclo de supertrama 1-s (TSFC = 1 s) y cada nodo esclavo tiene su ranura de tiempo reservada de 50 ms para transmitir los datos que se encuentran en la siguiente imagen.




Un ciclo de súper trama comienza con un mensaje de la baliza enviado por el coordinador de la red, el mensaje de la baliza lleva la información de sincronización de tiempo. Cada nodo sensor despierta su interfaz de radio en un modo de recepción inmediatamente antes de la siguiente baliza se esperaba la siguiente figura muestra los perfiles de potencia registrados por un sensor de movimiento utilizando un entorno para la supervisión de la alimentación en tiempo real.



Se puede identificar tres estados distintos: Escucha, transmisión y modos inactivos.


Conclusiones

En este trabajo se muestra el uso de WWBANS como una infraestructura clave que permite el monitoreo de la salud discreto, continuo ambulatorio. Esta nueva tecnología tiene el potencial de ofrecer una amplia gama de beneficios a los pacientes, el personal médico y la sociedad a través de la monitorización continua en el ámbito ambulatorio, la detección temprana de condiciones anormales, rehabilitación supervisada, y el potencial de descubrimiento de conocimiento a través de la minería de datos de toda la información recopilada. Se a descrito una arquitectura general WWBAN, las cuestiones de aplicación importantes, y un prototipo WWBAN basado en plataformas de sensores inalámbricos off-the-shelf y sensores de ECG y el movimiento de diseño personalizado. Se a abordado varias cuestiones técnicas clave como nodo sensor de la arquitectura de hardware, arquitectura de software, sincronización de hora de red, y la conservación de la energía. Se requieren esfuerzos adicionales para mejorar la calidad de servicio de la comunicación inalámbrica, la fiabilidad de los nodos sensores, seguridad y normalización de las interfaces y la interoperabilidad. Además, otros estudios de diferentes condiciones médicas en contextos clínicos y ambulatorios son necesarios para determinar las limitaciones específicas
y las posibles nuevas aplicaciones de esta tecnología.


 Bibliográfica:

Wireless sensor networks for personal health monitoring: Issues and
an implementation |Aleksandar Milenkovic, Chris Otto, Emil Jovanov | 6 de marzo de 2006 | http://202.114.89.42/resource/pdf/2897.pdf



jueves, 23 de mayo de 2013

Laboratorio de Redes de telecomunicaciones

Buenas en esta ocasión les traemos una simulación en 3D con las siguientes características:

  • Nodos principales o de comunicación son estáticos.
  • Nodo de referencia para empezar eventos sera el único que estará en movimiento.
Para empezar los nodos  principales se generaron sus coordenadas de manera al azar, y el nodo de referencia se genero siempre en el mismo lugar al iniciar la simulación.

Para los nodos principales tienen los siguientes atributos:

  • posición en x.
  • posición en y.
  • posición en z.
  • Condición para saber si fueron avisados.
  • TTL que actualmente tiene ese nodo.

Además que se uso una función predefinida para saber si se encuentra dentro del área de cobertura cierto nodo contra otro.

Código de esto


Código de esto


Para continuar se uso la librería  matplotlib para poder realizar la simulación en 3D, esta herramienta se puede instalar desde el gestor Synaptic.

El proceso que se realizo fue muy similar al anterior post solo que en vez de ser en 2D fue en 3D.

Pasos:

  1. Se verificaba  si algún nodo tendría visión con el nodo de referencia.
  2. En caso que sea así su condición pasaba a 1 y se pinta de un color distinto.
  3. Este nodo verificaba si podría contactar con sus vecinos y enviarles un mensaje y un TTL.
  4. El nodo que recibía el TTL podría verificar de igual manera si podría enviar un mensaje a algún vecino cercano y enviar un TTL reducido.


Todo esto dentro de un bluce infinito, donde el único elemento que se puede mover seria el nodo de referencia. En la animación esta marcado con un texto: "Nodo R". Mientras que los nodos principales marcan su TTL.

El TTL en caso de que no hayan visto al nodo de referencia o no hayan sido avisados siempre sera de cero hasta que lo reciban de algún nodo.

En caso de que se podría enviar el mensaje el nodo receptor y transmisor en ese instante se unían con una linea.

Con respecto a la herramienta es relativamente sencilla de usar, solo es cuestión de inicializarla con:

-> plt.ion() ## para la animación
-> fig = plt.figure() ##inicializarla
-> ax = fig.add_subplot(111, projection='3d') ##modelo 3D

Donde plt.ion es para que se pueda realizar la simulación y lo demás para crear la gráfica en 3D
para poder modificar las posiciones lo que se hacia erra borrar la gráfica por cada cambio o frame y dibujar nuevamente los elementos en sus nuevas posiciones.

    plt.hold() ## para borrar elementos
    plt.draw() ## para dibujar


Aquí el vídeo de la simulación:









Aquí el código completo:

Aquí código completo

Para apreciar bien el vídeo se recomienda 360 p o superior

Referencias:
1-. matplotlib |"mplot3d tutorial"|  John Hunter, Darren Dale, Eric Firing, Michael Droettboom and the matplotlib development team|ultima modificación: 26 de marzo de 2013| http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html.

2-.Distancia entre puntos  en el espacio |¿Cómo calcular la distancia entre dos puntos en el espacio? |http://distanciapuntosenelespacio.blogspot.mx/2010/04/como-calcular-la-distancia-entre-dos_19.html


martes, 21 de mayo de 2013

Entrada # 14 Laboratorio - Pedro

Laboratorio de 
Temas Selectos de Sistemas Inteligentes

Retralimentación Personal del Proyecto

En general lo logrado en este tiempo fue bueno pero no lo que se esperaba al principio.

Todo esto se debió en su gran mayoría a la falta de tiempo y a la planificación y/o responsabilidades del equipo.

En la parte del desarrollo del Proyecto

Falto la implementación de una buena interfaz para, mediante el uso de esta, poder tener un manejo de las funciones del sistema así como la manipulación de los tiempos de espera para que la computadora se suspenda o realiza algún otro modulo de lo que contaba.

Otra parte del proyecto que falto es la parte del reconocimiento, se logro que pudiera detectar personas sin importar los la proximidad a la que este tuviera de la computadora, pero falto el identificar de forma correcta quien era cada persona.

En la parte del equipo

Como se menciona anteriormente la desorganización fue lo que no logro terminar de la forma esperada el proyecto.

Lo anterior surgió desde el punto en el que casi nunca todos los integrantes se lograban reunir debido a los horarios que tenia cada uno, también nos dedicábamos todos a ser un punto a la vez en lugar de cada quien un punto lo que ocasiono el no completar de tiempo.

En el equipo yo apoye en su mayoría en la parte de los módulos que tuvo el proyecto así como la implementación de estos con la parte de open cv.

Futuro

Para mas adelante se pretende terminar este proyecto ya que si se le ve futuro, solamente habría que hacer cambios en el modo de trabajar y los tiempos establecidos para hacer cada punto.

Entrada # 13 Laboratorio - Pedro

Laboratorio de 
Temas Selectos de Sistemas Inteligentes

Retroalimentación de las Presentaciones Finales de los demás equipos.

Car NXP

Me hubiera gustado ver un demo en vivo o un vídeo para ver el funcionamiento final del proyecto.

Una recomendación seria no hacer el proyecto tan ambicioso desde el principio ya que como hay otras tareas, no se tiene a veces suficiente tiempo para cubrir, por lo que antes de agregar módulos nuevos probar si estos puedan ser terminados en el tiempo restante.

Despertador Inteligente

Al momento que se configure la alarma dar la opción de seleccionar el sonido a usar como alarma ya que el sonido usado en el demo no me levantaría para nada.

Una duda sería el ver la opción que dieran un tiempo (este se obtenga dependiendo de retroalimentación con usuarios o definida por el equipo) cuando la persona se levanta ya que algunas personas se levantarían solo para ir al baño o alguna otra cosa y se regresarían a la cama, por lo que las personas ya no se levantarían a la hora que pusieron la alarma.

Por ejemplo la persona se levanta y tomar tiempo si pasaron como 2 min (o el tiempo que se decida dar) y en ese lapso no detecto un peso en la capa pues desactive la alarma por completo pero si ocurre lo contrario que siga corriendo en el momento que detecte el peso nuevamente.

Galería Inteligente

Como el audio esta conectado directamente a la computadora, ver la opción de conectarle unas bocinas para evitar tener problemas que la computadora no se escuche muy fuerte.

Casa Inteligente

Una recomendación: si se tiene falta de conocimiento del uso de los componentes y no se encuentra solución en linea apoyarse en compañeros que ya han utilizado esos componentes para evitar que el proyecto no funciona ya que se desconoce el funcionamiento de los componentes.

No todos los proyectos se terminaron totalmente así que por lo menos el haber presentado lo que se alcanzo a hacer para en base a eso apoyarse con otros compañeros y de así el lograr posteriormente terminar este proyecto.

Garaje Inteligente

Mi única duda sería para le información que este guarde, si esta es cifrada o de que manera se protegió para evitar que sea usada por personas indebidas.

Localizador Inteligente

Para el demo hubiera estado muy bueno ya que es una aplicación android mostrar la pantalla del android en la computadora para que los resultados se vieran de una mejor manera.

Oficina Inteligente

En lugar de estar batallando con el validación del rostro se hubiera hecho mediante un lector de huellas digitales.

Y al igual que como el comentario al proyecto Car NXP no se definan todos las cosas que quieren que lleve el proyecto desde el principio sin antes hacer pruebas que en verdad estos elementos funcionen correctamente y se puedan acoplar de buena manera para evitar penas que no se pudo hacer el proyecto como debía, ya que no se implementar ciertas cosas.

Retroalimentación Personal AVE


Retroalimentación personal: 

Con respecto al proyecto nuestro de  “Segurilab” , los módulos fueron hechos según se había estimado fueron los siguientes:


  • Pause y reinicio de Video
  • Suspención del Pc
  • Reinicio de PC


Con estos módulos no se tuvo tantos problemas, pero el módulo de reconocimiento de usuario se tuvo problemas por los siguientes aspectos:

Se pensó hacer un mapeo del rostro del usuario para poder identificarlo pero se tuvieron diversos problemas como la iluminación, acercamiento de la persona entre otros.

Tomando esto en cuenta se procedió a la identificación de los rasgos del rostro como la distancia de los ojos.

Ya que se cambio un poco anticipado no se pudo completar al 100 % solo logrando un avance parcial.

El trabajo en si en mi noble opinión pienso que fue un poco aprisa y con un poco de desorganización,
con respecto a la repartición de actividades se me parecieron de manera adecuada y cada quien trabajo al mi parecer de igualmanera.

Trabaje mas que nada en parte de los módulos y en gran medida en la identificación de los usuarios.

Lo que se podría mejorar:


  • Seria esencialmente lo de reconocer al usuario.
  • Alguna interfaz gráfica para configuraciones.


Laboratorio Obed: Retroalimentacion del equipo segurilab

Retroalimentación del proyecto.

Los objetivos que se buscaban en este proyecto, la mayoría se lograron, solo la identificación de usuario ese se logro en un nivel intermedio pero por lo demás los códigos trabajan perfectamente.

Hubiera sido bueno pegar todas las funcionalidades en un solo código pero por motivos de desorganización y cuestiones de que todos estaban ocupados por tareas o trabajo no se logro.

Con respecto a como se trabajo.


Creo que el equipo trabajo en igualdad, lamentablemente cada quien por su lado solo cuando había que presentar algo era cuando nos juntábamos pero para revisar códigos era individual, y es ahí donde nos equivocamos ya que de haber checado esto desde el principio hubiéramos logrado algo mejor



La contribución realizada fue la creación de scripts para la suspensión de la maquina sin nada de reconocimiento solo revisar cual es eran las lineas que nos ayudarían a realizar este trabajo

Que nos falto

Lo que nos faltó implementar para que el trabajo fuera mejor:
  • Implementar un filtro de luz.
  • Una interfaz sencilla para ofrecerle retroalimentación al usuario.
  • Una autenticación de usuario mediante mapeos de áreas de interés.