دليل موجز للتعرف على الوجوه والفيديو من BBC

غالبًا ما تكون المهام التي يقوم بها البشر دون تفكير تتطلب بعضًا من أكثر العمليات تعقيدًا وراء الكواليس. تذوق الطعام ، والدردشة مع الأصدقاء ، والاستماع إلى الموسيقى ، وفي الواقع ، التعرف على الأشخاص. عندما تشاهد حلقة من Eastenders ، سترى الممثلين المختلفين في بيئات مختلفة ، من زوايا مختلفة وفي إضاءة مختلفة ، ولكن فورًا يتعامل عقلك مع هذه الاختلافات ليعرف أنه Dot Cotton و Phil Mitchell في المشهد. نظرًا لأننا لا نفكر في المعالجة المعنية ، فقد فوجئنا عندما وجدنا أن هذه المهام أكثر تعقيدًا مما كنا نعتقد في البداية عندما نحاول تطبيقها على التعلم الآلي.

التقط الصور التالية من Prince Harry و Megan Markle في الشارع. يمكننا أن نرى هاري وميجان من زوايا مختلفة هنا - أمامية وجانبية وخلفية - لكننا نتعرف عليها بسهولة من خلال ميزاتها: لون البشرة ولون الشعر وما إلى ذلك. نأخذ أيضًا بعض الإشارات الاجتماعية في الاعتبار. ينظر الحشد إليهم ، وهم يرتدون ملابس جيدة ، وهم في وسط كل طلقة وهناك استمرارية واضحة للطلقات من نفس المشهد. هناك العديد من طبقات الحدس البشري هنا التي نميل إلى عدم التفكير فيها عندما نكتشف المؤشرات الثقافية والبدنية.

نتعرف بشكل طبيعي على هاري وميجان ، على الرغم من الزوايا المختلفة في هذه الطلقات

فكيف نعلم الكمبيوتر على تعلم كيفية القيام بكل هذا؟ على الرغم من أننا لا نستطيع الحصول على خوارزمية للتفكير كإنسان ، إلا أنه يمكننا الحصول عليها للقيام بما هو أفضل من التعلم الآلي: اكتشاف الأنماط في مجموعات البيانات الكبيرة ذات العلامات. يتضمن ذلك جمع الصور وتدريب الخوارزمية ومعالجة مقاطع الفيديو والتعرف على الأشخاص فيها. المخرجات النهائية هي قائمة بالأشخاص الذين تم التعرف عليهم في مقطع فيديو بالإضافة إلى الوقت والمكان في الإطارات التي يظهرون فيها.

نحن نعمل بالفعل على بناء هذه التكنولوجيا في بي بي سي. يتم تطوير نظامنا ، الذي يطلق عليه FaceRec ، بواسطة فريق بيانات خدمات البحث والأبحاث عبر الإنترنت ضمن BBC للبحث والتطوير (سنقوم بحفظ بعض ضغطات المفاتيح وسنطلب منهم فقط فريق البيانات من هنا فصاعداً). تم تصميمه باستخدام مزيج من التعليمات البرمجية الداخلية والبرامج الخارجية مفتوحة المصدر - خاصةً ، Seetaface ، وهو محرك التعرف على الوجه C ++.

يعمل FaceRec من خلال معالجة الفيديو من خلال سلسلة من الخطوات الحسابية ، كل حل جزء معين من المشكلة الشاملة. سنعطيك نظرة عامة على كيفية عمل كل شيء.

1. كشف الطلقات

لكي يتم اكتشاف كل وجه في مقطع فيديو ، نحتاج أولاً إلى تقسيم الفيديو إلى لقطات مكونة له (يتم تعريف اللقطة على أنها سلسلة من الإطارات تعمل لفترة زمنية غير متقطعة). للقيام بذلك ، يستخدم FaceRec مكتبة معالجة الوسائط FFmpeg ، التي تستخدم دالة لإرجاع جميع أوقات البدء والانتهاء في اللقطات داخل فيديو معين.

2. كشف الوجوه

والخطوة التالية هي التحقق من كل إطار لمعرفة ما إذا كان يحتوي على وجوه بشرية. هذه مشكلة صعبة - هل يجب أن نحاول اكتشاف كل وجه في مباراة كرة قدم؟ هل وجه على عدد قميص؟ هل الصور على مقدمة الصحف؟

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

3. إنشاء مسارات الوجه

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

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

تلتف الصناديق حول الوجوه من خلال لقطة

تحت الغطاء ، يتم حل هذه المشكلة باستخدام طريقة Dlib و Lucas-Kanade. يؤدي هذا إلى إنشاء مسارات للوجه يتم تحديدها بواسطة نقاط زمنية وقائمة الإطارات ومربعات الوجوه المحيطة.

4. إنشاء ناقلات الوجه للمسارات

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

لإنشاء متجهات للوجوه المكتشفة ، يستخدم FaceRec مكتبة التعرف على الوجوه الخاصة بـ SeetaFace. يتغذى FaceRec في صور تم اقتصاصها من الوجوه المكتشفة داخل الصناديق المحيط بها من منتصف منتصف مسار الوجه. يستقبل متجه 2024 الأبعاد التي تمثل ميزات هذا الوجه.

5. التعرف على وجوه الناس في ناقلات المسار الوجه

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

السؤال الأول هنا هو: من الذي نتعرف عليه؟ من المؤكد أننا لا نستطيع بناء نموذج للاعتراف بكل من عاش على الإطلاق - ولا نريد ذلك. إذن من الذي نعتبره مهمًا بما يكفي لنظام التعرف على الوجوه؟

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

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

