ما هو R-CNN؟ نظرة عامة سريعة
تعرف على RCNN وتأثيره على اكتشاف الكائنات. سنغطي مكوناته الرئيسية وتطبيقاته ودوره في تطوير تقنيات مثل Fast RCNN وYOLO.

Object detection هي مهمة رؤية حاسوبية يمكنها التعرف على الكائنات وتحديد موقعها في الصور أو مقاطع الفيديو لتطبيقات مثل autonomous driving وsurveillance وmedical imaging. اعتمدت طرق الكشف عن الكائنات السابقة، مثل كاشف فيولا-جونز ومدرج التكرار للتدرجات الموجهة (HOG) مع آلات المتجهات الداعمة (SVM)، على ميزات مصنوعة يدويًا والنوافذ المنزلقة. غالبًا ما واجهت هذه الطرق صعوبة في اكتشاف الكائنات بدقة في المشاهد المعقدة ذات الكائنات المتعددة ذات الأشكال والأحجام المختلفة.
أحدثت الشبكات العصبية التلافيفية القائمة على المناطق (R-CNN) تغييراً في طريقة معالجتنا لمهمة اكتشاف الكائنات. وتُعد علامة فارقة ومهمة في تاريخ رؤية الكمبيوتر. لفهم كيف ظهرت نماذج مثل Ultralytics YOLOv8، نحتاج أولاً إلى فهم نماذج مثل R-CNN.
تم إنشاؤها بواسطة Ross Girshick وفريقه، وتعمل بنية نموذج R-CNN على إنشاء مقترحات مناطق، واستخراج الميزات باستخدام شبكة عصبية تلافيفية (CNN) مدربة مسبقًا، وتصنيف الكائنات، وتحسين صناديق الإحاطة. وفي حين قد يبدو ذلك مخيفًا، فببنهاية هذه المقالة، ستكون لديك فهم واضح لكيفية عمل R-CNN ولماذا هي مؤثرة للغاية. دعنا نلقي نظرة!
كيف يعمل R-CNN؟#
تتضمن عملية اكتشاف الكائنات في نموذج R-CNN ثلاث خطوات رئيسية: إنشاء مقترحات المناطق، واستخراج الميزات، وتصنيف الكائنات مع تحسين صناديق الإحاطة الخاصة بها. دعنا نستعرض كل خطوة.

Fig 1. كيف تعمل R-CNN.
مقترحات المناطق: العمود الفقري لـ R-CNN#
في الخطوة الأولى، يقوم نموذج R-CNN بمسح الصورة لإنشاء العديد من مقترحات المناطق. مقترحات المناطق هي مناطق محتملة قد تحتوي على كائنات. تُستخدم طرق مثل البحث الانتقائي (Selective Search) للنظر في جوانب مختلفة من الصورة، مثل اللون والملمس والشكل، وتقسيمها إلى أجزاء مختلفة. يبدأ البحث الانتقائي بتقسيم الصورة إلى أجزاء أصغر، ثم دمج الأجزاء المتشابهة لتشكيل مناطق اهتمام أكبر. تستمر هذه العملية حتى يتم إنشاء حوالي 2000 مقترح منطقة.

Fig 2. كيف يعمل البحث الانتقائي.
تساعد مقترحات المناطق هذه في تحديد جميع المواقع الممكنة التي قد يوجد فيها كائن. في الخطوات التالية، يمكن للنموذج معالجة المناطق الأكثر صلة بكفاءة من خلال التركيز على هذه المناطق المحددة بدلاً من الصورة بأكملها. يؤدي استخدام مقترحات المناطق إلى موازنة الشمولية مع الكفاءة الحسابية.
استخراج ميزات الصورة: التقاط التفاصيل#
الخطوة التالية في عملية اكتشاف الكائنات لنموذج R-CNN هي استخراج الميزات من مقترحات المناطق. يتم تغيير حجم كل مقترح منطقة إلى حجم ثابت تتوقعه شبكة CNN (على سبيل المثال، 224x224 بكسل). يساعد تغيير الحجم شبكة CNN على معالجة كل مقترح بكفاءة. قبل التحويل، يتم توسيع حجم كل مقترح منطقة قليلاً ليشمل 16 بكسل من السياق الإضافي حول المنطقة لتوفير المزيد من المعلومات المحيطة لاستخراج أفضل للميزات.
بمجرد تغيير الحجم، يتم إدخال مقترحات المناطق هذه إلى شبكة CNN مثل AlexNet، والتي عادة ما تكون مدربة مسبقاً على مجموعة بيانات كبيرة مثل ImageNet. تعالج شبكة CNN كل منطقة لاستخراج متجهات ميزات عالية الأبعاد تلتقط تفاصيل مهمة مثل الحواف، والأنسجة، والأنماط. تعمل متجهات الميزات هذه على تكثيف المعلومات الأساسية من المناطق. إنها تحول بيانات الصورة الخام إلى تنسيق يمكن للنموذج استخدامه لمزيد من التحليل. يعتمد تصنيف الكائنات وتحديد مواقعها بدقة في المراحل التالية على هذا التحويل الحاسم للمعلومات المرئية إلى بيانات ذات معنى.

