首页 > 其他分享 >IV. Mip-NeRF

IV. Mip-NeRF

时间:2024-05-28 19:55:13浏览次数:21  
标签:采样 NeRF360 IV MLP Mip 像素 NeRF

Mip-NeRF算法思想。

Paper explanation Mip-NeRF360 and BlockNeRF

一、NeRF 的缺点

所有采样点都是:光心+像素中心的射线确定的,如果给定的图像分辨率比较低,那么每个像素会很大,中心点是不足以代表整个像素的颜色的;这会导致 NeRF 锯齿化太严重的问题(边缘不是直接从白到黑,而是慢慢渐变)。anti-aliasing

二、Mip-NeRF 的主要创新点

正方形写代码不好写,所以把像素作为一个圆形。那么就从采样点变成了介于两个采样圆形之间的锥台(frustums);为了加速计算,内部使用高斯分布进行模拟,作为 \(c_i\) 和 \(\sigma_i\) 的值。
5f0c4c36dab7730f81cce910979ff544.png

除了锥台这个方法外,还有种 sample per pixel 方法,也就是一个像素取很多的点进行 ray tracing 采样。效果肯定好,但是计算量翻倍太高,而锥台这个方法平衡了效果和计算量。

一个锥台中,所有 3D 点的 positional encoding 的结果,求期望后,作为 MLP 函数的输入。而且这个结果是和物理上的简谐运动相关。
b96b156a031831145b54e5752856ea66.png
当施加外力后,最后的结果有个衰减项:\(e^{-x}\)。

只在一个尺度下训练,可以同时在最大、最小尺度都取得很好的效果。

三、Mip-NeRF360

Mip-NeRF360

没法把 Mip-NeRF 的采样方式直接套用在 360° 上:Mip-NeRF 中物体距离相机的距离是大致一样,所以可以控制采样点的范围,但是 360° 引入了很远的背景,但我们不知道背景的距离,并且也不能把 bound 设为一个很大的值。

创新一:
8be4527d09e64d3a1c1a93dac811d8e0.png
把超出一定范围的高斯分布(椭圆形表示)进行压缩,保证它们在指定半径内部,虽然形状不同,但仍保有原来的信息,不会影响最后的渲染。

创新二:采样点的取法不同:
20535caca2a5b1c226298d0df4f48dd7.png
原来的 NeRF 进行了两段式采样,并且 MLP 是 8 层,同时得到颜色和密度;而 Mip-NeRF 使用改良的 4 层 MLP 只得到 \(\sigma\) 的分布,加快这个过程。

创新三:让 \(\sigma\) 分布趋近于 uni-model(只有一个高点)这样的分布。
b651c1422822b0ca2fefd56df418440f.png

四、Block NeRF

范围太大了,没法用同一个 DNN 进行训练,人为切分成多个 Block,以某个点为圆心的圆。
8eeefdf1770f31f99f956bb89c44be23.png

重叠区域,引入了 visualbility 图,确定该相信哪张图像。

白天-黑夜的训练:引入 NeRF in the wild 的思路,引入了 appearence embeding 向量,控制输出白天 or 黑夜的结果。

位置太大,导致 colmap 估计的位姿不准,导致衔接处有割裂感。除了训练颜色和密度外,还会训练位姿,使其更准确。

这个算法没有提供 Depth 图,可能并不能证明真正学习到了深度,只是单纯的重现了图片。

标签:采样,NeRF360,IV,MLP,Mip,像素,NeRF
From: https://www.cnblogs.com/7ytr5/p/18218718

相关文章

  • from selenium import webdriver
    url='https://chat18.aichatos8.com'chrome_binary_path='/Users/baidu/project/script/chromedriver/chrome-mac-arm64/GoogleChromeforTesting.app/Contents/MacOS/GoogleChromeforTesting'chromedriver_path='/Users/baidu/project/s......
  • Towards Universal Sequence Representation Learning for Recommender Systems
    目录概符号说明UniSRec统一的文本表示统一的序列表示Parameter-EfficientFine-tuning代码HouY.,MuS.,ZhaoW.X.,LiY.,DingB.andWenJ.TowardsUniversalSequenceRepresentationLearningforRecommenderSystems.KDD,2022.概本文提出了一个用text替代ID......
  • II. 在 Google Colab 上运行 NeRF
     一、运行官方数据集直接跟着NeRF(NeuralRadianceFields)tutorialusinggooglecolab这个视频操作即可,顺便验证一下CoLab作为以后深度学习环境的可行性。二、训练自己的数据博主是以SilicaGGO,他自己拍摄的二次元玩偶。工程链接:kewa123/nerf_pl作者建议的拍摄方......
  • III. NeRF 代码框架
    本文介绍了初代NeRF的训练大致框架。一、所有深度学习的大致框架我们看任何一个深度学习代码,都是找这三部分的位置,分析其作用。​最后把Loss的梯度更新到DNN中,便能不断提高网络的准确度。二、训练代码的细节(一)采样区间首先,作者通过设置near和far限制了采样区间,如......
  • datax 抽取hive表到doris
    datax读取hive表有两种方式,一种是读取hdfs文件路径HDFSReader,因为hive是存储在hdfs上。第二种是读取hive表RDBMSReader。HDFSReader{"job":{"setting":{"speed":{"channel":3},"......
  • I. NeRF及其衍生算法的初步探究
    视频链接:【AI講壇】NeRF與它的快樂夥伴們[Neuralradiancefields]NeRF的主要优势:能够正确处理反光、估算的深度较准、等等。一、nerfinthewildGoogleResearch、未开源NeRFintheWild:NeuralRadianceFieldsforUnconstrainedPhotoCollections.CVPR2021(Oral)......
  • positivessl泛域名证书500元13个月
    随着创建网站的门槛变低,不论是个人用户还是企事业单位用户创建的域名网站也越来越多,怎么维护网络环境的安全成为了各个用户需要解决的问题。为了保护网站的数据安全,防止恶意攻击和数据泄露,大多数用户选择为域名网站安装数字证书。PositiveSSL旗下的泛域名SSL证书是一种可以同时......
  • Codeforces Round 948 (Div. 2)
    A.LittleNikita题意:\(n\)步操作,\(+1\)或\(-1\),最终结果是否等于\(m\)思路:设\(+1\)的操作次数为\(x\),\(-1\)的操作次数为\(y\)\[x+y=n\\x-y=m\]\[x=(n+m)/2\\y=(n-m)/2\]\((n-m)\)和\((n+m)\)均为偶数,即\(n\)和\(m\)均为偶数或同为奇数,且\(n>=m\)代码:voidsolve()......
  • [分享]OffensiveCon24 UEFI 和翻译器的任务:使用跨架构 UEFI Quines 作为 UEFI 漏洞开
    链接:OffensiveCon24-uefi-task-of-the-translator目录x64assemblyx64程序集x64assemblysourcecodeforBGGP4entry:bggp4winningentry-x64assemblysourcecodeBGGP4UEFISelf-replicatingapp:bggp4winningentry-UEFIself-replicatingapp,compiledfromx64......
  • Activity与Fragment之间通信(二)——接口回调
    一。引言上篇文章讲述了Activity和Fragment怎么样通过Bundle传递消息,这篇介绍如何通过接口回调实现通信。首先,Bundle并不适用于任何通信情况,我们来看看Bundle通信的缺点:(1)数据类型的限制:Bundle只能传递一些基本数据类型,如int,String等,无法直接传递自定义对象。(2)繁琐的代码:在......