WALTER NUNEZ   4809
Introducción
 Diseñada para darte el empujón inicial
 Se asume que tienes alguna experiencia en
  programación
 API administrada – Los conceptos funcionan en
  VB/C# (y también en F# ;-)
Agenda
   Instalación y uso del sensor Kinect
   Preparación del ambiente de desarrollo
   Fundamentos de la cámara
   Trabajando con datos de profundidad
   Fundamentos de seguimiento de esqueletos
   Fundamentos de audio
Instalación y uso del sensor
Kinect
Sensores de profundidad 3D

                 Cámara RGB




Micrófono multi-arreglo   Inclinación motorizada
Cable USB de Kinect
Demos
Preparación del ambiente de
desarrollo
Agenda
   Instalación y uso del sensor Kinect
   Preparación del ambiente de desarrollo
   Fundamentos de la cámara
   Trabajando con datos de profundidad
   Fundamentos de seguimiento de esqueletos
   Fundamentos de audio
Requisitos de los ejemplos
 Ejemplos con DirectX
  – Microsoft DirectX® SDK - June 2010 o posterior
  – Runtime actual de Microsoft DirectX® 9
 Ejemplos con voz
  – Microsoft Speech Platform Runtime, version 10.2 (edición x86)
  – Microsoft Kinect Speech Platform (versión US-English)
  – Microsoft Speech Platform - Software Development Kit, version
    10.2 (edición x86)
Demos
Fundamentos de la cámara
Agenda
   Instalación y uso del sensor Kinect
   Preparación del ambiente de desarrollo
   Fundamentos de la cámara
   Trabajando con datos de profundidad
   Fundamentos de seguimiento de esqueletos
   Fundamentos de audio
Datos de la cámara
Zancada (stride)

Zancada - # de bytes de una
fila de pixels en memoria a la
siguiente
Demos
Trabajando con datos de
profundidad
Agenda
   Instalación y uso del sensor Kinect
   Preparación del ambiente de desarrollo
   Fundamentos de la cámara
   Trabajando con datos de profundidad
   Fundamentos de seguimiento de esqueletos
   Fundamentos de audio
Camera Data
Buffer de bytes de
profundidad
 ImageFrame.Image.Bits
 Arreglo de bytes public byte[] Bits;
 Arreglo
  – Empieza arriba/izquierda de la imagen
  – Se mueve de izquierda a derecha, y de arriba a abajo
  – Representa la distancia para cada pixel
Calculo de la distancia
 2 bytes por pixel (16 bits)
 Profundidad – Distancia por pixel
  – Bitshift second byte by 8
  – Distance (0,0) = (int)(Bits[0] | Bits[1] << 8);
 Índice DepthAndPlayer – Incluye el índice del
  jugador
  – Desplaz. de bits 3 primer byte (índice de jugador), 5
    segundo byte
  – Distancia (0,0) =(int)(Bits[0] >> 3 | Bits[1] << 5);
Referencia de profundidad
 Rango de distancia: 850 mm a 4000 mm
 Profundidad de 0 significa desconocido
  – Sombras, baja/alta reflectividad entre otras
    razones
 Índice de jugador
  – 0 – Sin jugador
  – 1 – Esqueleto 0
  – 2 – Esqueleto 1
Demos
Fundamentos de seguimiento de
esqueletos
Agenda
   Instalación y uso del sensor Kinect
   Preparación del ambiente de desarrollo
   Fundamentos de la cámara
   Trabajando con datos de profundidad
   Fundamentos de seguimiento de esqueletos
   Fundamentos de audio
API de esqueletos
Datos de esqueletos
Junturas
 Máximo dos jugadores detectados a la vez
   – Propuestas para seis jugadores
 Cada jugador con un conjunto de junturas <x, y, z> en metros
 Cada juntura tiene un estado asociado
   – Tracked, Not tracked, o Inferred
 Inferred – Junturas ocultas, recortadas o de baja confianza
 Not Tracked – Inusual, pero el código debe controlar este estado
