by Xianzhi Li, Lequan Yu, Chi-Wing Fu, Daniel Cohen-Or and Pheng-Ann Heng.
This repository is for our ACM Transactions on Graphics (TOG) 2020 paper 'Unsupervised Detection of Distinctive Regions on 3D Shapes'. In this paper, we present a novel approach to learn and detect distinctive regions on 3D shapes. Unlike previous works, which require labeled data, our method is unsupervised. We conduct the analysis on point sets sampled from 3D shapes, then formulate and train a deep neural network for an unsupervised shape clustering task to learn local and global features for distinguishing shapes with respect to a given shape set. To drive the network to learn in an unsupervised manner, we design a clustering-based nonparametric softmax classifier with an iterative re-clustering of shapes, and an adapted contrastive loss for enhancing the feature embedding quality and stabilizing the learning process. By then, we encourage the network to learn the point distinctiveness on the input shapes. We extensively evaluate various aspects of our approach and present its applications for distinctiveness-guided shape retrieval, sampling, and view selection in 3D scenes.
The code is tested under TF1.11.0, Python 3.6, and CUDA10.0 on Ubuntu 16.04.
For the tf_ops, you may need to re-compile using 'sh compile_ops.sh'
(1) You can directly test your sampled point clouds using our previously-trained network:
The testing code (test.py) is provided inside the code
folder, and our trained network based on the ModelNet40 inter-class dataset is provided inside the trained_model
folder.
After running, the network will output per-point distinctiveness value for each input point.
(2) You can also re-train our network either using your own training samples or our provided training dataset.
The training code (train.py) is provided inside the code
folder.
(3) Visualization:
After obtaining the per-point distinctiveness, please use the provided Matlab code (inside the visualization
folder) for shape distinction visualization.
Please contact 'lixianzhi123@gmail.com'