#KinectSdk – Hand and Finger, tracking and detection

 

Hello!

Another day closer to my international move and another weird task done: today’s one is get approved to get an international driving license. This is why today’s post is also a short one (that’s a shame, this topic is really cool!).

Our MVP friend Vangos Pterneas shared some time ago, a very powerful library which allows us to leverage the capabilities of Kinect V2 to perform hand ans finger detection, as always all the code on GitHub.

Vango’s post explains in detail how the detection works. I’m not very smart, but I think I understand the basis: Kinect will detect the the joint of the hand, and with this center point we’ll work in a radius of + 7 – 15 cms, and that’s the hand. From there, the library allows us to work with the hand context and also each finger separately.

 

2016 02 02 Kinect Finger Tracking

The source code implementation to be used is also very cool. Once a frame is processed, we can ask the detection engine to find hands and once something is detected, we’ll have information about the contour and the collection of fingers to work with them.

image

Thanks Vangos Pterneas  !!!

Greetings @ Madrid

-El Bruno

References

Advertisements

#Kinect–Detección de manos y dedos !

Hola !

Otro día más cerca y otro trámite listo: en este caso es el carnet de conducir internacional. Por este motivo hoy también un post corto, al que realmente le quería dedicar más tiempo.

El amigo MVP Vangos Pterneas nos comparte en GitHub una librería muy potente que nos permite aprovechar las capacidades de Kinect V2 para realizar detección de manos y de dedos.

En el post de Vangos explica detalladamente como realiza la detección. La verdad es que el truco es simple: desde el joint de la mano, en un radio de +7- 15 cms, pues eso es la mano. A partir de allí, nos permite trabajar con el contexto de la mano o cada uno de los dedos por separados.

2016 02 02 Kinect Finger Tracking

La implementación de código también es muy simple. Una vez procesado un frame, podemos pedir al engine que nos detecte manos y una vez detectadas tenemos el contorno y la colección de dedos para trabajar con las mismas.

image

Thanks Vangos Pterneas  !!!

Saludos @ Madrid

-El Bruno

References

#Windows10 – Using #KinectV2 for authentication with #WindowsHello

Hello!

While I hope that fall into my hands a Surface Book or a Surface Pro 4, one of the new features that wanted to try was Windows Hello. Windows Hello, is part of a new set of libraries on Windows 10 [Windows.Devices.Perception]

Within this namespace we can find a series of UWP APIs that allow us to access information that we already know developing for Kinect as depth, infrared, color cameras, and metadata. With this information, we have a solid base to perform actions of Computer Vision and enable the identification process using faces, that is Windows Hello.

The new Microsoft Phone, 4 Surface and Surface Book, already includes the necessary hardware to work these features cone. There are also cameras certified Intel Real Sense F200, to access Windows Hello.

Clipboard01

Kinect V2 is not a certificated device (yet), but there are some tricks that we can use it as part of Windows Hello. For this we have to enable the distribution of test drivers for Windows 10. This is accomplished with an entry in the Windows registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DriverFlighting\Partner]”TargetRing”=”Drivers”

Clipboard01

If you are not used to working with the Windows registry, in the references section there is a link where they explain the step by step to create this entry.

Once enabled access to the drivers of partners, we need to update the Microsoft Kinect. Open the Device Manager (Windows + X, Device Manager) and update the drivers for the “Kinect Sensor Devices” section. Select “WDF KinectSensor Interface 0” and select “Update Driver Software…

Clipboard02

The update process will download the Kinect driver for Windows V2 version 2.1.1511.11000 (or may be higher in near updates updates).

Clipboard02

In the most usual Windows style, now is time to reboot.

The, to enable Windows Hello, we must now

  • Settings > Accounts
  • In Sign-In Options now we’ll se the Windows Hello option enabled

Clipboard02

With only 3 steps we can configure Window Hello to use our face

  • Welcome to Windows Hello

Clipboard01

  • Face Setup

Clipboard02

  • Done

Clipboard03

And now just leave it active to work always  😉

2015 12 07 Windows Hello

Greetings @ Madrid

-El Bruno

Referencias

#WINDOWS10 – #WindowsHello con #KinectV2

Hola!

Mientras espero que caiga en mis manos un Surface Book o una Surface Pro 4, una de las new features que tenía ganas de probar era Windows Hello. Windows Hello, es parte de un nuevo set de libraries en Windows [Windows.Devices.Perception]

Dentro de este namespace podemos encontrar una serie de APIs para UWP que nos permiten acceder a información que ya conocemos de Kinect como depth, infrared, color cameras y metadata. Con esta información tenemos una base sólida para realizar acciones de Computer Vision y habilitar el proceso de identificación utilizando rostros de Windows Hello.

