#ComputerVision – How to create a 3D model of a face using a 2D photo (Amazing !)

Hello!

The advances in Computer Vision are becoming more and more impressive. The suite I know best and with use more is Azure Cognitive services, however, there are surprises and advances that leave me with my mouth open.

This is the case of the work published by Aaron S. Jackson, Adrian encyclical, Vasileios Argyriou and Georgios Tzimiropoulos, where he explains how he can create a 3d model from a 2d photo. The best thing is to see it in action

2017 09 25 3D face from 2D 01.gif

I recommend you also see the video where they apply the algorithm in real-time to faces in a video.

Now is the time to try to explain, with my words of a 5-year-old boy, how this works. Behind this algorithm is a Convolutional Neural Network (CNN), which has been trained with 2D images with the results expected in 3D. The interesting thing about this model is that it has reached such a level of sophistication that it does not need a specific point of reference for a face, it works on any face.

With the 2D image information, it is possible to rebuild elements of the face, including parts that are not seen in the 2D image. In this way, and after much training CNN, achieve the results that can be seen in the live demo!

Maybe it’s better to hear this in their own words

Greetings @ Toronto

El Bruno

References

Advertisements

#ComputerVision – Crear un modelo 3D de un rostro a partir de una foto 2D (Impresionante !)

Hola!

Los avances en Computer Vision son cada vez más impresionantes. La suite que mejor conozco y con la que trabajo son los servicios de Cognitive Services, sin embargo, hay sorpresas y avances que me dejan con la boca abierta.

Este es el caso del trabajo que han publicado Aaron S. Jackson, Adrian Bulat, Vasileios Argyriou and Georgios Tzimiropoulos, donde explica cómo puede crear un modelo 3D a partir de una foto 2D. Lo mejor es verlo en acción

2017 09 25 3D face from 2D 01.gif

Les recomiendo ver también el video donde aplica el algoritmo en tiempo real a faces en un video. Ahora es el momento de intentar explicar, con mis palabras de un niño de 5 años, como funciona esto.

Detrás de este algoritmo hay una Convolutional Neural Network (CNN), que ha sido entrenada con imágenes en 2D con los resultados esperados en 3D. Lo interesante de este modelo, es que ha llegado a un nivel de sofisticación tal, que no necesita un punto de referencia específico para un rostro, funciona sobre cualquier rostro. Con la información de la imagen 2D, es posible reconstruir elementos del rostro, inclusive de partes que no se ven en la imagen 2D. De esta forma, y después de MUCHO entrenar la CNN, logran los resultado que se pueden ver en la live demo!

Tal vez mejor es escuchar las palabras de Aaron

Saludos @ Burlington

El Bruno

References

#ProjectOxford – New features for #FaceAPI: beard, moustache, smile detection and more !!!

Hello!

New Face API and Emotion API features: detection of beards, moustaches, smiles and much more.

2016 01 29 Face API

These days I have been reviewing some projects where I’ve used some Project Oxford APIs and I found that the APIs have changed a little.

image

The Newtonsoft.Json is already a classic: updates all the time. However I made some research on the new features for Face API. So here are a couple of them

  • The documentation is now integrated within MSDN. A Must Have for a 1.0 version
  • The new ability to detect new attributes for each face like as the beard, mustache or smiles

image

  • Now we also have the possibility of obtaining landmarks in detected faces.

image

And finally the official changes that are discussed in the Project Oxford page.

  • API Signature
    In Project Oxford Face V1.0, Service root endpoint changes from “https://api.projectoxford.ai/face/v0/” to “https://api.projectoxford.ai/face/v1.0/”
    There are several signature changes for API, such as Face – Detect, Face – Identify, Face – Find Similar, Face – Group.
  • The previous version of Project Oxford Face API was not clear about the smallest face sizes the API could detect. With the new V1.0, the API correctly sets the minimal detectable size to 36×36 pixels. Faces smaller 36×36 pixels will not be detected.
  • Persisted Data
    Existing Person Group and Person data which has been setup with Project Oxford Face V0 cannot be accessed with Project Oxford Face V1.0 service. This incompatible issue will occur for only this one time, following API updates will not affect persisted data any more.

Greetings @ Madrid

-El Bruno

References

#Azure – Novedades en #ProjectOxford en #FaceAPI: detección de barba, bigote, sonrisas y más !!!

Hola !

Novedades en Face API y Emotion API, detección de barbas, bigotes, sonrisas y mucho más.

2016 01 29 Face API

En estos días he estado revisando unos proyectos en los que usamos algunas APIs de Project Oxford y me he encontrado que las APIs han cambiado un poco.

image

Lo de Newtonsoft.Json ya es un clásico, sin embargo me dió por ver que nuevas features teníamos en Face API y Emotion API. Asi que aquí van un par

  • Ahora la documentación está integrada dentro de MSDN. Normal para una versión 1.0
  • La nueva capacidad de detectar nuevos atributos como la barba, bigote o sonrisa

image

  • Ahora también tenemos la posibilidad de obtener landmarks en los rostros detectados.

image

Y por último los cambios oficiales que se comentan en la pagina de Project Oxford.

  • API Signature
    In Project Oxford Face V1.0, Service root endpoint changes from “https://api.projectoxford.ai/face/v0/” to “https://api.projectoxford.ai/face/v1.0/”
    There are several signature changes for API, such as Face – Detect, Face – Identify, Face – Find Similar, Face – Group.
  • The previous version of Project Oxford Face API was not clear about the smallest face sizes the API could detect. With the new V1.0, the API correctly sets the minimal detectable size to 36×36 pixels. Faces smaller 36×36 pixels will not be detected.
  • Persisted Data
    Existing Person Group and Person data which has been setup with Project Oxford Face V0 cannot be accessed with Project Oxford Face V1.0 service. This incompatible issue will occur for only this one time, following API updates will not affect persisted data any more.

Saludos @ Madrid

-El Bruno

References

#VS2015 – #FateDetection and Merry Christmas #Coding4Fun

Hi!

Although Christmas is gone, my children still love to play with their Santa hats. Half of them have already have been given, but I get out my dev superpowers and with 4 lines of code I add some VIRTUAL HATS in the face detection app !!!

2016 01 04 FaceDetection Merry Christmas

Like always the source is on GitHub and a couple of details

  • The app is Windows Universal App, you can install it on Windows Phone 10, and you can have the same fun in small format
  • The top 2 buttons enable the show and hide frames the face and Santa Hat
  • On the code of the routine to draw the frame, I have created that puts the Santa Hat
  • I still have pending improved the Resize of the app 😉

Greetings @ Madrid

-El Bruno

References

 

#VS2015 – Detección de rostros en Navidad #FateDetection #Coding4Fun

Hola!

Si bien ya han pasado las navidades, mis niños siguen queriendo jugar con sus gorros de Papa Noel. Como la mitad ya han sido regalados, con 4 líneas en la app que detecta rostros, pues podemos tener GORROS VIRTUALES !!!

2016 01 04 FaceDetection Merry Christmas

Como siempre el código fuente en GitHub y un par de detalles a tener en cuenta

  • La app es Windows Universal App, la puedes instalar en Windows Phone 10 y podrás tener la misma diversion en formato pequeño
  • Los 2 botones superiores habilitan el mostrar y ocultar los marcos de la cara y el gorro de Santa
  • Sobre el código de la rutina para dibujar el marco, he creado la que pone el gorro de Santa
  • Sigo teniendo pendiente mejorar el Resize de la app 😉

Saludos @ Madrid

-El Bruno

References

 

#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

#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