Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于Virtual cameras的生成过程 #20

Open
xiaoyaolovlife opened this issue Sep 1, 2024 · 1 comment
Open

关于Virtual cameras的生成过程 #20

xiaoyaolovlife opened this issue Sep 1, 2024 · 1 comment

Comments

@xiaoyaolovlife
Copy link

不好意思又来叨扰您,有几个细节问题,我想先阐述一下我对文章中几个变量的表述方式
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中的任何一个
@LingzheZhao
Copy link
Member

virtual cameras是如何生成和优化的

从每张GT模糊图片,我们最终都会估计出一条单独的相机运动轨迹(线性插值:2个位姿;cubic B-spline:4个位姿;高阶贝塞尔曲线:更多的位姿;位姿从随机噪声初始化),virtual cameras的位姿是通过在这个轨迹上均匀采样得到的。

virtual cameras只与优化过程中 单张 GT模糊对应的位姿相关,不需要根据两个GT模糊帧去插值

是的,这里因为输入数据是无序的图片,我们没有考虑相邻图片间的因果关系和约束。如果输入换成视频,那我们就可以加一些更强的运动学约束让位姿优化更稳定和鲁棒。

“mid” 相机可能不是 virtual_cameras中的任何一个

是的,因为我们是在轨迹上均匀采样和插值,当插值数量是偶数,比如10,“mid“就会在第5个和第6个相机的中间;如果把10改成9,那“mid“的位姿就会跟第5个相机相同。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants