The translation is all done by Cursor with claude-3-5-sonnet.
注意:本仓库同时也是一个BasicSR风格的3D高斯散射代码库!欢迎在您自己的项目中使用!如果这个仓库对您有帮助,请考虑给我们一个:star2:!
简介: LE3D是一个项目,用于从带噪RAW图像快速训练和实时渲染HDR视图合成的3DGS模型。
本仓库包含以下论文的官方实现:
Lighting Every Darkness with 3DGS: Fast Training and Real-Time Rendering for HDR View Synthesis
Xin Jin*, Pengyi Jiao*, Zheng-Peng Duan, Xingchao Yang, Chongyi Li, Chunle Guo#, Bo Ren#
(* denotes equal contribution. # denotes the corresponding author.)
arxiv preprint, [Homepage], [Paper Link]
请注意:这些视频使用10位HDR色彩的HEVC编码,在支持HDR的兼容显示器上观看效果最佳,例如最新的苹果设备。
这是我们制作演示视频的方法。
edit_demo.mp4
只需设置关键帧
!所有的插值将自动完成!(另外,您可以在插值
中设置相机运动的加速度!)
windowlegovary.mp4
gardenlights.mp4
想制作您自己的3D视频故事板?请参考LE3D编辑器获取更多详情。
未来工作可以在todo.md中找到。
历史记录
注意:我们仅在Ubuntu 20.04、CUDA 11.8、Python 3.10和Pytorch 1.12.1上进行了测试。
- 至少12GB显存的NVIDIA GPU。(由于RAW图像的分辨率相对较高,我们建议至少16GB显存。)
- 已安装Python 3.10。
- 已安装CUDA 11.8。
我们提供了一个便于安装的脚本。
> ./install.sh -h
用法:./install.sh [选项]
选项:
-i|--interactive 交互式安装
-cuda|--install-cuda 安装CUDA
-colmap|--install-colmap 安装COLMAP
cuda_enabled 启用CUDA支持(必须跟在--install-colmap后面)
-env|--create-env 创建并激活conda环境
默认情况下,只安装Python包
对于交互式安装,您可以运行并选择您想要的选项:
> ./install.sh -i
是否要安装CUDA?需要root权限。(y/N):Y
是否要安装COLMAP?需要root权限。(y/N):Y
是否要启用CUDA支持?(y/N):Y
是否要创建并激活名为'basicgs'的conda环境?(y/N):Y
----------------------------------------
INSTALL_CUDA:true
INSTALL_COLMAP:true
COLMAP_CUDA_ENABLED:true
CREATE_ENV:true
INTERACTIVE:true
INSTALL_PYTHON_PACKAGES:true
----------------------------------------
...
或者您可以运行./install.sh -cuda -colmap cuda_enabled -env
来安装CUDA、COLMAP、创建conda环境,然后安装所有Python包。
这将帮助您安装所有依赖项和Python包,以及所有子模块。
为了减轻数据收集的负担,我们建议用户只使用前向摄像机拍摄场景。就像LLFF一样,在Youtube上提供了相机放置的指南。
对于相机设置,我们建议您将ISO和光圈固定在合理的值。曝光值(EV)可以设置为较低的值,例如-2。光圈应该设置得尽可能大以避免散焦模糊。
如果您想拍摄多重曝光图像,您可以固定ISO和光圈,然后改变曝光值(EV)来拍摄不同曝光的图像。
注意:我们建议您固定ISO和光圈的原因是:
- 固定ISO以保持噪声水平一致。
- 固定光圈以避免散焦模糊。
对于拍摄工具,我们建议使用那些可以拍摄DNG文件的工具。对于IOS设备,我们使用Halide进行拍摄。对于其他设备,我们建议使用DNGConverter将RAW图像转换为DNG文件。
- 对于训练,我们首先需要准备好数据,如下所示:
数据路径 |-- images | |-- IMG_2866.JPG | |-- IMG_2867.JPG | `-- ... `-- raw |-- IMG_2866.dng |-- IMG_2866.json |-- IMG_2867.dng |-- IMG_2867.json `-- ...
- 如果您没有json文件,请使用
scripts/data/extract_exif_as_json.sh
从raw图像中提取exif信息。您可以在数据集目录中运行此脚本:bash scripts/data/extract_exif_as_json.sh path/to/your/dataset/raw
。
然后您可以使用COLMAP校准相机姿态。USE_GPU=1 bash scripts/data/local_colmap.sh path/to/your/dataset PINHOLE
注意:
PINHOLE
是必须用于3DGS校准的相机模型。 - 校准后,您可以编写自己的yaml文件进行训练!
base: options/le3d/base.yaml # 用于没有多重曝光图像的场景 base: options/le3d/base_wme.yaml # 用于有多重曝光图像的场景 name: le3d/bikes # 实验名称 datasets: train: name: rawnerf_bikes_train scene_root: datasets/rawnerf/scenes/bikes_pinhole # 更改为您的数据集路径 val: name: rawnerf_bikes_val scene_root: datasets/rawnerf/scenes/bikes_pinhole # 更改为您的数据集路径 network_g: # 更改为您的稀疏点云路径,此文件将在数据集初始化期间创建 init_ply_path: datasets/rawnerf/scenes/bikes_pinhole/sparse/0/points3D.ply
我们提供两种方式在社交媒体上分享您重建的HDR场景。
- 使用hdr-splat用纯JavaScript代码部署您自己的HDR场景查看器。您可以使用以下命令将您的
.ply
文件转换为.splat
文件。选定的场景可以在我们的网页预览器中找到。bash scripts/export_splat.sh path/to/your/experiment [ITERATION] # 例如 bash scripts/export_splat.sh output/le3d/bikes latest
- 使用LE3D编辑器创建视频故事板并在社交媒体上分享。
如果您想在您的项目中开发/使用LE3D,欢迎告诉我们。我们会在这个仓库中列出您的项目。
如果您觉得我们的仓库对您的研究有用,请考虑引用我们的论文:
@inproceedings{jin2024le3d,
title={Lighting Every Darkness with 3DGS: Fast Training and Real-Time Rendering for HDR View Synthesis},
author={Jin, Xin and Jiao, Pengyi and Duan, Zheng-Peng and Yang, Xingchao and Li, Chong-Yi and Guo, Chun-Le and Ren, Bo},
booktitle={NIPS},
year={2024}
}
本代码根据知识共享署名-非商业性使用4.0国际许可协议仅供非商业用途使用。 请注意,任何商业用途都需要在使用前获得正式许可。
技术问题,请联系xjin[AT]mail.nankai.edu.cn
。
商业许可,请联系cmm[AT]nankai.edu.cn
。
本仓库大量借鉴了BasicSR和gaussian-splatting。
我们要特别感谢李女士为我们的项目设计了精美的logo。
我们也感谢所有的贡献者。