实验笔记之——基于COLMAP的Instant-NGP与3D Gaussian Splatting的对比

这篇具有很好参考价值的文章主要介绍了实验笔记之——基于COLMAP的Instant-NGP与3D Gaussian Splatting的对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前博客进行了COLMAP在服务器下的测试

实验笔记之——Linux实现COLMAP-CSDN博客文章浏览阅读794次,点赞24次,收藏6次。学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。之前博客跑instant-NGP的时候,除了用官方的数据集,用自己的数据则是通过手机采集,同时获得pose与image。https://blog.csdn.net/gwplovekimi/article/details/135389922?spm=1001.2014.3001.5501而下面两个博客则分别实现了NGP与3DGS

实验笔记之——基于Linux服务器复现Instant-NGP及常用的tmux指令-CSDN博客文章浏览阅读255次,点赞7次,收藏6次。学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。配置好后,通过./instant-ngp或者scripts/run.py就可以运行了。这个编译好像比较耗费时间~https://blog.csdn.net/gwplovekimi/article/details/135365847?spm=1001.2014.3001.5501实验笔记之——Gaussian Splatting-CSDN博客文章浏览阅读691次,点赞23次,收藏8次。之前博客对NeRF-SLAM进行了调研学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。https://blog.csdn.net/gwplovekimi/article/details/135349210?spm=1001.2014.3001.5501这两篇博客中,测试public的数据集效果都不错,但是用iphone的record3D录制的要么不能用要么效果很差,为此统一采用COLMAP来计算pose,再次进行测试以及对比两个方法

目录

基于COLMAP的3DGS

基于COLMAP的NGP

3DGS训练好的模型加载进行可视化


基于COLMAP的3DGS

GitHub - graphdeco-inria/gaussian-splatting: Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"

首先分别运行下面的命令来启动3DGS并可视化其在线训练的过程

conda activate 3DGS

cd gaussian-splatting/

python train.py -s /home/gwp/dataset/30fps

下面在MobaXterm下运行

conda activate 3DGS

cd gaussian-splatting/

./SIBR_viewers/install/bin/SIBR_remoteGaussian_app

训练5分钟左右的结果

sibr_gaussianviewer的使用方法,笔记

训练过程的各种视角请见下视频

基于COLMAP测试3D Gaussian Splatting(训练过程可视化)

基于COLMAP的NGP

GitHub - NVlabs/instant-ngp: Instant neural graphics primitives: lightning fast NeRF and more

https://github.com/NVlabs/instant-ngp/blob/master/docs/nerf_dataset_tips.md

由于NGP支持的数据格式跟3DGS稍有不同,为此需要进行处理

对于参数“aabb_scale ”,如说明文档所言:

“The aabb_scale parameter is the most important instant-ngp specific parameter. It specifies the extent of the scene, defaulting to 1; that is, the scene is scaled such that the camera positions are at an average distance of 1 unit from the origin. For small synthetic scenes such as the original NeRF dataset, the default aabb_scale of 1 is ideal and leads to fastest training. The NeRF model makes the assumption that the training images can entirely be explained by a scene contained within this bounding box. However, for natural scenes where there is a background that extends beyond this bounding box, the NeRF model will struggle and may hallucinate "floaters" at the boundaries of the box. By setting aabb_scale to a larger power of 2 (up to a maximum of 128), the NeRF model will extend rays to a much larger bounding box. Note that this can impact training speed slightly. If in doubt, for natural scenes, start with an aabb_scale of 128, and subsequently reduce it if possible. The value can be directly edited in the transforms.json output file, without re-running the scripts/colmap2nerf.py script.”

