3DGS代码复现流程(windows本地、colab)

windows本地操作

环境配置

前提:已下载并配置好Anaconda、CUDA、pytorch、COLMAP等。
已在Anaconda中配置好虚拟环境,pytorch最好安装在虚拟环境中,不要在base中。
可参考:过程挺详细的
在python终端运行如下代码,将官方代码进行下载。

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive

复现流程参考一个外国的大佬写的,但是有些文件的存放在我电脑上运行是有些问题的,以下是我自己进行调整后,可以运行的操作。

复现流程

手动配置操作COLMAP

因为我的电脑无法用自动配置,所以用的手动。手动和自动配置都在上面的连接中有写到。
1、将已拍好的物体图片存放在文件夹中,命名为input。
图片存放2、利用COLMAP进行获取相机位姿等操作
直接打开COLMAP。
(1)新建一个工程:file>New project,会出现如下对话框
点击New&#

### 实现相机位姿的代码复现3DGS项目中实现相机位姿的代码复现涉及多个方面的工作,包括但不限于视角变换、投影变换以及具体的数据处理逻辑。为了确保能够成功复现相机位姿,需遵循一系列特定的技术路径。 #### 数据准备与环境搭建 确保所有必要的依赖库已安装,并且按照官方文档或社区贡献者的指南完成基础设置[^2]。这一步骤至关重要,因为任何配置上的偏差都可能导致后续操作失败。 #### 视角变换(View Transformation) 视角变换是指将场景中的对象从模型坐标系转换至摄像机坐标系的过程。此过程通常通过构建视图矩阵来完成,该矩阵包含了摄像机的位置和方向信息: ```cpp glm::mat4 view = glm::lookAt( cameraPosition, // 摄像机位置 targetPoint, // 目标点位置 upVector // 向上向量 ); ``` 上述代码片段展示了如何使用GLM库创建一个视图矩阵[^1]。 #### 投影变换(Projection Transformation) 接着是对经过视角变换后的顶点应用投影变换,目的是使这些顶点适应屏幕的空间布局。常用的两种方法是正交投影和平行投影;而在大多数情况下会选择后者——即透视投影: ```cpp float fov = 45.0f; // 字段角度 float aspect = width / height; float zNear = 0.1f; float zFar = 100.0f; glm::mat4 projection = glm::perspective(glm::radians(fov), aspect, zNear, zFar); ``` 这段代码实现了基于给定参数计算透视投影矩阵的功能。 #### 整合与调试 最后,需要将这两个变换组合起来应用于整个渲染管线之中。同时也要注意检查中间结果是否合理,比如验证摄像机姿态是否正确反映了预期的行为模式。如果遇到问题,则应该仔细审查每一部分代码及其输入输出值,直至找到根源所在。
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值