Demos

Kinect01

  • 1.
  • 2.
    Introducción  Diseñada paradarte el empujón inicial  Se asume que tienes alguna experiencia en programación  API administrada – Los conceptos funcionan en VB/C# (y también en F# ;-)
  • 3.
    Agenda  Instalación y uso del sensor Kinect  Preparación del ambiente de desarrollo  Fundamentos de la cámara  Trabajando con datos de profundidad  Fundamentos de seguimiento de esqueletos  Fundamentos de audio
  • 4.
    Instalación y usodel sensor Kinect
  • 5.
    Sensores de profundidad3D Cámara RGB Micrófono multi-arreglo Inclinación motorizada
  • 6.
  • 7.
  • 8.
  • 9.
    Agenda  Instalación y uso del sensor Kinect  Preparación del ambiente de desarrollo  Fundamentos de la cámara  Trabajando con datos de profundidad  Fundamentos de seguimiento de esqueletos  Fundamentos de audio
  • 10.
    Requisitos de losejemplos  Ejemplos con DirectX – Microsoft DirectX® SDK - June 2010 o posterior – Runtime actual de Microsoft DirectX® 9  Ejemplos con voz – Microsoft Speech Platform Runtime, version 10.2 (edición x86) – Microsoft Kinect Speech Platform (versión US-English) – Microsoft Speech Platform - Software Development Kit, version 10.2 (edición x86)
  • 11.
  • 12.
  • 13.
    Agenda  Instalación y uso del sensor Kinect  Preparación del ambiente de desarrollo  Fundamentos de la cámara  Trabajando con datos de profundidad  Fundamentos de seguimiento de esqueletos  Fundamentos de audio
  • 14.
    Datos de lacámara
  • 15.
    Zancada (stride) Zancada -# de bytes de una fila de pixels en memoria a la siguiente
  • 16.
  • 17.
    Trabajando con datosde profundidad
  • 18.
    Agenda  Instalación y uso del sensor Kinect  Preparación del ambiente de desarrollo  Fundamentos de la cámara  Trabajando con datos de profundidad  Fundamentos de seguimiento de esqueletos  Fundamentos de audio
  • 19.
  • 20.
    Buffer de bytesde profundidad  ImageFrame.Image.Bits  Arreglo de bytes public byte[] Bits;  Arreglo – Empieza arriba/izquierda de la imagen – Se mueve de izquierda a derecha, y de arriba a abajo – Representa la distancia para cada pixel
  • 21.
    Calculo de ladistancia  2 bytes por pixel (16 bits)  Profundidad – Distancia por pixel – Bitshift second byte by 8 – Distance (0,0) = (int)(Bits[0] | Bits[1] << 8);  Índice DepthAndPlayer – Incluye el índice del jugador – Desplaz. de bits 3 primer byte (índice de jugador), 5 segundo byte – Distancia (0,0) =(int)(Bits[0] >> 3 | Bits[1] << 5);
  • 22.
    Referencia de profundidad Rango de distancia: 850 mm a 4000 mm  Profundidad de 0 significa desconocido – Sombras, baja/alta reflectividad entre otras razones  Índice de jugador – 0 – Sin jugador – 1 – Esqueleto 0 – 2 – Esqueleto 1
  • 23.
  • 24.
  • 25.
    Agenda  Instalación y uso del sensor Kinect  Preparación del ambiente de desarrollo  Fundamentos de la cámara  Trabajando con datos de profundidad  Fundamentos de seguimiento de esqueletos  Fundamentos de audio
  • 26.
  • 27.
  • 28.
    Junturas  Máximo dosjugadores detectados a la vez – Propuestas para seis jugadores  Cada jugador con un conjunto de junturas <x, y, z> en metros  Cada juntura tiene un estado asociado – Tracked, Not tracked, o Inferred  Inferred – Junturas ocultas, recortadas o de baja confianza  Not Tracked – Inusual, pero el código debe controlar este estado
  • 29.