BAD-Gaussians
BAD-Gaussians copied to clipboard
[ECCV 2024] "BAD-Gaussians: Bundle Adjusted Deblur Gaussian Splatting". ⚡Train a scene from real-world blurry images in minutes!
亲爱的作者您好!原谅我的菜,我想问一下您这篇论文中一些渲染方面的细节问题,正如您论文中所所说:在初始pose以及截止pose之间进行插值,以获得沿轨迹的每个相机pose,然后将对应的pose的image渲染出来生成一些列的虚拟清晰图像,然后将这些虚拟清晰图像进行混合得到渲染后的blur-image,最后将渲染的blur-image和GT-blur-image做损失,以联合更新并优化pose以及高斯的参数。 我比较好奇的是,原始的gaussian splatting我每次迭代渲染只渲染一张image,然后render后会返回一个bool类型的数组(记录半径大于0的椭球),以及一个记录梯度的数组(在代码中是viewspace_point_tensor, visibility_filter以及radii),这几个数据是会在后面自适应的致密化操作中使用的。但是如果按照您这篇论文的思路的话,假设我插值生成了5个pose,每个pose我渲染出一张virtual-image,那么每次渲染都会返回我上面说的那三个数据,我是要将每次render得到的这三个数据也求平均后再进行致密化吗?  我粗略的画了两张图,以便您能更好的理解我的问题: 下面这张图是您这篇论文中我假设的五个pose的情况下,一个大概的流程(主要是下面自适应操作的处理,是做五次自适应操作,还是说将对应的数据求平均后做一次自适应的操作,但是如果求平均的话感觉原理上不太合理,因为有些梯度高的和梯度低的部分的椭球可能会被平均掉,影响自适应的准确性)  这张是原始的3DGaussian splatting的流程: 
hey, it's a nice work. I am interested at your job. some custom datasets have been trained by your codes. However, the time for train is almost 4 hours. Is...
Hello, thank you for the amazing works. This is not an issue, but just wondering have you tried used the hloc toolbox for ns-process-data instead of colmap. If you did,...
你好,请问bad-gaussans是如何生成定量评估数据的。我查阅有关资料后nerfstudio有ns-eval命令可以评估。但是执行该指令后只生成一个output.json文件,不知文件里的评估指标是新视图合成的评估指标还是去模糊的评估指标。想请教一下大佬是如何评估的
Hi @LingzheZhao , thanks for your great work. While applying the BAD-Gaussian on the 360 scene like lego, I encounter the following problems and I am looking for your help....
不好意思又来叨扰您,有几个细节问题,我想先阐述一下我对文章中几个变量的表述方式 a. 实际相机采集到的模糊图像:GT模糊。colmap根据模糊图像初始化得到的相机位姿:初始化相机位姿 b. 通过生成的virtual_cameras合成的图像:合成模糊图像 1) 有点不理解这10个virtual cameras是如何生成和优化的,我看代码中展现的过程是最开始virtual cameras全部是重叠在一起的,随着训练轮数的增加逐渐分散开来,所以我可以理解为生成的virtual cameras只与优化过程中 单张 GT模糊对应的位姿相关嘛?(即不需要根据两个GT模糊帧去插值) 2) # BAD-Gaussians: get virtual cameras virtual_cameras = self.camera_optimizer.apply_to_camera(camera, mode) sharp_mid_cameras = self.camera_optimizer.apply_to_camera(camera, mode="mid") 我如果把这里的mode设置成mid返回的camera是不是可以理解为本次优化过程中GT模糊对应的相机,通过这个相机渲染出的图像是清晰的,这个相机可能不是 virtual_cameras中的任何一个