3D高斯泼溅的后处理方式

概述

上篇文章介绍了3D高斯泼溅(3DGS)的基本原理和构建方式,本文主要聚焦两个问题:

  • 用视频切帧来替代间隔拍照是否能有更好的效果?
  • 如何对3DGS的结果进行编辑,并在Web上进行预览?

拍摄技巧

首先补充一下从Pixel Reconstruct的视频1中的看到的拍摄技巧。

对于空间建模任务,可以用环绕空间的方式的进行拍摄,拍摄三组,一组镜头高俯视、二组镜头中直面,三组镜头低仰视。

对于物体建模任务,同样用环绕的方式的进行拍摄,具体环绕圈数不固定,取决于物体本身的高度,对于室外建筑,可以采用如下图所示的用无人机环绕式上升进行拍摄。

视频切帧重建

下面再次对上篇文章提到的洗衣房室内场景进行视频拍摄,用1080P 30帧的规格进行录制。

录制完成后,利用ffmpeg进行切帧。

首先创建待保存的图像文件夹:

复制代码
mkdir -p images

切帧方式根据视频运镜速度来定,比如速度比较快,那将每帧都切出来:

复制代码
ffmpeg -i input.mp4 -vsync 0 images/frame_%04d.jpg

如果速度比较慢,可以每隔2帧取一帧:

复制代码
ffmpeg -i input.mp4 -vf "select='not(mod(n\,2))',setpts=N/FRAME_RATE/TB" -vsync vfr images/frame_%04d.jpg

下面得到1212张图像,用colmap-gradio可以生成15组sparse数据。

brush来生成3DGS,发现一个问题是无法自动导入全部图像,未能找到设置方式。

使用有限的83张图像训练了30000个steps,效果不好,下图中,上方的图像表示3dgs的结果,下方的图像为所拍摄的原始图像。

brush对视频帧做3dgs宣告失败。

结果编辑

虽然用视频帧做3dgs暂时失败,但不影响继续对第二个问题进行探究,拿上一篇文章得到的.ply文件结果进行尝试。

要编辑该文件,首先想到的是专业建模软件Blender。

然而,Blender 本身没有原生的 Gaussian Splatting渲染管线, 导致直接导入该文件只能看到点云结构,没法渲染出颜色信息。

更好的方式是用superspl这款开源的编辑器2,它采用了类 Blender 风格的设计,并支持网页版直接访问。

处理无用信息的一个小技巧是,先选择需要保留的区块内容,再选择反选,以此删除多余的点云。

然后用旋转工具,将其调整到标准水平面上,再进行微调。

该工具支持导出.ply.splat两种格式文件,前者是标准的点云数据格式,后者是"高斯椭球体"构成的二进制渲染数据格式,比前者具备更好的渲染效率。

结果渲染

导出结果之后,如何在Web上进行渲染呢?

已有相关项目,GaussianSplats3DThree.js的基础上,支持了3DGS的渲染。

它提供了一个在线访问网站4,在网站中,可以将.ply.splat格式转换成压缩率更高的ksplat格式,并进行本地渲染。

此外,它提供了一些高精度的示例,可以加载查看。

总结

相较于图像拍照,视频切帧存在以下两个缺点:

  • 视频的分辨率比一般图像更低
  • 视频直接切画面帧会丢失gps等重要的数据元信息

视频帧导入失败的一个可能原因是,在计算位姿匹配时,正确匹配的图像对过少,不过该方式可以通过切帧时写入元数据、用RealityScan去进行计算,可以可视化观察虚拟摄像机是否出现在正确的位置上。

此外,在搜集资料时,发现了一种更高效的数据采集方式,即通过全景相机来进行采集数据5

全景相机能够一次性采集360度的是视角,可以让数据采集的速度得到极大提升,还有人一次性同时用三个全景相机去采集数据6,得到了非常好的3DGS效果。

后面我将尝试利用全景相机,构建大场景3DGS的实践方案。

参考

1 https://www.youtube.com/watch?v=9p_i9nKZA4Q

2 https://superspl.at/editor

3 https://github.com/mkkellogg/GaussianSplats3D

4 https://projects.markkellogg.org/threejs/demo_gaussian_splats_3d.php

5 https://www.youtube.com/watch?v=LQNBTvgljAw

6 https://www.youtube.com/watch?v=N15E_0kZ1UM

相关推荐
3D小将16 小时前
3D格式转换之GLB转GLB(模型优化与标准化重打包)
3d·solidworks模型·ug模型·sketchup模型·igs模型
某林2121 天前
从硬件解耦、3D公差设计到ROS 2柔性导航
人工智能·3d·机器人·ros2·技术复盘
逸模1 天前
逸模智造・BIM 效能专栏一|极速土建翻模,2D 一键跨越 3D
笔记·3d·bim·土建·翻模
陈天伟教授2 天前
eDrawings 2026 x64 Edition-免费 3D 模型和 2D 工程图查看器
3d
Tian_Hang3 天前
eclipse ditto 学习笔记
运维·服务器·开发语言·javascript·3d
AI视觉网奇3 天前
BambuStudio 编译实战 2026
3d
AI前沿资讯3 天前
AI3D角色生产如何减少返工?用 V2Fun 前移建模与动画流程
人工智能·3d
蓝速科技3 天前
蓝速科技视觉 3D 全息舱 AI 数字人一体机带灯与无灯款深度评测
人工智能·科技·3d
尘中远3 天前
【Qwt 7.0 系列】3D 数据可视化 —— OpenGL 高性能三维绘图
qt·3d·qcustomplot·qwt·科学绘图·高性能绘图
林恒smileZAZ4 天前
Three.js 3D 地图特效与材质实现指南
javascript·3d·材质