كيف يتعرف الروبوت الوجوه؟
يركز عالمنا اليوم على تعرُّفِ الوجوه (Face Recognition) أكثر من أي وقت مضى؛ فقط ألقِ نظرة إلى أحدث إصدارات الهواتف الذكية؛ يسمح لك معظمهم الآن بإلغاء قفل هاتفك من خلال التعرف إلى وجهك، أو على الأقل التقاط صورة لوجه الشخص الذي يحاول سرقة هاتفك.

بالنظر إلى وسائل التواصل الاجتماعي: يشير إليك Facebook أو إلى أصدقائك تلقائيًا، أو تبحث خوارزمياته عن الصور التي توجد فيها ولم يُشِر أحد إليك بعد؛ كما يوفر Snapchat العديد من المرشحات (face filters) الشائعة الاستخدام لتغيير ملامحك كليَّا وإضفاء ملامح مخلوقات أخرى على وجهك مثل الكلاب أو القراصنة؛  وفي Google Photos يمكنك تجميع الصور وترتيبها وفق الوجوه المتشابهة للعثور بسهولة على جميع صور أصدقائك المفضلين. وأخيرًا وليس آخرًا، شاركت تقنية تعرُّف الوجوه في بعض الموضوعات المثيرة للجدل مثل DeepFakes أو FindFace.

تقنية أخرى نحن مفتونون بها هي الروبوتات؛ يعد الروبوت Pepper واحدًا من أكثر الروبوتات الشبيهة بالبشر إلى حدٍّ بعيد؛ إذ يمكنه التحدث والاستماع والإيماء والرقص وحتى تعرف مشاعرك!

لنقابل الروبوت Pepper:

نعم؛ يمكن لهذا الروبوت التحدث والاستماع والإيماء والرقص وحتى تعرف مشاعرك؛ ولكن الشيء الوحيد الذي يعجز عنه Pepper حتى الآن هو تذكر وجوه البشر.

 فلنتعرف معًا إلى الطريقة التي يتمكن Pepper من خلالها تعرف الوجوه.

تعرف الوجوه (Face recognition):

كيف يتمكن Pepper من “تعرف” الأشخاص الذين يتحدثون إليه، وبالتالي تحسين جودة الحوار والمحادثة؟ يتعين علينا اتخاذ بعض الخطوات لتحقيق ذلك؛ هي كالآتي:

التقاط صورة من الكاميرا:

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

الكشف عن الوجوه/ تحديد الوجود (Face detection):

قبل تعرف الوجه، يحتاج Pepper أولاً إلى اكتشاف وجود وجه ضمن الصورة في الأساس، ويتحقق ذلك باستخدام خوارزميات مُتخصصة مثل خوارزمية (Viola Jones) وهي المستخدمة هُنا؛ تعتمد على مجموعة من المرشحات (filters) لاتخاذ القرار عمّا إذا كان الجزء المُحدد من الصورة يحتوي على وجه أما لا. ثم إنها شائعة الاستخدام في الكاميرات بغرض الكشف عن الوجوه وتحديدهم باستخدام إطار مُربع.

ضُمِّنَت ميزة الكشف عن الوجوه في نظام الروبوت؛ لكن من أجل أن يتعرف الوجه المقابل له يحتاج إلى التقاط صورة ملونة بالحجم الكامل. لذلك أُضيفَت هذه التقنية بالزمن الحقيقي (real-time) أيضًا بغرض التأكد من أن الكاميرا موجهة إلى وجه الشخص قبل التقاط صورة له، وهكذا لا تُلتَقَط صورة للجدار أو الطاولة عن غير قصد في حال تحرك الشخص فجأة.

مرحلة ما قبل المعالجة (Pre-processing):

عند الكشف عن الوجه، يمكن التركيز على شخص واحد فقط في نفس الوقت. إن الخطوة التالية ليست ذات أهمية كبيرة لكنها تساعد كثيرًا في القيام بمزيد من المعالجة للصورة. نريد محاذاة الوجه الذي اكتُشِف بحيث يتم محاذاة العينين أفقياً ووضعهما في نفس المكان ضمن الصورة المُعالَجة. يمكننا أيضًا تطبيق: عملية (histogram equalization) التي تُستخدم في ضبط شدة الألوان في الصورة بغرض تعزيز تباينها، وعملية (gamma  correction) التي تُستخدم في التحكم في شدة سطوع الصورة؛ وأخير يُطبَّق تقسيم للصورة (image segmentation).

استخراج السمات Feature extraction:

الآن تُطبق عملية (digitalizing) على الصورة أي تُحوَّل إلى شعاع من الأرقام (vector of numbers) يُستخدَم لاحقًا في وصف الشخص. يبدو هذا معقدًّا؟ حسنًا لنبسط الأمر ليشمل فقط سمتين: لون البشرة والجنس. 

فلنعيّن للون البشرة الداكنة القيمة (-1) وللون البشرة الفاتحة القيمة (+1)، والقيمة (+1) للنساء و القيمة (-1) للرجال. باستخدام المتغيرات السابقة، يمكن وضع الأشخاص وتصنيفهم كما في الصورة أدناه:

بمساعدة المتغيرات السابقة، يمكن حساب المسافات الإقليدية (Euclidian dictance) بين هذه المتجهات:

يمكن اختيار العديد من السمات الأخرى، مثل: حجم الأنف أو لون الشعر أو شكل الرأس؛ ولكن بذلك يتعين علينا تدريب النظام للنظر في كل السمات. ولتحقيق ذلك بصورة أفضل تُستخدَم شبكات عصبونية صنعية (Artificial Neural Networks: ANN) لتحديد أفضل السمات وضبطها. 

وقد قام بعض الباحثين بذلك في السابق لتُطبَّق ها هنا، وباستخدام شبكة عصبونية لتحليل صورة معينة نحصل على 128 رقم متغيّر. وحتى تتم عملية تعرف الوجه، يجب أن تكون المتغيرات الناتجة عن صور الشخص –المُخزّنة في قاعدة بيانات الوجوه- ذات مسافة قصيرة، بينما تكون المسافة أكبر عن الصور المُخزَّنة العائدة لأشخاص آخرين.

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

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

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

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

الخلاصة:

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

يمكنه أيضًا تذكر المشاعر التي شعرت بها في محادثتك الأخيرة معه. إن مثل هذه التفاعلات تجعله روبوتًا أقرب إلى البشر. يمكننا أيضًا السماح لـ Pepper بإرسال بريد إلكتروني من حسابك؛ هنالك احتمالاتٌ لا حدود لها وخيالنا فقط هو السفينة التي تغمر عباب هذه الاحتمالات.

المصدر

  • ترجمة: ياسر طبيله
  • مراجعة: نور عبدو