Yüzleri algılama ve analiz etme
Azure Görüntü İşleme Yüz Tanıma API'sini kullanmak için Azure aboneliğinde hizmet için bir kaynak sağlamalısınız. Yüz Tanıma'yı tek hizmetli bir kaynak olarak sağlayabilir veya çok hizmetli bir Döküm Araçları kaynağında Yüz Tanıma API'sini kullanabilirsiniz; tek başına kaynak olarak veya Microsoft Foundry projesinin bir parçası olarak sağlanabilir.
Kaynağınızı bir istemci uygulamasından kullanmak için anahtar tabanlı kimlik doğrulaması veya Microsoft Entra AI kimlik doğrulaması kullanarak uç noktasına bağlanmanız gerekir. REST arabirimini kullanırken, istek üst bilgisinde kimlik doğrulama anahtarını veya belirteci sağlayabilirsiniz. Dile özgü bir SDK (örneğin, Python azure-ai-vision-face paketi veya Microsoft .NET Azure.AI.Vision.Face paketi) kullanırken hizmete bağlanmak için bir FaceClient nesnesi kullanırsınız.
from azure.ai.vision.face import FaceClient
from azure.ai.vision.face.models import *
from azure.core.credentials import AzureKeyCredential
face_client = FaceClient(
endpoint="<YOUR_RESOURCE_ENDPOINT>",
credential=AzureKeyCredential("<YOUR_RESOURCE_KEY>"))
using Azure;
using Azure.AI.Vision.Face;
FaceClient faceClient = new FaceClient(
new Uri("<YOUR_RESOURCE_ENDPOINT>"),
new AzureKeyCredential("<YOUR_RESOURCE_KEY>"));
Bir görüntüdeki yüzleri algılamak ve analiz etmek için, hizmetin döndürmesini istediğiniz modele özgü özellikleri belirtmeniz ve ardından Detect yöntemini çağırmak için istemciyi kullanmanız gerekir.
# Specify facial features to be retrieved
features = [FaceAttributeTypeDetection01.HEAD_POSE,
FaceAttributeTypeDetection01.OCCLUSION,
FaceAttributeTypeDetection01.ACCESSORIES]
# Use client to detect faces in an image
with open("<IMAGE_FILE_PATH>", mode="rb") as image_data:
detected_faces = face_client.detect(
image_content=image_data.read(),
detection_model=FaceDetectionModel.DETECTION01,
recognition_model=FaceRecognitionModel.RECOGNITION01,
return_face_id=True,
return_face_attributes=features,
)
// Specify facial features to be retrieved
FaceAttributeType[] features = new FaceAttributeType[]
{
FaceAttributeType.Detection01.HeadPose,
FaceAttributeType.Detection01.Occlusion,
FaceAttributeType.Detection01.Accessories
};
// Use client to detect faces in an image
using (var imageData = File.OpenRead(imageFile))
{
var response = await faceClient.DetectAsync(
BinaryData.FromStream(imageData),
FaceDetectionModel.Detection01,
FaceRecognitionModel.Recognition01,
returnFaceId: false,
returnFaceAttributes: features);
IReadOnlyList<FaceDetectionResult> detected_faces = response.Value;
}
Hizmetten gelen yanıt aşağıdakilere bağlıdır:
- Modele özgü özellikler istendi.
- Görüntüde algılanan yüz sayısı.
Tek bir yüz içeren bir görüntüye yönelik yanıt aşağıdaki örneğe benzer olabilir:
[
{
'faceRectangle': {'top': 174, 'left': 247, 'width': 246, 'height': 246}
'faceAttributes':
{
'headPose':{'pitch': 3.7, 'roll': -7.7, 'yaw': -20.9},
'accessories':
[
{'type': 'glasses', 'confidence': 1.0}
],
'occlusion':{'foreheadOccluded': False, 'eyeOccluded': False, 'mouthOccluded': False}
}
}
]