Project Icon

2d-gaussian-splatting

基于2D高斯溅射的高精度场景表示与渲染方法

2D高斯溅射项目提出了一种新型场景表示方法,使用2D定向圆盘表示场景并通过可微光栅化渲染。该方法开发了正则化技术提升重建质量,设计了网格化算法,在几何精度和渲染质量上取得显著进展。项目提供完整的训练评估脚本和SIBR可视化工具,为3D场景重建和新视角合成领域带来创新解决方案。

二维高斯涂抹进行几何准确的辐射场

项目页面 | 论文 | 视频 | Surfel 光栅化 (CUDA) | Surfel 光栅化 (Python) | DTU+COLMAP (3.5GB) | 适用于Windows的SIBR查看器预构建版本

预告图像

本仓库包含了"二维高斯涂抹以获得几何准确的辐射场"论文的官方实现。我们的工作用一组二维定向圆盘(表面元素)表示场景,并使用视角正确的可微分光栅化对surfels进行光栅化。我们的工作还开发了增强重建质量的正则化。我们还为高斯涂抹设计了网格化方法。

⭐ 新功能

  • 2024/07/19: 新增Colab Notebook支持! 感谢atakan-topaloglu
  • 2024/06/10: 新增SIBR查看器支持!
  • 2024/06/05: 新增基于Viser的远程查看器支持! 感谢HwanHeo
  • 2024/05/30: 修复了与无界网格化相关的一个错误。前景网格质量现在应该与有界网格一致了。
  • 2024/05/17: 通过CUDA算子融合将训练速度提高了30%-40%。如果您已经安装了它,请更新diff-surfel-rasterization子模块。
    git submodule update --remote  
    pip install submodules/diff-surfel-rasterization
    
  • 2024/05/05: 重要更新 - 现在我们的算法支持无界网格提取!我们的关键想法是将空间收缩成一个球,然后执行自适应TSDF截断

可视化

SIBR查看器

https://github.com/RongLiu-Leo/2d-gaussian-splatting/assets/102014841/b75dd9a7-e3ee-4666-99ff-8c9121ff66dc

适用于Windows的预构建查看器可在此处找到。如果您使用Ubuntu或想检查查看器的使用,请参考GS Monitor

如何使用

首先打开查看器,

<下载/编译查看器的路径>/bin/SIBR_remoteGaussian_app_rwdi

然后

# 监控训练过程
python train.py -s <COLMAP或NeRF合成数据集的路径>
# 查看训练好的模型
python view.py -s <COLMAP或NeRF合成数据集的路径> -m <训练好的模型路径>

安装

# 下载
git clone https://github.com/hbb1/2d-gaussian-splatting.git --recursive

# 如果您有用于3dgs的环境,请使用它
# 如果没有,请创建一个新环境
conda env create --file environment.yml
conda activate surfel_splatting

训练

要训练一个场景,只需使用

python train.py -s <COLMAP或NeRF合成数据集的路径>

用于正则化的命令行参数

--lambda_normal  # 法线一致性的超参数
--lambda_distortion # 深度失真的超参数
--depth_ratio # 0表示平均深度,1表示中位数深度,0对大多数情况都有效

调整参数的小贴士:

  • 对于无界/大场景,我们建议使用平均深度,即depth_ratio=0,以减少"盘状失真"伪影。

测试

有界网格提取

要导出一个在有界体积内的网格,只需使用

python render.py -m <预训练模型路径> -s <COLMAP数据集路径>

您应该为有界TSDF融合调整以下命令行参数:

--depth_ratio # 0表示平均深度,1表示中位数深度
--voxel_size # 体素大小
--depth_trunc # 深度截断

如果未指定这些参数,该脚本将自动使用相机信息来估算它们。

无界网格提取

要导出任意大小的网格,我们设计了一种无界TSDF融合,具有空间收缩和自适应截断。

python render.py -m <预训练模型路径> -s <COLMAP数据集路径> --mesh_res 1024

快速示例

假设您已经下载了MipNeRF360,只需使用

python train.py -s <m360的路径>/<garden> -m output/m360/garden
# 使用我们的无界网格提取!!
python render.py -s <m360的路径>/<garden> -m output/m360/garden --unbounded --skip_test --skip_train --mesh_res 1024
# 或者使用有界网格提取,如果您关注前景
python render.py -s <m360的路径>/<garden> -m output/m360/garden --skip_test --skip_train --mesh_res 1024

如果您已经下载了DTU数据集,您可以使用

python train.py -s <dtu的路径>/<scan105> -m output/date/scan105 -r 2 --depth_ratio 1
python render.py -r 2 --depth_ratio 1 --skip_test --skip_train

自定义数据集: 我们使用与3DGS相同的COLMAP加载器,您可以按照此处的说明准备您的数据。

全面评估

我们提供了脚本来评估我们在新视图合成和几何重建方面的方法。

解释与论文中性能差异的原因

我们已经重新实现了这个仓库,以提高效率,这对性能产生了一些影响。主要有两个因素造成了这种变化:

  • 📈 我们修复了一些小错误,如TSDF融合中的半像素偏移,从而改善了几何重建。

  • 📉 我们删除了用于密集化的低通滤波器的梯度,这减少了高斯的数量。因此,PSNR略有下降,但我们认为这种权衡对于实际应用来说是值得的。

您可以报告论文中的数字或本实现中的数字,只要它们在可比的设置中讨论。

新视图合成

对于MipNeRF360上的新视图合成(也适用于其他COLMAP数据集),使用

python scripts/mipnerf_eval.py -m60 <MipNeRF360数据集的路径>

我们提供了预训练模型的评估结果(图像)

表格结果

几何重建

对于DTU数据集的几何重建,请下载预处理后的数据。您还需要下载ground truth DTU点云

python scripts/dtu_eval.py --dtu <预处理后的DTU数据集路径> \
     --DTU_Official <官方DTU数据集路径>

我们提供了预训练模型的评估结果(网格)

表格结果

DTU数据集上的Chamfer距离(越小越好)

243740556365698397105106110114118122Mean
论文0.480.910.390.391.010.830.811.361.270.760.701.400.400.760.520.80
重现0.460.800.330.370.950.860.801.251.240.670.671.240.390.640.470.74

对于TnT数据集上的几何重建,请下载预处理过的TnT_data。您还需要下载地面真实TnT_GT,包括地面真实点云、对齐和裁剪文件。

python scripts/tnt_eval.py --TNT_data <预处理的TNT数据集路径>   \
     --TNT_GT <official TNT评估数据集路径>

我们提供评估结果(预训练,网格)

F1分数在TnT数据集上(越高越好)

BarnCaterpillarIgnatiusTruckMeetingroomCourthouseMean
重现0.410.230.510.450.170.150.32
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号