تدرب NGP الفوري (NERF فقط) في Pytorch+CUDA المدربين مع Lightning Pytorch ( عالية الجودة ذات السرعة العالية ). يهدف هذا الريبو إلى توفير واجهة Pytorch موجزة لتسهيل الأبحاث المستقبلية ، وأنا ممتن إذا كنت تستطيع مشاركتها (والاقتباس هو موضع تقدير كبير)!
مقاطع فيديو تمثيلية أخرى موجودة في المعرض
يحتوي هذا التنفيذ على متطلبات صارمة بسبب التبعيات في المكتبات الأخرى ، إذا واجهت مشكلة في التثبيت بسبب عدم تطابق الأجهزة/البرامج ، أخشى أنه لا توجد نية لدعم منصات مختلفة (يتم الترحيب بك للمساهمة).
استنساخ هذا repo by git clone https://github.com/kwea123/ngp_pl
Python> = 3.8 (يوصى بالتثبيت عبر Anaconda ، استخدم conda create -n ngp_pl python=3.8 لإنشاء بيئة كوندا وتنشيطها بواسطة conda activate ngp_pl )
مكتبات بيثون
pip install torch==1.11.0 --extra-index-url https://download.pytorch.org/whl/cu113torch-scatter بعد تعليماتهمtinycudann بعد تعليماتهم (امتداد Pytorch)apex بعد تعليماتهمpip install -r requirements.txt امتداد CUDA: ترقية pip إلى> = 22.1 وقم بتشغيل pip install models/csrc/ (يرجى تشغيل هذا في كل مرة تقوم فيها pull الرمز)
قم بتنزيل مجموعات البيانات المعالجة مسبقًا ( Synthetic_NeRF ، Synthetic_NSVF ، BlendedMVS ، TanksAndTemples ) من NSVF. لا تقم بتغيير أسماء المجلدات نظرًا لوجود بعض الإصلاحات المرمزة في Dataloader.
قم بتنزيل البيانات من هنا.
للحصول على بيانات مخصصة images.bin قم points3D.bin colmap واحصل على مجلد sparse/0 توجد بموجبه cameras.bin . يتم دعم البيانات التالية بتنسيق Colmap:
قم بتنزيل البيانات من هنا. لتحويل صور HDR إلى صور LDR للتدريب ، قم بتشغيل python misc/prepare_rtmv.py <path/to/RTMV> ، وسيقوم بإنشاء images/ مجلد تحت كل مجلد مشهد ، وسيستخدم هذه الصور للتدريب (واختبارها).
QuickStart: python train.py --root_dir <path/to/lego> --exp_name Lego
سيقوم بتدريب مشهد LEGO لمدة 30 ألف خطوة (كل خطوة مع 8192 Rays) ، وإجراء اختبار واحد في النهاية. يجب أن تنتهي عملية التدريب خلال حوالي 5 دقائق (إن حفظ صورة الاختبار بطيئة ، أضف --no_save_test لتعطيل). سيتم عرض اختبار PSNR في النهاية.
يمكن العثور على مزيد من الخيارات في OPT.Py.
للتدريب على مجموعة البيانات العامة الأخرى ، يرجى الرجوع إلى البرامج النصية تحت benchmarking .
استخدم test.ipynb لإنشاء الصور. طراز Lego PretRained متاح هنا
استخدام واجهة المستخدم الرسومية: قم بتشغيل python show_gui.py متبوعًا بنفس المقاييس المفرطة المستخدمة في التدريب ( dataset_name ، root_dir ، etc) وأضف مسار نقطة التفتيش مع --ckpt_path <path/to/.ckpt>
لقد قارنت الجودة (متوسط اختبار PSNR على Synthetic-NeRF ) وسرعة الاستدلال (على مشهد Lego ) مقابل Torch-NGP Torch-NGP (الإعدادات الافتراضية) والورقة ، كلها تدرب لمدة 5 دقائق:
| طريقة | AVG PSNR | FPS | GPU |
|---|---|---|---|
| الشعلة NGP | 31.46 | 18.2 | 2080 تي |
| مِلكِي | 32.96 | 36.2 | 2080 تي |
| ورقة NGP فورية | 33.18 | 60 | 3090 |
أما بالنسبة للجودة ، فإن الألغام أفضل قليلاً من Torch-NGP ، لكن النتيجة قد تتقلب عبر أشواط مختلفة.
أما بالنسبة للسرعة ، فإن الألغام أسرع من Torch-NGP ، ولكن لا يزال نصف سريع فقط مثل NGP الفوري. تعتمد السرعة على المشهد (إذا كان معظم المشهد فارغًا ، فستكون السرعة أسرع).




