eric-zqwang / puzzlefusion-plusplus

Code for paper "PuzzleFusion++: Auto-agglomerative 3D Fracture Assembly by Denoise and Verify"
https://puzzlefusion-plusplus.github.io/
Other
36 stars 4 forks source link

Question on noise addition to anchor part after reselection in data transformation #4

Closed shim94kr closed 1 month ago

shim94kr commented 1 month ago

Hi Zhengqing,

I have a question regarding the data transformation part. When reselecting the anchor part with a 0.5 probability, why do you add noise only to the anchor part after reselection? Also, why is this operation done only after reselecting the anchor part, but not when the anchor part is not reselected?

The corresponding code snippet is here: https://github.com/eric-zqwang/puzzlefusion-plusplus/blob/e249a25a0c340643c687a369dd5073e86495c6e4/puzzlefusion_plusplus/denoiser/dataset/dataset.py#L267-L274

Thank you!

eric-zqwang commented 1 month ago

Hi,

Thanks for your question. I want to clarify this is not reselection for the anchor fragment. This operation is: we have the original anchor fragment, then we select more neighbour anchor fragment. We do this operation to align with our inference settings.

why do you add noise only to the anchor part after reselection?

In the auto-agglomerative procedure, we don't merge the fragments align with the anchor fragment (as mentioned in the last sentence of section 3.4), instead, we treat them as multiple anchor fragments. To handle this inference time multiple anchor fragments, we randomly sample neighboring anchor fragments and treat them as additional anchor fragments in the training time. We also add some noise to these fragments, as their alignment during inference is not perfect.

why is this operation done only after reselecting the anchor part, but not when the anchor part is not reselected?

As mentioned in the above, this is not the reselecting. We also want the single anchor fragment case in the training set. And we don't need add noise for the single anchor ragment.

shim94kr commented 1 month ago

I clearly understand what you meant. Thank you for the prompt reply!