Skip to content
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

Code for Recovering Part Order #20

Open
absdnd opened this issue Mar 24, 2021 · 7 comments
Open

Code for Recovering Part Order #20

absdnd opened this issue Mar 24, 2021 · 7 comments

Comments

@absdnd
Copy link

absdnd commented Mar 24, 2021

Hi,

Thank you for releasing the code for your approach.

Could you also release the code for Part-Denoising (Fig 10 in the PQ-NET paper)?

@ChrisWu1997
Copy link
Owner

ChrisWu1997 commented Mar 26, 2021

Hi Abhinav,

Part order denoising is a simple future application that we demonstrated. I sort of lost the code for that experiment now, but it only needs several lines of code.

Before the following line,

output_seq, output_stop = self.net(part_feature_seq, target_seq, self.teacher_forcing_ratio)
randomly shuffle part_feature_seq to create noisy part order. Note that each data in a single batch has different number of parts, so you need to may do this using a for loop. The model needs to be re-trained.

@absdnd
Copy link
Author

absdnd commented Mar 26, 2021

Thanks for your reply.

Could you tell me if the part-denoising experiment would be accurate enough to be used in another application which needs canonical part orders?

@ChrisWu1997
Copy link
Owner

It depends on the data. Since it's trained in a supervised manner, I think it cannot generalize well if using it on other data distribution that is much different from PartNet.

@absdnd
Copy link
Author

absdnd commented Mar 28, 2021

Thanks.

Just one more question. In the code segment above, the network would generate novel 3D shapes in the canonical part order. However, is it possible only to generate a permutation of the input parts that yields the denoised order?

@ChrisWu1997
Copy link
Owner

If I understand correctly, you are asking to generate only a permutation of the input parts, i.e. a sequence of index. Our model cannot do this, but I think you may look into this paper Pointer Network, which aims to solve a similar re-ordering problem.

@absdnd
Copy link
Author

absdnd commented Mar 29, 2021

Sure, thanks. Is it possible to utilize your architecture and perform linear assignment on the generated shapes to learn the part order? I mean matching the generated shapes and the input shapes.

@ChrisWu1997
Copy link
Owner

I think it is possible, by combining our framework with Pointer Network. But I'm not sure how it works in practice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants