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

Self-supervised representation learning #17

Open
koi332to opened this issue Nov 28, 2022 · 8 comments
Open

Self-supervised representation learning #17

koi332to opened this issue Nov 28, 2022 · 8 comments

Comments

@koi332to
Copy link

Thanks for shareing the wonderful work of UV-Net.
I have a question about the unsupervised representation learning proposed in section 4.2.3 of the paper of UV-Net.
I tried an unsupervised representation learning of SolidLetters with SimCLR. However, I could not reproduce the results shown in the paper. Also, the top-1 accuracy of my experiment was less than 70 %.
In order to reproduce your results, could you share your code or explain the details of the experiment?

@pradeep-pyro
Copy link
Collaborator

Hi @koi332to, I am working on preparing the contrastive learning code for release. It's taking me a while to test it all out. I should hopefully be done before the holidays.

@koi332to
Copy link
Author

Hello @pradeep-pyro.
Thank you for working on this issue.
I am looking forward to your code.

@negarhdr
Copy link

Hi @pradeep-pyro ,

Thank you for the interesting work and releasing its code.
I also have the same issue with reproducing the results for the self-supervised part on Solidletters dataset, but I didn't find your code on that part.
Could you please share that code, or if it is released already could you help me to navigate to that?

Also, do you have any code for preprocessing the ABC dataset for retrieval? As it is mentioned in the paper, it's supposed to be in the supplementary material but I didn't find it there. It would be very helpful if I can follow exactly the same steps as you did for reproducing the results.

Thanks

@pradeep-pyro
Copy link
Collaborator

The code for self-supervised learning is in this branch: https://github.com/AutodeskAILab/UV-Net/tree/self-supervised. You can look at the contrastive.py file and follow the code from there. It should give close results to what's in the paper, but there are a couple of differences between our internal and public code & data. We originally used a proprietary format and solid-modeling kernel for processing the data. I observed the difference is more noticeable in the contrastive results compared to classification/segmentation, so that's something to keep in mind.

Also, do you have any code for preprocessing the ABC dataset for retrieval?

There is no special preprocessing for retrieval on the ABC dataset. The contrastive model is trained on the data, and the embeddings of each data sample are used for retrieval based on proximity (k-nearest neighbors).

@negarhdr
Copy link

Hi @pradeep-pyro,
Thank you for your response. I trained the model on SolidLetters with your code and the Linear SVM Acc is around 57% on test set of SolidLetters which has around 20% difference with your results (79.4% in the paper).

BTW, for performing retrieval on ABC dataset, as you mentioned in the paper "We remove duplicates and use a subset of 46k models in our experiments", some preprocessing for (geometric) duplicate/non-solid/ removing is performed.
Is there any code for that part?

Thanks

@pradeep-pyro
Copy link
Collaborator

Hi @negarhdr, did you also compute the k-means clustering AMI score? I will look into the linear SVM when I get some time and get back to you.

The deduplication was done using proprietary solid modeling kernel as well, so we couldn't release the code. It is based on checking for discrete quantities like number faces, edges, vertices, then continuous quantities like area, center of mass. If two files have exact matches for these criteria, they are considered duplicates.

@negarhdr
Copy link

Yes, the AMI score for k-means is also very low (around 0.2), which is above 0.4 in the paper.

Thanks for checking, looking forward to seeing the results .

@koi332to
Copy link
Author

Hello @pradeep-pyro.
Thank you for releasing the code for self-supervised learning.
I ran your code and the values of the SVM accuracy and the AMI score are similar to those of @negarhdr.

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

3 participants