Fig 3. استخراج الميزات من مقترح منطقة باستخدام AlexNet.
تصنيف الكائنات: تحديد الكائنات المكتشفة#
الخطوة الثالثة هي تصنيف الكائنات داخل هذه المناطق. هذا يعني تحديد الفئة أو الصنف لكل كائن موجود داخل المقترحات. يتم بعد ذلك تمرير متجهات الميزات المستخرجة عبر مصنف تعلم آلي.
في حالة R-CNN، تُستخدم آلات ناقل الدعم (SVMs) بشكل شائع لهذا الغرض. يتم تدريب كل SVM للتعرف على فئة كائن معينة من خلال تحليل متجهات الميزات وتحديد ما إذا كانت منطقة معينة تحتوي على مثيل لتلك الفئة. بشكل أساسي، لكل فئة كائن، يوجد مصنف مخصص يفحص كل مقترح منطقة لهذا الكائن المحدد.
أثناء التدريب، يتم إعطاء المصنفات بيانات مصنفة مع عينات إيجابية وسلبية:
- عينات إيجابية: المناطق التي تحتوي على الكائن المستهدف.
- عينات سلبية: المناطق التي لا تحتوي على الكائن.
تتعلم المصنفات التمييز بين هذه العينات. يعمل انحدار صندوق الإحاطة (Bounding Box Regression) على تحسين موضع وحجم الكائنات المكتشفة من خلال تعديل صناديق الإحاطة المقترحة في البداية لتتوافق بشكل أفضل مع حدود الكائن الفعلية. يمكن لنموذج R-CNN تحديد الكائنات وتحديد موقعها بدقة من خلال الجمع بين التصنيف وانحدار صندوق الإحاطة.

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

الشكل 5. مثال على قمع غير الأعظم. (المصدر: towardsdatascience.com)
إليك تفصيل للخطوات في NMS:
- الفرز: يتم فرز صناديق الإحاطة حسب درجات الثقة الخاصة بها بترتيب تنازلي.
- الاختيار: يتم اختيار الصندوق ذو الدرجة الأعلى، وتتم إزالة جميع الصناديق التي تتداخل بشكل كبير (بناءً على التقاطع فوق الاتحاد، IoU) معه.
- التكرار: تتكرر هذه العملية للصندوق التالي ذو الدرجة الأعلى وتستمر حتى تتم معالجة جميع الصناديق.
لجمع كل شيء معاً، يكتشف نموذج R-CNN الكائنات عن طريق إنشاء مقترحات المناطق، واستخراج الميزات باستخدام CNN، وتصنيف الكائنات وتحسين مواقعها باستخدام انحدار صندوق الإحاطة، واستخدام قمع غير الأعظم (NMS) مع الاحتفاظ فقط بالاكتشافات الأكثر دقة.
R-CNN علامة فارقة في اكتشاف الكائنات#
يعد R-CNN نموذجاً بارزاً في تاريخ اكتشاف الكائنات لأنه قدم نهجاً جديداً أدى إلى تحسين الدقة والأداء بشكل كبير. قبل R-CNN، كانت نماذج اكتشاف الكائنات تعاني من صعوبة في الموازنة بين السرعة والدقة. تسمح طريقة R-CNN في إنشاء مقترحات المناطق واستخدام CNN لاستخراج الميزات بتحديد دقيق لمواقع الكائنات وتحديدها داخل الصور.
مهّد R-CNN الطريق لنماذج مثل Fast R-CNN، وFaster R-CNN، وMask R-CNN، التي عززت الكفاءة والدقة بشكل أكبر. من خلال الجمع بين التعلم العميق والتحليل القائم على المناطق، وضع R-CNN معياراً جديداً في المجال وفتح إمكانيات للعديد من التطبيقات الواقعية.
تحويل التصوير الطبي باستخدام R-CNN#
تعتبر إحدى حالات الاستخدام المثيرة للاهتمام لـ R-CNN في medical imaging. تم استخدام نماذج R-CNN للكشف عن أنواع مختلفة من الأورام وتصنيفها، مثل brain tumors، في عمليات الفحص الطبي مثل التصوير بالرنين المغناطيسي والأشعة المقطعية. يؤدي استخدام نموذج R-CNN في التصوير الطبي إلى تحسين دقة التشخيص ويساعد radiologists على تحديد الأورام الخبيثة في مرحلة مبكرة. إن قدرة R-CNN على اكتشاف حتى الأورام الصغيرة وفي مرحلة مبكرة يمكن أن تحدث فرقًا كبيرًا في علاج وتشخيص الأمراض مثل السرطان.

