-
Notifications
You must be signed in to change notification settings - Fork 26
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
Chamfer distance, why is min_dist pow(2) and also why does no chunk size does not normalize ? #55
Comments
Hi, Thanks for bringing this up! As I remember it, we used the squared distance to have the same unit as for our depth metric (median squared depth error). We used median squared depth error mainly to have comparable numbers to UniSim. However, this should probably be clarified. As for the normalization not having an impact when not chunking, that indeed looks like a bug. I'll fix it as soon as I have some spare time. |
Given the squared median depth error and similarly for Chamfer distance, the numbers reported would be in square meters, and not in meters(as reported in the paper), right? |
@anishmadan23 yes, I think our table caption might be missing a ^2 in that case |
Congrats on your SplatAD work, the results look great. I wanted to confirm if the SplatAD metrics (chamfer distance and median depth) are also computed using the squared term? |
Thank you @anishmadan23! Yes, we use the same code to calculate the metrics so the numbers are comparable. |
gotcha! Thanks for the prompt response. When can we expect the code release for SplatAD btw? |
@georghess, thanks for the clarification, it make sens. As anishmadan23 mentionned, congratulation for SplatAD ! A great contribution once again. Do you plan to release the code at some point ? Maybe we could add support for wod dataset :) |
@JulienStanguennec-Leddartech All CUDA-code will be released in our gsplat-fork once the paper has been peer reviewed and published. |
Very good news ! Is it possible to know which conference it is ? As said above, if you want us to do the evaluation on waymo dataset, do not hesitate. As the rolling shutter direction is different in waymo dataset, it could be interesting to see if it has an impact. |
Unfortunately, the conference has some policies regarding that. |
Hi,
When I compare with other definition and results provided by other implementation it seems that chamfer_distance does not seems to use .pow(2) while it does in Neurad implementation. Maybe it's more a question than a bug...
In the code for chamfer distance, when I replace the calculation for dist in _chamfer_dist to remove pow(2) (https://github.com/georghess/neurad-studio/blob/main/nerfstudio/utils/math.py#L770C1-L771C107)
This:
Becomes this:
I get results that are inline with for example the point_cloud_utils (https://fwillims.info/point-cloud-utils/sections/shape_metrics/)
Gives:
original_chamfer distance without normalization: 269.503662109375
original_chamfer distance with normalization: 0.0026950370520353317
modified chamfer distance without normalization: 5048.60107421875
modified chamfer distance with normalization: 0.050485990941524506
point_cloud_utils chamfer distance: 0.05048602819442749
Question: is there a choice that drove you to use the square value of dist for chamfer distance calculation ?
Also, if chamfer distance is provided without chunk, normalization has no effect:- https://github.com/georghess/neurad-studio/blob/main/nerfstudio/utils/math.py#L777
The chamfer distance function is "partialled" with chunk_size=1000 and normalization=True so this function is never called without chunk_size=None. So probably that's why it did not came out.
The text was updated successfully, but these errors were encountered: