gaussian-splatting/run_code.txt
2024-05-10 23:29:29 +08:00

83 lines
4.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Running:
# Train with train/test split
python train.py --source_path <path to COLMAP or NeRF Synthetic dataset> --model_path <保存路径> --eval
python train.py --source_path ../../Dataset/3DGS_Dataset/linggongtang --model_path output/linggongtang --data_device 'cpu' --eval --resolution 1
python train.py --source_path ../../Dataset/3DGS_Dataset/xiangjiadang --model_path output/xiangjiadang --data_device 'cpu' --eval --resolution 1
--source_path / -sCOLMAP 或合成 Synthetic NeRF data set的源目录的路径。COLMAP类型包含 images/, sparse/0
--model_path / -m训练模型的存储路径默认为 output/<random>
--images / -iCOLMAP 图像的替代子目录,默认为 images
--eval训练时默认使用全部图片--eval可以在训练时按照MipNeRF360-style划分 training/test用于 evaluation
--resolution / -r指定训练前加载图像的分辨率。如果是 1, 2, 4 or 8 则使用原始分辨率的 1/2, 1/4 or 1/8。
对于所有其他值,会将图像宽度调整到给定数字,同时保持图像宽高比;
如果未设置并且输入图像宽度超过 1.6K 像素,则输入将宽度自动缩放到 1.6k
--data_device指定源图像数据在训练时的放置位置默认使用cuda如果在大型/高分辨率数据集上进行训练建议使用cpu减少显存占用但训练速度会变慢
--white_background / -w添加此标志以使用白色背景而不是黑色默认用于评估 NeRF Synthetic dataset
--sh_degree球谐函数的阶数不大于 3默认为 3
--convert_SHs_python添加此标志以使用 PyTorch 而不是论文提出的pipeline计算 SH系数 的forward and backward
--convert_cov3D_python添加此标志以使用 PyTorch 而不是论文提出的pipeline计算 3D协方差 的forward and backward
--debug如果遇到错误请启用调试模式。如果光栅化器失败dump则会创建一个文件您可以在问题中将其转发给我们以便我们查看。
--debug_from调试速度慢。可以指定一个迭代次数从 0 开始),指定数字之前的迭代会是活动状态
--iterations训练的总迭代次数默认为 30_000
--ip启动 GUI 服务器的 IP默认为 127.0.0.1
--portGUI 服务器的端口,默认为 6009
--test_iterations训练脚本在测试集上计算 L1 和 PSNR 的分隔迭代次数,默认为 7000, 30000
--save_iterations训练脚本保存高斯模型的分隔迭代次数默认为 7000, 30000
--checkpoint_iterations存储checkpoint的分隔迭代次数以后续继续新联保存在model directory中
--start_checkpoint保存的checkpoint的路径以继续训练
--quiet此标志用于不写入任何文本到标准输出管道
--feature_lr球谐函数的学习率默认为 0.0025
--opacity_lr不透明度的学习率默认为 0.05
--scaling_lr尺度的学习率默认为 0.005
--rotation_lr旋转四元数的学习率默认为 0.001
--position_lr_max_steps位置学习率从初始值到最终值的步数从 0 开始),默认为 30_000
--position_lr_init位置学习率的初始值默认为 0.00016
--position_lr_final位置学习率的最终值默认为 0.0000016
--position_lr_delay_mult位置学习率的乘数默认为 0.01
--densify_from_iterdensification开始的迭代次数默认为 500
--densify_until_iterdensification结束的迭代次数默认为 15_000
--densify_grad_threshold决定是否应基于 2D 位置梯度对点进行densification的限制默认为0.0002
--densification_intervaldensify的频率默认为 100每迭代100次进行1次
--opacity_reset_interval重置不透明度的频率默认为 3_000
--lambda_dssimSSIM 对总损失的影响,从 0 到 1默认为0.2
--percent_dense点必须超过场景范围的百分比才能强制致密 (0--1)默认为0.01
#--------------------------------------------------------------------------
Evluation:
# Generate renderings
python render.py -m <path to trained model>
--model_path / -m为其创建renderings的以训练模型的路径
--skip_train跳过渲染training set
--skip_test跳过渲染test set
--quiet不写入任何文本到标准输出管道
以下参数会从用于训练的model path中自动读取。但可覆写它们
--source_path / -sCOLMAP 或合成 Synthetic NeRF data set的源目录的路径。
--images / -iCOLMAP 图像的替代子目录,默认为 images
--eval
--resolution / -r
--white_background / -w
--convert_SHs_python
--convert_cov3D_python
#--------------------------------------------------------------------------
# Compute error metrics on renderings
python metrics.py -m <path to trained model>
--model_paths / -m应计算metrics的model paths的分隔列表