Point-Nerf 理论笔记和理解

文章目录

  • 什么是point nerf 和Nerf 有什么区别
  • Point Nerf 核心结构有哪些?
    • 什么是point-based radiance field?
  • 点云位置以及置信度是怎么来
  • Point pruning 和 Point Growing

什么是point nerf 和Nerf 有什么区别

基本的nerf 是通过过拟合MLP来完成任意视角场景的重建,这有什么问题呢? 这样会导致模型的训练很慢且完全没有泛化能力。训练出来模型只能用于一个场景的重建。 且Nerf的输入只能是 照片以及相机位姿。但是point nerf 可以使用点云作为输入并且考虑到了每一个点对应的2D features。这个有什么好处呢。他可以省去大量sample的过程。因为在原始的nerf中,我们是不知道场景到底在3D空间中的什么地方,所以我们需要使用对光线进行大量的采样,来大致理解3D场景的位置,而point nerf 因为可以使用点云作为输入,点云中的每一个点都可以理解成场景的一部分,所以我们可以对这些点周围的点进行采样。point nerf 使用相对位置计算特征比起nerf完全使用绝对位置来说,繁华能力有所提高。

Point Nerf 核心结构有哪些?

什么是point-based radiance field?

和nerf相似的点是他们的目的都是要去计算 view-dependent volume density。Nerf 直接使用mlp 进行硬拟合,但是point nerf 使用了neural point来计算这个东西。 neural point 包含三个东西,点的空间位置,点对应的特征,以及它的置信度。 特征是怎么来的。因为知道相机位姿,所以我们可以把3D 点投射到2D feature plane去然后取得每一个点的特征,这就是pixel-aligned features。置信度代表着什么? 置信度表示的是当前这个点在场景表面的可能性有多大。

point-based radiance field怎么获得? 给到任意的一个3D点的位置,我们在这个点的R半径范围内,进行K最近邻采样,然后把这K个点的位置,view direction, 2D features, confidence 一起输入到 point nerf 中去获得 volume density 以及 radiance。 简单来说就是,先处理每一个点,然后再把每一个点相邻的信息整合起来。
在这里插入图片描述
为了提高泛化能力,每一个点的特征是需要重新根据相对位置来计算的。之前的点特征是使用的绝对位置,没有 point translation invariant。具体就是使用另一个MLP把特征和相对位置一起做计算即可。在这里插入图片描述
然后需要使用点与shading location的距离来对这些点进行权重的计算,如果说一个点离shading location特别远,那么它对于重建的贡献也就很小,所以它的权重相对就比较低。volume density 和 radiance的计算首先都要使用方法来对点进行权重计算。
在这里插入图片描述

点云位置以及置信度是怎么来

点云的位置其实是通过深度的unprojection得到的。那么深度是怎么来的呢? 使用MVSnet或者类似的网络。具体怎么做?深度可以表示成物体离相机的距离,或者是两张照片的视差。MVSnet 使用两张或多张相邻的照片,用2D CNN来提取每一张照片的2D特征, 然后和传统MVS算法一样,使用plane sweeping 的方式,将相邻照片的特征图sweep到 reference image 的 plane上面。这样就可以比较两个feature maps之间到底差了多少,这种差值就是cost volume,它已经包括了视差信息,所以用这个cost volume就可以预测深度信息。文中是用的depth probablity volume,用于表示point confidence。这个过程可以表示成:
在这里插入图片描述

Point pruning 和 Point Growing

这两个方法主要是用于点的处理。前者会根据点的权重来筛选点,也就是说如果点的距离离场景的距离特别的远,那么对于场景的贡献就会变低。这时候就可以将这个点删去,来完成剪枝。此外输入的点云有可能会出现不完整的情况,这个时候就需要将点云补全。通过一条光线上点的可见度来判断这个位置需不需要增加点。判断的条件就是一个点确实是在surface 周边的但是离其他的点很远。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CTF Web】CTFShow web6 Writeup(SQL注入+PHP+位运算)

