Eyesweb

From Gmv

Jump to: navigation, search

Contents

[edit] Inspiración

MADinspi.pdf

[edit] El cuerpo como interfaz

Podemos usar:

  • posicion
  • embergadura (caja contenedora)
  • gestualidad
    • movimiento
    • cantidad de movimiento
    • touch
    • etc.
  • silueta
  • marcadores
  • caras
  • luz

[edit] Very Nervous System

[edit] Tecnología

[edit] Camaras

caracteristicas importantes: frames/segundo y tamanyo de captura

[edit] asequibles y de calidad aceptable

[edit] mejor calidad

[edit] opticas

caracteristicas importantes: calidad, distorsion (barrilete/cojín) y focal/rango de visión/medida CCD

[edit] velocidad adecuada para interacción

Se necesitan 12 fps para buena sensación de control/agencia.

Depende de CAMARA + PROCESADO

[edit] Instalaciones interactivas MADbásicas

[edit] Suelo interactivo

[edit] Pared interactiva

[edit] Mesas interactivas

[edit] Software visión por ordenador

OpenCV es la base de todas las plataformas:

[edit] EyesWeb

[edit] Otras plataformas

[edit] Imagen digital: una matriz de pixeles, una matriz de valores

[edit] B/N

  • origen (0,0)
  • ejes (m,n)
  • dimensiones de la imagen NxM
  • escala de grises [blanco - negro]
  • rango de valores [255 - 0]

[edit] Imagen en color: 3 matrices

[edit] Modelos de color

  • RGB
  • CMYK
  • YUV

[edit] EyesWeb I: introducción

[edit] Interfaz del programa

[edit] Cargar imagenes

[edit] patch

  • cargar_imagen_color.eywx

[edit] Información útil para el procesado

[edit] patchs

  • informacion_imagen.eywx útil para ajustar tamaños de captura y formato de modelo de color
  • imagen_color_a_gris.eywx útil para aumentar la velocidad de procesado posterior
  • 3canales.eywx útil para aumentar la velocidad de procesado si solo nos interesa cierto color
[edit] ejemplo: tracking de color

[edit] Video y camaras

[edit] patch

  • cargar_video.eywx
  • video_var_veloc.eywx

[edit] tarea

  • capturar de la webcam y mostrarlo en un display live video

[edit] Detección

[edit] Croma

[edit] patch

  • croma1.eywx

[edit] más información

[edit] tarea

  • hacer un patch que extraiga el fondo de color y deje solamente el personaje

[edit] Substración de fondo y presencia

[edit] patchs

  • background_subtraction_avi.eywx
  • background_subtraction_avi_decidir.eywx

[edit] Movimiento

[edit] patchs

  • delay_frames.eywx

[edit] ejemplo: delay de video

[edit] patchs

  • deteccion_movimiento.eywx
  • calcular_movimiento.eywx

[edit] tarea

  • detectar el movimiento delante de la webcam

[edit] ejemplos: detección de movimiento

[edit] Profundidad: kinect

Para medir la profundidad hay camaras que usan el metodo de "time-of-flight" pero son muy caras. Kinect usa detección de patrones y como se deforman.

+ info

[edit] Threshold

[edit] patchs

  • threshold_negro.eywx aislamos los elementos que queremos detectar
  • threshold_blanco.eywx

[edit] ejemplos: threshold de luz

[edit] tarea

  • cargar el video de la luz y aislar mediante un threshold el foco del fondo: la luz debe quedar una mancha blanca sobre fondo negro durante todo el video ¿que valor de umbral es el adecuado?

[edit] ejemplos threshold imagen


[edit] Hardware: proyectores, luz y filtros

[edit] Proyectores

  • no emiten en el rango del IR
  • off axis / on axis

Image:projector_off_axis.png Image:projector_on_axis.png

  • rango de proyección 0.8:1 (se pueden usar espejos)

Image:projector_throw_ratio.png

  • intensidad

Image:projector_lumens.png

  • grandes formatos

Image:projector_gran_format.png Image:projector_watch_out_malla.png

[edit] Iluminación

  • visible e IR
  • filtros

[edit] Eyesweb II. Información de la imagen

[edit] Caja contenedora y centro

[edit] patches

  • bounding_box.eywx
  • bounding_box_moved.eywx
  • PushingWalls.eywx

[edit] tarea

  • calcular la posición central de micro-dance

[edit] ejemplo: caja contenedora

[edit] tarea

  • calcular la posición central de un led/luz que movemos frente la webcam y pintarla con un punto rojo


[edit] Esqueleto

[edit] patch

  • esqueleto.eywx

[edit] ejemplos: detección de manos

[edit] ejemplo: detección de dedos

[edit] tarea

  • detectar los pies de micro-dance
  • pintar un circulo rojo en el pie derecho
  • pintar un circulo amarillo en el pie izquierdo


[edit] Connexiones: enviamos datos

Las posibilidades graficas de EW son limitadas. Podemos enviar la información de procesado a otros programas usando varios protocolos:

  • TCP/IP
  • OSC
  • TUIO (EW no lo incluye)

[edit] patches

  • bounding_box_TCP.eywx
  • bounding_box_receiving_TCP.eywx
  • Conectar_con_pd_OSC.eywx


[edit] ejemplo OF

  • recibimos datos OSC

[edit] ejemplo Processing

  • recibimos datos OSC


[edit] Actuando sobre la imagen: filtrado y contorno

[edit] patches

  • morphing de la imagen.eywx
  • rotar imagen.eywx
  • resize imagen.eywx
  • canny corner detection.eywx
  • filtros1.eywx
  • filtros2.eywx

[edit] Silueta

[edit] ejemplo de silueta

[edit] EyesWeb III. MADproyectito

[edit] MADproyecto

+ +

[edit] Partes del proyecto

  1. Caputura de imagen
  2. Procesado para detectar los elementos
  3. Enviar la información
  4. Output visual

La parte de captura + procesado + enviar datos puede ser un patch de EyesWeb o Reactivision

[edit] Apuntes extras

Personal tools