K-Planes代码记录

news2024/11/17 9:50:57

随记

原文 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:

在这里插入图片描述
2. Init appearance code-related parameters等价于NeRF-W(略)
3. Init decoder params: 对方向进行编码
4. 初始化decoder
这里有两种选择,使用论文中的线性解码器还是MLP,直接看else line189-217

video_trainer.py

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

需要注意的点

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

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

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1882650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

造一个交互式3D火山数据可视化

本文由ScriptEcho平台提供技术支持 项目地址:传送门 使用 Plotly.js 创建交互式 3D 火山数据可视化 应用场景 本代码用于将火山数据库中的数据可视化,展示火山的高度、类型和状态。可用于地质学研究、教育和数据探索。 基本功能 该代码使用 Plotly…

【面试系列】信息安全分析师高频面试题及详细解答

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、…

基于TCP/QT/C++的网盘系统测试报告

目录 一、项目介绍 1、项目描述 2、项目组成模块 3、项目技术要点 二、用户功能测试 1、查看在线用户测试 1.1、运行服务器 1.2、登录两个账号 1.3、点击显示在线用户,可以看到jack和lucy 2、搜索用户测试 2.1、打开服务器,登录两个账号jack,lucy 2.2、在…

强化学习的数学原理:贝尔曼公式

大纲 这一节课程的大纲: 重点 对于这次课,重点是两个东西: Motivating examples(为什么需要贝尔曼公式) 首先要明白,为什么 return 是重要的? 之前其实就说过,return 能够帮助我们评价一个策略是好还是坏…

哪个牌子的超声波清洗器好?精选四大超强超声波清洗机力荐

生活中戴眼镜的人群不在少数,然而要维持眼镜的干净却不得不每次都需要清洗,只是通过手洗的方式实在太慢并且容易操作不当让镜片磨损更加严重!所以超声波清洗机就诞生了!超声波清洗机能够轻松清洗机眼镜上面的油脂污渍,…

Kubernetes的发展历程:从Google内部项目到云原生计算的基石

目录 一、起源与背景 1.1 Google的内部项目 1.2 Omega的出现 二、Kubernetes的诞生 2.1 开源的决策 2.2 初期发布 三、Kubernetes的发展历程 3.1 社区的成长 3.2 生态系统的壮大 3.3 重大版本和功能 3.4 多云和混合云的支持 四、Kubernetes的核心概念 4.1 Pod 4.…

有源晶振Output Load含义与供电范围解析

在深入探讨有源晶振的Output Load与供电范围之前,我们首先需要了解有源晶振的基本概念。有源晶振,又称为实时时钟模块或晶体振荡器,是一种能够提供稳定、精确频率信号的电子组件。与无源晶振不同,有源晶振内部包含了必要的电路&am…

机器学习复习总结

目录 第一章 机器学习的概念及其应用 1.1机器学习的特点: **1.2机器学习的分类: 1.2.1监督学习: 1.2.2无监督学习: 1.2.3强化学习: 1.2.4三种机器学习的区别 *1.3深度学习 1.3.1深度学习的实质: …

生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)

前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式。这里我会一一展开说具体怎么配置一、双节点均部署Nginx: 第一步:上传…

烟台网站建设前需要了解哪些

在进行烟台网站建设之前,需要了解以下几个重要的方面: 1. 目标和定位:在建设网站之前,需要明确网站的目标和定位。是为了展示公司业务,还是为了销售产品,或者是为了提供信息和服务等。根据不同的目标和定位…

JAVA:常用的算法指南

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、简述 在软件开发过程中,算法扮演着关键的角色。它们用于解决各种问题,从数据处理到搜索、排序等。本文将介绍几种常见的算法及其 Java 实现,包括排序算…

防爆巡检终端在石化工厂安全保障中的应用

防爆巡检终端在石化工厂安全保障中的应用是广泛而关键的,其设计旨在确保在易燃易爆环境中进行安全、有效的巡检工作。以下是防爆巡检终端在石化工厂安全保障中的详细应用描述: 1. 环境监测与预警 防爆巡检终端配备了各种传感器,能够实时监测…

分享一个用于深入分析【大模型LLM】工作原理的工具

背景 LLM Transparency Tool 是一个用于深入分析和理解大型语言模型(LLM)工作原理的工具,旨在增加这些复杂系统的透明度。它提供了一个交互式界面,用户可以通过它观察、分析模型对特定输入(prompts)的反应…

【MySQL基础篇】函数及约束

1、函数 函数是指一段可以直接被另一段程序程序调用的程序或代码。 函数 - 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 函数功能CONCAT(S1,S2,...,Sn)字符串拼接,将S1,S2,...,Sn拼接成一个字符串LOWER(str)将字符串str全部…

DDD学习笔记四

领域模型的构建 基础领域模型的基本组成有名称、属性、关联、职责、事件和异常 发掘领域概念3种策略: 1)学习已有系统,重用已有模型 2)使用分类标签。分类标签来源于领域,需要我们研究一些资料并做一些提炼。从采用5W…

解决 prettier/prettier 和 indent 冲突问题和一点简单思考

用过 prettier 的都知道,经常会遇到 prettier 与 eslint 的某些规则冲突的情况。在之前的一篇文章中,我简单地描述过怎么搭建起应用 eslint/prettier 的基本配置,也提到了怎么解决 prettier 与 eslint 的一些冲突问题。 其中有这么一段话&am…

C语言 | Leetcode C语言题解之第202题快乐数

题目: 题解: //计算的过程函数,我没重点讲,很简单看一下代码就好了 int getSum(int n) {int sum 0;while (n) {sum (n % 10) * (n % 10);n / 10;}return sum; }bool isHappy(int n){int sum getSum(n);int hash[820] {0};whi…

寒武纪实现高维向量的softmax进阶优化和库函数对比

关于寒武纪编程可以参考本人之前的文章添加链接描述,添加链接描述,添加链接描述 实验证明,axis=0和axis=-1的时候,手写softmax速度可以和库函数媲美,甚至于更甚一筹。 src/softmax.mlu #include <bang.h> #include

OPCUA相关概念和KepServer OPCUA连接PLC

文章背景 项目中需要使用OPC UA 来读取PLC的点位。本文简单介绍了OPC UA和使用KepServer软件连接PLC并读点。OPC相关概念 OPC之前&#xff0c;软件开发需要写大量驱动程序去连接设备&#xff0c;设备上的一个硬件改变&#xff0c;应用程序都有可能需要重写&#xff0c;不同设备…

Facebook助力中东地区博弈游戏广告营销新视界

Facebook助力中东地区博弈游戏广告营销新视界 中东地区&#xff0c;作为世界上充满活力和潜力的游戏市场之一&#xff0c;近年来&#xff0c;Slots游戏在该地区的热度持续攀升。众多游戏开发商和广告主纷纷寻求有效的推广方式&#xff0c;以吸引更多的潜在用户。在这个过程中&…