الرؤية الحاسوبية Computer Vision

“إذاأردنا أن تفكر الآلات، فنحن بحاجة إلى تعليمها كيف ترى”.  الدكتورة  Fei-Fei Li (مديرة مختبر ستانفورد للذكاء الاصطناعي ومختبر رؤية ستانفورد). هل ترى الآلات؟ وكيف ذلك؟ وهل لها أعين؟! وهل بإمكانها فهم ما سوف تراه؟! كي نجيب عن هذه الأسئلة، سنتحدث في هذا المقال عن الرؤية الحاسوبية ما المقصود بالرؤية الحاسوبية؟ الرؤية الحاسوبية (Computer Vision) بتعريفها […]

شارك هذا المنشور

“إذا
أردنا أن تفكر الآلات، فنحن بحاجة إلى تعليمها كيف ترى”.

 الدكتورة  Fei-Fei Li (مديرة مختبر ستانفورد للذكاء الاصطناعي ومختبر رؤية ستانفورد).

هل ترى الآلات؟ وكيف ذلك؟ وهل لها أعين؟! وهل بإمكانها فهم ما سوف تراه؟!

كي نجيب عن هذه الأسئلة، سنتحدث في هذا المقال عن الرؤية الحاسوبية

ما المقصود بالرؤية الحاسوبية؟

الرؤية الحاسوبية (Computer Vision) بتعريفها البسيط هي مجال من مجالات الذكاء الاصطناعي (AI) والتي تهدف إلى تمكين الأجهزة والأنظمة من فهم وتفسير واستخلاص المعلومات من العالم المرئي والذي يتضمن الصور الرقمية ومقاطع الفيديو وأي مدخلات مرئية أخرى.

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

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

كيف تعمل الرؤية الحاسوبية؟

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

الجدول التالي يوضح المهام التي تقوم بها الرؤية الحاسوبية بشكل يحاكي نظام الرؤية عند الإنسان

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

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

خوارزميات تعلم الآلة وخصوصًا التعلم العميق، تعمل بشكل متوازي وليس بشكل تسلسلي كتفكيرنا نحن البشر، وبتشبيه آخر، الدماغ البشري يعمل مثل وحدة المعالجة المركزية CPU ، وخوارزميات الرؤية الحاسوبية تعمل مثل وحدة معالجة الرسوم  GPUوذلك يبرر سرعة معالجة البيانات.

خطوات عملية الرؤية الحاسوبية

تعمل أنظمة الرؤية الحاسوبية عادةً عن طريق معالجة وتحليل الصور وبيانات الفيديو باستخدام مجموعة من مكونات الأجهزة والبرامج ذات مستوى برمجي مرتفع (High-level Language)، يمكن تقسيم عملية الرؤية الحاسوبية إلى الخطوات التالية:

1.     الاستحواذ (Acquisition)

يتضمن الاستحواذ التقاط الصور أو بيانات الفيديو باستخدام جهاز مثل الكاميرا أو مسجل الفيديو.

2.      تحضير البيانات أو المعالجة القبلية (Preprocessing)

3.      تتضمن هذه الخطوة تنظيف البيانات وإعدادها للتحليل، مثل تصحيح التشويه، وإزالة الضوضاء، وضبط التباين، وتعديل السطوع في الصور.

4.     استخراج الخواص المميزة (Feature extraction)

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

5.     التحليل (Analysis)

 تتضمن هذه الخطوة استخدام خوارزميات وتقنيات التعلم الآلي لتحليل الخواص المميزة المستخرجة وعمل استنتاجات حول الكائنات أو المشاهد المصورة في الصور.

6.     صنع القرار (Decision-making)

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

 

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

تطبيقات الرؤية الحاسوبية

الرؤية الحاسوبية لها مجموعة واسعة من التطبيقات في مختلف المجالات، بما في ذلك:

