
conda create - n echoscene python = 3.8
conda activate echosceneلقد قمنا باختباره على Ubuntu 20.04 مع Pytorch 1.11.0 ، Cuda 11.3 و Pytorch3d.
pip install - r requirements . txt
pip install einops omegaconf tensorboardx open3d(ملاحظة: إذا واجه المرء مشكلة مع Pyyaml ، فيرجى الرجوع إلى هذا الرابط.)
تثبيت MMCV-DET3D (اختياري):
mim install mmengine
mim install mmcv
mim install mmdet
mim install mmdet3dمقطع تثبيت:
pip install ftfy regex tqdm
pip install git + https : //github.com/openai/CLIP.gitI. قم بتنزيل 3D-FUTURE-SDF. تتم معالجتها من قبل أنفسنا على شبكات FUTURE ثلاثية الأبعاد باستخدام الأدوات في SDFUSIN.
الثاني. اتبع هذه الصفحة لتنزيل مجموعة بيانات SG-Front والوصول إلى مزيد من المعلومات.
ثالثا. خياري
قم بتنزيل مجموعة البيانات ثلاثية الأبعاد من موقعها الرسمي.
المعالجة المسبقة لمجموعة البيانات التالية ATISS.
رابعا. قم بإنشاء مجلد اسمه FRONT ، ونسخ جميع الملفات إليه.
يجب أن يكون الهيكل متشابهًا مثل هذا:
FRONT
|--3D-FUTURE-SDF
|--All SG-FRONT files (.json and .txt)
|--3D-FRONT (optional)
|--3D-FRONT-texture (optional)
|--3D-FUTURE-model (optional)
|--3D-FUTURE-scene (optional)
|--3D-FRONT_preprocessed (optional, by ATISS)
|--threed_front.pkl (optional, by ATISS)
أساسي: تنزيل نموذج VQ-VAE PRETRAINE من هنا إلى المجلد scripts/checkpoint .
اختياري: نحن نقدم نموذجين مدربين: EchoLayout متاح هنا و EchoScene متاح هنا.
لتدريب النماذج ، قم بتشغيل:
cd scripts
python train_3dfront.py --exp /path/to/exp_folder --room_type all --dataset /path/to/dataset --residual True --network_type echoscene --with_SDF True --with_CLIP True --batchSize 64 --workers 8 --loadmodel False --nepoch 10000 --large False --use_scene_rels True
--exp : المسار الذي يرغب فيه النماذج والسجلات المدربة في تخزينها.
--room_type : غرف للتدريب ، على سبيل المثال ، "غرفة المعيشة" ، "غرفة الطعام" ، "غرفة النوم" ، و "الكل". نقوم بتدريب جميع الغرف معًا في التنفيذ.
--network_type : الشبكة التي سيتم تدريبها. echoscene هو Echoscene ، echolayout هو echolayout (طريقة الاسترجاع ، فرع توليد تخطيط واحد).
--with_SDF : ضبط على True إذا كانت القطار echoscene.
--batch_size : حجم الدُفعة للتدريب على فرع التصميم.
--large : الافتراضي False ، True يعني المزيد من الفئات الملموسة.
لتقييم النماذج التي تعمل:
cd scripts
python eval_3dfront.py --exp /path/to/trained_model --dataset /path/to/dataset --epoch 2050 --visualize True --room_type all --render_type echoscene --gen_shape True
--exp : حيث يتم تخزين النماذج. إذا أراد المرء تحميل نماذجنا المقدمة ، فيجب محاذاة المسار
--gen_shape : اضبط True إذا أراد المرء أن يجعل شكل فرع الشكل.
يهدف هذا المقياس إلى تقييم الإخلاص على مستوى المشهد. لتقييم FID/KID ، تحتاج أولاً إلى تنزيل الصور المقدمة من أعلى إلى أسفل لطرق الاسترجاع والصور المقدمة من SDF لطرق توليدية ، أو جمع الإجراءات عن طريق تعديل وتشغيل collect_gt_sdf_images.py . لاحظ أنه تم تعيين العلم without_lamp على True في تجربتنا.
ثم ، يمكن الحصول على عروض المشاهد التي تم إنشاؤها داخل eval_3dfront.py .
بعد الحصول على كل من صور الحقيقة الأرضية واتجاهات المشاهد التي تم إنشاؤها ، قم بتشغيل compute_fid_scores_3dfront.py .
يهدف هذا المقياس إلى تقييم الإخلاص على مستوى الكائن. لتقييم هذا ، تحتاج إلى الحصول على شبكات كائن الحقيقة الأرضية من هنا (~ 5g).
ثانياً ، تخزين لكل كائن تم إنشاؤه في المشاهد التي تم إنشاؤها ، والتي يمكن القيام بها في eval_3dfront.py . بعد الحصول على شبكات الكائن ، قم بتعديل المسار في compute_mmd_cov_1nn.py وقم بتشغيله للحصول على النتائج.
ويستند هذا المقياس على مسافة الشريط. الذي يتحقق من كيفية تشبه الأشكال التي تم إنشاؤها لكائنين متطابقين بعضها البعض. لتقييم هذا ، تحتاج إلى تنزيل معلومات الاتساق من هنا ، وتعديل المسارات في consistency_check.py ، وتشغيل هذا البرنامج النصي.
العمل ذي الصلة: الرسم البياني إلى 3D ، commonsenes ، diffuscene ، instructscene ، Scenetex.
إخلاء المسئولية: هذا مستودع رمز للرجوع إليه فقط ؛ في حالة حدوث أي تباينات ، تسود الورقة.
نشكر مؤلف ديفوسكسين Jiapeng Tang ومؤلف EndructScene Chenguo Lin على تقديم الكود والمناقشات المفيدة ، ونشكر بالإضافة إلى Mahdi Saleh على Titting the Paper EchoScene ، وهو حية وجذاب :)