Category Archives: Azure

#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

Picture2

#AZURE – A detailed sample of thumbnail generation and #SmartCropping with #VisionAPI

Hello

In yesterday’s post I wrote on how to create thumbnails using Vision API in Project Oxford. While there are several options in the .Net community to create thumbnails, this stands for creating the miniature bearing in mind the main content of the original image.

For this, this process uses VisionAPI capabilities to detect “the main areas” in the image, and using this as source it create the required thumbnail. This is important when the image we ask does not respect the original format. For example to move from an image with 4:3 aspect ratio to a 16:9 format.

Picture2

In the yesterday’s sample, I used as original image a picture of Rapunzel and Martina at Disney in Portrait mode with a size of 346 x 518 pixels. Then I generated several miniatures with the following sizes

  • 120 x 120
  • 240 x 120
  • 120 x 240
  • 240 x 120

The 120 x 240 thumbnail is a nice example on how to change from Portrait to Landscape, SmartCropping capacity has remained as the main area of the image the faces of the people.
The following example uses a photo in Landscape mode of size 3264 by 1836 pixels as the original image.

Picture1

The generated thumbnails are

  • 120 x 120
  • 240 x 120
  • 360 x 120
  • 120 x 240
  • 240 x 120
  • 360 x 120

And in them you can see as to when requesting a Portrait format, has decided to keep the focus on the central face and the 2015 Rugby World Cup.

 

The source code is avilable in GitHub https://github.com/elbruno/ProjectOxford

Greetings @ Madrid !

El Bruno

References

#AZURE – Un ejemplo más detallado con #SmartCropping para generar miniaturas de imágenes

Hola

En el ejemplo de ayer mostré como crear thumbnails o miniaturas utilizando Vision API en Project Oxford. Si bien existen varias opciones en .Net para crear miniaturas, esta se destaca por crear la miniatura teniendo en cuenta el contenido principal de la imagen original.

Para esto, en primer lugar utiliza las capacidades de VisionAPI para detectar las “zonas importantes” de la imagen, y a partir de la misma crea la miniatura. Esto es importante, cuando la imagen que pedimos no respeta el formato original. Por ejemplo al pasar de una imagen con formato 4:3 a un formato 16:9.

Picture2

En el ejemplo de ayer, utilicé como imagen original una foto de Rapunzel y Martina en Disney en modo Portrait con un tamaño de 346 x 518 pixels. Luego generé varias miniaturas con los siguientes tamaños

  • 120 x 120
  • 240 x 120
  • 120 x 240
  • 240 x 120

La miniatura de 240 x 120 es un claro ejemplo sobre cómo al pasar de Portrait a Landscape, la capacidad de SmartCropping ha mantenido como zona principal de la imagen los rostros de las personas.

El siguiente ejemplo utiliza como imagen original una foto en modo Landscape de tamaño 3264 por 1836 pixels.

Picture1

Las miniaturas generadas son

  • 120 x 120
  • 240 x 120
  • 360 x 120
  • 120 x 240
  • 240 x 120
  • 360 x 120

Y en las mismas se puede ver como al momento de solicitar un formato Portrait, ha decidido mantener el foco en el rostro central y en la copa del mundial de Rugby 2015.

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

Saludos @ Madrid !

El Bruno

References

#AZURE – Creating Thumbnails with #VisioAPI #ProjectOxford

Hi

Today a small post with one cool feature included in en VisionAPI: Thumbnails generation.

This operation is included in VisionAPI, and we mus feed the operation with a image byte stream, the size for the thumbnail and finally the most important option: smartCropping.

Clipboard02

SmartCropping is the cool feature for this image generation. When is sets to true, the generated image will respect the defined size, and also the most important content of the source image.

As a sample, let’s take a look at the next image. I’ve requested 120 x 120 thumbnail, and the source image was a Portrait with 348 x 518. SmartCropping generated an square image with the content focused on the princess.

Clipboard02

The source code is avilable in GitHub https://github.com/elbruno/ProjectOxford

Greetings @ Madrid !

El Bruno

References

#AZURE – Creando ThumbNails con #VisioAPI #ProjectOxford

Hola

Hoy un post pequeño con una funcionalidad también incluida en VisionAPI: la capacidad de crear Thumbnails.