تحليل الصور والفيديو

 تُستخدم تقنيات الرؤية الحاسوبية لتحليل وتفسير بيانات الصور والفيديو لأغراض متنوعة، مثل تحديد الأشياء والأحداث، واكتشاف التشوهات، واستخراج المعلومات. تشمل التطبيقات: برامج الأمن والمراقبة وبرامج تحليل الصور الطبية وبرامج الترفيه.

الروبوتات

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

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

الواقع المعزز: تُستخدم الرؤية الحاسوبية لتراكب المعلومات الرقمية على صور أو فيديو في العالم الحقيقي في الوقت الفعلي، مما يخلق تجارب مليئة بالمغامرة وتفاعلية. تشمل تطبيقات الألعاب والتعليم والتدريب.

الأمن والمراقبة: تُستخدم الرؤية الحاسوبية لتحليل بيانات الفيديو من الكاميرات الأمنية بغرض كشف وتحديد الأنشطة المشبوهة والأفراد.

تحليل الصور الطبية: تُستخدم الرؤية الحاسوبية لتحليل الصور الطبية (مثل الأشعة المقطعية والأشعة السينية) لغرض التشخيص وتخطيط العلاج.

الإعلان والتسويق: تُستخدم الرؤية الحاسوبية لتحليل الصور والفيديو من وسائل التواصل الاجتماعي والمصادر الأخرى لفهم تفضيلات المستهلك وسلوكه.

الفحص الصناعي: تُستخدم الرؤية الحاسوبية لفحص المنتجات والمواد بحثًا عن العيوب وغيرها من مشكلات الجودة في التصنيع والإعدادات الصناعية الأخرى.

الزراعة: تُستخدم الرؤية الحاسوبية لتحليل الصور ومقاطع الفيديو من المحاصيل والثروة الحيوانية لاكتشاف المشكلات وتشخيصها وتحسين الإنتاج.

أدوات برمجة الرؤية الحاسوبية 

مكتبات الرؤية الحاسوبية: هناك العديد من المكتبات وframeworks المتاحة لمهام الرؤية الحاسوبية، ومن أشهرها وأبسطها تعاملًا معها OpenCV وscikit-image و  TensorFlowوKeras. توفر هذه المكتبات مجموعة من الأدوات والوظائف لمعالجة الصور والتعلم الآلي ومهام الرؤية الحاسوبية الأخرى بشكل بسيط واحترافي ومجهز مسبقًا.

مكتبة OpenCV (Open Computer vision) هي مكتبة رؤية حاسوبية مفتوحة المصدر تعمل على معالجة الصور والفيديو. يمكن استخدام OpenCV في العديد من التطبيقات، مثل:

  1. معالجة الصور (Image processing): يمكن استخدام OpenCV لعمليات المعالجة الأساسية للصور، مثل تعديل التعرض والتباين، واستخلاص الحدود والألوان.
  2. التعرف على الأشياء (Object recognition): يمكن استخدام OpenCV لتعريف وتتبع الأشياء في الصور، مثل الوجوه والسيارات والحيوانات.
  3. التعرف على الوجه (Face recognition): يمكن استخدام OpenCV لتحديد ملامح الوجه وتحديد معالم الوجه، والتي يمكن استخدامها للتعرف على الأشخاص.
  4. التعرف على الحروف (OCR): يمكن استخدام OpenCV للتعرف على الحروف والعبارات في الصور النصية وتعليمها.

