PQ-NET icon indicating copy to clipboard operation
PQ-NET copied to clipboard

Code for Recovering Part Order

Open absdnd opened this issue 4 years ago • 7 comments

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)?

absdnd avatar Mar 24 '21 20:03 absdnd

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, https://github.com/ChrisWu1997/PQ-NET/blob/50e3a953cfdb06e9e8fbe303093802106a882f41/agent/agent_seq2seq.py#L76 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.

rundiwu avatar Mar 26 '21 03:03 rundiwu

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?

absdnd avatar Mar 26 '21 07:03 absdnd

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.

rundiwu avatar Mar 26 '21 11:03 rundiwu

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?

absdnd avatar Mar 28 '21 13:03 absdnd

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.

rundiwu avatar Mar 29 '21 13:03 rundiwu

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.

absdnd avatar Mar 29 '21 13:03 absdnd

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

rundiwu avatar Mar 29 '21 13:03 rundiwu