Home

Awesome

Unsupervised Feature Learning for Point Cloud by Contrasting and Clustering With Graph Convolutional Neural Network

We propose an unsupervised learning approach to learn features from unlabeled point cloud "3D object" dataset by using part contrasting and object clustering with deep graph neural networks (GNNs).

This paper is accepted by 3DV 2019. [Paper]

The short version for this paper is accepted by CVPRW 2019. [Short Version Paper]

Pipeline

To learn features from unlabeled point cloud data, we propose to learn features by training networks to accomplish both of the part contrasting and the object clustering pretext tasks. The pipeline of our framework is illustrated in the Figure, which includes three major steps: ContrastNet for part contrast learning, clustering using the learned features, and then ClusterNet for object cluster learning using the cluster IDs.

<img src='./misc/pipeline.jpg' width=800>

Requirements

Process Data

ContrastNet

python train_contrastnet.py
python evaluate.py
python extract_training_feat.py

python extract_testing_feat.py
python SVM.py

ClusterNet

Python KMeans.py
python train_clusternet.py
python extract_training_feat.py

python extract_testing_feat.py
python SVM.py

Other Tools

python visualize_TSNE.py

License

MIT License

Acknowledgement

This code is based on PointNet and DGCNN.