{"id":14260813,"url":"https://github.com/Mirgahney/dynsurf","last_synced_at":"2025-08-13T09:32:03.491Z","repository":{"id":209521408,"uuid":"721785297","full_name":"Mirgahney/dynsurf","owner":"Mirgahney","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-27T19:16:05.000Z","size":158036,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-06T19:56:36.070Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mirgahney.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-21T19:14:43.000Z","updated_at":"2024-10-07T15:46:29.000Z","dependencies_parsed_at":"2023-11-27T20:32:17.891Z","dependency_job_id":null,"html_url":"https://github.com/Mirgahney/dynsurf","commit_stats":null,"previous_names":["mirgahney/dynsurf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirgahney%2Fdynsurf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirgahney%2Fdynsurf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirgahney%2Fdynsurf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mirgahney%2Fdynsurf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mirgahney","download_url":"https://codeload.github.com/Mirgahney/dynsurf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229754430,"owners_count":18119124,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-22T13:00:33.967Z","updated_at":"2024-12-14T20:30:30.857Z","avatar_url":"https://github.com/Mirgahney.png","language":"Python","funding_links":[],"categories":["2024"],"sub_categories":["Real"],"readme":"\u003cp align=\"center\"\u003e\n\n  \u003ch1 align=\"center\"\u003eNeural Surface Reconstruction of Dynamic Scenes with Monocular RGB-D Camera\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://mirgahney.github.io/\"\u003eMirgahney Mohamed\u003c/a\u003e\n    ·\n    Lourdes Agapito\n  \u003c/p\u003e\n  \u003ch2 align=\"center\"\u003e3DV 2024\u003c/h2\u003e\n  \u003ch3 align=\"center\"\u003e\u003ca href=\"https://arxiv.org/abs/2311.08159\"\u003ePaper\u003c/a\u003e | \u003ca href=\"https://mirgahney.github.io//DynamicSurf.io/\"\u003eProject Page\u003c/a\u003e | \u003ca href=\"\"\u003ePoster\u003c/a\u003e\u003c/h3\u003e\n  \u003cdiv align=\"center\"\u003e\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"\"\u003e\n    \u003cimg src=\"./exhibition/teaser.png\" alt=\"Logo\" width=\"100%\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nWe propose DynamicSurf, a model-free neural implicit surface reconstruction method for high-fidelity 3D modelling of \u003cb\u003enon-rigid surfaces\u003c/b\u003e from \u003cb\u003emonocular\u003c/b\u003e RGB-D video.\n\u003c/p\u003e\n\u003cbr\u003e\n\n\n\n## Usage\n\n### Data Convention\nThe data is organized as [NeuS](https://github.com/Totoro97/NeuS#data-convention)\n\n```\n\u003ccase_name\u003e\n|-- cameras_sphere.npz    # camera parameters\n|-- depth\n    |-- # target depth for each view\n    ...\n|-- image\n    |-- # target RGB each view\n    ...\n|-- mask\n    |-- # target mask each view (For unmasked setting, set all pixels as 255)\n    ...\n```\n\nHere `cameras_sphere.npz` follows the data format in [IDR](https://github.com/lioryariv/idr/blob/main/DATA_CONVENTION.md), where `world_mat_xx` denotes the world-to-image projection matrix, and `scale_mat_xx` denotes the normalization matrix.\n\n### Pre-processed Data\nYou can download a part of pre-processed [KillingFusion](https://campar.in.tum.de/personal/slavcheva/deformable-dataset/index.html) data [here](https://drive.google.com/file/d/1wQ4yB7r-a8sFkwB6bEJIDp14AhjG8g_B/view?usp=sharing) and unzip it into `./`.\n\n\u003cb\u003e\u003ci\u003eImportant Tips:\u003c/i\u003e\u003c/b\u003e If the pre-processed data is useful, please cite the related paper(s) and strictly abide by related open-source license(s).\n\n### Setup\nClone this repository and create the environment (please notice CUDA version)\n```shell\ngit clone https://github.com/Mirgahney/dysurf.git\ncd dysurf\n```\n\nThe code is tested with Python 3.9 and PyTorch 1.11 with CUDA 11.3. DynamicSurf requires [smooth_sampler](https://github.com/tymoteuszb/smooth-sampler), which is a drop-in replacement for PyTorch's grid sampler that support double back-propagation. Also the following packages are required:\n\n```shell\nconda env create -f dysurf.yml\nconda activate dysurf\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003e Dependencies (click to expand) \u003c/summary\u003e\n\n  * torch==1.11\n  * pytorch3d\n  * scikit-image\n  * open3d\n  * imageio\n  * matplotlib\n  * configargparse\n  * tensorboard\n  * opencv-contrib-python\n  * opencv_python==4.5.2.52\n  * trimesh==3.9.8 \n  * numpy==1.21.2\n  * scipy==1.7.0\n  * PyMCubes==0.1.2\n\n\u003c/details\u003e\n\n### Running\n- **Training**\n```shell\npython3 -W ignore exp_runner_grid_hydra.py \n```\n\n- **Evaluating pre-trained model**\n\n    Coming Soon\n\u003c!---\n```shell\npython pretrained_eval.py\n```\n--\u003e\n\n### Data Pre-processing\nComing Soon\n\n### Geometric Projection\nComing Soon\n\u003c!---\n- **Compiling renderer**\n```shell\ncd renderer \u0026\u0026 bash build.sh \u0026\u0026 cd ..\n```\n\n- **Rendering meshes**\n\nInput path of original data, path of results, and iteration number, e.g.\n```shell\npython geo_render.py ./datasets/kfusion_frog/ ./exp/kfusion_frog/result/ 120000\n```\nThe rendered results will be put in dir ```[path_of_results]/validations_geo/```\n--\u003e\n\n## Todo List\n- [ ] Code of Data Pre-processing\n- [ ] Code of Geometric Projection\n- [ ] Pre-trained Models and Evaluation Code\n- [x] Training Code\n\n\n\n## Acknowledgements\nThis project is built upon [NDR](https://github.com/USTC3DV/NDR-code.git), [Go-Surf](https://github.com/JingwenWang95/go-surf), and [NeuS](https://github.com/Totoro97/NeuS). Some code snippets are also borrowed from [IDR](https://github.com/lioryariv/idr) and [NeRF-pytorch](https://github.com/yenchenlin/nerf-pytorch). The pre-processing code for camera pose initialization is borrowed from [Fast-Robust-ICP](https://github.com/yaoyx689/Fast-Robust-ICP). The evaluation code for geometry rendering is borrowed from [StereoPIFu_Code](https://github.com/CrisHY1995/StereoPIFu_Code). Thanks for these great projects. We thank all the authors for their great work and repos.\n\n\n## Contact\nIf you have questions, please contact [Mirgahney Mohamed](https://mirgahney.github.io/).\n\n\n## Citation\nIf you find our code or paper useful, please cite\n```bibtex\n@misc{mohamed2023dynamicsurf,\n      title={DynamicSurf: Dynamic Neural RGB-D Surface Reconstruction with an Optimizable Feature Grid},\n      author={Mirgahney Mohamed and Lourdes Agapito},\n      year={2023},\n      eprint={2311.08159},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n\nIf you find our pre-processed data useful, please cite the related paper(s) and strictly abide by related open-source license(s).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMirgahney%2Fdynsurf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMirgahney%2Fdynsurf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMirgahney%2Fdynsurf/lists"}