From 86b5f68178de2e0be21079afe26fbcf71c31f73a Mon Sep 17 00:00:00 2001 From: liuyu <2530097503@qq.com> Date: Sun, 20 Oct 2024 22:43:44 +0800 Subject: [PATCH] init --- .gitignore | 148 ++++++++++ README.md | 94 ++++++- assets/overview.png | Bin 0 -> 1500586 bytes config/cfg/dtu.yaml | 107 ++++++++ config/cfg/scannet.yaml | 108 ++++++++ config/cfg/uorf.yaml | 103 +++++++ config/config.yaml | 6 + dataset/__init__.py | 24 ++ dataset/data_utils.py | 280 +++++++++++++++++++ dataset/dtu_dataset.py | 435 ++++++++++++++++++++++++++++++ dataset/preprocess_scannet.py | 145 ++++++++++ dataset/scannet_dataset.py | 263 ++++++++++++++++++ dataset/uorf_dataset.py | 457 +++++++++++++++++++++++++++++++ model/__init__.py | 0 model/encoder.py | 333 +++++++++++++++++++++++ model/nerf.py | 248 +++++++++++++++++ model/projection.py | 103 +++++++ model/renderer.py | 330 +++++++++++++++++++++++ model/slot_attn.py | 237 ++++++++++++++++ model/transformer.py | 130 +++++++++ requirements.txt | 13 + scripts/eval_dtu.sh | 84 ++++++ scripts/eval_scannet.sh | 16 ++ scripts/eval_uorf_data.sh | 25 ++ scripts/train_dtu.sh | 17 ++ scripts/train_scannet.sh | 17 ++ scripts/train_uorf_data.sh | 24 ++ trainer/__init__.py | 147 ++++++++++ trainer/train.py | 492 ++++++++++++++++++++++++++++++++++ trainer/visualize.py | 201 ++++++++++++++ util/__init__.py | 0 util/camera.py | 307 +++++++++++++++++++++ util/distinct_colors.py | 87 ++++++ util/filesystem_logger.py | 59 ++++ util/metrics.py | 254 ++++++++++++++++++ util/misc.py | 364 +++++++++++++++++++++++++ util/optimizer.py | 84 ++++++ util/ray.py | 71 +++++ util/transforms.py | 220 +++++++++++++++ 39 files changed, 6031 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 assets/overview.png create mode 100644 config/cfg/dtu.yaml create mode 100644 config/cfg/scannet.yaml create mode 100755 config/cfg/uorf.yaml create mode 100644 config/config.yaml create mode 100644 dataset/__init__.py create mode 100644 dataset/data_utils.py create mode 100644 dataset/dtu_dataset.py create mode 100644 dataset/preprocess_scannet.py create mode 100644 dataset/scannet_dataset.py create mode 100644 dataset/uorf_dataset.py create mode 100644 model/__init__.py create mode 100644 model/encoder.py create mode 100644 model/nerf.py create mode 100644 model/projection.py create mode 100644 model/renderer.py create mode 100644 model/slot_attn.py create mode 100644 model/transformer.py create mode 100644 requirements.txt create mode 100644 scripts/eval_dtu.sh create mode 100644 scripts/eval_scannet.sh create mode 100644 scripts/eval_uorf_data.sh create mode 100644 scripts/train_dtu.sh create mode 100644 scripts/train_scannet.sh create mode 100644 scripts/train_uorf_data.sh create mode 100644 trainer/__init__.py create mode 100644 trainer/train.py create mode 100644 trainer/visualize.py create mode 100644 util/__init__.py create mode 100644 util/camera.py create mode 100644 util/distinct_colors.py create mode 100644 util/filesystem_logger.py create mode 100644 util/metrics.py create mode 100644 util/misc.py create mode 100644 util/optimizer.py create mode 100644 util/ray.py create mode 100644 util/transforms.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a816307 --- /dev/null +++ b/.gitignore @@ -0,0 +1,148 @@ +data/* +slurm/ +wandb/ +lightning_logs/ +runs/ +runs + +*.pyd + +# Editors +.vscode/ +.idea/ + +# Vagrant +.vagrant/ + +# Mac/OSX +.DS_Store + +# Windows +Thumbs.db + +# Source for the following rules: https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +*.out +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json +/experiments/ +/pretrained-examples/ + +test.ipynb +debug/* +checkpoints/* +outputs/* +.hydra/* +*.mp4 +*.gif +test.py +*.slurm +z/ \ No newline at end of file diff --git a/README.md b/README.md index 7f0c9a3..c2e48ec 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,94 @@ # SlotLifter -Code for "SlotLifter: Slot-guided Feature Lifting for Learning Object-centric Radiance Fields" (ECCV 2024) +
-# Coming Soon +This repository contains the official implementation of the ECCV 2024 paper: + +[SlotLifter: Slot-guided Feature Lifting for Learning Object-centric Radiance Fields](https://arxiv.org/abs/2408.06697) + +[YuLiu](https://yuliu-ly.github.io)\*,[Baoxiong Jia](https://buzz-beater.github.io)\*,[Yixin Chen](https://yixchen.github.io), [Siyuan Huang](https://siyuanhuang.com) +
+
+
(AhG(3@hV6(<*Q4nfN)BhklbI1ALxyHrA0PYby82Kp
z5@`MX^VO#R%vxHL9%alr`T{^65_q$o<7!dVkY^WleD9rkALVoBm6B0+d|=+s-GuDd
z>YNDd3sWB)ibAi`ZU;-}VAs_2Bz`Y=?d4TK&@`g&?sM`{uH~r@YCsw?q$pTqYM|u1
zrnZR>Q&G;#k|Q #+HnoPx;x7!l8$b&)58!2i`~9^P?LJ%Y!7*@a%LYu3-5>*x4Q?763!-IbBydKJ6zxkKqu}F&_VS|?k^a*7_{+nsG#8oa&q#g7JY
z5u8msGCN_cL#71d{hh#jPh>awZ%)%6Qyd@9-QFL}JS9Y*?$Zci;IUIWi{;Pj%t81h
zg{$d%V1E>uhU;9`J5H&a%;uy?7YW@IxISHv4gb0x0f;rSu_t|`$b08Kl1w;ZUZWm1
zTUF_Pr|B_MKYPu2@Q=k(^?ku<7zL01DY&d=oW88b>P~;HJMWxoNT3$SuE$
zOu}A-*`ByC<&K$>8Chw9#Ag{W-MoKJQ_2VSQkZr%x6?lRseiknJSv||ScJJVZ9twa
zTZAl2`LfB}oB5k1^&cT?<*hsFw?6F?Q^8#8H3HGY?lJ-|3o~feOp5I4@j5akKQkuI
z`9u1mbW;&bS_y1lru;9zs41d*vYeyA$~C7`HV#s3nfB{X54i9BiHBQ`i0?N_Z}aZb
z9h9&k4<~S@N;nDc2%fHI+Sf!h5G%F1@oPq9ZDZ1fcQ%a|sV)WX+n=Nwt<}46)XM5P
zVr?2(K$b1e^
UpNx-T(r7}DcR`%zn3R*e9$+Gt~jalH(kXicBLRrt#2(@OSY45_NUBZea!Gh
z^6!AI=cEn4T`MD&?4>|1F)|(-o3)@0hfaLUeVDi`x5WL{!lYIiD6`gb!C3qS>XJOQ
zrEs)==+59XUGqIr;5)3Ho<84k8(j9L)@Hrj8(sluH>{+?51<{L-Fp)x`j46W#TO&s
zTP1-?7UvTzUMtC1cYsISzvahee@x^!?o*(*?IU)*ZBZ=2aJ?MjpUi6vCxfg!=n`e_
zmRie6m`Fa_JU#B2t$JVd5n80R-f>B^CR(pMImTAl|ElzC^Q(QJ9?X3JLTK$pK@tCZIS0wlXQ>pFp&=G}*1>a3V{2$bcq
zog?7jtEy)_1@~?hW!^n3nZ(ECLP`eD!O$~TjH+x?<7d{FxwNg*bc#%V16%rA9y(RP
zg2;KM<>vkH{mmoWvv2sV)0n1ti#fG<#frd`?TrpAM14YJy8DqQX%tKh^eG&A1SXMh
z<*0N|uV&e*M!ha0V%Wtx218qDySGE~hJgc@e0_1V^v{u-@_m6JIbaU_kN@V2;tl#S
z^GB4YA2t;68wJ!aiHE^&t@oaVN-Sc(=Kjbj%-3fTRz^2jXB1LAN<8>t99ZTRppNKp
z@Eh;>J2~7@d2N+Sg(6bv4Db49?If~8>Gm(j?0;}<&5CDcbzhUs%drXnHuWaZ#C#;L
zO5-ZRJ&+aldh6yxuqm&N+CWN_UJ92