#CognitiveServices – Primeros pasos con la configuración en #Azure (un nuevo y mejorado #ProjectOxford)

Hola !

La semana pasada durante Build 2016, Microsoft presentó su nuevo set de APIs de Inteligencia Artificial llamado Cognitive Services. Este producto es la evolución natural de lo que conocíamos como Project Oxford, e incluye algunas nuevas funcionalidades muy interesantes.

Voy a intentar de dejar de lado las cosas de las que ya he escrito, y centrarme en lo nuevo. Sin embargo, creo que es bueno (para mí) escribir un par de posts sobre las nuevas funcionalidades con algunos aspectos básicos, por ejemplo: Como crear un servicio de Cognitive Services en Azure y obtener las claves de uso para aplicaciones.

Empecemos por comentar que (por ahora) el servicio es gratis. Solo se necesita una Microsoft Account. Si no has utilizado Project Oxford antes, solo hay que activar las funcionalidades con las que se quiere trabajar. Para lo demás, hay que trabajar desde el portal de Azure.

Importante: si ya has utilizado features con Project Oxford, en la sección de features hay que seleccionar la opción “Request new Trials

image

Esta acción nos redirigirá a la página de servicios del producto y tendremos que aceptar las Microsoft Cognitive Service Terms y el Microsoft Privacy Statement. Con esto ya estamos listos para utilizar los servicios de Cognitive Services.

image

Si necesitas renovar la cuota o nuevas claves de uso, esto lo debemos hacer desde el portal de Azure.

El primer paso es simple, desde el Marketplace realizar una búsqueda con “Cognitive Services

image

Seleccionamos Cognitive Services APIs y ya podremos crear los recursos que necesitemos. Empecemos con un servicio de los clásicos Emotion API

image

Los pasos de configuración son importantes. Debemos seleccionar el plan de pagos (Free es la mejor opción)

image

También podremos crear o reutilizar un resource group, la ubicación y aceptar los license terms.

Un par de segundos después, ya tendremos creados nuestra servicio, en nuestra Azure subscription. Accediendo al mismo podremos ver información como el endpoint y las claves que debemos utilizar en nuestras apps.

image

La sección de las claves es importante, recuerda copiar Key 1 y Key 2

image

Y listo, en siguientes posts ya pasaré a algunos ejemplos de código sobre los nuevos servicios.

Saludos @ Toronto

-El Bruno

References

Advertisements

#CognitiveServices – How to start with some basic #Azure configuration (yes, cool and updated #ProjectOxford)

Hi !

Last week during Build 2016, Microsoft present a set of Artificial Intelligence APIs named Cognitive Services. These are the natural evolution of what we know as Project Oxford, and they include some interesting new features.

Even if some of the features are very similar, I think is good (for me) to write a couple of post related to the usage of the new features. So let’s start from the beginning: How to create an Azure Cognitive Service API and how to get the keys to be used in final apps.

The use of the APIs is free. You only need a Microsoft Account. If you don’t use Project Oxford before, you only need to activate these features, and later you can buy these services on the Azure Portal.

Important, if you already uses these services from Project Oxford, you need to select the option “Request new Trials”

image

You’ll be redirected to the services page and then you need to agree the Microsoft Cognitive Service Terms and Microsoft Privacy Statement. And that’s it you are ready to use the services.

image

If you need to request a new quote or get new use keys, you can get these from the Azure portal.

First step is an easy one: search for “Cognitive Services” in the Azure Marketplace

image

Now you can create a new Cognitive Services resource which will include one of the available services. In example, the Emotion API

image

At this time is important to complete the next steps, like price (go for free)

image

Also complete the resource group, the location and also accept the license terms.

So, after a couple of seconds you’ll get your Cognitive Services API created on your Azure subscription. When you access to the CSAPI, you can find some very useful information like the endpoint and the Keys to be used in your apps.

image

Of course keys are the important ones. Remember to copy Key 1 and Key 2

image

In next posts, I’ll go directly to some source code and some samples!

Greetings @ Toronto

-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

#EVENT – #Coding4Fun materials used in the #Talks4Kids event

hI!

Today is an amazing day, we are hosting the technology event for the Theodora Foundation and and is a great placer to share that we raise €2000 to share to the foundation! Thanks a lot to the sponsors, the Microsoft and to all the people here in the event!

After tons of community events, customer events, this one is is probably one of the best ones!

And, as always, the materials used in the event, slides and github repositories: Bluetooth Low Energy discoverer para AndroidProject Oxford Samples

Greetings @ Microsoft Madrid

-El Bruno

Tweets

#EVENT – Materiales de #Coding4Fun en #Talks4Kids

Hola!

Hoy es un gran día, estamos en el evento para la fundación Theodora y la verdad es que es un placer poder decir que hemos llegado a los €2000 para donar a la fundación. Muchísimas gracias a los patrocinadores, a Microsoft y las personas que asistieron.

Después de muchos eventos para comunidades y para clientes, la sensación de poder participar en el evento de hoy ha sido grandiosa!

Como siempre, las slides usadas a continuación y los ejemplos de códido en mi repositorio de Github. Bluetooth Low Energy discoverer para AndroidProject Oxford Samples

Saludos @ Microsoft Madrid

-El Bruno

Tweets

#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