-
Notifications
You must be signed in to change notification settings - Fork 51
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
Some questions about rend_util.py #12
Comments
The answer to the confusing Problem 1 is figured out, volsdf/code/utils/rend_util.py Lines 78 to 79 in a974c88
Here in line 79, camera location is setting to be T vector:volsdf/code/utils/rend_util.py Line 63 in a974c88
However, the actual camera location is at -T vector. What matters in this function is the relative position between the pixel location and the camera location, so cameraToWorld matrix doesn't need to take the -T as its translation part.I remain my opinion on Problem 2. But since it's not the crucial part, so I close this issue. At last, I'm sorry for the annoying 'open' and 'close' of my issue.(I'm not very much familiar with the operation on the issue) EOF
|
@DavidXu-JJ Hi! Sorry to bother you. I encountered a similar problem related to DTU dataset's coordinate system convention, and I'm wondering if you know about it. My dataset follows NeRF's coordinate system convention, that is OpenGL convention (x-axis to the right, y-axis upward, and z-axis backward along the camera’s focal axis). My issue is, if I apply the dataset to VolSDF directly, the computed Thank you very much! |
@raynehe |
Hi, thank you for your decent work. I try to follow your work recently and I meet some problems which I wish to get answers from this issue.
In function
load_K_Rt_from_P
at line 48 in rend_util.py:volsdf/code/utils/rend_util.py
Lines 48 to 50 in a974c88
This code really makes me confused and I'm not able to give an explanation to it.
I read the following code at line 78 in rend_util.py:
volsdf/code/utils/rend_util.py
Lines 73 to 78 in a974c88
It seems that you use
pose
as acameraToWorld
matrix.I did an experiment in advance, the following code is from stackoverflow:
If I convert
r
andt
into a homogeneous coordinate, then I take theR@T
, which is theworldToCamera
matrix. I will get:Then if I take the inverse of R@T, which I think is the
cameraToWorld
matrix. I will get:This result seems that, to get the
cameraToWorld
matrix, we should concatenate theR^(-1)
and-T
, instead ofR^(-1)
andT
referred in line 31 in rend_util.py:volsdf/code/utils/rend_util.py
Lines 48 to 50 in a974c88
I don't know why it takes
R^(-1)
andT
here.In function
lift
in line 96 in rend_util.py:volsdf/code/utils/rend_util.py
Lines 96 to 109 in a974c88
I don't know why the
x_lift
takesy
andfy
into consideration.It seems that
sk
should be 0, but I test it in runtime and I get:It seems that
sk
is not 0. So the transformation becomes:Here [x,y,z,1] is the point in the camera coordinates.
I find that:
The actual result of
x_lift
is:But in rend_list.py,
x_lift
is like to be:So when
z=1
, the code is correct. Would it be better if it is simply changed to be:(
/ z
is added to thex
)The first question means more to me than the second question. Would you please explain the logic of
pose
matrix to me.Hope this issue would help other people as well.
I try my best to express my question as clear as possible. If there's something unclear or wrong with me, please inform of me.
The text was updated successfully, but these errors were encountered: