Comments (5)
Hi! Thanks for your interest!
If you are using NDC space, you need to figure out the linear transformation to NDC space, which is about the near/far plane, and apply the transformation to the depths.
from dsnerf.
Can you please open up your answer a little bit more?
I project the depth values into the image space to get the depth values and coordinates for this depth value for get_rays_by_coord_np.
My bds.min() and bds.max() is 3.5933347725766653 56.21810500817462
What do you mean by figuring out the linear transformation?
Also, we should convert the poses into [r, u, -t] and my
perspective cameras are in x = right, y = down, z = forward coordinate system
my world coordinate system is : x = forward, y = left, z = up.
I converted them into [r,u, -t] by saying
poses = np.concatenate([poses[:, 0:1, :], -poses[:, 1:2, :], -poses[:, 2:3, :], poses[:, 3:, :]], 1)
Does my calculations make sense?
Thank you so much :)
from dsnerf.
Hey again,
Can you please explain how can I convert the depth map in NDC into real depths to compare for the loss? I could not manage to do it.
from dsnerf.
I think by "figure out the linear transformation to NDC space, which is about the near/far plane, and apply the transformation to the depths", the author probably means you should convert depth as
ndc_depth = (depth - near) / (far - near)
from dsnerf.
I was wrong above. The conversion to NDC space is not so simple. Please go through the NDC derivation given by Mildenhall here. The transformation I found was
ndc_depth = 1 - (oz + tn * dz) / (oz + depth * dz)
Again, this is what I think should be the correct mapping, though I'm not 100% sure.
from dsnerf.
Related Issues (20)
- Do we need to run COLMAP with the exact poses given in the datasets like DTU and Blender HOT 2
- depth = (poses[id_im-1,:3,2].T @ (point3D - poses[id_im-1,:3,3])) * sc ,WHY? HOT 3
- Generate colmap data HOT 5
- Colmap with load_llff function
- weights = np.repeat(depth_gts[i]['error'][:,None,None], 3, axis=2) # N x 1 x 3 KeyError: 'error' HOT 2
- " allow_unreachable=True, accumulate_grad=True) # Calls into the C++ engine to run the backward pass RuntimeError: Function 'PowBackward0' returned nan values in its 0th output" HOT 1
- Questions about rendering the video HOT 1
- run COLMAP with ground truth camera poses on Custom Data
- what does relative loss mean? HOT 1
- chapter 3.2 line 9. taking the re-projected z value? HOT 1
- OOM error HOT 1
- How to partition the DTU dataset? HOT 1
- sigma_ Loss and depth_ Differences in loss HOT 1
- RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu! HOT 3
- Hi,I can't run your code because of line 1278, in _save rawmode, mode = _OUTMODES[mode] KeyError: 'F' HOT 2
- configs issue HOT 9
- new experiment by kangle HOT 1
- Is there sometime that sigmaloss may be inf? HOT 1
- 1
- difference of Poses created by colmap and poses created for each dataset
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dsnerf.