Hands-On NeRF with KAN

November 29, 2024 ยท View on GitHub

KAN: Kolmogorov-Arnold Networks is a promising challenger to traditional MLPs. We're thrilled about integrating KAN into NeRF! Is KAN suited for view synthesis tasks? What challenges will we face? How will we tackle them? We provide our initial observations and future discussion!

https://github.com/Tavish9/KANeRF/assets/60593268/0d1ae7c6-e937-4552-b414-ba39f7624a3c

Update News

  • Release the implementation of KANeRF based on PyKAN.
  • ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ Release an efficient implementation of KANeRF based on Efficient-KAN, achiving 15x speedup! ๐ŸŽ‰

Installation

KANeRF is buid based on nerfstudio and Efficient-KAN. Please refer to the website for detailed installation instructions if you encounter any problems.

# create python env
conda create --name nerfstudio -y python=3.8
conda activate nerfstudio
python -m pip install --upgrade pip

# install torch
pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit

# install tinycudann
pip install ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

# install nerfstudio
pip install nerfstudio

# install efficient-kan
pip install git+https://github.com/Blealtan/efficient-kan.git

Performance Comparision

We integrate KAN and NeRFacto and compare KANeRF with NeRFacto in terms of model parameters, training time, novel view synthesis performance, etc. on the Blender dataset. Under the same network settings, KAN slightly outperforms MLP in novel view synthesis, suggesting that KAN possesses a more powerful fitting capability. However, KAN's inference and training speed are significantly** slower than those of MLP. Furthermore, with a comparable number of parameters, KAN underperforms MLP.

ModelNeRFactoNeRFacto TinyKANeRF
Trainable Network Parameters819221767131
Total Network Parameters8192217610683
hidden_dim6488
hidden dim color6488
num layers211
num layers color211
geo feat dim1577
appearance embed dim3288
Training Time14m 13s13m 47s37m 20s
FPS2.5~2.50.95
LPIPS0.01320.01860.0154
PSNR33.6932.6733.10
SSIM0.9730.9620.966
Loss111
result (rgb)
result (depth)

KAN has the potential for optimization, particularly with regard to accelerating its inference speed. We plan to develop a CUDA-accelerated version of KAN to further enhance its performance : D

  • The Visualization of KanNeRF
Alt text

Contact us

@Manual{,
   title = {Hands-On NeRF with KAN},
   author = {Delin Qu, Qizhi Chen},
   year = {2024},
   url = {https://github.com/Tavish9/KANeRF},
 }