مكتبة scikit-image (skimage) هي مكتبة رؤية حاسوبية مفتوحة المصدر تُستخدم لمهام معالجة الصور. يمكن استخدام skimage في العديد من التطبيقات، مثل:

  1. معالجة الصور (Image processing): يمكن استخدام skimage لمهام معالجة الصور الأساسية وتحضيرها، مثل تعديل التعرض والتباين، واستخلاص الحدود والألوان.
  2. التعرف على الكائنات (Object recognition
  3. التعرف على الوجه (Face recognition)
  4. OCR: يمكن استخدام skimage للتعرف على الحروف والعبارات في الصور النصية وتعليمها.

منصة TensorFlow عبارة عن منصة مفتوحة المصدر للتعلم الآلي والذكاء الاصطناعي منصة مفتوحة المصدر تقوم بمعالجة البيانات الصورية بطريقة سريعة جدا وفائقة الجودة. بعض الاستخدامات الشائعة لـ TensorFlow:

  1. التعلم الآلي (Machine learning): يمكن استخدام TensorFlow لتدريب خوارزميات التعلم الآلي وتطبيقها على البيانات، مثل الخوارزميات التي تتعلم من العلاقات في البيانات وتقوم بالتنبؤات بناءً عليها.
  2. التعرف على الكائنات (Object recognition).
  3. معالجة اللغة الطبيعية (Natural language processing): يمكن استخدام TensorFlow لتدريس بيانات النص والكلام وتحليلها، مثل مهام مثل ترجمة اللغة وتحليل المشاعر.
  4. تحليل السلسلات الزمنية (Time series analysis): يمكن استخدام TensorFlow لتحليل بيانات السلسلات الزمنية والتنبؤ بها، مثل البيانات المالية أو بيانات الطقس.

مكتبة keras هي مكتبة تعلم عميق مفتوحة المصدر مبنية على TensorFlow وتستخدم في مجموعة متنوعة من المهام. فيما يلي بعض الاستخدامات الشائعة لـ Keras:

  1. نمذجة الشبكة العصبية (Neural network modeling): يمكن استخدام Keras لبناء وتدريب الشبكات العصبية لمجموعة متنوعة من المهام، مثل تصنيف الصور ومعالجة اللغة الطبيعية والتنبؤ بالتسلسل الزمني.
  2. نقل التعلم (Transfer learning): يمكن استخدام Keras لضبط النماذج المدربة مسبقًا لمهام محددة ، مما يسمح للمستخدمين بالاستفادة من المعرفة المكتسبة من مجموعات البيانات الكبيرة ذات الأغراض العامة.
  3. تقييم النموذج (Model evaluation): يتضمن Keras وظائف لتقييم أداء نموذج مدَرّبْ على مجموعة بيانات التحقق أو الاختبار.

Keras includes functions for evaluating the performance of a trained model on a validation or test dataset.

  1. نشر النموذج (Model deployment): يسمح Keras للمستخدمين بتصدير النماذج المدربة بتنسيق يمكن نشره بسهولة في مجموعة متنوعة من البيئات ، بما في ذلك تطبيقات الويب والجوال.

 

مجموعات البيانات

يوجد العديد من مجموعات البيانات المتاحة لمهام الرؤية الحاسوبية، مثل:

  • مجموعة بيانات ImageNet الشهيرة، والتي تتكون من ملايين الصور المصنفة عبر مئات الفئات.
  • مجموعة بيانات COCO التي تحتوي على مئات آلاف الصور وأكثر من 80 فئة، وتتميز بعدة مواصفات مثل احتوائها على خاصية تجزيء الصورة (Image Segmentation).

يمكن استخدام مجموعات البيانات هذه لتدريب وتقييم نماذج التعلم الآلي لمهام الرؤية الحاسوبية.

تحديات الرؤية الحاسوبية

الرؤية الحاسوبية مجال سريع التطور، لكنه يواجه أيضًا عددًا من التحديات والقيود من أهمها:

جودة البيانات (Data quality): تعتمد خوارزميات الرؤية الحاسوبية على بيانات عالية الجودة للتعلم وإجراء تنبؤات دقيقة. ومع ذلك، يمكن أن تكون البيانات صاخبة أو متحيزة أو غير كاملة، مما قد يؤدي إلى تدهور أداء الخوارزميات.

الإضاءة المغير والمظهر (Variable lighting and appearance): يمكن أن يختلف مظهر الأشياء والمشاهد بشكل كبير بناءً على ظروف الإضاءة، مما يجعل من الصعب على خوارزميات الرؤية الحاسوبية التعميم عبر بيئات مختلفة.

التعقيد الحسابي (Computational complexity): العديد من خوارزميات الرؤية الحاسوبية مكثفة من الناحية الحسابية، وتتطلب قوة معالجة كبيرة ووقتًا للتنفيذ. يمكن أن يمثل هذا تحديًا للتطبيقات في الوقت الفعلي أو للأنظمة ذات الموارد المحدودة.

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

الاعتبارات الأخلاقية: يثير استخدام الرؤية الحاسوبية عددًا من المخاوف الأخلاقية، مثل الخصوصية والتحيز واحتمال إساءة الاستخدام.

المتانة (Robustness): قد لا تعمل خوارزميات الرؤية الحاسوبية باستمرار في جميع المواقف والظروف، وقد تكون عرضة لهجمات الخصوم.

 

التكامل مع التقنيات الأخرى: غالبًا ما تُستخدم الرؤية الحاسوبية بالاقتران مع التقنيات الأخرى، مثل الروبوتات والمركبات المستقلة، ويمكن أن يمثل دمج هذه الأنظمة تحديًا.

مصادر لتعلم الرؤية الحاسوبية:

هناك العديد من الأدوات والموارد المتاحة للمهتمين بمعرفة المزيد عن الرؤية الحاسوبية وتطوير تطبيقات الرؤية الحاسوبية. تتضمن بعض الخيارات:

الكتب:

هناك عدد من الكتب المتوفرة عن الرؤية الحاسوبية، والتي تغطي مجموعة واسعة من الموضوعات ومستويات الخبرة. تتضمن بعض الخيارات منها:

“Computer Vision: A Modern Approach” by D.A. Forsyth and J. Ponce, and “Programming Computer Vision with Python” by J.R. Parker.

“نقل التعلم في الرؤية الحاسوبية: 20 مشروع نقل تعلم في الرؤية الحاسوبية تم حلها وشرحها باستخدام بايثون” للدكتور علاء طعيمة

الدورات التدريبية عبر الإنترنت

 العديد من الدورات التدريبية متوفرة عبر الإنترنت حول الرؤية الحاسوبية، والتي تتراوح من المستويات المبتدئة إلى المتقدمة. مثل:

edX’s “Introduction to Computer Vision” course

Coursera’s “Computer Vision” course

البرامج التعليمية

 هناك عدد من البرامج التعليمية المتاحة عبر الإنترنت والتي تغطي جوانب مختلفة من الرؤية الحاسوبية، بما في ذلك التقنيات والخوارزميات المحددة. تتضمن بعض الخيارات منها: وثائق وأدلة البرنامج التعليمي OpenCV، ومدونة PyImageSearch.

 

المصادر

  1. https://www.ibm.com/topics/computer-vision
  2. https://medium.com/readers-writers-digest/beginners-guide-to-computer-vision-23606224b720
  3. https://www.image-net.org/
  4. https://cocodataset.org/

الدروس:

Uncategorized

الدرس الرابع | التعرف على الوجوه

الدرس الرابع: التعرف على الوجوه محتويات هذا الدرس: خوارزمية هاار التتالي تطبيق عملي: تحديد الوجوه على صورة تطبيق عملي: تحديد الوجوه على فيديو الدروس الأخرى

دورات تعليمية

الدرس الثالث | المرشحات ونواة الالتفاف

الدرس الثالث : المرشحات والنواة الالتفافية محتويات هذا الدرس: المرشحات النواة الالتفافية عملية الترشيح شحذ الصورة تشويش الصورة تحديد الحواف الدروس الأخرى

دورات أخرى:

دورات تعليمية

الدرس الثالث | المرشحات ونواة الالتفاف

الدرس الثالث : المرشحات والنواة الالتفافية محتويات هذا الدرس: المرشحات النواة الالتفافية عملية الترشيح شحذ الصورة تشويش الصورة تحديد الحواف الدروس الأخرى

Uncategorized

الدرس الثاني | مساحات الألوان في الصورة

الدرس الثاني: مساحات الألوان في الصورة محتويات هذا الدرس: مساحات ألوان الصورة شرح مبادئ الألوان في الصور تحويل الألوان بين الصور تحويل الصورة الملونة إلى