简介

高斯泼溅,是通过照片来进行三维场景渲染的一种方式。
他区别于传统的三维模型,他是一种渲染技术。
他本质上就是一堆稀疏点云然后渲染出来,并在渲染的时候计算各个视角应该呈现的画面(当前的理解)

现在建模主要有以下几种方案:
一种是精细建模
一种是倾斜摄影
一种是大疆的三维重建(大疆智图)太贵了
还有就是现在这一种高斯泼溅

开始

现在高斯泼溅
https://github.com/graphdeco-inria/gaussian-splatting
这个是原作者,就是最初始版本的,对显卡性能要求高
https://github.com/jonstephens85/gaussian-splatting-Windows
这个是有人弄的windows用的一个分支,填了一些坑,可以直接用
还有就是gsplat
https://github.com/nerfstudio-project/gsplat
这个是nerfstudio团队里面的一些人高斯泼溅进行的一些探索,优化了显存占用和速度
还有一种就是nerfstudio
这个也有一个splatfacto是做高斯泼溅的,但是他也依赖nerfstudio

踩坑

P40显卡用gsplat ,到最后一步了,解决了所有依赖问题,还是失败了,原因是显卡太老了,Pascal架构的,gsplat 官方没宣布支持 Pascal。
所以只能先暂时放弃gsplat了,等换了显卡再试。

所以最终还是选择用https://github.com/jonstephens85/gaussian-splatting-Windows先试试效果,等差不多所有技术路线都能跑通,再看是否升级显卡。

colmap

拍的照片,需要先用这个处理一下,这个东西主要是获取相机的位姿,并把数据处理成能输入到高斯算法的格式。
这个可以直接在github上下载安装包,就可以用。
可以用colmap直接处理,然后用处理后的结果
也可以用nerfstudio,他会调用colmap和ffmpeg来处理拍的照片或者视频,nerfstudio就是一个集成工具,可以输入原始的数据,调用colmap、ffmpeg处理后再调用算法来计算。

COLMAP 介绍

COLMAP 是一款通用的**运动恢复结构(Structure-from-Motion, SfM)和多视图立体(Multi-View Stereo, MVS)**开源软件,由 Johannes Schönberger 等人开发,现已成为三维重建领域最主流的工具之一。它提供了从无序或有序图像集合中重建稀疏点云和稠密三维模型的完整流水线,既有图形界面,也支持命令行调用。
核心功能
COLMAP 的处理流程大致可分为两个阶段。第一阶段是稀疏重建,系统对输入图像进行特征提取(默认使用 SIFT)、特征匹配、几何验证,然后通过增量式 SfM 逐步恢复相机位姿和三维稀疏点云。第二阶段是稠密重建,在已知相机参数的基础上,使用基于 PatchMatch 的立体匹配算法生成深度图,再进行深度图融合得到稠密点云,最后可通过泊松重建或 Delaunay 三角化生成纹理网格模型。
技术特点
COLMAP 在增量式 SfM 中引入了多项改进,包括更稳健的场景图扩增策略、改进的三角化方法、迭代捆绑调整(Bundle Adjustment)以及冗余视图挖掘,显著提升了重建的完整性和精度。它支持多种相机模型(针孔、径向畸变、鱼眼等),可处理数千张图像规模的数据集,并能利用 CUDA 进行 GPU 加速。
典型应用
COLMAP 被广泛应用于文物数字化、建筑测绘、无人机航测、视觉定位研究,以及近年来非常热门的 NeRF(神经辐射场) 和 3D Gaussian Splatting 等神经渲染方法的相机位姿预处理——这两类方法几乎默认以 COLMAP 输出的位姿和稀疏点作为训练输入。

环境问题

python

我用的是pyenv来做版本切换的。但是大多数用的是anaconda。但是我用的是pyenv。
然后在b站上面看到,那个用原作者版本的那个用的是vs2019和py3.9
所以我用3.9配了nerfstudio的环境
但是后面用gsplat,最低3.10
wrtllqnj
然后转成3.10

pytorch 这里用的2.0.0

然后vs这里用的2019版本的

用太高版本了不行,因为他们这些代码已经好久不更新了,所以新的不支持

也是降了几次s

https://docs.gsplat.studio/whl/gsplat/ 这个里面是一些wheels,可以直接安装

在这里插入图片描述
而且gsplat的github上面也有一些预编译好的
这点是真的忽略了,装了半天,没有编译过去。
这个最好不要pip install 安装,也不要去下载源码编译,太难。
直接找对应版本的下载下来安装就行。需要注意的是pt20就是pytorch2.0.0的意思,cu118是cuda11.8,cp310是python3.10,然后后面是架构,这些都要一一能和自己的环境对应上。
这样下载好对应的之后,安装完,再去下载一个对应版本的gsplat源码,进入example文件夹,可以运行脚本。然后调用官方的数据集,进行计算。进行验证。
然后官方的数据集有点大,所以不要用那个命令下载了,直接用链接下载,然后下载后手动放到对应目录下面
并且还要改一下运行脚本,就让他运行一个数据测试一下流程就行,流程通了再换成自己的数据。

还有一个就是激光雷达问题,后面需要了解一下激光雷达怎么辅助使用来优化结果。

还有就是数据的采集,如何拍照效果合适。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