ملاحظة: قمت بإعادة تنفيذ RCNN بشكل أسرع في هذا المشروع عندما بدأت في تعلم Pytorch. ثم أستخدم Pytorch في جميع مشاريعي. ما زلت أتذكر أن تكلفة أسبوع واحد بالنسبة لي لمعرفة كيفية بناء رمز CUDA كطبقة Pytorch :). ولكن في الواقع هذا ليس تطبيقًا جيدًا ولم أحقق نفس الخريطة مثل رمز الكافيين الأصلي.
لم يعد هذا المشروع يتم الحفاظ عليه وقد لا يتوافق مع أحدث Pytorch (بعد 0.4.0). لذلك أقترح:
هذا هو تطبيق Pytorch من RCNN أسرع. يعتمد هذا المشروع بشكل أساسي على Py Faster-Rcnn و Tffrcnn.
للحصول على تفاصيل حول R-CNN ، يرجى الرجوع إلى الورقة بشكل أسرع R-CNN: نحو اكتشاف الكائنات في الوقت الفعلي مع شبكات اقتراح المنطقة بقلم Shaoqing Ren ، Kaiming He ، Ross Girshick ، Jian Sun.
تثبيت المتطلبات (يمكنك استخدام PIP أو Anaconda):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
استنساخ مستودع R-CNN الأسرع
git clone [email protected]:longcw/faster_rcnn_pytorch.gitقم ببناء وحدات Cython لـ NMS وطبقة ROI_Pooling
cd faster_rcnn_pytorch/faster_rcnn
./make.sh قم بتنزيل نموذج VGGNET_FAST_RCNN_ITER_70000.H5 ( demo.py
تشغيل Demo python demo.py
اتبع هذا المشروع (TFFRCNN) لتنزيل وإعداد التدريب والتحقق من صحة وبيانات الاختبار ونموذج VGG16 تم تدريبه مسبقًا على ImageNet.
نظرًا لأن البرنامج يقوم بتحميل البيانات في faster_rcnn_pytorch/data افتراضيًا ، يمكنك تعيين مسار البيانات على النحو التالي.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 ثم يمكنك تعيين بعض المعلمات المفرطة في train.py ومعلمات التدريب في ملف .yml .
الآن حصلت على خريطة 0.661 على Voc07 بينما حصلت ورقة الأصل على خريطة 0.699. قد تحتاج إلى ضبط وظيفة الخسارة المحددة في faster_rcnn/faster_rcnn.py بنفسك.
بمساعدة تلوين ، يمكننا الوصول إلى قوة التصور في Tensorboard لأي إطار تعلم عميق.
لاستخدام Tensorboard ، قم بتثبيت CRAYON (https://github.com/torrvision/crayon) وقم بتعيين use_tensorboard = True in faster_rcnn/train.py .
اضبط مسار النموذج المدربين في test.py
cd faster_rcnn_pytorch
mkdir output
python test.pyالترخيص: رخصة معهد ماساتشوستس للتكنولوجيا (معهد ماساتشوستس للتكنولوجيا)