الوصف
يقدم مستودع nutonomy/second.pytorch على GitHub تطبيقًا محددًا لـ PointPillars للكشف عن الأجسام ضمن مجموعة بيانات KITTI. يعمل هذا المشروع كعرض توضيحي لإعادة إنتاج النتائج المقدمة في الورقة البحثية "PointPillars: Fast Encoders for Object Detection from Point Clouds"، والمخصصة للنشر في CVPR 2019. يحقق ذلك من خلال إجراء تعديلات طفيفة على قاعدة الكود مفتوحة المصدر الموجودة، SECOND.
هذا المستودع هو تفرع من قاعدة كود SECOND الأصلية، تم تخصيصه لمهام الكشف عن الأجسام في KITTI. من المهم ملاحظة أن هذا الكود ليس كودًا رسميًا من nuTonomy، على الرغم من أنه مصمم ليتوافق مع نتائج PointPillars المنشورة. تم أرشفة المشروع من قبل مالكه اعتبارًا من 13 أكتوبر 2021، وهو الآن في حالة للقراءة فقط. للحصول على كود مُدار بنشاط يمكنه أيضًا إعادة إنتاج نتائج PointPillars على مجموعة بيانات nuScenes، يتم توجيه المستخدمين إلى مستودع SECOND.
يتضمن البدء بهذا المشروع استنساخ المستودع، وتثبيت حزم Python اللازمة (بما في ذلك PyTorch و Anaconda والمكتبات المحددة مثل shapely و pybind11 و protobuf و scikit-image و numba و pillow و google-sparsehash و fire و tensorboardX)، وإعداد CUDA لـ Numba. تتضمن عملية التثبيت أيضًا تعليمات لـ SparseConvNet، والذي يُتوقع أن يتم تكوينه بشكل صحيح بواسطة قاعدة كود SECOND العامة، وربما Boost geometry. يتم أيضًا تفصيل متغيرات البيئة لـ Numba وتكوين PYTHONPATH.
يعد إعداد مجموعة البيانات خطوة حاسمة، حيث يتطلب تنزيل مجموعة بيانات KITTI وإنشاء هياكل دليل محددة. يجب على المستخدمين بعد ذلك إنشاء ملفات معلومات KITTI، وإنشاء سحب نقاط مخفضة، وإنشاء معلومات قاعدة بيانات الحقيقة الأرضية باستخدام نصوص Python المقدمة. أخيرًا، يجب تحرير ملفات التكوين للإشارة إلى مجموعات البيانات المُعدة. يحدد المستودع إجراءات التدريب والتقييم، بما في ذلك الأوامر للتدريب على وحدة معالجة رسومات واحدة واستئناف التدريب من نقاط التحقق، بالإضافة إلى كيفية حفظ نتائج الكشف بتنسيق تسمية KITTI الرسمي.
أبرز ملامح PointPillars لـ KITTI
الكشف عن الأجسام من سحب النقاط
تطبيق خوارزمية PointPillars
التوافق مع مجموعة بيانات KITTI
تفرع من قاعدة كود SECOND
إعادة إنتاج نتائج PointPillars المنشورة
قاعدة الكود تدعم Python 3.6+
يتطلب PyTorch 0.4.1+
تم اختباره على Ubuntu 16.04/18.04
يشمل نصوص إعداد مجموعة البيانات
يوفر نصوص التدريب والتقييم
دعم التدريب على وحدة معالجة رسومات واحدة
حجم دفعة 2 للتدريب
مستودع مؤرشف للقراءة فقط
البدء مع PointPillars لـ KITTI
استنساخ الكود: git clone https://github.com/nutonomy/second.pytorch.git
تثبيت حزم Python: استخدم Anaconda للحزم الأساسية، ثم pip للباقي.
إعداد CUDA لـ Numba: قم بتكوين متغيرات البيئة في ~/.bashrc.
الإضافة إلى PYTHONPATH: قم بتضمين second.pytorch/ في PYTHONPATH الخاص بك.
إعداد مجموعة البيانات: قم بتنزيل KITTI، وإنشاء أدلة، وتشغيل نصوص إعداد البيانات.
تعديل ملف التكوين: قم بتحديث المسارات إلى مجموعات البيانات في ملفات التكوين.
تدريب النموذج: قم بتشغيل نص التدريب مع تحديد ملف التكوين وأدلة النموذج.
تقييم النموذج: قم بتنفيذ نص التقييم لتقييم أداء النموذج.
حالات استخدام PointPillars لـ KITTI
- الكشف عن الأجسام
- أبحاث القيادة الذاتية
- تحليل سحب النقاط
- قياس أداء رؤية الكمبيوتر
- البحث الأكاديمي








