حدد نموذجاً لاكتشاف الوجه

يوضح لك هذا الدليل كيفية تحديد نموذج الكشف عن الوجه لخدمة Azure الذكاء الاصطناعي Face.

تستخدم خدمة Face نماذج التعلم الآلي لتنفيذ العمليات على الوجوه البشرية في الصور. نواصل تحسين دقة نماذجنا بناءً على ملاحظات العملاء والتقدم في البحث، ونقدم هذه التحسينات كتحديثات للنماذج. للمطورين خيار تحديد إصدار نموذج اكتشاف الوجه الذي يرغبون في استخدامه؛ يمكنهم اختيار النموذج الأنسب لحالة الاستخدام الخاصة بهم.

تابع القراءة لمعرفة كيفية تحديد نموذج اكتشاف الوجه في عمليات معينة للوجه. تستخدم خدمة Face اكتشاف الوجه عندما تقوم بتحويل صورة وجه إلى شكل آخر من البيانات.

إذا لم تكن متأكداً مما إذا كان يجب عليك استخدام أحدث نموذج، فانتقل إلى قسم تقييم النماذج المختلفة لتقييم النموذج الجديد ومقارنة النتائج باستخدام مجموعة البيانات الحالية.

المتطلبات الأساسية

يجب أن تكون على دراية بمفهوم اكتشاف الوجه بالذكاء الاصطناعي. إذا لم تكن كذلك، فراجع الدليل المفاهيمي لاكتشاف الوجه أو دليل الكيفية:

تقييم نماذج مختلفة

تم تحسين نماذج اكتشاف الوجه المختلفة لمهام مختلفة. انظر الجدول التالي للحصول على نظرة عامة على الاختلافات.

النموذج ‏‏الوصف ملاحظات الأداء السمات معالم
detection_01 الاختيار الافتراضي لجميع عمليات الكشف عن الوجه. غير مُحسَّن للوجوه الصغيرة أو الجانبية أو غير الواضحة. يُرجع سمات الوجه الرئيسية (وضع الرأس، والعمر، والعاطفة، وما إلى ذلك) إذا تم تحديدها في مكالمة الكشف. إرجاع معالم الوجه إذا كانت محددة في استدعاء الكشف.
detection_02 تم إصداره في مايو 2019 ومتوفر اختيارياً في جميع عمليات اكتشاف الوجه. دقة محسّنة على الوجوه الصغيرة ذات الرؤية الجانبية والضبابية. لا يعيد سمات الوجه. لا ترجع معالم الوجه.
detection_03 صدر في فبراير 2021 ومتوفر اختيارياً في جميع عمليات اكتشاف الوجه. مزيد من الدقة المحسّنة، بما في ذلك على الوجوه الأصغر (64 × 64 بكسل) واتجاهات الوجه المستديرة. يُرجع سمات وضع القناع والرأس إذا كانت محددة في استدعاء الكشف. إرجاع معالم الوجه إذا كانت محددة في استدعاء الكشف.

أفضل طريقة لمقارنة أداء نماذج الكشف هي استخدامها في عينة مجموعة بيانات. نوصي باستدعاء Detect API على مجموعة متنوعة من الصور، خاصة صور العديد من الوجوه أو الوجوه التي يصعب رؤيتها، باستخدام كل نموذج كشف. انتبه إلى عدد الوجوه التي يرجعها كل نموذج.

الكشف عن الوجوه باستخدام نموذج محدد

يكتشف اكتشاف الوجه مواقع الصندوق المحيط للوجوه البشرية ويحدد معالمها المرئية. فهو يستخرج ميزات الوجه ويخزنها لاستخدامها لاحقاً في عمليات التعرُّف.

عند استخدام Detect API، يمكنك تعيين إصدار النموذج مع المعلمة detectionModel . القيم المتاحة هي كما يلي:

  • detection_01
  • detection_02
  • detection_03

سيبدو عنوان URL للطلب ل Detect REST API كما يلي:

https://westus.api.cognitive.microsoft.com/face/v1.0/detect[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes][&recognitionModel][&returnRecognitionModel][&detectionModel]&subscription-key=<Subscription key>

إذا كنت تستخدم مكتبة العميل، فيمكنك تعيين قيمة لـ detectionModel بتمرير سلسلة مناسبة. إذا تركته دون تعيين، فستستخدم واجهة برمجة التطبيقات إصدار النموذج الافتراضي (detection_01). راجع المثال التالي من التعليمة البرمجية لمكتبة عميل NET.

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
var faces = await faceClient.Face.DetectWithUrlAsync(url: imageUrl, returnFaceId: false, returnFaceLandmarks: false, recognitionModel: "recognition_04", detectionModel: "detection_03");

إضافة وجه إلى Person باستخدام النموذج المحدد

يمكن لخدمة Face استخراج بيانات الوجه من صورة وإقرانها بكائن Person من خلال واجهة برمجة تطبيقات Add Person Group Person Face . في استدعاء واجهة برمجة التطبيقات هذا، يمكنك تحديد نموذج الكشف بنفس الطريقة كما هو الحال في Detect.

راجع المثال التالي من التعليمة البرمجية لمكتبة عميل NET.

// Create a PersonGroup and add a person with face detected by "detection_03" model
string personGroupId = "mypersongroupid";
await faceClient.PersonGroup.CreateAsync(personGroupId, "My Person Group Name", recognitionModel: "recognition_04");

string personId = (await faceClient.PersonGroupPerson.CreateAsync(personGroupId, "My Person Name")).PersonId;

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
await client.PersonGroupPerson.AddFaceFromUrlAsync(personGroupId, personId, imageUrl, detectionModel: "detection_03");

هذه التعليمة البرمجية تنشئ PersonGroup بالمعرف mypersongroupid وتضيف Person إليها. ثم تضيف وجهاً لهذا الشخص باستخدام النموذج detection_03. إذا لم تحدد معلمة detectionModel، فستستخدم واجهة برمجة التطبيقات النموذج الافتراضي، detection_01.

إشعار

لا تحتاج إلى استخدام نفس نموذج الكشف لجميع الوجوه في كائن Person ، ولا تحتاج إلى استخدام نفس نموذج الكشف عند الكشف عن وجوه جديدة للمقارنة مع كائن Person (في واجهة برمجة تطبيقات مجموعة التعريف من الشخص، على سبيل المثال).

أضف الوجه إلى FaceList بالنموذج المحدد

يمكنك أيضاً تحديد نموذج اكتشاف عند إضافة وجه إلى عنصر FaceList موجود. راجع المثال التالي من التعليمة البرمجية لمكتبة عميل NET.

await faceClient.FaceList.CreateAsync(faceListId, "My face collection", recognitionModel: "recognition_04");

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
await client.FaceList.AddFaceFromUrlAsync(faceListId, imageUrl, detectionModel: "detection_03");

تنشئ هذه التعليمة البرمجية FaceList تسمى My face collection وتضيف إليها وجهاً بالنموذج detection_03. إذا لم تحدد معلمة detectionModel، فستستخدم واجهة برمجة التطبيقات النموذج الافتراضي، detection_01.

إشعار

لا تحتاج إلى استخدام نفس نموذج الكشف لجميع الوجوه في كائن FaceList ، ولا تحتاج إلى استخدام نفس نموذج الكشف عند الكشف عن وجوه جديدة للمقارنة مع كائن FaceList .

الخطوات التالية

في هذه المقالة، تعلمت كيفية تحديد نموذج الكشف المراد استخدامه مع واجهات برمجة تطبيقات مختلفة للوجه. بعد ذلك، اتبع الخطوات الأولى للبدء في اكتشاف الوجه وتحليله.