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

اكتشاف الكائنات هو مهمة في الرؤية الحاسوبية قادرة على التعرف على الكائنات وتحديد موقعها في الصور أو مقاطع الفيديو لاستخدامات مثل القيادة الذاتية، والمراقبة، والتصوير الطبي. اعتمدت طرق اكتشاف الكائنات السابقة، مثل كاشف Viola-Jones ومُدرج التكرار الموجه (HOG) مع آلات ناقل الدعم (SVM)، على ميزات مصممة يدوياً ونوافذ منزلقة. غالباً ما كانت هذه الطرق تعاني من صعوبة في اكتشاف الكائنات بدقة في المشاهد المعقدة التي تحتوي على كائنات متعددة بأشكال وأحجام متنوعة.
لقد غيرت الشبكات العصبية التلافيفية القائمة على المناطق (R-CNN) الطريقة التي نتعامل بها مع اكتشاف الكائنات. إنها علامة فارقة مهمة في تاريخ الرؤية الحاسوبية. لفهم كيف ظهرت نماذج مثل YOLOv8، نحتاج أولاً إلى فهم نماذج مثل R-CNN.
تم تطوير بنية نموذج R-CNN بواسطة Ross Girshick وفريقه، وهي تقوم بإنشاء مقترحات المناطق، واستخراج الميزات باستخدام شبكة عصبية تلافيفية (CNN) مدربة مسبقاً، وتصنيف الكائنات، وتحسين صناديق الإحاطة (BBox). على الرغم من أن هذا قد يبدو أمراً شاقاً، إلا أنك ستكون بحلول نهاية هذه المقالة قد حصلت على فهم واضح لكيفية عمل R-CNN ولماذا يعد مؤثراً جداً. لنلقِ نظرة!
Link to this sectionكيف يعمل R-CNN؟#
تتضمن عملية اكتشاف الكائنات في نموذج R-CNN ثلاث خطوات رئيسية: إنشاء مقترحات المناطق، واستخراج الميزات، وتصنيف الكائنات مع تحسين صناديق الإحاطة الخاصة بها. دعنا نستعرض كل خطوة.

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

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

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

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

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

الشكل 6. اكتشاف أورام الدماغ باستخدام R-CNN.
يمكن تطبيق نموذج R-CNN على مهام تصوير طبي أخرى بالإضافة إلى اكتشاف الأورام. على سبيل المثال، يمكنه تحديد الكسور، واكتشاف أمراض الشبكية في فحوصات العين، وتحليل صور الرئة لحالات مثل الالتهاب الرئوي وCOVID-19. بغض النظر عن المشكلة الطبية، يمكن أن يؤدي الاكتشاف المبكر إلى نتائج أفضل للمرضى. من خلال تطبيق دقة R-CNN في تحديد وتحديد مواقع الشذوذ، يمكن لمقدمي الرعاية الصحية تحسين موثوقية وسرعة التشخيص الطبي. مع تبسيط اكتشاف الكائنات لعملية التشخيص، يمكن للمرضى الاستفادة من خطط علاجية دقيقة وفي الوقت المناسب.
Link to this sectionقيود 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 دقة وسرعة محسنتين مع ميزات متقدمة للعديد من مهام الرؤية الحاسوبية.
Link to this sectionأبرز النقاط#
لقد غير R-CNN قواعد اللعبة في الرؤية الحاسوبية، مما أظهر كيف يمكن للتعلم العميق تغيير اكتشاف الكائنات. ألهم نجاحه العديد من الأفكار الجديدة في هذا المجال. على الرغم من ظهور نماذج أحدث مثل Faster R-CNN وYOLO لإصلاح عيوب R-CNN، إلا أن مساهمته تعد علامة فارقة ضخمة من المهم تذكرها.
مع استمرار الأبحاث، سنرى نماذج اكتشاف كائنات أفضل وأسرع. لن تؤدي هذه التطورات إلى تحسين كيفية فهم الآلات للعالم فحسب، بل ستؤدي أيضاً إلى تقدم في العديد من الصناعات. يبدو مستقبل اكتشاف الكائنات مثيراً!
هل تريد الاستمرار في استكشاف الذكاء الاصطناعي؟ كن جزءاً من مجتمع Ultralytics! استكشف مستودع GitHub الخاص بنا لرؤية أحدث ابتكاراتنا في مجال الذكاء الاصطناعي. تحقق من حلول الذكاء الاصطناعي لدينا التي تغطي قطاعات مختلفة مثل الزراعة والتصنيع. انضم إلينا للتعلم والتقدم!