بعد جمع الصور ، قام فريق البيانات بعد ذلك بتزويدهم بمصنف لتعلم الآلة يطلق عليه جهاز ناقل الدعم لإنشاء نماذج مدربة. عند تغذية وجه متجه من SeetaFace ، تتوقع هذه النماذج اسم الشخص الموجود في صورة الوجه الأصلية أو معرفة ما إذا كان لم يتعرف على الوجه على الإطلاق.

إنشاء IRFS نموذجين:

  1. نموذج الأرشيف: أشخاص مشهورون من القرن العشرين فصاعدًا يختارهم أشخاص من أرشيف بي بي سي. تضمن هذا النموذج حوالي 1000 شخص.
  2. نموذج إخباري: ما زال قيد التطوير ، وسيتوسع ليشمل أكثر من 2000 عضو في البرلمان البريطاني والجمعيات الإقليمية ، ومجلس اللوردات والقادة العالميين. تم الحصول على صور التدريب من بي بي سي نيوز ، الوقائع والدراما.

ثم يتم استخدام هذه النماذج المدربة للتنبؤ بالأشخاص الموجودين في المسارات الوجهية في مقاطع الفيديو.

6. العنقودية مسارات الوجه

الآن وقد تم تسمية جميع المسارات الوجهية ، فإن الخطوة الأخيرة هي جمع جميع المسارات للشخص نفسه.

للقيام بذلك ، وضعنا جميع متجهات الوجه المستخرجة من مقطع الفيديو في مساحة متجه واحدة ، والتي سنطلق عليها مساحة للوجه. لتصور مساحة الوجه ، يمكننا استخدام أداة تسمى Tensorboard ، وهي جزء من مكتبة التعلم الآلي Tensorflow.

بالنظر إلى مساحة الوجه هذه ، نأمل أن تكون المتجهات من نفس الشخص قريبة من بعضها البعض بشكلٍ كافٍ وبعيدة بما يكفي عن الأشخاص الآخرين الذين يمكننا تجميعهم تلقائيًا. هذا معروف في التعلم الآلي كمشكلة تجميع.

يمكننا أن نرى ناقلات مسار الوجه المسقطة في مساحة الوجه هذه لمقطع فيديو هاري وميغان أدناه. ونرى أن معظم مسارات Megan يتم تجميعها معًا ، مما يجعلها سهلة التجميع. هذه هي الطريقة التي نعرف أن ناقلات الوجه التي تم إنشاؤها تعمل بشكل جيد.

تصور الوجوه مع TensorBoard

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

بدلاً من السقوط في حفرة مظلمة من خلال محاولة حل هذه المشكلة تمامًا ، قرر فريق البيانات الركض ببعض الاستدلال. يقسم FaceRec المشكلة إلى فئتين منفصلتين: وجوه الأشخاص الذين يتعرفون عليها ووجوه الأشخاص الذين لا يتعرفون عليها. بالنسبة للوجوه المعترف بها ، فإنه يقوم ببساطة بتجميع كافة مسارات الوجوه معًا والتي لها نفس التسمية المتوقعة (الاسم). بالنسبة للوجوه غير المعترف بها ، تستخدم تقنية تسمى التجميع الهرمي على متجهات الوجه لتجميعها ، ولكن لا تعطيها علامات.

7. إخراج المعلومات

الخطوة الأخيرة لـ FaceRec هي تغذية جميع المعلومات التي تم جمعها خلال الخطوات المختلفة. يأتي ذلك في شكل ملف JSON الذي يحتوي على:

قائمة المسارات في الفيديو. لكل مسار له:

  • الشخص المتوقع لهذا المسار
  • ثقة التنبؤ
  • تتبع UUID
  • وجه متجه لهذا المسار
  • قائمة الإطارات في هذا المسار

في قائمة الإطارات ، تتضمن المعلومات الموجودة على كل إطار:

  • وجه متجه لهذا الإطار إذا تم اكتشافه
  • يحد مربع الإحداثيات للوجه
  • الوقت في الفيديو يحدث الإطار

ماذا يمكننا أن نفعل مع هذه البيانات؟ يمكنك الاطلاع على منشور المدونة التالي لرؤية أفكارنا.

يتم إحتوائه

هذا عن ذلك حقا. نأمل أن نكون قد ساعدنا في فهم الأجزاء الكثيرة التي تدخل في نظام التعرف على الوجوه بالفيديو. وربما جعلناك أيضًا أكثر وعياً بكل الرهانات والغموض الثقيل الذي يتعامل به عقلك مع مئات المرات في اليوم عند التعرف على أصدقائك وأحبائك.

بعد فهم الإجراءات الداخلية لنظام FaceRec ، كانت مهمة مختبرات الأخبار هي معرفة أين يمكن لهذه التقنية أن تضيف قيمة أعمال داخل هيئة الإذاعة البريطانية. كيف نعرض قدرات FaceRec من خلال عرض بديهي؟ ما هي أنظمة الإنتاج التي يمكننا أن نرى FaceRec يلائمها؟ الذي يمكن أن تحل مشاكل سير العمل؟ والأهم من ذلك ، كيف يشعر الناس حول استخدام التعرف على الوجوه؟ نتحدث عن تحديات طرح تقنية جديدة داخل مؤسسة كبيرة والأسئلة التي واجهناها عند تطوير نموذج أولي للتعرف على الوجه في "التعرف على الوجوه - ما الفائدة منه لغرف الأخبار؟".