3D GS 测试自己的数据

环境配置

  • win11 
  • vs2019
  • cuda11.8+driver522.06
  • python3.10+pytorch 2.4.0
  • colmap3.8(可选,用于将图像生成点云)

安装

1 minicoda+git

2 vs2019

在装cuda前安装,  选择c++桌面开发即可,

环境变量path中配置C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64

3 cuda

下载 cuda_11.8.0_522.06_windows.exe

环境变量配置CUDA_HOME为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

4 colmap

下载 COLMAP-3.8-windows-cuda.zip

环境变量path中配置C:\Users\lucky\COLMAP-3.8-windows-cuda\bin 和 C:\Users\lucky\COLMAP-3.8-windows-cuda\lib

5 GS

注意:由于网络原因,子仓库的代码有时会下载不全。

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
cd gaussian-splatting
conda create -n 3dgs python=3.10
conda activate 3dgs
conda install -c conda-forge vs2019_win-64
SET DISTUTILS_USE_SDK=1
pip3 install torch==2.4.0 torchvision==0.19.0  torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu118
pip install submodules\diff-gaussian-rasterization
pip install submodules\simple-knn
pip install plyfile tqdm opencv-python

遇到问题:glm.h 找不到,网络原因导致子仓库代码没有下载,解决如下:
cd gaussian-splatting\submodules\diff-gaussian-rasterization\third_party\glm 
git submodule update --init --recursive

6 可视化工具

下载 viewer.zip
环境变量path中配置 C:\Users\lucky\viewers\bin

运行

1 数据准备

准备照片,组织成如下目录结构:

PS C:\Users\lucky> tree /f test
C:\USERS\LUCKY\TEST
├─input
│      1723516992.444349.png
│      1723516992.544349.png
│      1723516992.644349.png
│      1723516992.744349.png
│      1723516992.844349.png
│      1723516992.944349.png
│      1723516993.044349.png
│      1723516993.144349.png
│      1723516993.244349.png

2 colmap生成3D点和位姿

python convert.py -s C:\users\lucky\test

test
├─distorted                   # 祛畸变后的
│  └─sparse
│      └─0
│           └─  cameras.bin
​​​​​​​│            ​​​​​​​│    images.bin
​​​​​​​│            ​​​​​​​│    points3D.bin
​​​​​​​│            ​​​​​​​│    project.ini
├─images                     #  祛畸变后的照片
├─input                         # 原始照片目录

3 训练3DGS模型

python train.py -s C:\users\lucky\test -m C:\users\lucky\test\output

4 可视化

SIBR_gaussianViewer_app -m C:\users\lucky\test\output

### 使用4DGS框架训练自定义数据集 为了使用4DGS框架训练自定义数据集,需遵循特定的数据准备和配置流程。该框架特别强调时间语义信息的重要性,在处理动态场景时尤为关键[^1]。 #### 数据收集与预处理 对于自定义数据集的构建,首先要确保所采集的数据能够充分反映目标对象随时间变化的空间特征。这意味着不仅需要高质量的三维几何信息(如通过LiDAR获取),还需要同步记录的时间戳以及可能存在的多视角RGB图像等辅助信息。这些额外的信息有助于增强模型对不同时间段内物体状态的理解能力。 #### 配置环境与安装依赖项 在开始之前,应按照官方文档指示设置好开发环境并安装必要的库文件和支持工具。这通常涉及到Python版本的选择、CUDA/GPU驱动程序兼容性验证等一系列准备工作。此外,还需下载或克隆最新的SA4D源码仓库作为项目的基础架构。 #### 自定义Dataset类实现 针对具体的任务需求设计相应的`Dataset`子类是非常重要的一步。此部分主要涉及两个方面的工作: - **__init__() 方法**: 定义初始化逻辑,加载元数据路径、解析标注文件格式等内容; - **getitem() 和 __len__() 方法**: 实现单个样本读取接口及整个集合大小查询功能; ```python from torch.utils.data import Dataset, DataLoader class Custom4DDataset(Dataset): def __init__(self, root_dir, transform=None): self.root_dir = root_dir self.transform = transform # Load metadata and prepare data indices here def __len__(self): return total_number_of_samples # Replace with actual count logic def __getitem__(self, idx): sample_data_path = os.path.join(self.root_dir, f'sample_{idx}.npy') # Read the npy file or other formats as needed. sample = load_sample(sample_data_path) if self.transform: sample = self.transform(sample) return sample ``` #### 调整超参数与实验设定 根据实际应用场景调整网络结构中的各项参数至关重要。例如学习率、批次大小(batch size)、迭代次数(epoch number)等因素都会影响最终效果的好坏。同时也要注意监控训练过程中可能出现的各种异常情况,并及时采取措施加以解决。 #### 训练过程可视化 利用TensorBoard或其他类似的平台来跟踪损失函数的变化趋势以及其他重要指标的表现可以帮助更好地理解算法行为模式。这对于优化性能有着不可忽视的作用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值