{"id":13603297,"url":"https://github.com/google/hyperNeRF","last_synced_at":"2025-04-11T14:30:50.931Z","repository":{"id":37577496,"uuid":"404599422","full_name":"google/hypernerf","owner":"google","description":"Code for \"HyperNeRF: A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields\".","archived":false,"fork":false,"pushed_at":"2024-05-03T20:24:40.000Z","size":92,"stargazers_count":911,"open_issues_count":35,"forks_count":106,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-04-08T20:07:37.006Z","etag":null,"topics":["3d","machine-learning","nerf","neural-network","neural-rendering","novel-view-synthesis"],"latest_commit_sha":null,"homepage":"https://hypernerf.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/google.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-09T05:40:25.000Z","updated_at":"2025-04-04T22:35:33.000Z","dependencies_parsed_at":"2024-04-22T21:58:47.642Z","dependency_job_id":null,"html_url":"https://github.com/google/hypernerf","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fhypernerf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fhypernerf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fhypernerf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google%2Fhypernerf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google","download_url":"https://codeload.github.com/google/hypernerf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248419649,"owners_count":21100213,"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":["3d","machine-learning","nerf","neural-network","neural-rendering","novel-view-synthesis"],"created_at":"2024-08-01T18:10:50.540Z","updated_at":"2025-04-11T14:30:50.891Z","avatar_url":"https://github.com/google.png","language":"Python","funding_links":[],"categories":["2021"],"sub_categories":["Real"],"readme":"# HyperNeRF: A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields\n\nThis is the code for \"HyperNeRF: A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields\".\n\n* [Project Page](https://hypernerf.github.io)\n* [Paper](https://arxiv.org/abs/2106.13228)\n* [Video](https://www.youtube.com/watch?v=qzgdE_ghkaI)\n\nThis codebase implements HyperNeRF using [JAX](https://github.com/google/jax),\nbuilding on [JaxNeRF](https://github.com/google-research/google-research/tree/master/jaxnerf).\n\n\n## Demo\n\nWe provide an easy-to-get-started demo using Google Colab!\n\nThese Colabs will allow you to train a basic version of our method using\nCloud TPUs (or GPUs) on Google Colab.\n\nNote that due to limited compute resources available, these are not the fully\nfeatured models and will train quite slowly and the quality will likely not be that great.\nIf you would like to train a fully featured model, please refer to the instructions below\non how to train on your own machine.\n\n| Description      | Link |\n| ----------- | ----------- |\n| Process a video into a dataset| [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/google/nerfies/blob/main/notebooks/Nerfies_Capture_Processing.ipynb)|\n| Train HyperNeRF| [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/google/hypernerf/blob/main/notebooks/HyperNeRF_Training.ipynb)|\n| Render HyperNeRF Videos| [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/google/hypernerf/blob/main/notebooks/HyperNeRF_Render_Video.ipynb)|\n\n\n## Setup\nThe code can be run under any environment with Python 3.8 and above.\n(It may run with lower versions, but we have not tested it).\n\nWe recommend using [Miniconda](https://docs.conda.io/en/latest/miniconda.html) and setting up an environment:\n\n    conda create --name hypernerf python=3.8\n\nNext, install the required packages:\n\n    pip install -r requirements.txt\n\nInstall the appropriate JAX distribution for your environment by  [following the instructions here](https://github.com/google/jax#installation). For example:\n\n    # For CUDA version 11.1\n    pip install --upgrade \"jax[cuda111]\" -f https://storage.googleapis.com/jax-releases/jax_releases.html\n\n\n## Training\nAfter preparing a dataset, you can train a Nerfie by running:\n\n    export DATASET_PATH=/path/to/dataset\n    export EXPERIMENT_PATH=/path/to/save/experiment/to\n    python train.py \\\n        --base_folder $EXPERIMENT_PATH \\\n        --gin_bindings=\"data_dir='$DATASET_PATH'\" \\\n        --gin_configs configs/test_local.gin\n\nTo plot telemetry to Tensorboard and render checkpoints on the fly, also\nlaunch an evaluation job by running:\n\n    python eval.py \\\n        --base_folder $EXPERIMENT_PATH \\\n        --gin_bindings=\"data_dir='$DATASET_PATH'\" \\\n        --gin_configs configs/test_local.gin\n\nThe two jobs should use a mutually exclusive set of GPUs. This division allows the\ntraining job to run without having to stop for evaluation.\n\n\n## Configuration\n* We use [Gin](https://github.com/google/gin-config) for configuration.\n* We provide a couple preset configurations.\n* Please refer to `config.py` for documentation on what each configuration does.\n* Preset configs:\n    - `hypernerf_vrig_ds_2d.gin`: The deformable surface configuration for the validation rig (novel-view synthesis) experiments.\n    - `hypernerf_vrig_ap_2d.gin`: The axis-aligned plane configuration for the validation rig (novel-view synthesis) experiments.\n    - `hypernerf_interp_ds_2d.gin`: The deformable surface configuration for the interpolation experiments.\n    - `hypernerf_interp_ap_2d.gin`: The axis-aligned plane configuration for the interpolation experiments.\n\n\n## Dataset\nThe dataset uses the [same format as Nerfies](https://github.com/google/nerfies#datasets).\n\n\n## Citing\nIf you find our work useful, please consider citing:\n```BibTeX\n@article{park2021hypernerf,\n  author = {Park, Keunhong and Sinha, Utkarsh and Hedman, Peter and Barron, Jonathan T. and Bouaziz, Sofien and Goldman, Dan B and Martin-Brualla, Ricardo and Seitz, Steven M.},\n  title = {HyperNeRF: A Higher-Dimensional Representation for Topologically Varying Neural Radiance Fields},\n  journal = {ACM Trans. Graph.},\n  issue_date = {December 2021},\n  publisher = {ACM},\n  volume = {40},\n  number = {6},\n  month = {dec},\n  year = {2021},\n  articleno = {238},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2FhyperNeRF","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogle%2FhyperNeRF","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle%2FhyperNeRF/lists"}