aabb_scale 参数是最重要的 instant-ngp 特定参数。指定场景的范围,默认为1;也就是说,场景被缩放,使得摄像机位置距原点的平均距离为 1 个单位。对于小型合成场景(例如原始 NeRF 数据集),默认的 aabb_scale 1 是理想的,并且可以实现最快的训练。 NeRF 模型假设训练图像可以完全由该边界框内包含的场景来解释。然而,对于背景超出此边界框的自然场景,NeRF 模型将陷入困境,并可能在框的边界处产生“漂浮物”的幻觉。通过将 aabb_scale 设置为更大的 2 次方(最大可达 128),NeRF 模型会将光线扩展到更大的边界框。请注意,这可能会稍微影响训练速度。如果有疑问,对于自然场景,请从 128 的 aabb_scale 开始,然后在可能的情况下减小它。该值可以直接在transforms.json输出文件中编辑,无需重新运行scripts/colmap2nerf.py脚本。

那么此处就先设置为128吧~

data-folder$ python ~/instant-ngp/scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 128

注意图片的文件名字需要是images(当然也可以通过输入参数修改了)

sibr_gaussianviewer的使用方法,笔记

过程感觉跟3DGS中的差不多~也是一样的耗时hhh(记得要开tmux),只是数据格式支持不一样~

sibr_gaussianviewer的使用方法,笔记

sibr_gaussianviewer的使用方法,笔记

不知道为啥生成的transform.json只有2个camera~

改为下面的命令测试则可以了!(添加了--colmap_camera_model SIMPLE_PINHOLE)

data-folder$ python ~/instant-ngp/scripts/colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 32 --colmap_camera_model SIMPLE_PINHOLE

sibr_gaussianviewer的使用方法,笔记

同时用colmap gui也试试

sibr_gaussianviewer的使用方法,笔记

NGP的运行代码如下:

conda activate nerf-ngp

cd instant-ngp/

./instant-ngp /home/gwp/dataset/30fps_for_ngp/

结果如下图所示

sibr_gaussianviewer的使用方法,笔记

虽然渲染久一些效果会有点提升

sibr_gaussianviewer的使用方法,笔记

但是这个效果应该是不如3DGS的~(这可能也跟上面提到的aabb_scale有关)

把值从32改为1的效果如下:

sibr_gaussianviewer的使用方法,笔记

好像更差~那改为128呢?

sibr_gaussianviewer的使用方法,笔记

好像有点提升,但是比起3DGS还是差一些~

渲染的过程可视化如下

基于COLMAP测试Instant-NGP(训练过程可视化)

3DGS训练好的模型加载进行可视化

上面的测试中都是边训练边看效果,此处看看直接训练好开奖的结果吧哈~

如下图所示,大概半个小时左右,训练好了一个3DGS,看着PSNR还挺高的,打算加载看看效果~

sibr_gaussianviewer的使用方法,笔记

平时边训练边看结果的代码如下:

conda activate 3DGS

cd gaussian-splatting/

./SIBR_viewers/install/bin/SIBR_remoteGaussian_app

但如果当前没有训练会看到加载的空空如也~

细看gaussian-splatting/的文件组成会发现,它会把训练的结果保存在output中

sibr_gaussianviewer的使用方法,笔记

这个就是当前训练好的模型了。如果要指向某个训练好的模型,应该是

./<SIBR install dir>/bin/SIBR_gaussianViewer_app -m <path to trained model>


./SIBR_viewers/install/bin/SIBR_gaussianViewer_app -m "/home/gwp/gaussian-splatting/output/1f6d93f1-5/"

效果如下视频所示

基于COLMAP测试3D Gaussian Splatting(训练好的模型)文章来源地址https://www.toymoban.com/news/detail-818438.html