Fig 6. اكتشاف أورام الدماغ باستخدام RCNN.
يمكن تطبيق نموذج R-CNN على مهام التصوير الطبي الأخرى بالإضافة إلى الكشف عن الأورام. على سبيل المثال، يمكنه تحديد الكسور، واكتشاف أمراض الشبكية في فحوصات العين، وتحليل صور الرئة لحالات مثل الالتهاب الرئوي وCOVID-19. بغض النظر عن المشكلة الطبية، يمكن أن يؤدي الكشف المبكر إلى better patient outcomes. من خلال تطبيق دقة R-CNN في تحديد وتوطين الشذوذات، يمكن لمقدمي healthcare تحسين موثوقية وسرعة التشخيص الطبي. مع تبسيط الكشف عن الكائنات لعملية التشخيص، يمكن للمرضى الاستفادة من خطط علاجية فيครับة ودقيقة.
قيود R-CNN وخلفاؤه#
على الرغم من إثارة الإعجاب، إلا أن R-CNN لديه بعض العيوب، مثل التعقيد الحسابي العالي وأوقات الاستدلال البطيئة. هذه العيوب تجعل نموذج R-CNN غير مناسب للتطبيقات في الوقت الفعلي. يمكن أن يؤدي فصل مقترحات المناطق والتصنيفات إلى خطوات متميزة إلى أداء أقل كفاءة.
على مر السنين، ظهرت نماذج مختلفة لاكتشاف الكائنات عالجت هذه المخاوف. يجمع Fast R-CNN بين مقترحات المناطق واستخراج ميزات CNN في خطوة واحدة، مما يسرع العملية. يقدم Faster R-CNN شبكة مقترحات المناطق (RPN) لتبسيط إنشاء المقترحات، بينما يضيف Mask R-CNN تجزئة على مستوى البكسل لاكتشافات أكثر تفصيلاً.

الشكل 7. مقارنة بين R-CNN وFast R-CNN وFaster R-CNN وMask R-CNN.
في نفس وقت ظهور Faster R-CNN تقريبًا، بدأت سلسلة YOLO (You Only Look Once) في تطوير الكشف عن الكائنات في الوقت الفعلي. تتنبأ نماذج YOLO بصناديق الإحاطة واحتمالات الفئات في تمريرة واحدة عبر الشبكة. على سبيل المثال، يقدم Ultralytics YOLOv8 دقة وسرعة محسنتين مع ميزات متقدمة للعديد من مهام الرؤية الحاسوبية.
أبرز النقاط#
لقد غير R-CNN قواعد اللعبة في الرؤية الحاسوبية، مما أظهر كيف يمكن للتعلم العميق تغيير اكتشاف الكائنات. ألهم نجاحه العديد من الأفكار الجديدة في هذا المجال. على الرغم من ظهور نماذج أحدث مثل Faster R-CNN وYOLO لإصلاح عيوب R-CNN، إلا أن مساهمته تعد علامة فارقة ضخمة من المهم تذكرها.
مع استمرار الأبحاث، سنرى نماذج اكتشاف كائنات أفضل وأسرع. لن تؤدي هذه التطورات إلى تحسين كيفية فهم الآلات للعالم فحسب، بل ستؤدي أيضاً إلى تقدم في العديد من الصناعات. يبدو مستقبل اكتشاف الكائنات مثيراً!
هل تريد الاستمرار في استكشاف الذكاء الاصطناعي؟ انضم إلى community Ultralytics! استكشف GitHub repository الخاص بنا للاطلاع على أحدث ابتكاراتنا في مجال الذكاء الاصطناعي. تحقق من حلول الذكاء الاصطناعي لدينا التي تغطي قطاعات مختلفة مثل agriculture وmanufacturing. انضم إلينا لنتعلم ونتقدم معًا!






