NeRF visualization library under construction

Overview

NeRF visualization library using PlenOctrees, under construction

pip install nerfvis

Docs will be at: https://nerfvis.readthedocs.org

import nerfvis
scene = nerfvis.Scene("My title")
scene.add_cube("Cube1", color=[1.0, 0.0, 0.0], translation=[-1.0, -1.0, 0.0])
scene.add_axes()
scene.set_nerf(nerf_func, center=[0.0, 0.0, 0.0], radius=1.5, use_dirs=True)
scene.display(port=8889)
# Tries to open the scene in your browser
# (you may have to forward the port and enter localhost:8889 manually if over ssh)
Comments
  • how to visualize plenoctree format?

    how to visualize plenoctree format?

    Hello there. This is a very interesting code. I wonder if it can also visualize the plenoctree format for a 3D model. For instance, I have a tree.npy file from https://github.com/sxyu/plenoctree. How can I visualize it?

    opened by Holmes-Alan 4
  • how to save npz file?

    how to save npz file?

    I have successfully visualized the NeRF model in the browser. However, how do I save the scene in npz.file? For instance,

    scene.set_nerf(nerf_func, center=[0.0, 0.0, 1.0], radius=2, use_dirs=True)
    scene.display(open_browser=False, port=args.port)
    scene.write(path=args.npz_path) # how to save the scene?
    
    opened by Holmes-Alan 1
  • How to set

    How to set "sh_proj_sample_count" and "chunk" in set_nerf()?

    Hello,

    Are there any recommendations on what the sh_proj_sample_count and chunk parameters mean, and how to set them when calling the Scene.set_nerf() method? The latter doesn't seem to be included in the docstring for it.

    The reason I ask is mainly because I want to better predict what the dimensions of the grid variable will be, based on the parameters passed to the function. I think this might help prevent errors in places like in sh.project_function_sparse() function, where it does the transpose:

    func_value = func_value.transpose(0, 1).reshape(
               sample_count, batch_size * C) # [sample_count, batch_size * C]
    
    opened by UPstartDeveloper 0
  • Add rendering method for plenoxels.

    Add rendering method for plenoxels.

    For research purposes, I would like to visualize a Plenoxel.

    I added a method for this:

    See https://github.com/pietertolsma/nerfvis/blob/master/nerfvis/scene.py

    opened by pietertolsma 0
  • empty nerf

    empty nerf

    Hello, I am getting this error:

    File "/home/me/anaconda3/envs/ngp_pl/lib/python3.9/site-packages/nerfvis/scene.py", line 976, in add_nerf assert grid.shape[0] > 0, "This NeRF is completely empty! Make sure you set the bounds reasonably" AssertionError: This NeRF is completely empty! Make sure you set the bounds reasonably

    im using a ngp_pl trained nerf instead of nerf_pl. I believe the structure is the same unless i'm way off. Could you please shed some light onto this issue?

    Thanks in advance.

    P.S: I can render the silica nerf from nerf_pl with no issues.

    opened by cubantonystark 1
  • How to utilize the time-slider?

    How to utilize the time-slider?

    Hi, when using NerfVis, there is a time-slider in the top-right corner, but there is nothing about it in the documentation. How can i utilize it in the visualization? Can I train a NeRF on a video and then use the time-slider to display said video from an arbitrary viewpoint?

    Thanks a lot!

    opened by ben-bou 0
  • using nerfvis for visualization does not work for other blender dataset

    using nerfvis for visualization does not work for other blender dataset

    Hello there, I tried your code on "chair" example from blender dataset and used the nerfvis library for visualization. It totally worked. However, when I tried to visualize other examples, like "ship" from blender dataset, it stops at loading 100% and it never shows the 3D model like image

    Can you tell me what is the problem? Thank you in advance.

    opened by Holmes-Alan 0
  • Slicing cross-sectional views

    Slicing cross-sectional views

    First of all, thank you for your great work!

    How to slice any cross-sectional views I want rather than just three direction views?

    Thank you in advance.

    opened by cshennju 0
  • example error

    example error

    import nerfvis scene = nerfvis.Scene("My title") scene.add_cube("Cube1", color=[1.0, 0.0, 0.0], translation=[-1.0, -1.0, 0.0]) scene.display(url='10.255.26.23',port=8020)

    【jupyter can accessed it,but nerfvis cannot access it:(】 then there is error: Serving localhost:8020

    Exception happened during processing of request from ('172.24.142.99', 64624) Traceback (most recent call last): File "/opt/conda/envs/py36/lib/python3.6/socketserver.py", line 320, in _handle_request_noblock self.process_request(request, client_address) File "/opt/conda/envs/py36/lib/python3.6/socketserver.py", line 351, in process_request self.finish_request(request, client_address) File "/opt/conda/envs/py36/lib/python3.6/socketserver.py", line 364, in finish_request self.RequestHandlerClass(request, client_address, self) File "/opt/conda/envs/py36/lib/python3.6/site-packages/nerfvis/scene.py", line 840, in init super().init(*args, directory=dirname, **kwargs) TypeError: init() got an unexpected keyword argument 'directory'

    please show me how to solve it

    opened by Yes-Jumby 2
Owner
Alex Yu
Undergrad at UC Berkeley
Alex Yu
A knowledge base construction engine for richly formatted data

Fonduer is a Python package and framework for building knowledge base construction (KBC) applications from richly formatted data. Note that Fonduer is

HazyResearch 386 Dec 5, 2022
Detectron2-FC a fast construction platform of neural network algorithm based on detectron2

What is Detectron2-FC Detectron2-FC a fast construction platform of neural network algorithm based on detectron2. We have been working hard in two dir

董晋宗 9 Jun 6, 2022
(Arxiv 2021) NeRF--: Neural Radiance Fields Without Known Camera Parameters

NeRF--: Neural Radiance Fields Without Known Camera Parameters Project Page | Arxiv | Colab Notebook | Data Zirui Wang¹, Shangzhe Wu², Weidi Xie², Min

Active Vision Laboratory 411 Dec 26, 2022
PlenOctrees: NeRF-SH Training & Conversion

PlenOctrees Official Repo: NeRF-SH training and conversion This repository contains code to train NeRF-SH and to extract the PlenOctree, constituting

Alex Yu 323 Dec 29, 2022
Unofficial & improved implementation of NeRF--: Neural Radiance Fields Without Known Camera Parameters

[Unofficial code-base] NeRF--: Neural Radiance Fields Without Known Camera Parameters [ Project | Paper | Official code base ] ⬅️ Thanks the original

Jianfei Guo 239 Dec 22, 2022
NeRF Meta-Learning with PyTorch

NeRF Meta Learning With PyTorch nerf-meta is a PyTorch re-implementation of NeRF experiments from the paper "Learned Initializations for Optimizing Co

Sanowar Raihan 78 Dec 18, 2022
Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields.

This repository contains the code release for Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields. This implementation is written in JAX, and is a fork of Google's JaxNeRF implementation. Contact Jon Barron if you encounter any issues.

Google 625 Dec 30, 2022
This repository contains a PyTorch implementation of "AD-NeRF: Audio Driven Neural Radiance Fields for Talking Head Synthesis".

AD-NeRF: Audio Driven Neural Radiance Fields for Talking Head Synthesis | Project Page | Paper | PyTorch implementation for the paper "AD-NeRF: Audio

null 551 Dec 29, 2022
Code release for DS-NeRF (Depth-supervised Neural Radiance Fields)

Depth-supervised NeRF: Fewer Views and Faster Training for Free Project | Paper | YouTube Pytorch implementation of our method for learning neural rad

null 524 Jan 8, 2023
Putting NeRF on a Diet: Semantically Consistent Few-Shot View Synthesis Implementation

Putting NeRF on a Diet: Semantically Consistent Few-Shot View Synthesis Implementation This project attempted to implement the paper Putting NeRF on a

null 254 Dec 27, 2022
A PyTorch implementation of NeRF (Neural Radiance Fields) that reproduces the results.

NeRF-pytorch NeRF (Neural Radiance Fields) is a method that achieves state-of-the-art results for synthesizing novel views of complex scenes. Here are

Yen-Chen Lin 3.2k Jan 8, 2023
D-NeRF: Neural Radiance Fields for Dynamic Scenes

D-NeRF: Neural Radiance Fields for Dynamic Scenes [Project] [Paper] D-NeRF is a method for synthesizing novel views, at an arbitrary point in time, of

Albert Pumarola 291 Jan 2, 2023
Code release for NeRF (Neural Radiance Fields)

NeRF: Neural Radiance Fields Project Page | Video | Paper | Data Tensorflow implementation of optimizing a neural representation for a single scene an

null 6.5k Jan 1, 2023
Pytorch implementation for A-NeRF: Articulated Neural Radiance Fields for Learning Human Shape, Appearance, and Pose

A-NeRF: Articulated Neural Radiance Fields for Learning Human Shape, Appearance, and Pose Paper | Website | Data A-NeRF: Articulated Neural Radiance F

Shih-Yang Su 172 Dec 22, 2022
A minimal TPU compatible Jax implementation of NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

NeRF Minimal Jax implementation of NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis. Result of Tiny-NeRF RGB Depth

Soumik Rakshit 11 Jul 24, 2022
Build upon neural radiance fields to create a scene-specific implicit 3D semantic representation, Semantic-NeRF

Semantic-NeRF: Semantic Neural Radiance Fields Project Page | Video | Paper | Data In-Place Scene Labelling and Understanding with Implicit Scene Repr

Shuaifeng Zhi 243 Jan 7, 2023
Point-NeRF: Point-based Neural Radiance Fields

Point-NeRF: Point-based Neural Radiance Fields Project Sites | Paper | Primary c

Qiangeng Xu 662 Jan 1, 2023
[arXiv'22] Panoptic NeRF: 3D-to-2D Label Transfer for Panoptic Urban Scene Segmentation

Panoptic NeRF Project Page | Paper | Dataset Panoptic NeRF: 3D-to-2D Label Transfer for Panoptic Urban Scene Segmentation Xiao Fu*, Shangzhan zhang*,

Xiao Fu 111 Dec 16, 2022
Unofficial pytorch-lightning implement of Mip-NeRF

mipnerf_pl Unofficial pytorch-lightning implement of Mip-NeRF, Here are some results generated by this repository (pre-trained models are provided bel

Jianxin Huang 159 Dec 23, 2022