到了这里,关于实验笔记之——基于COLMAP的Instant-NGP与3D Gaussian Splatting的对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NeRF必读:Instant-NGP----RTX3090单卡就能玩转NeRF

    NeRF从2020年发展至今,仅仅三年时间,而Follow的工作已呈井喷之势,相信在不久的将来,NeRF会一举重塑三维重建这个业界,甚至重建我们的四维世界(开头先吹一波)。NeRF的发展时间虽短,有几篇工作却在我研究的领域开始呈现万精油趋势: PixelNeRF----泛化法宝 MipNeRF----近远

    2024年02月09日
    浏览(44)
  • Drivable 3D Gaussian Avatars 论文笔记

    这篇文章主要使用了两个当前流行的概念,一是3D高斯溅射,二是cage-based deformation。 这篇文章主要是通过多视角视频来实现逼真的人体三维建模 (3D Human Avatar modeling)。 首先大致记录一下对cage-based deformation 的理解。首先这种方法是将一个object 看成是很多 cages, 然后每一个

    2024年01月23日
    浏览(36)
  • 学习笔记之——3D Gaussian Splatting源码解读

    之前博客对3DGS进行了学习与调研 学习笔记之——3D Gaussian Splatting及其在SLAM与自动驾驶上的应用调研-CSDN博客 文章浏览阅读450次。论文主页3D Gaussian Splatting是最近NeRF方面的突破性工作,它的特点在于重建质量高的情况下还能接入传统光栅化,优化速度也快(能够在较少的训练

    2024年01月20日
    浏览(61)
  • 3d gaussian splatting笔记(paper部分翻译)

    本文为3DGS paper的部分翻译。 基于点的𝛼混合和 NeRF 风格的体积渲染本质上共享相同的图像形成模型。 具体来说,颜色 𝐶 由沿射线的体积渲染给出: 其中密度 𝜎、透射率 𝑇 和颜色 c 的样本是沿着射线以间隔 𝛿 𝑖 采集的。 这可以重写为 典型的基于神经点的方法通过

    2024年01月24日
    浏览(49)
  • 【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的全网最详细的解析

    3D Gaussian Splatting for Real-Time Radiance Field Rendering 论文:link code:link video:link 1. 开山之作 Nerf 一切的开始都是起源于 NERF 开山之作 这里由详细的学习与拆解 【NERF】入门学习整理(一) 【NERF】入门学习整理(二) 【NERF】入门学习整理(三) 【NeRF数据集】LLFF格式数据集处理co

    2024年04月15日
    浏览(85)
  • 【论文笔记】A Survey on 3D Gaussian Splatting

    原文链接:https://arxiv.org/abs/2401.03890 NeRF在计算效率和可控性上具有局限性,这导致了3D高斯溅射(3D GS)的出现,重新定义了场景表达和渲染。 3D GS通过引入新的场景表达技术,用大量的3D高斯表达场景。3D GS使用显式的表达和高度并行化的工作流程,促进高效计算和渲染;其

    2024年01月25日
    浏览(53)
  • 基于Gaussian计算分析傅里叶红外光谱实验值

    :Gaussian、GaussView、傅里叶红外光谱(FTIR)、光谱分析、量子化学 近年来,红外光谱分析技术在材料科学和化学领域得到了广泛的应用。红外光谱是一种基于物质分子振动模式的分析方法,可以用于研究物质的结构、组成和性质。然而在实验中,由于各种原因(如仪器

    2024年04月27日
    浏览(49)
  • 【论文笔记】3D Gaussian Splatting for Real-Time Radiance Field Rendering

    原文链接:https://arxiv.org/abs/2308.04079 网孔和点是最常见的3D场景表达,因其是显式的且适合基于GPU/CUDA的快速栅格化。神经辐射场(NeRF)则建立连续的场景表达便于优化,但渲染时的随机采样耗时且引入噪声。本文的方法结合了上述两种方法的优点:使用3D高斯表达和基于ti

    2024年02月04日
    浏览(43)
  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering 阅读笔记

    感谢B站意の茗的讲解。 论文地址:https://arxiv.org/abs/2308.04079 项目主页:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ 从已有点云模型出发(sfm),以每个点为中心建立可学习的3D高斯表达,Splatting方法进行渲染,实现高分辨率实时渲染。(推动NERF加速方向) 能用训练好的点云

    2024年01月16日
    浏览(51)
  • 论文笔记《3D Gaussian Splatting for Real-Time Radiance Field Rendering》

    项目地址 原论文 最近辐射场方法彻底改变了多图/视频场景捕获的新视角合成。然而取得高视觉质量仍需神经网络花费大量时间训练和渲染,同时最近较快的方法都无可避免地以质量为代价。对于无边界的完整场景(而不是孤立的对象)和 1080p 分辨率渲染,目前没有任何方法

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包