KAN : Kolmogorov-Arnold Networks est un challenger prometteur aux MLP traditionnels. Nous sommes ravis d'intégrer KAN dans NeRF ! KAN est-il adapté aux tâches de synthèse de vues ? À quels défis serons-nous confrontés ? Comment allons-nous les aborder ? Nous vous livrons nos premières observations et nos futures discussions !
KANeRF est construit sur la base de nerfstudio et Efficient-KAN. Veuillez vous référer au site Web pour obtenir des instructions d'installation détaillées si vous rencontrez des problèmes.
# 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
Nous intégrons KAN et NeRFacto et comparons KANeRF avec NeRFacto en termes de paramètres de modèle, de temps de formation, de nouvelles performances de synthèse de vues, etc. sur l'ensemble de données Blender. Dans les mêmes paramètres réseau, KAN surpasse légèrement MLP dans la synthèse de nouvelles vues, ce qui suggère que KAN possède une capacité d'ajustement plus puissante. Cependant, la vitesse d'inférence et de formation de KAN est nettement** plus lente que celle de MLP. De plus, avec un nombre comparable de paramètres, KAN sous-performe MLP.
Modèle | NeRFacto | NeRFacto Minuscule | KANERF |
---|---|---|---|
Paramètres réseau entraînables | 8192 | 2176 | 7131 |
Paramètres réseau totaux | 8192 | 2176 | 10683 |
caché_dim | 64 | 8 | 8 |
couleur sombre cachée | 64 | 8 | 8 |
nombre de couches | 2 | 1 | 1 |
couleur du nombre de calques | 2 | 1 | 1 |
géo exploit dim | 15 | 7 | 7 |
apparence intégrer faible | 32 | 8 | 8 |
Temps de formation | 14 min 13 s | 13 min 47 s | 37 min 20 s |
FPS | 2.5 | ~2,5 | 0,95 |
LPIPS | 0,0132 | 0,0186 | 0,0154 |
PSNR | 33,69 | 32,67 | 33.10 |
SSIM | 0,973 | 0,962 | 0,966 |
Perte | |||
résultat (RVB) | nerfacto_rgb.mp4 | nerfacto_tiny_rgb.mp4 | kanerf_rgb.mp4 |
résultat (profondeur) | nerfacto_profondeur.mp4 | nerfacto_tiny_profondeur.mp4 | kanerf_profondeur.mp4 |
KAN a un potentiel d'optimisation, notamment en ce qui concerne l'accélération de sa vitesse d'inférence. Nous prévoyons de développer une version accélérée par CUDA de KAN pour améliorer encore ses performances : D
@Manual {,
title = { Hands-On NeRF with KAN } ,
author = { Delin Qu, Qizhi Chen } ,
year = { 2024 } ,
url = { https://github.com/Tavish9/KANeRF } ,
}