La operación es parte del Cliente de VisionAPI, y en el mismo utilizamos el stream de una imagen, el tamaño de la imagen que queremos generar y además definimos si queremos utilizar la opción smartCropping.

Clipboard02

 

La función smartCropping es donde destaca esta API, ya que nos permite generar estos thumbnails con tamaños y formatos diferentes a los de la imagen original.

Por ejemplo, en la siguiente imagen podemos ver como es el resultado cuando generamos un thumbnail de 120×120 a partir de una imagen en formato Portrait de 348×518. SmartCropping se encarga de generar la imagen de menor tamaño y respetando el contenido de interes de la imagen original.

Clipboard02

 

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

Saludos @ Madrid !

El Bruno

References

Clipboard04

#AZURE – #VisionAPI, add a frame for each detected text #OCR

Hello

 

In the post yesterday I shared an example to show how to recognize text in pictures. The OCR API returns a collection of regions where the text is recognized.

If we go through each region can recognize points to create a frame, and inside it is the recognized text.

Clipboard02

If we put together the facial recognition with text, we have a collection of Frames to add the image with different recognized elements.

Clipboard02

Finally, an example with a meme and the great Ron Burgundy

Clipboard04

With the following results

Language: en
Orientation: Up
Text Angle: 0
Region

BoundingBox: 25,8,489,396
Rectangle:
Left 25, Top 8,
Height 396, Width 489

Lines
I’M NOT ANTI-SOCIAL
I’M SELECTIVELY SOCIAL
THERE’S A DIFFERENCE.

The source code is avilable in GitHub https://github.com/elbruno/ProjectOxford

Greetings @ Madrid !

El Bruno

References

Clipboard02

#AZURE – #VisionAPI, agregando marcos en cada text detectado

Hola

En el post de ayer compartí un ejemplo para mostrar como reconocer texto en imágenes. La API de OCR retorna una colección de regiones donde se reconoce el texto.

Si recorremos cada región podemos reconocer los puntos para crear un frame, y dentro del mismo está el texto reconocido.

Clipboard02

Si juntamos el reconocimiento facial con el de texto, tenemos una colección de Frames para agregar en la imagen, con diferentes elementos reconocidos.

Clipboard02

Finalmente, un ejemplo con un meme y el gran Ron Burgundy

Clipboard04

Con los siguientes resultados

Language: en
Orientation: Up
Text Angle: 0
Region

BoundingBox: 25,8,489,396
Rectangle:
Left 25, Top 8,
Height 396, Width 489

Lines
I’M NOT ANTI-SOCIAL
I’M SELECTIVELY SOCIAL
THERE’S A DIFFERENCE.

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

Saludos @ Madrid !

El Bruno

References

2015 11 24 Vision Api ocr

#AZURE – #VisionAPI and optical character recognition #OCR

Hello

The API VisionAPI in Project Oxford also gives us the ability to perform optical character recognition in an image. What we usually known as OCR.

The result of the OCR process, shows us information with

  • the language of the detected language
  • the area where the text has been detected
  • the angle of the text
  • a collection of lines within each area of detected text
  • a collection of words per line

So a McDonalds sign returns the following information

01

Language: en
Orientation: Up
Text Angle: 5.89999999999997
Region

Rectangle:
Left 75, Top 74,
Height 132, Width 210

Lines
please do not
eat the
billboard
all white meat chicken

The About Windows form returns

Clipboard01

Language: en
Orientation: Up
Text Angle: 0
Region

Rectangle:
Left 9, Top 11,
Height 311, Width 402

Lines
About Windows
Windows 10
Microso ft Mndows
Version 1511 (osBui1d 10586.11)
@ 2015 Microsoft Corporaton. Al rights reserved.
The Windows 10 Enterprise operating system and its user interface are
protected by trademark and other pending or existing intellectual property
rights in the United States and other countries/regions.
This product is licensed under the Microsoft Software License
Terms to:
brunocapuano@msn.com

And a live action demo is like this one where PADDINGTON is quickly added into the image information

2015 11 24 Vision Api ocr

 

The source code is avilable in GitHub https://github.com/elbruno/ProjectOxford

Greetings @ Madrid !

El Bruno

References