web6 1 阿呆一口老血差点噎死自己&#xff0c;决定杠上了 解法 注意到&#xff1a; <!-- flag in id 1000 -->拦截很多种字符&#xff0c;连 select 也不给用了。 if(preg_match("/\|\"|or|\||\-|\\\|\/|\\*|\<|\>|\^|\!|x|hex|\(|\)|\|select/i"…

IOS开发者证书快捷申请

App Uploader 在进行iOS应用开发中,可以借助appuploader辅助工具进行证书制作、上传和安装测试等操作。首先,您需要访问官方网站获取最新版本的appuploader。最新版本已经优化了与Apple账号的登录流程,无需支付688元,并提供了Windows版和Mac版供用户选择。下载完成后,解压…

地质考察AR远程交互展示系统辅助老师日常授课

广东这片充满活力的土地&#xff0c;孕育了一家引领ARVR科技潮流的杰出企业——深圳华锐视点&#xff0c;作为一家专注于VR/AR技术研究与业务开发的先锋公司。多年来&#xff0c;我们不断突破技术壁垒&#xff0c;将AR增强现实技术与各行各业的实际需求完美结合&#xff0c;助力…

【lambdastreammaven】

lambda 匿名函数 为了简化java中的匿名内部类 事件监听 写一个类 实现 ActionListener 接口 (外部类) | | 内部类 类在其他地方用不到, 索性就把这个类定义在类的内部使用 好处: 1.内部可以使用外部类的成员 …

都2024年了!是谁还不会优化 Hive 的小文件啊!!!速看!

文章目录 小文件产生的原因1.查询建表或者插入2.装载数据3.动态分区小文件影响解决方法针对已经存在的小文件进行优化1.小文件归档2.getmerge3.concatenate4.重写针对写入数据时的优化1.调参优化2.动态分区优化3.使用 Spark 算子控制小文件数量查看 HDFS 上的文件时,无意间点进…

已有yarn集群部署spark

已有yarn集群的情况下&#xff0c;部署spark只需要部署客户端。 一、前提条件 已部署yarn集群&#xff0c;部署方式参考&#xff1a;https://blog.csdn.net/weixin_39750084/article/details/136750613?spm1001.2014.3001.5502&#xff0c;我部署的hadoop版本是3.3.6已安装j…

Java的结构与运行机制

1. JDK JRE JVM三者的区别 JDK(Java Development Kit)&#xff1a;Java开发工具包 JDK包含JRE&#xff0c;还包括其他例如&#xff1a;编译器(javac)、javadoc、jar等&#xff0c;JDK是能够创建和编译程序的。 JRE(Java runtime environment)&#xff1a;Java运行环境 JRE是运…

逻辑分析仪 - 采样率/采样深度

采样深度&#xff08;Sampling Depth&#xff09; 采样深度指的是逻辑分析仪在一次捕获过程中可以记录的最大样本数量。简单来说&#xff0c;采样深度越大&#xff0c;逻辑分析仪可以记录的数据量就越多。这对于分析长时间的信号变化或复杂的信号序列非常重要。 采样率&#…

java面试(JVM)

JVM是什么 Java Virtual Machine Java程序的运行环境&#xff08;java二进制字节码的运行环境&#xff09; 好处&#xff1a; 一次编写&#xff0c;到处运行自动内存管理&#xff0c;垃圾回收机制 JVM由哪些部分组成&#xff0c;运行流程是什么 什么是程序计数器 程序计数器…

uniapp微信小程序解决type=“nickname“获取昵称,v-model绑定值为空问题!

解决获取 type"nickname"值为空问题 文章目录 解决获取 type"nickname"值为空问题效果图Demo解决方式通过表单收集内容通过 uni.createSelectorQuery 效果图 开发工具效果图&#xff0c;真机上还会显示键盘输入框 Demo 如果通过 v-model 结合 blur 获取不…

