StreamRF 项目使用教程
1. 项目目录结构及介绍
StreamRF 项目的目录结构如下:
StreamRF/
├── configs/
│ ├── meetroom_init.json
│ ├── meetroom.json
│ ├── meetroom_full.json
│ ├── n3dv_init.json
│ ├── n3dv.json
│ ├── n3dv_full.json
│ └── n3dv_full_hightv.json
├── util/
├── .gitignore
├── LICENSE
├── README.md
├── opt.py
├── prepare_dataset.py
├── render_delta.py
├── train_video_n3dv_base.py
├── train_video_n3dv_full.py
└── train_video_n3dv_pilot.py
目录结构介绍
-
configs/: 包含项目的配置文件,用于不同数据集和训练模式的配置。
meetroom_init.json
: Meet Room 数据集初始化配置。meetroom.json
: Meet Room 数据集训练配置。meetroom_full.json
: Meet Room 数据集完整训练配置。n3dv_init.json
: N3DV 数据集初始化配置。n3dv.json
: N3DV 数据集训练配置。n3dv_full.json
: N3DV 数据集完整训练配置。n3dv_full_hightv.json
: N3DV 数据集高 TV 损失权重配置。
-
util/: 包含项目使用的工具函数和辅助代码。
-
.gitignore: Git 忽略文件配置。
-
LICENSE: 项目许可证文件,采用 BSD-2-Clause 许可证。
-
README.md: 项目说明文档。
-
opt.py: 初始化第一帧模型的脚本。
-
prepare_dataset.py: 数据集准备脚本,用于从视频中提取帧并组织数据结构。
-
render_delta.py: 渲染脚本,用于生成 3D 视频。
-
train_video_n3dv_base.py: 基础训练脚本。
-
train_video_n3dv_full.py: 完整训练脚本。
-
train_video_n3dv_pilot.py: 试点训练脚本。
2. 项目启动文件介绍
2.1 opt.py
opt.py
脚本用于初始化第一帧模型。使用方法如下:
python opt.py -t <log_dir> <data_dir>/0000 -c configs/meetroom_init.json --scale 1.0
-t <log_dir>
: 指定日志目录。<data_dir>/0000
: 指定数据目录和初始帧。-c configs/meetroom_init.json
: 指定配置文件。--scale 1.0
: 设置缩放比例。
2.2 prepare_dataset.py
prepare_dataset.py
脚本用于准备数据集。使用方法如下:
python prepare_dataset.py <video_dir> <data_dir>
<video_dir>
: 视频文件目录。<data_dir>
: 数据存储目录。
2.3 render_delta.py
render_delta.py
脚本用于渲染 3D 视频。使用方法如下:
python render_delta.py -t <log_dir> <data_dir> -c configs/meetroom_full.json --batch_size 20000 --pretrained <pretrained_ckpt> --frame_end 300 --fps 30 --scale 1.0 --performance_mode
-t <log_dir>
: 指定日志目录。<data_dir>
: 数据目录。-c configs/meetroom_full.json
: 指定配置文件。--batch_size 20000
: 设置批处理大小。--pretrained <pretrained_ckpt>
: 指定预训练模型。--frame_end 300
: 设置帧结束位置。--fps 30
: 设置帧率。--scale 1.0
: 设置缩放比例。--performance_mode
: 启用性能模式。
3. 项目的配置文件介绍
3.1 configs/meetroom_init.json
用于 Meet Room 数据集的初始化配置。包含初始化参数和模型设置。
3.2 configs/meetroom.json
用于 Meet Room 数据集的训练配置。包含训练参数、学习率设置和模型优化参数。
3.3 configs/meetroom_full.json
用于 Meet Room 数据集的完整训练配置。包含完整训练参数和模型优化策略。
3.4 configs/n3dv_init.json
用于 N3DV 数据集的初始化配置。包含初始化参数和模型设置。
3.5 configs/n3dv.json
用于 N3DV 数据集的训练配置。包含训练参数、学习率设置和模型优化参数。
3.6 configs/n3dv_full.json
用于 N3DV 数据集的完整训练配置。包含完整训练参数和模型优化策略。
3.7 configs/n3dv_full_hightv.json
用于 N3DV 数据集的高 TV 损失权重配置。包含高 TV 损失权重的训练参数和模型优化策略。
通过以上配置文件,用户可以根据不同的数据集和训练需求进行灵活配置,以达到最佳的 3D 视频合成效果。