Uso de la API Face para Detección y Verificación de Rostros
Clase 20 de 27 • Curso de Azure Cognitive Services
Resumen
¿Cómo configurar un servicio cognitivo de tipo Face en Azure?
Configurar un servicio de tipo Face en Azure es un paso esencial para empezar a utilizar la API de rostros en tus proyectos. Este proceso involucra crear un nuevo recurso cognitivo en el portal, seleccionando una suscripción y un grupo de recursos apropiados, y eligiendo la región que te ofrezca la mejor latencia. A continuación, se debe establecer un nombre único para el servicio, por ejemplo, face DLR
. También es importante decidir el tipo de suscripción: puedes usar una estándar o evaluar el servicio gratuito, aceptando los términos y condiciones necesarios. Una vez configurado, necesitarás la llave de suscripción y el endpoint para autenticar y ejecutar solicitudes a la API.
¿Cómo utilizar la API de rostros para analizar imágenes?
Para utilizar la API de rostros, se requiere un cliente que autentique la comunicación con el servicio de Azure. Una vez que el cliente esté configurado con el subscription key y el endpoint, se puede proceder al análisis de imágenes. Elige las imágenes que deseas analizar proporcionándolas como URLs, y especifica en el código las características y atributos que te interesa detectar.
Aquí tienes un fragmento de código para crear una solicitud y analizar una imagen:
var client = new FaceClient(new ApiKeyServiceClientCredentials("<subscription key>"))
{
Endpoint = "<endpoint>"
};
var faces = await client.Face.DetectWithUrlAsync("<image-url>",
returnFaceAttributes: new List<FaceAttributeType>
{
FaceAttributeType.Age, FaceAttributeType.Emotion,
FaceAttributeType.Gender, FaceAttributeType.Smile
});
¿Qué atributos de rostro se pueden detectar?
El análisis de rostros mediante la API ofrece la posibilidad de reconocer múltiples atributos, como:
- Accesorios: Identificación de objetos como lentes.
- Edad: Aproximación de la edad de la persona.
- Emociones: Análisis de emociones como felicidad, sorpresa o tristeza.
- Cabello: Características del cabello y vello facial.
- Género: Detección del género de la persona.
- Maquillaje y expresión facial: Detección de maquillaje, sonrisas u oclusiones.
Por cada imagen analizada, se puede obtener un conjunto de datos que articulan todos estos aspectos, lo que permite realizar un análisis profundo de los rostros en diversas aplicaciones, desde reconocimiento de identidades hasta evaluación emocional.
¿Cómo verificar si dos imágenes son de la misma persona?
El método de verificación es crucial cuando necesitas determinar si dos imágenes contienen el rostro de la misma persona. Este proceso implica instruir al modelo sobre cuáles son las imágenes de referencia con las que se entrenará el servicio. Una vez entrenado, se puede presentar una nueva imagen para que el servicio devuelva un nivel de confianza sobre la similitud.
Aquí hay una implementación del método de verificación:
var result = await client.Face.VerifyFaceToFaceAsync("<faceId1>", "<faceId2>");
Console.WriteLine($"Confidence: {result.Confidence}");
Console.WriteLine(result.IsIdentical? "Same person" : "Different persons");
Escenarios de verificación de rostros
- Comparación directa: Usar dos fotografías distintas de una misma persona.
- Comparación familiar: Verificar similitudes entre padres e hijos o hermanos.
- Evaluación histórica: Comparar fotografías de una persona en diferentes etapas de su vida para analizar cambios.
Practica subiendo tus imágenes al servicio y experimenta con diferentes comparaciones para verificar el potencial del modelo. Explora el análisis y detección de características del rostro en busca de insights valiosos y aplicaciones novedosas. ¡La creatividad es tu límite con la API de rostros de Azure!