En el pasado Build, Microsoft presentó como una de las grandes novedades el proyecto Oxford. Una solución tecnológica que permitirá a los desarrolladores crear aplicaciones inteligentes capaces de reconocer caras e incluso interpretar el lenguaje. El desarrollador únicamente tendrá que incluir la API elegida y dejar a Microsoft todo el proceso de aprendizaje automático.
Los servicios del Proyecto Oxford se encuentran actualmente de forma gratuita en fase beta limitada. Estos se encuentran en la plataforma de computación de Microsoft, Azure, por lo que los desarrolladores pueden acceder a ellos desde cualquier plataforma.
Los componentes principales del Proyecto Oxford son tres:
En primer lugar, tenemos que instalar el servicio Face API dentro de nuestra suscripción de Azure. Para ello, desde el portal Antiguo de Azure seleccionamos: Nuevo-> Tienda y buscamos Face API.
Una vez tenemos el servicio incluido dentro de nuestra suscripción de Azure (el uso de esta API es de momento totalmente gratuito e ilimitado), obtenemos los Keys que necesitaremos para que funcione esta API dentro de nuestro desarrollo.
A continuación, nos descargamos el SDK para utilizarlo en .NET (aunque alternativamente podemos utilizarlo en Android de forma nativa o utilizar el servicio llamadas REST).
Creamos un proyecto de Consola. Abrimos Visual Studio-> Nuevo Proyecto-> C# -> Windows Desktop -> Console Application.
A continuación, agregamos una referencia a la librería del SDK para poder utilizarla. Vamos a implementar un método que, dado una URL donde esta una foto, detecta el número de caras que hay, calcula su edad estimada y el sexo de la misma. Para ello, podemos utilizar el siguiente código:
private static async Task<ResultFace> DetecFacesAndDisplayResult(string url) { var subscriptionKey = Param.Key; try { ResultFace result= new ResultFace(); var client = new FaceServiceClient(subscriptionKey); var faces = await client.DetectAsync(url,false, true, true); Console.WriteLine(" > " + faces.Length + " detected."); foreach (var face in faces) { Console.WriteLine(string.concat(" >> age: ",face.Attributes.Age, " gender:",face.Attributes.Gender); result.Age = face.Attributes.Age; result.Gender = face.Attributes.Gender; } return result; } catch (Exception exception) { return null; Console.WriteLine(exception.ToString()); } }
El proyecto Oxford es un gran avance para empezar a realizar nuestras aplicaciones inteligentes. Con el uso de estos servicios, se abre un amplio abanico de aplicaciones que hace no mucho tiempo parecían ciencia ficción y hoy las vemos de lo más normal. ¿Quién no ha mirado su edad en una foto recientemente?
Este proyecto acerca los beneficios del Cloud para nuestro propio beneficio. Por si no hubieran pocos ingredientes, podemos incluir otros aspectos de Azure para implementar aplicaciones potentes (WebJobs, Service Bus, Colas, Media Services, etc). ¡Guau!
Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)