اليسار: Torch-NGP. الحق: لي.
لتشغيل المعايير ، استخدم البرامج النصية تحت benchmarking .
يتم تدريب النتائج المتابعة الخاصة بي باستخدام 1 RTX 2080 TI (النتائج النوعية هنا):
| ميكروفون | ficus | كرسي | نقانق | مواد | الطبول | سفينة | ليغو | متوسط | |
|---|---|---|---|---|---|---|---|---|---|
| PSNR | 35.59 | 34.13 | 35.28 | 37.35 | 29.46 | 25.81 | 30.32 | 35.76 | 32.96 |
| ssim | 0.988 | 0.982 | 0.984 | 0.980 | 0.944 | 0.933 | 0.890 | 0.979 | 0.960 |
| LPIPs | 0.017 | 0.024 | 0.025 | 0.038 | 0.070 | 0.076 | 0.133 | 0.022 | 0.051 |
| FPS | 40.81 | 34.02 | 49.80 | 25.06 | 20.08 | 37.77 | 15.77 | 36.20 | 32.44 |
| وقت التدريب | 3M9S | 3M12S | 4M17S | 5M53S | 4M55S | 4M7S | 9m20s | 5M5S | 5M00S |
| حامل النبيذ | Steamtrain | الضفدع | روبوت | دراجة | قصر | سفينة الفضاء | نمط الحياة | متوسط | |
|---|---|---|---|---|---|---|---|---|---|
| PSNR | 31.64 | 36.47 | 35.57 | 37.10 | 37.87 | 37.41 | 35.58 | 34.76 | 35.80 |
| ssim | 0.962 | 0.987 | 0.980 | 0.994 | 0.990 | 0.977 | 0.980 | 0.967 | 0.980 |
| LPIPs | 0.047 | 0.023 | 0.024 | 0.010 | 0.015 | 0.021 | 0.029 | 0.044 | 0.027 |
| FPS | 47.07 | 75.17 | 50.42 | 64.87 | 66.88 | 28.62 | 35.55 | 22.84 | 48.93 |
| وقت التدريب | 3M58S | 3M44S | 7m22s | 3M25S | 3M11S | 6M45S | 3M25S | 4M56S | 4M36S |
| اغناطيوس | شاحنة | حظيرة | كاتربيلر | عائلة | متوسط | |
|---|---|---|---|---|---|---|
| PSNR | 28.30 | 27.67 | 28.00 | 26.16 | 34.27 | 28.78 |
| *FPS | 10.04 | 7.99 | 16.14 | 10.91 | 6.16 | 10.25 |
*تقييم على test-traj
| *يشم | *نافورة | شخصية | التماثيل | متوسط | |
|---|---|---|---|---|---|
| PSNR | 25.43 | 26.82 | 30.43 | 26.79 | 27.38 |
| ** FPS | 26.02 | 21.24 | 35.99 | 19.22 | 25.61 |
| وقت التدريب | 6M31S | 7M15S | 4M50S | 5M57S | 6M48S |
*أقوم بتبديل الخلفية يدويًا من الأسود إلى الأبيض ، وبالتالي فإن الرقم لا يشبه ذلك مباشرة في الأوراق.
** تم تقييمه على test-traj