#VS2015 – Windows Universal sample App using #FaceDetection native API on #Windows10

 

Hello!

In the yesterday’s post I wrote on the new Windows 10 APIs to perform face detection. In today’s sample app (shared on GitHub), it is possible to see how a WebCam feed is analyzed in real time and displays the detected faces.

2015 12 30 W10 FaceNAtive API demo

A couple of details about the App

  • The AppCommandBar button changes to show the FaceDetection in On/Off status. As soon as you see how to change an Icon with C# update this code.
  • When a face is detected, I make the process of painting the frame synchronizing Threads. Don’t have very clear why this.
    image

image

  • I need to do some work on the app resize

You can download the complete example from GitHub here.

Greetings @ Madrid

-El Bruno

References

Advertisements

#VS2015 – Windows Universal App de ejemplo con la API nativa para #FaceDetection en #Windows10

Hola !

En el post de ayer comentaba sobre las nuevas APIs para realizar detección de rostros que se incorporan en Windows 10. En la app de ejemplo que he compartido en GitHub, es posible ver como se analiza en tiempo real el feed de una WebCam y se muestran los rostros detectados.

2015 12 30 W10 FaceNAtive API demo

Un par de detalles sobre la App

  • En la AppCommandBar se cambia el boton para mostrar el estado FaceDetection en On/Off. En cuanto vea como cambiar un Icon con C# actualizaré este código.
  • Cuando se detecta un rostro, el proceso de pintado del marco lo realizo sincronizando Threads. No tengo muy en claro el porqué de esto.

image

  • Todavía me queda pendiente trabajar en el Resize de la app.

El ejemplo completo se puede descargar desde GitHub desde aquí.

Saludos @ Madrid

-El Bruno

References

#VS2015 – #Windows10 native API for #FaceDetection

Hi !

Among the new APIs that brings Windows 10 to work with images we found one quite interesting: Windows.Media.FaceAnalysis. The name already tells us the functionality of this API: face detection.

Using this library, we have several ways of working with it. For example, in the FaceDetector class, we have a DetectFacesAsync() operation that using a SoftwareBitmap, performs an analysis on this image and returns an array with the collection of detected faces.

Another way of using it is to associate it with an instance of MediaCapture(), which is the class that we usually use to access the camera in Windows 8 / 8.1 / 10. The following example shows as a time to initialize the MediaCapture, we can add a new ‘effect’ (line 75) with a FaceDetectionEffectDefinition, for the detection of faces.

 

image

Then we can set other options as the frequency in which we want to perform the analysis, and subscribe to an event for each detected face (line 80).

In upcoming posts I will share an example use of a Universal Windows App using this feature.

Saludos @ Madrid

-El Bruno

References

#VS2015 – Api nativa en #Windows10 para #FaceDetection

Hola !

Entre las nuevas APIs que trae Windows 10 para el trabajo con imágenes tenemos una bastante interesante: Windows.Media.FaceAnalysis. El nombre ya nos indica la funcionalidad de esta API: la detección de rostros.

Utilizando esta librería tenemos varias formas de trabajar con la misma. Por ejemplo, en la clase FaceDetector, tenemos una operación DetectFacesAsync() que utilizando un SoftwareBitmap, realiza un análisis sobre esta imagen y nos devuelve un array con la colección de rostros detectados.

Otra forma de utilizarlo, es asociarlo a una instancia de MediaCapture(), que es la clase que utilizamos usualmente para acceder a la cámara en Windows 8 / 8.1 / 10. El siguiente ejemplo, nos muestra como al momento de inicializar el MediaCapture, podemos agregar un nuevo “efecto” (línea 75) con un FaceDetectionEffectDefinition, para la detección de rostros.

image

Luego podemos definir otras opciones como la frecuencia en la que queremos realizar el análsis, y suscribirnos a un evento para cada rostro detectado (línea 80).

En próximos posts compartiré un ejemplo funcionando de una Windows Universal App utilizando esta feature.

Saludos @ Madrid

-El Bruno

References

#AZURE – Un ejemplo completo de Face APIs y Emotions APIs #ProjectOxford

Hola

Hoy vamos a ver un poco la implementación y el detalle que nos brinda Project Oxford para trabajar con Emotion APIs. En primer lugar un gif con un ejemplo de reconocimiento de edad, sexo y emociones en una app WPF.

2015 11 14 Project Oxford Emotions

Vemos como en una foto sse reconocen 64 MVPs (meuda gente) y luego un poco de Han Solo y con Martina en la playa.

