بقلم: شروق عبدالحكيم
في عالم الذكاء الصناعي، هناك مصطلح بالغ الأهمية يُسمَّى «الرؤية الحاسوبية» (Computer vision). وهو، كما يوحي الاسم، تقنية تمكن الآلة من معالجة البيانات البصرية والوصول إلى درجة من فهمها.
وقد أصبح مجال الرؤية الحاسوبية أمراً اعتياديًا في عالمنا المعاصر شيئًا فشيئًا، فنحن نتعامل يوميًا مع أمثلة مختلفة لهذه التقنية بالفعل، بدءًا من تطبيقات بصمة الوجه وصولًا إلى السيارات ذاتية القيادة.
لكن، هل توقفت قليلًا لفهم ما الذي يجري حقًا داخل هذه التقنيات؟ وكيف يُمكِن لحاسوبٍ وبرنامجٍ إلكتروني أن “يرى” مثلما نرى؟
كيف يرى البشر؟
لا نهتم هنا بالعملية الفسيولوجية للرؤية، وإنما بعملية وضع معنى وسياقٍ لما نشاهده بأعيننا.
فالإنسان يتعلم بالتكرار؛ يرى صغار البشر الأشياء مثلنا، ولكنهم لا يعرفون لها معناً بالفطرة، بل يستوعبون المعنى الذي تُمليه عليهم هذه الأشياء من ردود الفعل التي يحصلون عليها من الكبار.
وتُعد عملية التعلم هذه مقاربة جدًا لما يفعله الحاسوب؛ فمن الأفضل عدم تخيل الآلة “تعي” معنى الصور، فهذا سياق بشري بالكليَّة، بل تخيلها متطورة بما يكفي لوضع عنوان مناسب لهذه الصور والاستفادة من هذه المعلومات.
فلهذه البرامج أعين تتمثل في الكاميرات أو المستشعرات، ولها أدمغة تتمثل في الخوارزميات والشبكات العصبية الالتفافية. لكنها جميعًا أعضاء غير حسية وغير واعية. ومع ذلك، وبشكل ما، يمكننا القول أن فهمنا واستحداثنا لتقنيات رؤية آلية يساعدنا على فهم مصطلح الرؤية لدينا نحن البشر.
ففي الواقع، نحن لا نعرف بالتحديد كيف نعي ما نراه، يمكننا أن نصف بدقة كيف تتم عملية الإبصار بداية من سقوط الضوء على شبكية العين، ثم تحول هذا الضوء الساقط إلى نبضات عصبية، وحتى انتفال هذه النبضات على طول العصب البصري إلى مركز الرؤية بالدماغ.
ولكننا لا نستطيع بأي حال وصف الكيفية التي تمنحنا بها هذه الومضات والأطوال الموجية “الإحساسَ” أو “الإدراكَ” للرؤية. بل إننا يصعب علينا معرفة إذا كانت تجربة البشر لنفس الشيء تنتج نفس الإحساس أو «الكيفيات المحسوسة» (Qualia)، وهو ما يُعرَف في فلسفة العقل (معضلة الوعي الصعبة).
لحسن الحظ، لا يفكر الحاسوب في مثل هذه المعضلات؛ فالأمر بالنسبة إليه مجرد خطوات منطقية مرتبة.
الرؤية الحاسوبية خطوة بخطوة:
يبدأ الأمر من مرحلة تدريب برنامج الرؤية الحاسوبية؛ وذلك بتغذيته بعدد كبير من المدخلات البصرية من الصور والفيديوهات بمختلف حيثيات الصورة وكلما زادت قاعدة بيانات البرنامج وقت التدريب، زادت دقته وقدرته على التنبؤ بالمدخلات مستقبلاً.
ولكن ينبغي أن نوضح أنَّ البيانات التي يتغذى عليها النموذج وقت التدريب تكون معنونة؛ يوفر المبرمجون الكثير من البيانات البصرية إلى جانب شرحٍ لما تحويه الصورة ليساعد البرنامج على الفهم.
يشبه الأمر تعلم الأطفال للكلام في بداية حياتهم، حيث يُريهم الآباء جسمًا ما ويرددون اسمه أمامهم، فهذه مثلًا تُسمَّى “كرة”، حتى يعتاد الأطفال الجسم الكروي وبعض الصفات التي تميز الكرة عن أجسام أخرى، ويتمكنوا من الإشارة إلى الأشياء بأسمائها بأنفسهم بعد وقت قليل.
الشبكات العصبية الالتفافية (CNN):
لا يرى النموذج الحاسوبي الصورَ كما نراها نحن كأشكال وألوان، بل يرى مجموعة أرقام ومصفوفات تصف الوحدات المكوِّنة للصورة، وتُعرَف هذه الوحدات بـ«البيكسل» (Pixel)؛ حيث تتم كل المعالجات عن طريق عمليات حسابية يجريها النموذج على الوحدات الرقمية المكوِنة للبيكسلات.
والمقابل للدماغ البشري في حالة الذكاء الصناعي، هو مجموع الخوارزميات التي يمتلكها البرنامج، وفي حالة نماذج معالجة الصور يملك البرنامج مجموعة من «المرشِّحات» (Filters)، ويُعبِّر كل مرشِّح منها عن خاصية معينة يبحث عنها النموذج في الصورة المُدخَلة له.
وعن طريق معادلات حسابية يطبق البرنامج هذه المرشِحات على كل جزء من الصورة، لتنتج عن هذه العملية قيمٌ جديدة لوحدات الصور (Pixels) بدلالات معينة يستخدمها البرنامج في العمليات التالية. تختلف هذه المرشحات فيما بينها وتختلف المعلومة التي تستخرجها من الصورة، فمنها مرشِحات للحواف، وأخرى للخطوط الأفقية أو الرأسية، وغيرها للإضاءة وتشبع اللون.
تُرتَب هذه المرشِّحات في «مستويات» (Layers)، ويكون كل مستوى مسؤولًا عن معلومة معينة يستخرجها من الصورة. وتسري المعلومات بين هذه المستويات؛ حيث تعمل مخرجات كل مستوى كمدخلات للمستوى الذي يليه. والتشابك بين هذه المستويات يشبه التشابك بين الخلايا العصبية في البشر، ويُكوِّن ما يُسمَّى بـ«الشبكة العصبية الالتفافية» (Convolutional Neural Network)، وهي أقرب ما يكون الذكاء الاصطناعي للدماغ البشري.
ولأن تكرار هذه العمليات ينتج عنه عدد مهول من البيانات، فإن برامج الذكاء الاصطناعي تستخدم بعض الخوارزميات لتقليص حجم تلك البيانات، ولكن دون فقدان المعلومات المهمة من الصورة. هذه خطوة أساسية لتتمكن البرامج من التعامل بفاعلية وسرعة مع البيانات المُدخَلة، وهي من أهم الخواص التي تميز الشبكات العصبية الالتفافية عن غيرها من الشبكات العصبية الاصطناعية.
تطبيقات الرؤية الحاسوبية:
فيما يتعلق بالدقة وبفحص كل جزء من الصور المُدخَلة، تتفوق برامج الرؤية الحاسوبية على البشر ولهذا تُستخدَم هذه البرامج في كثير من التطبيقات المهمة وتُبدي فيها تحسنًا ملحوظًا، مثل:
- بعض التطبيقات الطبية كقراءة الأشعة والتحاليل: تُظهِر برامج الرؤية الحاسوبية براعة فائقة في التعرف على بعض الأمراض من خلال قراءة التصوير الإشعاعي أو التشريحي لها. عادة ما تكون هذه مهمة صعبة على البشر لكون التغيرات الملحوظة دقيقة للغاية -وخاصة في بداية تكون المرض- بحيث لا تُرصَد بالعين البشرية، وقد تُخطئها العين بسهولة. لكن مع وجود تقنية تقوم بمسح كل جزء من الصورة ولا تسهو عن أي منها أصبحت هذه مهمة أسهل. إذ أحدثت هذه البرامج نقلة كبيرة في سرعة تشخيص الأمراض في مراحلها الأولى، بل والتنبؤ بحدوثها.
- مجال المراقبة: التعرف على الوجوه لا يكون فقط في حالة فتح هاتفك الذكي، وإنما للتعرف على أشخاص قد يمثلون تهديدًا أمنيًا كذلك، فمن بين حشود من الناس تستطيع البرامج العثور على أشخاص بعينهم بدقة بالغة. ومن أهم ما يميز الآلة عن البشر في هذا المجال المراقبة المستمرة والشاملة لكل مكان يمكن أن تتوفر فيه أداة تصوير، فالآلة -كما نعلم- لا يصيبها الملل ولا التعب، ولا تسهو عن صورة ما أو عن موضع في فيديو مراقبة، لذا يتميز مجال المراقبة بسيطرة الآلة عليه.
- إلى جانب التعرف على الوجوه وتحديد أصحابها، وصلت تكنولوجيا التعرف على الوجوه أيضًا إلى معرفة شعور الشخص في لحظة ما على وجه التحديد. عن طريق بعض القياسات لملامح الوجه، كالمسافة بين الحاجبين والعينين عند الغضب أو الدهشة، والمسافة بين جانبي الفم عند الضحك أو العبوس. تستطيع برامج الذكاء الاصطناعي توقع شعور المُستخدِم بدرجة كبيرة، وبالتالي تُقدم خدمة أكثر ملائمة وتكيفًا مع شعوره.
وغيرها الكثير من التطبيقات الأخرى التي اعتدناها في حياتنا وسهلت علينا بعض المهام اليومية الصعبة. يُعَد مجال الآلة والذكاء الاصطناعي من أسرع المجالات تطورًا، فمن يدري ما يخبئه لنا المستقبل القريب من تطبيقات جديدة وما قد يصاحبها من تحديات أيضًا!
المصادر:
https://www.ibm.com/topics/computer-vision
What Is Computer Vision? | Microsoft Azure
What is data labeling? (amazon.com)
Image Labeling in Computer Vision: A Practical Guide (datagen.tech)
What Are Convolutional Neural Networks? (serokell.io)
How Do Convolutional Layers Work in Deep Learning Neural Networks? – MachineLearningMastery.com
The 100 Most Popular Computer Vision Applications in 2023 – viso.ai