الوصف
SPP_net هو مشروع يعيد تطبيق خوارزمية Spatial Pyramid Pooling (SPP)، كما هو موضح في ورقة بحثية من مؤتمر ECCV لعام 2014 بعنوان "Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition". يركز هذا التطبيق على اكتشاف الكائنات ويهدف إلى تحقيق نتائج قابلة للمقارنة مع تلك المذكورة في الورقة الأصلية، مع مراعاة التباين الإحصائي.
يستفيد المشروع من إطار عمل التعلم العميق Caffe لتطبيقه، مما يسهل توزيع الكود واستخدامه مقارنة بتطبيق cuda-convnet الأصلي. بينما يركز إصدار الكود بشكل أساسي على اكتشاف الكائنات، يتم تضمين ملفات تكوين الشبكة لتدريب وتصنيف الصور أيضًا داخل المستودع. يمكن للمستخدمين الاتصال بالمطورين لأي أسئلة أو دعم.
تم إصدار SPP_net بموجب ترخيص BSD المبسط، مما يجعله متاحًا للاستخدام غير التجاري. تتطلب عملية التثبيت MATLAB والمتطلبات الأساسية لـ Caffe. يوفر المستودع إصدارًا معدلاً من Caffe مع دعم SPP mex، بالإضافة إلى ملفات mex و C++ مجمعة للغلاف. يتم توجيه المستخدمين لتنزيل كود Selective Search وحزم النماذج. يحدد المشروع خط أنابيب أساسي لتدريب كاشفات SPP_net على PASCAL VOC، بما في ذلك استخراج الميزات، والضبط الدقيق، وتدريب SVM، والاختبار. كما يشير إلى المساحة الكبيرة المطلوبة للتخزين المؤقت للميزات.
المساهمة الأساسية لـ SPP_net هي تطبيقه لـ Spatial Pyramid Pooling، وهي تقنية تسمح للشبكات العصبية الالتفافية بمعالجة صور الإدخال بأحجام عشوائية دون الحاجة إلى طبقات إدخال ثابتة الحجم. يتم تحقيق ذلك عن طريق تجميع الميزات على مستويات متعددة، مما يؤدي إلى تمثيل ثابت الطول بغض النظر عن أبعاد صورة الإدخال. هذه المرونة ضرورية لمهام اكتشاف الكائنات والتعرف عليها بشكل قوي.
أبرز ملامح SPP_net
إعادة تطبيق خوارزمية Spatial Pyramid Pooling (SPP) للشبكات الالتفافية العميقة.
يركز على مهام اكتشاف الكائنات والتعرف البصري.
يستخدم إطار عمل التعلم العميق Caffe.
يتضمن ملفات تكوين الشبكة لتصنيف الصور.
يهدف إلى إعادة إنتاج النتائج من ورقة بحثية من مؤتمر ECCV لعام 2014.
يوفر كودًا لتدريب النماذج وضبطها.
يدعم معالجة أحجام صور الإدخال العشوائية.
يطبق تجميع الميزات على مستويات متعددة.
يصدر بموجب ترخيص BSD المبسط للاستخدام غير التجاري.
يتطلب MATLAB والمتطلبات الأساسية لـ Caffe للتثبيت.
يقدم خط أنابيب لتدريب الكاشفات على PASCAL VOC.
البدء مع SPP_net
استنساخ المستودع: احصل على كود مصدر SPP_net باستخدام git clone.
إعداد البيئة: تأكد من تثبيت MATLAB والمتطلبات الأساسية لـ Caffe.
بناء البرامج النصية: قم بتشغيل `spp_build()` لتجميع المكونات الضرورية مثل liblinear، و Selective Search، و spp_pool، و nms.
تنزيل النماذج: قم بتنفيذ `external\fetch_model_data.m` للحصول على حزم النماذج.
استخراج الميزات: استخدم البرامج النصية المقدمة لاستخراج الميزات إلى القرص للتدريب.
ضبط النموذج: قم بتدريب أو ضبط نموذج SPP_net باستخدام الميزات المستخرجة.
تدريب SVMs: قم بتدريب Support Vector Machines لاكتشاف الكائنات.
اختبار الكاشف: قم بتقييم أداء الكاشف المدرب.
حالات استخدام SPP_net
- اكتشاف الكائنات
- التعرف البصري
- تصنيف الصور
- استخراج الميزات
- ضبط النماذج








