الوصف
py-faster-rcnn هو إعادة تطبيق بلغة بايثون لإطار عمل اكتشاف الكائنات Faster R-CNN، والذي تم تطويره في الأصل بلغة MATLAB. يهدف هذا المشروع، المستضاف على GitHub، إلى توفير إصدار بايثون وظيفي للباحثين والمطورين. بينما يحقق متوسط دقة متوسط (mAP) مماثل للكود الرسمي بلغة MATLAB، إلا أنه أبطأ بحوالي 10٪ في وقت الاختبار. يُعزى هذا الاختلاف في الأداء إلى تنفيذ بعض العمليات على وحدة المعالجة المركزية داخل طبقات بايثون، مما يؤدي إلى حوالي 220 مللي ثانية لكل صورة لشبكة VGG16 مقارنة بـ 200 مللي ثانية للإصدار بلغة MATLAB.
يعتمد التنفيذ على نسخة معدلة من Fast R-CNN ويتضمن ميزات مثل التدريب المشترك التقريبي، والذي يكون أسرع بحوالي 1.5 مرة من التحسين المتناوب لشبكة VGG16. تم وصف المشروع لأول مرة في تقرير فني على arXiv ونُشر لاحقًا في NIPS 2015. تم إصداره بموجب ترخيص MIT.
يتضمن التثبيت استنساخ المستودع، وبناء وحدات Cython، وتجميع Caffe مع دعم طبقة بايثون. يُنصح المستخدمون بالتأكد من أن بناء Caffe الخاص بهم يتضمن `WITH_PYTHON_LAYER := 1` واختياريًا `USE_CUDNN := 1` في ملف `Makefile.config` الخاص بهم. يوفر المشروع نصوصًا برمجية لتنزيل الكواشف المحسوبة مسبقًا ونماذج ImageNet المدربة مسبقًا لشبكات مثل ZF و VGG16. يتوفر نص توضيحي لعرض قدرات الكشف على PASCAL VOC 2007.
للتدريب والاختبار، يمكن للمستخدمين استخدام نصوص برمجية لكل من التحسين المتناوب (`faster_rcnn_alt_opt.sh`) والتدريب المشترك التقريبي (`faster_rcnn_end2end.sh`). تقوم الطريقة الأخيرة بتدريب شبكة اقتراح المنطقة (RPN) بشكل مشترك مع شبكة Fast R-CNN، مما يؤدي إلى أوقات تدريب أسرع مع دقة كشف قابلة للمقارنة. يتم تنظيم المخرجات، بما في ذلك النماذج المدربة ونتائج الاختبار، داخل الدليل `$FRCN_ROOT/output`.
من المهم ملاحظة أنه تم إيقاف py-faster-rcnn. يوصي المشروع المستخدمين بالاطلاع على Detectron، والذي يتضمن تطبيقًا لـ Mask R-CNN. الكود الرسمي لـ Faster R-CNN بلغة MATLAB متاح لمن يهدفون إلى إعادة إنتاج النتائج من ورقة NIPS 2015.
أبرز ملامح py-faster-rcnn
تطبيق بلغة بايثون لـ Faster R-CNN
يدعم معماريات الشبكات VGG16 و ZF و VGG_CNN_M_1024
يتضمن تدريبًا مشتركًا تقريبيًا لتطوير نماذج أسرع
يوفر عرضًا توضيحيًا لاكتشاف الكائنات على PASCAL VOC 2007
متوافق مع Caffe و pycaffe
يقدم نصوصًا برمجية لتدريب واختبار الكواشف
يتطلب تكوينات بناء Caffe محددة لطبقات بايثون
تم إصداره بموجب ترخيص MIT
تم إيقافه لصالح Detectron
البدء مع py-faster-rcnn
استنساخ المستودع: احصل على كود py-faster-rcnn من GitHub.
بناء التبعيات: قم بتجميع وحدات Cython و Caffe مع دعم طبقة بايثون.
تنزيل النماذج: قم بجلب الكواشف المحسوبة مسبقًا ونماذج ImageNet المدربة مسبقًا.
تشغيل العرض التوضيحي: قم بتنفيذ النص التوضيحي لعرض سريع لاكتشاف الكائنات.
تكوين التدريب: قم بإعداد مجموعات بيانات PASCAL VOC أو COCO للتدريب.
تدريب النموذج: استخدم النصوص البرمجية المقدمة للتحسين المتناوب أو التدريب المشترك من البداية إلى النهاية.
اختبار النموذج: قم بتقييم النماذج المدربة باستخدام النصوص البرمجية التجريبية.
التكامل: استخدم النماذج المدربة لمهام اكتشاف الكائنات.
حالات استخدام py-faster-rcnn
- اكتشاف الكائنات
- تحليل الصور
- أبحاث الرؤية الحاسوبية
- الكشف في الوقت الفعلي
- تقييم مجموعات البيانات








