-
Notifications
You must be signed in to change notification settings - Fork 1
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
confusion about diff gaussian rasterization #6
Comments
感谢你的回复,我的理解是 transform_to_frame将高斯函数利用当前帧的位姿转换到了当前帧 是我的理解有偏差吗 |
很抱歉,我看到过这个issue,但我没理解,transform_to_frame这个函数利用的是当前相机位置的变换矩阵也就是Tcw(第i帧的Tcw)将世界坐标系中的高斯函数Gw投影到相机坐标系得到Gc,然后直接将Gc传递给Render,然后这个Render中使用了viewmatrix与projmatrix,viewmatrix是第一帧的w2c 我的理解就是第一帧的Tcw(第1帧的Tcw),然后这个projmatrix我的理解是w2c2ncd,将世界坐标系的坐标转换到ncd坐标系进行光栅化,但前面使用transform_to_frame已经将高斯函数从世界坐标系转化到了相机坐标系,为什么在forward.cu中的preprocessCUDA函数中执行float4 p_hom = transformPoint4x4(p_orig, projmatrix); 已经在相机坐标系的高斯函数为什么要再使用projmatrix进行转换呢? |
你好,请问你是否有空给我解答呢 |
@whwh747 抱歉这么晚回复,我最近有点感冒🤧。你可能忽略了绝对位姿和相对位姿的关系。在原始的scanent和replica数据集中,它们的位姿是绝对位姿,当你转换为w2c时,你可以采用这个位姿将世界坐标系中的高斯点投影到相机坐标系中。而在splatam/gs3lam中,我们将这些绝对位姿转换成了相对位姿(相对第一帧的位姿,这时,大多数情况下第一帧位姿会被定义为单位阵),这在SLAM中经常使用。因此,如果你将第N帧对应的三维高斯点与相对位姿进行作用,那么这意味你只将第N帧对应的高斯点转换到了第1帧,这个转换是在世界坐标系中进行的。以上解释应该有助于你理解transform_to_frame函数的作用。如果你还有不理解的,你可以发我的邮箱,我可以加微信尽可能给你解答! |
非常抱歉在issue中催促你,我貌似理解了,但我想如果可以的话在微信上再向你确认一下,我的微信号:13038450851
发自我的iPhone
…------------------ Original ------------------
From: CogitoErgoSum ***@***.***>
Date: Mon,Dec 16,2024 10:24 AM
To: lif314/GS3LAM ***@***.***>
Cc: Wang He ***@***.***>, Mention ***@***.***>
Subject: Re: [lif314/GS3LAM] confusion about diff gaussian rasterization(Issue #6)
@whwh747 抱歉这么晚回复,我最近有点感冒🤧。你可能忽略了绝对位姿和相对位姿的关系。在原始的scanent和replica数据集中,它们的位姿是绝对位姿,当你转换为w2c时,你可以采用这个位置将世界坐标系中的高斯点投影到相机坐标系中。而在splatam/gs3lam中,我们将这些绝对位姿转换成了相对位姿(相对第一帧的位姿,这时,大多数情况下第一帧位姿会被定义为单位阵),这在SLAM中经常使用。因此,如果你将第N帧对应的三维高斯点与相对位姿进行作用,那么这意味你只将第N帧对应的高斯点转换到了第1帧,这个转换是在世界坐标系中进行的。以上解释应该有助于你理解transform_to_frame函数的作用。如果你还有不理解的,你可以发我的邮箱,我可以加微信尽可能给你解答!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
你好,我担心用英文说不清楚,我就用中文描述一下我的问题吧。
在每次render之前,都会利用相机位姿将高斯函数从世界坐标系转换到当前相机坐标系, 但渲染相机的参数让我很困惑,viewmatrix以及projmatrix在每一帧中都是相同的,viewmatrix是第一帧的相机位姿,说明渲染相机一直都是第一帧的相机?projmatrix指的又是什么呢?
The text was updated successfully, but these errors were encountered: