AI-For-Beginners/translations/ar/lessons/4-ComputerVision/11-ObjectDetection
leestott c6463675e6 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
..
lab 🌐 Update translations via Co-op Translator 2025-08-26 12:09:18 +00:00
ObjectDetection.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 04:44:09 +00:00
README.md 🌐 Update translations via Co-op Translator 2025-08-26 12:09:18 +00:00

README.md

الكشف عن الكائنات

النماذج التي تعاملنا معها لتصنيف الصور حتى الآن كانت تأخذ صورة وتنتج نتيجة تصنيفية، مثل الفئة "رقم" في مشكلة MNIST. ومع ذلك، في العديد من الحالات، لا نريد فقط معرفة أن الصورة تحتوي على كائنات - بل نريد تحديد موقعها بدقة. وهذا هو بالضبط الهدف من الكشف عن الكائنات.

اختبار ما قبل المحاضرة

الكشف عن الكائنات

الصورة من موقع YOLO v2

نهج بسيط للكشف عن الكائنات

لنفترض أننا نريد العثور على قطة في صورة، فإن نهجًا بسيطًا جدًا للكشف عن الكائنات سيكون كالتالي:

  1. تقسيم الصورة إلى عدد من المربعات.
  2. تشغيل تصنيف الصور على كل مربع.
  3. يمكن اعتبار المربعات التي تؤدي إلى تنشيط عالي بما يكفي أنها تحتوي على الكائن المطلوب.

الكشف البسيط عن الكائنات

الصورة من دفتر التمارين

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

الانحدار للكشف عن الكائنات

هذه المقالة تقدم مقدمة رائعة للكشف عن الأشكال.

مجموعات البيانات للكشف عن الكائنات

قد تصادف مجموعات البيانات التالية لهذه المهمة:

  • PASCAL VOC - 20 فئة
  • COCO - الكائنات الشائعة في السياق. 80 فئة، صناديق الإحاطة وأقنعة التجزئة

COCO

مقاييس الكشف عن الكائنات

التقاطع على الاتحاد

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

IoU

الشكل 2 من هذه المقالة الممتازة عن IoU

الفكرة بسيطة - نقسم مساحة التقاطع بين شكلين على مساحة اتحادهما. بالنسبة لمنطقتين متطابقتين، سيكون IoU 1، بينما بالنسبة للمناطق غير المتداخلة تمامًا سيكون 0. بخلاف ذلك، سيتراوح بين 0 و1. عادةً ما نعتبر فقط صناديق الإحاطة التي يكون فيها IoU أعلى من قيمة معينة.

الدقة المتوسطة

لنفترض أننا نريد قياس مدى جودة التعرف على فئة معينة من الكائنات C. لقياس ذلك، نستخدم مقاييس الدقة المتوسطة، التي تُحسب كالتالي:

  1. نأخذ منحنى الدقة-الاستدعاء الذي يظهر الدقة بناءً على قيمة عتبة الكشف (من 0 إلى 1).
  2. بناءً على العتبة، سنحصل على المزيد أو القليل من الكائنات المكتشفة في الصورة، وقيم مختلفة للدقة والاستدعاء.
  3. سيبدو المنحنى كالتالي:

الصورة من NeuroWorkshop

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


AP = {1\over11}\sum_{i=0}^{10}\mbox{Precision}(\mbox{Recall}={i\over10})

AP و IoU

نعتبر فقط تلك الاكتشافات التي يكون فيها IoU أعلى من قيمة معينة. على سبيل المثال، في مجموعة بيانات PASCAL VOC عادةً ما يُفترض \mbox{IoU Threshold} = 0.5، بينما في COCO يتم قياس AP لقيم مختلفة من \mbox{IoU Threshold}.

الصورة من NeuroWorkshop

الدقة المتوسطة الإجمالية - mAP

المقياس الرئيسي للكشف عن الكائنات يُسمى الدقة المتوسطة الإجمالية أو mAP. وهو قيمة الدقة المتوسطة، محسوبة عبر جميع فئات الكائنات، وأحيانًا أيضًا عبر \mbox{IoU Threshold}. يتم وصف عملية حساب mAP بمزيد من التفصيل في هذه المقالة، وأيضًا هنا مع أمثلة للرمز.

طرق مختلفة للكشف عن الكائنات

هناك فئتان رئيسيتان من خوارزميات الكشف عن الكائنات:

  • شبكات اقتراح المناطق (R-CNN، Fast R-CNN، Faster R-CNN). الفكرة الرئيسية هي إنشاء مناطق اهتمام (ROI) وتشغيل CNN عليها، بحثًا عن التنشيط الأقصى. يشبه هذا النهج إلى حد ما النهج البسيط، باستثناء أن مناطق الاهتمام يتم إنشاؤها بطريقة أكثر ذكاءً. أحد العيوب الرئيسية لهذه الطرق هو أنها بطيئة، لأننا نحتاج إلى العديد من تمريرات مصنف CNN عبر الصورة.
  • المرور الواحد (YOLO، SSD، RetinaNet). في هذه البُنى، يتم تصميم الشبكة للتنبؤ بالفئات ومناطق الاهتمام في مرور واحد.

R-CNN: الشبكة العصبية القائمة على المناطق

R-CNN تستخدم البحث الانتقائي لإنشاء هيكل هرمي لمناطق الاهتمام، التي يتم تمريرها بعد ذلك عبر مستخلصات ميزات CNN ومصنفات SVM لتحديد فئة الكائن، والانحدار الخطي لتحديد إحداثيات صندوق الإحاطة. المقالة الرسمية

RCNN

الصورة من van de Sande et al. ICCV11

RCNN-1

الصور من هذه المقالة

F-RCNN - Fast R-CNN

هذا النهج مشابه لـ R-CNN، لكن المناطق يتم تحديدها بعد تطبيق طبقات الالتفاف.

FRCNN

الصورة من المقالة الرسمية، arXiv، 2015

Faster R-CNN

الفكرة الرئيسية لهذا النهج هي استخدام الشبكة العصبية للتنبؤ بمناطق الاهتمام - ما يسمى شبكة اقتراح المناطق. المقالة، 2016

FasterRCNN

الصورة من المقالة الرسمية

R-FCN: الشبكة العصبية القائمة على المناطق بالكامل

هذا الخوارزم أسرع حتى من Faster R-CNN. الفكرة الرئيسية هي كالتالي:

  1. نستخرج الميزات باستخدام ResNet-101.
  2. يتم معالجة الميزات بواسطة خريطة النقاط الحساسة للموقع. يتم تقسيم كل كائن من C الفئات إلى مناطق k\times k، وندرب الشبكة للتنبؤ بأجزاء الكائنات.
  3. لكل جزء من مناطق k\times k، تصوت جميع الشبكات لفئات الكائنات، ويتم اختيار فئة الكائن ذات التصويت الأقصى.

r-fcn image

الصورة من المقالة الرسمية

YOLO - You Only Look Once

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

  • يتم تقسيم الصورة إلى مناطق S\times S.
  • لكل منطقة، CNN تتنبأ بـ n كائنات محتملة، إحداثيات صندوق الإحاطة و الثقة=الاحتمالية * IoU.

YOLO

الصورة من المقالة الرسمية

خوارزميات أخرى

✍️ تمارين: الكشف عن الكائنات

واصل التعلم في دفتر الملاحظات التالي:

ObjectDetection.ipynb

الخاتمة

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

🚀 تحدي

اقرأ هذه المقالات والدفاتر حول YOLO وجربها بنفسك:

اختبار ما بعد المحاضرة

المراجعة والدراسة الذاتية

التكليف: الكشف عن الكائنات

إخلاء المسؤولية:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. على الرغم من أننا نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.