Si  analizamos un poco el código veremos que en la clase FaceAPI, he creado una operacion para la detección de emociones. Esta operación, utiliza el stream de la imagen seleccionada, y además un array con la ubicación de las caras que se encontraron previamente en el proceso de detección de rostros.

Clipboard03

Una vez realizada la detección de emociones, actualizo esta información en la coleccción con los rostros detectados. Por ahora, esto lo hago buscando los mismos rectangles en ambas colecciones, tal vez debo mejorar esta rutina.

Además, en la case que representa un rostro, he creado una propiedad que muestra la emoción con el valor más alto.

Clipboard02

Este valor es el que luego muestro en la app junto al restro en la foto.

Clipboard03

El código fuente esta disponible en GitHub https://github.com/elbruno/ProjectOxford

Saludos @ Madrid !

El Bruno

References

ENG [#VS2015] Hello Face: #FaceAPIs in a Wpf App (3)

Hello!

New post for Azure Machine Learning Face APIs series

  1. Face APIs in Azure
  2. Hello Face: Face APIs in a Console App
  3. Hello Face: Face APIs in a WPF App

In the previous post I shared the 10 sample lines that we can user as a Face APIs basic functionality in a console app to :

  • detect faces
  • detect age on each face
  • detect sex on each face

Moreover, another option that does Face APIs provide is the ability to identify the region on the original image for each detected face. In the next example, I’ve added a WPF project and I have referenced the ClientLibrary. It is based on one of the examples in the Face APIs SDKs.

This project has 2 important files

lib \ FaceApiHelper.cs. This class is the one used for image processing using Face APIs service.

UserControls \ Face.cs. Represents a User Control, with an image to show the face, and also a series of labels to show the age and sex.

Clipboard02

The MainWindow.xaml main window features a button to select an image of the disk and by under 2 sections showing the original image with boxes on each side found and a list of the found faces. The code by pressing the button is very simple

Clipboard04

Important: The key to use the Face API service is part of the settings of the app.

The StartFaceDetection() function returns 2 collections of Faces. One with the information age and sex of the found face, the other is a special object used to “paint” boxes on the original image.

Clipboard02

If you’ve been able to see the code and not vomiting with error handling, you can try the application. An example of the app in operation is as follows:

2015 06 02 Face Api Wpf

If you want to see the Special transformation to paint the boxes, you can take a look at CalculateFaceRectangleForRendering() .

The code can be downloaded from https://github.com/elbruno/ProjectOxford/tree/master/Samples

Greetings @ Medrid

/El Bruno

[#AZURE] Hello Face: #FaceAPIs en una Wpf App (3)

Hola!

Nuevo post para la serie de Face Api en Azure

  1. Face APIs en Azure
  2. Hello Face: Face APIs en una Console App
  3. Hello Face: Face APIs en una WPF App

En el post anterior puse las 10 líneas de ejemplo con las que podemos incorporar una funcionalidad básica de Face APIs en una app de consola para:

  • detectar rostros y sobre los mismos
  • detectar edad
  • detectar sexo

Además otra opción que no brinda Face APIs es la capacidad de identificar la región en la que está el rostro sobre la imagen original. En el siguiente ejemplo, he agregado un proyecto de tipo WPF y he referenciado la ClientLibrary en el mismo. El mismo se basa en uno de los ejemplos del SDK de Face APIs.

Este projecto tiene 2 elementos importantes

lib \ FaceApiHelper.cs. Esta clase es la que tiene la llamada y posterior procesamiento de las imagenes que nos retorna el servicio de Face APIs.

UserControls \ Face.cs. Representa un User Control, con una imagen para mostrar la cara, y además una serie de labels para mostrar la edad y el sexo.

Clipboard02

La ventana principal MainWindow.xaml posee un boton para seleccionar una imagen del disco y por debajo 2 secciones donde se muestra la imagen original con recuadros en cada cara encontrada y una lista con las caras encontradas. El código al presionar el botón es muy simple

Clipboard04

Importante: La key para utilizar el servicio de Face API es parte de las settings de la app. 

La funcion StartFaceDetection() retorna 2 colecciones de Faces. Una de ellas con la información de edad y sexo del rostro encontrado, la otra es un objeto especial utilizado para “pintar” recuadros sobre la imagen original.

Clipboard02

Si has podido ver el código y no vomitar con el control de errores, ya puedes probar la aplicación. Un ejemplo de la app en funcionamiento es el siguiente:

2015 06 02 Face Api Wpf

Si quieres ver la transformación especial para pintar los recuadros, puedes echarle un vistazo a CalculateFaceRectangleForRendering().

El código se puede descargar desde https://github.com/elbruno/ProjectOxford/tree/master/Samples

Saludos @ Madrid

/El Bruno

ENG [#VS2015] Hello Face: #FaceAPIs in a Console App (2)

Hello!

New post for Azure Machine Learning Face APIs series

  1. Face APIs in Azure
  2. Hello Face: Face APIs in a Console App

After the setup of our Azure environment, we now can use Face APIs. Next step is to download the SDK and take a look at the examples. At this time the SDK contains examples for both, .Net and Android. Within the .Net sample there is a WPF app which consumes a PCL which is responsible for making the calls to the Machine Learning Face API services.

Clipboard03

The good thing about this model is that the PCL is easily portable to other projects. The following steps show how consume Face API services in a console app, using the PCL included in the SDK.

1. Add a new console application in the solution

2. Add a reference to ClientLibrary

3. Then in the Main we need to define a variable with our subscription key, and for this example we will open a local image to be processed

4. The following function displays the steps necessary for processing an image

Clipboard05

5. And the result is similar to the following one

Clipboard07

6 That’s it !

As always, can always download the complete sample from GitHub https://github.com/elbruno/ProjectOxford

Greetings @ Home

/El Bruno

Face APIs SDK, http://www.projectoxford.ai/sdk

[#AZURE] Hello Face: #FaceAPIs en una Console App (2)

Hola!

Nuevo post para la serie de Face Api en Azure

  1. Face APIs en Azure
  2. Hello Face: Face APIs en una Console App

Una vez configurado nuestro entorno de Azure para poder consumir Face APIs, lo siguiente es descargar el SDK y darle un vistazo a los ejemplos del mismo. En este momento el SDK contiene ejemplos para .Net y Android. Dentro del ejemplo para .Net hay una app WPF de ejemplo que consume un PCL que es el encargado de hacer las llamadas a los servicios de Machine Learning de Face API.

Clipboard03

Lo bueno de este modelo, es que el PCL es fácilmente portable a otro tipo de proyectos. Los siguientes pasos muestran como consumir los servicios de Face API en una app de Consola, utilizando el PCL del SDK.

1. Agregar una nueva aplicación de consola a la solucíón

2. Agregar una referencia a ClientLibrary

3. Luego en el Main debemos definir una variable con nuestra subscription key, y para este ejemplo abriremos una imagen local para procesarla

4. La siguiente función muestra los pasos necesarios para procesar una imagen

Clipboard05

5. El resultado es similar al siguiente

Clipboard07

6. Listo !!!

Y el ejemplo, como siempre se puede bajar desde GitHub https://github.com/elbruno/ProjectOxford

Saludos @ Home

/El Bruno

Face APIs SDK, http://www.projectoxford.ai/sdk

ENG [#AZURE] Face APIs with #Azure (1) #MachineLearning

Hello!

Every time I perform a Coding4Fun session, I always take the opportunity to talk a little about the progress in the process of face detection, facial recognition and detection of emotions, etc. If you like Azure, now is a great time to start testing something for this topic, since using Machine Learning experiments, there are a number of features available to perform these actions.

In this series of posts I’ll show you how to configure Azure for having an instance of Face APIs, how to active and publish it as a service and finally as consume it from an .Net app.

You should start adding a Face API instance from the Azure Machine Learning Market Place Gallery . Access the Market Place and add search for Face APIs .

Clipboard01

The wizard is fairly simple, and it’s free. For now is only available in the West US region, although that doesn’t affect us much.

Clipboard02

Once created the instance, it will appear in our list of items for the Market Place section. The next step is very important, since it is where to generate the key that we will identify to use this service from our apps. We must Access the portal Face APIs from the option “Manage”

Clipboard02

You will find your primary and secondary keys and also the option to regenerate them

Clipboard02

And that’s it! We already have our Azure environment ready to use Face APis. I’ll write later about the Face APIs capabilities, however the information and the SDK can be found at the official website of the Project Oxford , where besides Face APIs, there are APIs for Speech Recognition and Computer Vision. Come on, that is a place to have some serious fun 😉

Greetings @ Home

/El Bruno

Project Oxford, http://www.projectoxford.ai/face

Face Api Machine Learning, http://gallery.azureml.net/MachineLearningAPI/b0b2598aa46c4f44a08af8891e415cc7