En los nuevos Microsoft Phone, Surface 4 y Surface Book, ya se incluye el hardware necesario para trabajar cone estas features. También existen cámaras certificadas como la Intel Real Sense F200, para tener acceso a Windows Hello.

Clipboard01

Kinect V2 no es un device certificado (aún), pero hay algunos trucos con los que podemos utilizarlo como parte de Windows Hello. Para esto tenemos que habilitar la distribución de drivers de prueba para Windows 10. Esto se logra con una entrada en el registro de Windows en:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DriverFlighting\Partner]”TargetRing”=”Drivers”

Clipboard01

Si no estás acostumbrado a trabajar con el registro de Windows, en las referencias hay un link donde explican el paso a paso para crear esta entrada.

Una vez habilitado el acceso a los drivers de partners, tenemos que actualizar los de Microsoft Kinect. Abrimos el Device Manager (Windows + X , Device Manager) y actualizamos los drivers para la sección “Kinect Sensor Devices“. Seleccionamos “WDF KinectSensor Interface 0” y seleccionamos “Update Driver Software …

Clipboard02

El proceso de actualización descargará el driver Kinect for Windows V2 versión 2.1.1511.11000 ( o puede ser superior si hay actualizaciones).

Clipboard02

Al mejor estilo Windows, ahora es momento de reiniciar. Para habilitar Windows Hello, ahora debemos

  • Acceder a Settings > Accounts
  • En la sección Sign-In Options veremos habilitada la opción Windows Hello

Clipboard02

Con solo 3 pasos configuramos Window Hello para que utilice nuestro rostro

  • Welcome to Windows Hello

Clipboard01

  • Face Setup

Clipboard02

  • Done

Clipboard03

Y ahora solo queda dejarlo activo para que funcione siempre 😉

2015 12 07 Windows Hello

 

Saludos @ Madrid

-El Bruno

Referencias

