K-Planes代码记录

随记

原文 K-Planes: Explicit Radiance Fields in Space, Time, and Appearance,又要换baseline,可是效果不好能怎么办呢,我可不可以发疯。k-planes的代码又是非常工程琐碎的,大佬的代码果然不顾小白死活。随便记录下整个过程。

代码记录

main.py

主要用于:加载config文件,data,初始化等

复制代码
loda_data() # 加载数据
init_trainer()	# 初始化模型(包括k-planes loss function等各种)
load_model()

type有几个参数可选,其中phototourism等价于NeRF-Wvideo相当于动态场景 ,其他是静态 ;从line 70进入各种初始化步骤。

所有参数都初始化完毕后,开始训练

复制代码
line 160      trainer.train()

base_train.py

一系列参数的初始化

还有损失函数的计算和优化

lowran_model.py

经过一系列跳转,在这个文件下进行KPlaneField,KPlaneDensityField,ProposalNetworkSampler等一系列采样和plane的生成和初始化操作,还有forward()函数,插值,query_rgb query_density。这里我只关心k-plane生成

kplane_field.py

  1. 生成并初始化K-planes

最后生成以下k-planes:

  1. Init appearance code-related parameters等价于NeRF-W(略)

  2. Init decoder params: 对方向进行编码

  3. 初始化decoder

这里有两种选择,使用论文中的线性解码器还是MLP,直接看else line189-217

video_trainer.py

其他的初始化都没那么重要,第二重要的loss,k-plane添加了很多正则化的loss,就在这个函数里进行初始化

需要注意的点

  1. pytorch提供的插值函数需要将x归一化的[-1,1]之间
  2. 损失函数的计算

记录一下求ray还是什么的区别,暂时没有很重要。不过原文里的这部分好像被删掉了,这里是在B站up那里截的图。

相关推荐
想成为PhD的小提琴手13 小时前
论文阅读13——基于大语言模型和视觉模态融合的可解释端到端自动驾驶框架:DriveLLM-V的设计与应用
论文阅读·语言模型·自动驾驶
想看雪的瓜1 天前
Origin将2D普通的XPS曲线图升级为三维XPS瀑布图
论文阅读·论文笔记
DuHz2 天前
基于信号分解的FMCW雷达相互干扰抑制——论文阅读
论文阅读·算法·汽车·信息与通信·毫米波雷达
m0_650108242 天前
MiniGPT-4:解锁 LLM 驱动的高级视觉语言能力
论文阅读·开源·视觉语言大模型·minigpt-4·跨模态对齐·强llm+视觉对齐
WSKH09292 天前
【论文阅读】(2016)Dual Inequalities for Stabilized Column Generation Revisited
论文阅读·线性规划·运筹学·列生成·对偶不等式·稳定列生成
程途拾光1582 天前
用流程图优化工作流:快速识别冗余环节,提升效率
大数据·论文阅读·人工智能·流程图·论文笔记
蓝海星梦3 天前
【论文笔记】R-HORIZON:重塑长周期推理评估与训练范式
论文阅读·人工智能·深度学习·自然语言处理·大型推理模型
张较瘦_3 天前
[论文阅读] 软件工程 | 解决Java项目痛点:DepUpdater如何平衡依赖升级的“快”与“稳”
java·开发语言·论文阅读
0x2113 天前
[论文阅读]Friend or Foe: How LLMs‘ Safety Mind Gets Fooled by Intent Shift Attack
论文阅读
Valueyou243 天前
论文阅读——CenterNet
论文阅读·python·opencv·目标检测·计算机视觉