#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 – #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] Error: Kinect Monitor (KinectMonitor) failed to start.

Hello!

Today is (again) a quick post. I hope this one is my last error fixing of the year 2014. Todays issue is related to the installation process of Kinect SDK V2. If you were using old sdks, you’ll probably find this error message

Error code: 1920

Kinect Monitor (KinectMonitor) failed to start. Verify that you have sufficient privileges to start system services

error Kinect 01

So is time to check the log in temp folder. There is a message which suggest me that previous versions of the KinectSDK not deleted some files on the uninstall process. And that’s why, the current Installer had problems to deploy and register a new Kinect service .

error Kinect 02

The first thing I did was delete the installation files in “%\Program Files%\Microsoft Kinect Drivers”. And then I found that also had to eliminate a Kinect V2 Windows service.

error Kinect 03

This is the easiest one: open a console with administrator permissions and launch the command

“sd delete KinectManagement”

error Kinect 04

And that’s it !!!! Now I can successfully install the new Kinect SDK V2.

error Kinect 05

Greetings @ Home

/El Bruno

[#KINECTSDK] Error: Kinect Monitor (KinectMonitor) failed to start.

Hola!

Hoy toca otro post rápido con (el que espero que sea) el último error del año. En este caso, es al instalar el Kinect SDK V2, que me encuentro con un

Error code: 1920

Kinect Monitor (KinectMonitor) failed to start. Verify that you have sufficient privileges to start system services

error Kinect 01

Después de ver en el temp el log de instalación, veo que las versiones anteriores del KinectSDK no eliminaron correctamente algunos archivos y el instalador tenía problemas para desplegar y registrar el servicio de Kinect.

error Kinect 02

Lo primero que hice fue eliminar los archivos del directorio de instalación “%\Program Files%\Microsoft Kinect Drivers”. Y luego me encontré con que también tenía que eliminar un servicio de Windows de Kinect V2.

error Kinect 03

Este es el más fácil, abrimos una consola con permisos de administrator y lanzamos el comando

“sd delete KinectManagement”

error Kinect 04

Listo, ya no queda rastro del instalador viejo de Kinect V2 y puedo instalar correctamente el nuevo.

error Kinect 05

Saludos @ Home

/El Bruno