[#KINECT] #Kinect Adapter for Windows

Hello!

One of the big differences between Kinect V1 and V2 is that in version 2 we can use XBox One Kinect with our computer without any problems. If we go back a little, with the Kinect V1 we used to had 2 versions

  • Kinect for Windows
  • Kinect for XBox

Officially, you could use the Kinect for XBox to develop apps, but then the production stage you should use the version for Windows.

With version 2, this has changed, and if you have a XBox One with Kinect, you can use it with Windows. And of course, you need this adapter: Adapter Kinect for Windows.

When I get the box I got scared a bit, since it is quite big

k01

Then quickly startle is passed, there are lots of air inside the box and 4 wires of rigor for the Kinect

k02

In 4 minutes, connected to the Surface and running!

Greetings @ Home

/El Bruno

[#KINECT] Adaptador #Kinect para Windows

Hola!

Una de las grandes diferencias entre Kinect V1 y V2 es que en la versión 2 podemos usar la Kinect de la XBox One con nuestro ordenador sin problemas. Si hacemos un poco de memoria, con la Kinect V1 teníamos 2 versiones

  • Kinect for Windows
  • Kinect for XBox

Oficialmente podías utilizar la Kinect de XBox para desarrollar apps, pero luego en producción solo podías usar la versión para Windows.

Con la version 2 esto ha cambiado, y si tienes una XBox One con Kinect, la puedes usar con Windows. Eso sí, necesitas este adaptador: Adaptador Kinect para Windows.

Cuando me llego la caja me asusté un poco, ya que la misma es bastante grande

k01

Luego el susto se pasa enseguida, hay MUCHO AIRE dentro de la caja y los 4 cables de rigor para la Kinect

k02

En 4 minutos, conectado al Surface y funcionando !

Saludos @ Home

/El Bruno

[#KINECTSDK] Beware of the array of bodies, not all bodies are tracked by defaultK in #KinectV2

Hello!

When you work with apps on Kinect that require a special code for each body recognized by the sensor, the entry point tends to be the collection of bodies returning to us in the line 15 of the first block in the following code example

The problem with these lines is the collection of bodies it is usually complete by 6 elements, however there are no 6 people in front of the Kinect. The following image shows the collection and at the same, the 6th element is a correct body, but with the property IsTracked = False .

KV2NotTrackedBdies

The solution is quite simple, a small array preprocessing, filtering by the bodies that are correctly identified. In line 16 of the second block of code we obtain the total number of bodies where IsTracked == True and from there to be processed.

Happy Codding

Greetings @ Home

/El Bruno

[#KINECTSDK] Cuidado con el array de bodies, no todos son “bodies” en #KinectV2

Hola!

Cuando trabajas con apps en Kinect que requieran un tratado especial para cada una de las personas que reconoce el sensor, el punto de entrada suele ser la colección de bodies que nos retorna la línea 15 en el primer bloque de código del ejemplo

El problema con estas líneas es que la colección de bodies suele estar completa por 6 elementos, sin embargo no hay 6 personas frente al Kinect. La siguiente imagen nos muestra la colección y como en la misma, el 6to elemento es un body correcto, pero con la propiedad IsTracked = False.

KV2NotTrackedBdies

La solución es bastante simple, un pequeño preproceso del array, filtrando por los bodies que esten correctamente identificados. En la línea 16 del segundo bloque de código de ejemplo, obtenemos el total de bodies en donde IsTracked == True y a partir de allí a procesar.

Happy Codding

Saludos @ Home

/El Bruno

[#KINECTSDK] Do you build #Kinect apps without a Kinect V2 sensor? Check #KinectStudio and the new Kinect SDK V2

Hello!

A long time ago, a very interesting tool was added in KinectSdk version 1.5: “Kinect Studio” (I wrote a review 2 years ago here). This tool allows us to record Kinect sessions including all sensor captured information, like camera feed or infrared feed. If you develop Kinect apps wich require very repetitive testing, this type of recording is very good, since with them we avoid us having to put us in front of the sensor and do again and again the same gestures.

The problem in the Kinect V1 SDK is that you had to have a Kinect V1 SENSOR connected to the computer where you record and play KINECT STUDIO. This force to have a Kinect for each developer. That’s why because Kinect Studio was a sort of hack and “strained” the feed from the sensor usb where it was connected the Kinect to send information.

The new Kinect V2 SDK has changed that in a great way. Now is not the USB which sends information of the Kinect, instead there is a Windows service which manages the information registered from the sensor and the service publish this information. So, taking advantage of this, the new Kinect Studio allows us to be able to use Kinect Studio without a Kinect V2 sensor.

The following animation shows app example “Body Basis” included with the SDK on a computer without a connected V2 Kinect sensor, and how to open a recording Studio Kinect, connect it, the app starts to display information as if the sensor was connected.

Kinect V2 Studio

In cases where to touch you to work with colleagues in remote and complicated ‘share’ the sensor, this is an excellent choice 😀

Greetings @ Home

/El Bruno

Download Kinect SDK V2: https://www.microsoft.com/en-us/download/details.aspx?id=44561

[#KINECTSDK] Desarrollas apps y no tienes Kinect V2? No hay problema con #KinectStudio y el nuevo Kinect SDK V2

Hola!

En la versión 1.5 de KinectSdk se agregó una herramienta muy interesante: “Kinect Studio” (le hice un repaso hace 2 años aquí). Esta herramienta nos permite grabar sesiones de Kinect que incluyen toda la información del sensor cómo el feed de la cámara o feed de infrarrojos. Cuando desarrollamos apps de Kinect que requieren pruebas muy repetitivas, este tipo de grabaciones es muy bueno, ya que con las mismas nos evitamos tener que ponernos delante del sensor y probar una y otra vez lo mismo.

El problema que tenía el SDK para el Kinect V1 es que si bien no hacía falta repetir los movimientos delante del sensor, SI TENÍAS QUE TENER UN SENSOR CONECTADO AL ORDENADOR DONDE SE UTILIZA KINECT STUDIO. Esto obligaba a un Kinect por developer, ya que Kinect Studio hacía una especia de hack y se “colaba” en el feed del sensor usb donde estaba conectado el Kinect para enviar la información.

El nuevo SDK de Kinect V2 ha cambiado esto para bien. Ahora ya no es el USB el que envía la información del Kinect, sino que hay un servicio de Windows que es el que gestiona la información publicada desde el sensor. Aprovechando esto, el nuevo Kinect Studio nos permite poder utilizar grabaciones de Kinect Studio sin tener que tener un sensor Kinect V2.

La siguiente animación muestra la app de ejemplo “Body Basis” incluida con el SDK en un ordenador sin un sensor Kinect V2 conectado, y como al abrir una grabación desde Kinect Studio, conectar el mismo, la app comienza a mostrar la información como si estuviese conectado el sensor.

Kinect V2 Studio

En casos donde te toque trabajar con compañeros en remoto y sea complicado “compartir” el sensor, esta es una excelente opción 😀

Saludos @ Home

/El Bruno

Download Kinect SDK V2: https://www.microsoft.com/en-us/download/details.aspx?id=44561