![Page 1: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/1.jpg)
Kinect, Sensores 3D y Software Libre
![Page 2: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/2.jpg)
Presentación, La parte que menos me gusta
• Carlos Toxtli Hernández• 13 años de experiencia en el
desarrollo de sistemas en múltiples tecnologías.
• 7 años en mandos de responsabilidad.
![Page 3: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/3.jpg)
Algunos proyectos Y TECNOLOGÍAS
![Page 4: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/4.jpg)
Algunos logros
![Page 5: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/5.jpg)
Historia de las interfaces de usuario
![Page 6: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/6.jpg)
CLI: Command Line Interface
• En los teletipos se escribía la orden en el teclado y se recibía la respuesta impresa en papel. Estos sistemas basados en teletipos dieron origen a la primera forma eficiente de interactuar con computadores: líneas de texto simple.
![Page 7: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/7.jpg)
CLI: Command Line Interface• Con el advenimiento del sistema
operativo Unix a inicios de los 70s, el uso de la línea de comandos se convirtió en un estándar. Se canonizaron las reglas de ejecución basadas en tuberías, filtrado de archivos utilizando comodines, y todas aquellas funcionalidades que permitían las nacientes interfaces de texto. Los sistemas operativos que vendrían (CP/M, DOS) adoptarían como propias aquellas cualidades
![Page 8: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/8.jpg)
GUI: Graphical User Interface
• Alan Kay, nacido el 17 de mayo de 1940, diseñó la GUI para PARC de Xerox de la cual se inspiró Apple Macintosh
![Page 9: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/9.jpg)
GUI: Graphical User Interface• La interfaz gráfica de usuario,
es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador.
![Page 10: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/10.jpg)
NUI: Natural User Interface
• La interfaz natural de usuario (en inglés natural user interface o NUI) es aquella en las que se interactúa con un sistema, aplicación, etc. sin utilizar sistemas de mando o dispositivos de entrada de las GUI como sería un ratón, teclado alfanumerico, lápiz óptico, Touchpad, joystick etc.
![Page 11: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/11.jpg)
![Page 12: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/12.jpg)
OUI: Organic User Interface• La interacción también
incluye que los dispositivos cambien de forma, tamaño, posición, etc. El termino fue introducido por ACM en 2008
• Los principios de diseño son:– Input Equals Output– Function Equals Form– Form Follows Flow
![Page 13: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/13.jpg)
Sensores CLI
• Teclado
![Page 14: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/14.jpg)
Sensores GUI
• Teclado• Mouse• Plumas• Etc…
![Page 15: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/15.jpg)
Sensores OUI
• Membranas multitextura• Pantallas flexibles• Muchas mas por venir
![Page 16: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/16.jpg)
Sensores NUI• Sensores de audio.• Dispositivos multitouch.• Sensores de movimento (acelerometros).• Camaras.• Sensores infrarojos.• Sensores 3D, etc...
![Page 17: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/17.jpg)
GUI > NUI en Videojuegos¿Evolución? Solo una forma distinta
![Page 18: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/18.jpg)
Sensores 3D
• Funcionan haciendo un barrido del terreno y formando un modelo tridimensional del mismo usando distintas técnicas entre ellas las mas comunes son usando sonares o por medios ópticos como infrarrojo.
• https://www.youtube.com/watch?feature=player_embedded&v=zXKqIr4cjyo
![Page 19: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/19.jpg)
Ejemplo Sensor 3D
• MatterPort crea un modelo tridimensional con texturas del espacio donde se le coloque.
![Page 20: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/20.jpg)
Ejemplo Sensor 3D
• Leap: Controla la computadora con los movimientos de los dedos.
![Page 21: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/21.jpg)
Ejemplo Sensor 3D
• Capri , sensor 3d para equipos móviles.
![Page 22: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/22.jpg)
Ava iRobot
• Atención de pacientes, entre sus funciones obtiene los signos vitales y métricas necesarias durante el diagnostico.
![Page 23: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/23.jpg)
SmartFit, by Styku
• Pruebate la ropa que esta a la venta en una tienda desde tu hogar, viendo exactamente como se te va a ver
![Page 24: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/24.jpg)
Kinect
![Page 25: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/25.jpg)
Y muchos muchos mas…
![Page 26: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/26.jpg)
Entremos de lleno al Hardware
• Como el sensor 3D mas fácil de conseguir es el Kinect nos enfocaremos en él.
• Pero nos enfocaremos en su fabricante, PrimeSense.
![Page 27: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/27.jpg)
Sensores de PrimeSense
• Kinect for Xbox
• Kinect for Windows
![Page 28: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/28.jpg)
Piezas
![Page 29: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/29.jpg)
¿Cómo funciona?
• 4 tipos de sensores– Sensor óptico salida– Sensor óptico entrada– Cámara– Micrófonos
• 1 Motor
![Page 30: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/30.jpg)
Sensores
![Page 31: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/31.jpg)
Sensores IR• Se hace un barrido por infrarrojo
![Page 32: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/32.jpg)
Sensores IR• Se recoge
la señal que rebota
![Page 33: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/33.jpg)
Como resultado se obtiene
• Imagen de profundidad, esqueleto y división por partes del cuerpo.
![Page 34: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/34.jpg)
Esqueleto• Puntos detectados
![Page 35: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/35.jpg)
Partes del cuerpo
![Page 36: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/36.jpg)
Ejemplo
![Page 37: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/37.jpg)
Detección facial
![Page 38: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/38.jpg)
Diferencias de Hardware entre versiones
Kinect for Xbox 360 Kinect for Windows
Rango de profundidad del sensor: 1,2 – 3,5 metros
Default Mode•0 – 0,8 metros, fuera de rango•0,8 – 4 metros, parámetros normales•4 – 8 metros, se recoge información pero no es óptima.•> 8 metros, fuera de rangoNear Mode•0 – 0,4 metros, fuera de rango•0,4 – 3 metros, parámetros normales (la mejor calidad se encuentra a los 2 metros).•3 – 8 metros, se recoge información pero no es óptima.•> 8 metros, fuera de rango
![Page 39: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/39.jpg)
Entremos de lleno al Software
• La diferencia entre PrimeSense Carmine 1.08 y Kinect for Xbox, asi como la diferencia entre PrimeSense Carmine 1.09 y Kinect for Windows es el Software.
![Page 40: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/40.jpg)
Diferencias de Software entre versiones
• Kinect permite usar el Microsoft Kinect SDK para ambas versiones de Kinect, pero no para dispositivos PrimeSense.
• Las aplicaciones creadas con Kinect for Windows se pueden comercializar, con Kinect for Xbox 360 no.
![Page 41: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/41.jpg)
Drivers
• Microsoft Kinect SDK: Trae consigo un driver, se recomienda usarlo en caso de usar Kinect.
• OpenKinect libfreenect: Fue hecho especialmente para XBox360, com ingenieria inversa.
• SensorKinect: Pensando para integración com OpenNI
![Page 42: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/42.jpg)
Frameworks
• Kinect for Windows SDK: – Actualizado constantemente, 3 veces al
año.– Reconocimiento de gestos faciales.– Reconocimiento de las manos y sus
movimientos.– Digitalización de objetos 3D.– Programación por medio de
herramientas que guardan los gestos.– Multiples proyectos de ejemplo en D2D
y WPF.– Se programa en C++, C# y VB
![Page 43: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/43.jpg)
Frameworks
• OpenNI: Framework estándar para sensores 3D.– Significa Open Natural Interaction– OpenSource bajo licencia Apache 2.0– Gran cantidad de Middleware.– Un framework para varios dispositivos.– Se han vendido mas de 20 millones de
dispositivos que lo soportan.– Soportado por la comunidad.– Se programa en C++
![Page 44: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/44.jpg)
OpenNI
• Arquitectura
![Page 45: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/45.jpg)
¿Cómo programar en OpenNI?
• Una vez instalando OpenNI solo es cuestión de abrir los proyectos de la carpeta Samples para empezar a probar.
• Para mas información:• http://www.openni.org/resources/
![Page 46: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/46.jpg)
¿Qué podemos hacer?
• A pesar de que OpenNI por si mismo es muy poderoso y completo, cuenta con Middleware que ya nos facilita nuestra labor con funciones que podemos solo incluir a nuestro proyecto y hacerlo mas robusto.
• Para facilitar la búsqueda entre los módulos te presentaremos algunos de ellos.
• A continuación pondremos algunos ejemplos:
![Page 47: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/47.jpg)
Middleware• NITE: Modulo enfocado a la visión
por computadora (CV, Computer Vision)
• Basado en detección de manos, y cuerpo completo.
• Permite detectar incluso mas de 4 personas.
• Bajo desempeño de CPU.• Reconoce múltiples gestos
![Page 48: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/48.jpg)
Middleware
• Artec Studio:– Convierte tu sensor en un scanner 3d– A color– Ajusta y optimiza los modelos.
![Page 49: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/49.jpg)
Middleware
• 3d Hand Tracking Library : Detección precisa de las manos, en 3D, sus articulaciones y 26 puntos.
![Page 50: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/50.jpg)
Middleware
• SigmaNIL: Detecta lenguaje de señas de forma precisa, asi como reconocimiento fino de dedos.
![Page 51: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/51.jpg)
Middleware
• XD Production: Animación en tiempo real de personajes con tus movimientos
![Page 52: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/52.jpg)
Middleware
• NI Mate: Permite animar actores virtuales con tus propios movimientos en tiempo real, así como controlar instrumentos musicales de verdad con tus movimientos al exportar tus gestos a MIDI o OSC
![Page 53: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/53.jpg)
Middleware
• Fastmocap: Permite crear animaciones en 3D con tus movimientos, permite grabar tus movimientos y reproducirlos en tus modelos virtuales
![Page 54: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/54.jpg)
Middleware
• Motion Nexus Plugin: Ayuda a controlar desde la web con el sensor 3D, puedes hacer un sitio especial para gente que tenga uno de estos sensores y vivir de otra forma la experiencia en la web.
![Page 55: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/55.jpg)
Middleware
• GST API: Permite detectar de forma correcta movimientos en posturas distintas a estar de píe es útil cuando la gente puede estar sentada e interactuando por poner un ejemplo.
![Page 56: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/56.jpg)
Middleware
• Artec Welcome: Permite usar tu computadora mientras tu estés en ella, detecta tu cara tridimensionalmente por lo que aunque estés volteado detecta que sigues siendo ti
![Page 57: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/57.jpg)
Middleware
• Interactive video projector: Vuelve cualquier pared en una touchscreen
![Page 58: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/58.jpg)
Middleware
• Podrás crear paredes y pisos interactivos altamente responsivos.
![Page 59: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/59.jpg)
Middleware
• Audience: Cuenta a la gente que pasa y ve tu producto, o la audiencia que tiene y genera métricas de todo lo observado
![Page 60: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/60.jpg)
Middleware
• Shopperception: Analiza las conductas de compra de nuestros clientes.
![Page 61: Kinect,Sensores 3D, NUI (Natural User Interfaces) y Open Source con OpenNI](https://reader036.vdocumento.com/reader036/viewer/2022062312/55611e10d8b42a70718b45a9/html5/thumbnails/61.jpg)
Gracias
• Les recomiendo descarguen esta presentación.
• Para descargarla será subida al siguiente sitio.
• http://www.facebook.com/carlos.toxtli