Python数据分析实验四:数据分析综合应用开发

目录 一、实验目的与要求二、主要实验过程1、加载数据集2、数据预处理3、划分数据集4、创建模型估计器5、模型拟合6、模型性能评估 三、主要程序清单和运行结果四、实验体会 一、实验目的与要求 1、目的&#xff1a; 综合运用所学知识&#xff0c;选取有实际背景的应用问题进行…

YOLOv8_pose训练流程-原理解析[关键点检测理论篇]

本篇将介绍一下YOLOv8关键点检测网络的训练流程,同样在看此篇文章之前先去看一下预测流程[YOLOv8_pose预测流程-原理解析[关键点检测理论篇],还有目标检测任务的训练流程YOLOv8训练流程-原理解析[目标检测理论篇] ,这两篇都是前置课程,下图是YOLOv8实例分割的网络结构图。 …

C语言笔记22 •结构体•

C语言结构体 1.结构体类型的声明 struct Stu { char name[ 20 ]; // 名字 int age; // 年龄 char sex[ 5 ]; // 性别 char id[ 20 ]; // 学号 }; 2.结构体变量的创建和初始化 #include <stdio.h>// 定义一个结构体类型 Point struct Point {int x;int y; };i…

pikachu-Unsafe Filedownload

任意点击一个图片进行下载&#xff0c;发现下载的url。 http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filenamekb.png 构造payload&#xff1a; 即可下载 当前页面的源码&#xff0c;可以进行路径穿越来下载一些重要的配置文件来获取信息。 http://127.0.…

【PostgreSQL001】比较开发生产2个数据库结构方法

1.一直以来想写下基于PostgreSQL的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下PostgreSQL数据库相关知识体系。 3.欢迎批评指正&#xff0c;欢迎关…

【Mac】MWeb Pro(好用的markdown编辑器) v4.5.9中文版安装教程

软件介绍 MWeb Pro for Mac是一款Mac上的Markdown编辑器软件&#xff0c;它支持实时预览&#xff0c;语法高亮&#xff0c;自动保存和备份等功能&#xff0c;并且有多种主题和样式可供选择。此外&#xff0c;MWeb还支持多种导出格式&#xff0c;包括HTML、PDF、Word、ePub等&a…

虚拟机启动Operating System not found找不到操作系统

错误信息 PEX-E51 No SHCP or proxyDHCP offers were received. PXE-M0F: Exiting Intel PXE ROM. Operating System not found解决方法1 到服务里面检查跟vmware相关的服务是否已经全部启动 如果服务怎么都无法启动&#xff0c;最简单的办法还是重装vmware 解决方法2 &#…

数据插值之朗格朗日插值(一)

目录 一、引言 二、代码实现 2.1 Lagrange插值求插值多项式&#xff1a; 代码解析&#xff1a; 1.vpa解释 2.ploy&#xff08;x&#xff09;解释: 3.conv&#xff08;&#xff09;解释 4.poly2sym()解释 2.2 Lagrange插值求新样本值和误差估计&#xff1a; 代码解析&…

容器化:ES和Kibana

1 缘起 最近在学习使用ES&#xff0c; 为了找一个功能强大的可视化工具&#xff0c;之前使用了ES-Head&#xff0c;可以满足学习需求。 闲暇时间又折腾了另一个工具Kibana&#xff0c; 分享如下。 Kibana优点&#xff1a; 用户友好性&#xff1a;Kibana提供直观易用的用户界面…

项目思考-编辑器

1、文本生成编辑器 2、图片合成编辑器&#xff08;未完待续&#xff09; 3、文字和图像版本的技术要点&#xff0c;区别&#xff08;未完待续&#xff09; 4、编辑器的人员配置考虑&#xff0c;技术难点分析&#xff08;未完待续&#xff09; 1、文本生成编辑器