Update docs for unsupervised learning

This commit is contained in:
wang-ps 2020-08-16 13:44:22 +08:00
Родитель 0df3c06c4d
Коммит f7be6c728f
3 изменённых файлов: 98 добавлений и 19 удалений

Просмотреть файл

@ -21,26 +21,36 @@ By [Peng-Shuai Wang](https://wang-ps.github.io/), [Yang Liu](https://xueyuhanlan
and [Xin Tong](https://www.microsoft.com/en-us/research/people/xtong/)<br/>
Computer Vision and Pattern Recognition (CVPR) Workshops, 2020<br/>
- **[Unsupervised 3D Learning for Shape Analysis via Multiresolution Instance Discrimination](https://arxiv.org/abs/2008.01068)**<br/>
By [Peng-Shuai Wang](https://wang-ps.github.io/), Yu-Qi Yang, Qian-Fang Zou,
[Zhirong Wu](https://www.microsoft.com/en-us/research/people/wuzhiron/),
[Yang Liu](https://xueyuhanlang.github.io/)
and [Xin Tong](https://www.microsoft.com/en-us/research/people/xtong/)<br/>
Arxiv preprint, 2020<br/>
If you use our code or models, please [cite](docs/citation.md) our paper.
### What's New?
- 2020.08.16: We released our code for [3D unsupervised learning](docs/unsupervised.md).
We provided a unified network architecture for generic shape analysis tasks and
an unsupervised method to pretrain the network. Our method achieved state-of-the-art
performance on several benchmarks.
- 2020.08.12: We released our code for
[Partnet segmentation](docs/segmentation.md#shape-segmentation-on-partnet-with-tensorflow).
We achieved an average IoU of **58.4**, significantly better than PointNet
(IoU: 35.6), PointNet++ (IoU: 42.5), SpiderCNN (IoU: 37.0), and PointCNN(IoU:
46.5).
- 2020.08.05: We released our code for [shape completion](docs/completion.md).
We proposed a simple yet efficient network and output-guided skip connections
for 3D completion, which achieved state-of-the-art performances on several
benchmarks.
- 2020.03.16: We released ResNet-based O-CNN architecture for
[shape classification](docs/classification.md#o-cnn-on-tensorflow).
We achieved a testing accuracy of **92.5** on ModelNet40 (without voting).
If you use our code or models, please cite our paper.
```
@article {Wang-2017-OCNN,
title = {{O-CNN: Octree-based Convolutional Neural Networks for 3D Shape Analysis}},
author = {Wang, Peng-Shuai and Liu, Yang and Guo, Yu-Xiao and Sun, Chun-Yu and Tong, Xin},
journal = {ACM Transactions on Graphics (SIGGRAPH)},
volume = {36},
number = {4},
year = {2017},
}
@article {Wang-2018-AOCNN,
title = {{Adaptive O-CNN: A Patch-based Deep Representation of 3D Shapes}},
author = {Wang, Peng-Shuai and Sun, Chun-Yu and Liu, Yang and Tong, Xin},
journal = {ACM Transactions on Graphics (SIGGRAPH Asia)},
volume = {37},
number = {6},
year = {2018},
}
```
### Contents
- [Installation](docs/installation.md)

37
docs/citation.md Normal file
Просмотреть файл

@ -0,0 +1,37 @@
# Citations
```
@article {Wang-2017-OCNN,
title = {{O-CNN}: Octree-based Convolutional Neural Networks for {3D} Shape Analysis},
author = {Wang, Peng-Shuai and Liu, Yang and Guo, Yu-Xiao and Sun, Chun-Yu and Tong, Xin},
journal = {ACM Transactions on Graphics (SIGGRAPH)},
volume = {36},
number = {4},
year = {2017},
}
@article {Wang-2018-AOCNN,
title = {{Adaptive O-CNN}: A Patch-based Deep Representation of {3D} Shapes},
author = {Wang, Peng-Shuai and Sun, Chun-Yu and Liu, Yang and Tong, Xin},
journal = {ACM Transactions on Graphics (SIGGRAPH Asia)},
volume = {37},
number = {6},
year = {2018},
}
@InProceedings {Wang-2020-Completion,
title = {Deep Octree-based {CNNs} with Output-Guided Skip Connections for {3D} Shape and Scene Completion},
author = {Wang, Peng-Shuai and Liu, Yang and Tong, Xin},
journal = {Computer Vision and Pattern Recognition (CVPR) Workshops},
year = {2020},
}
@article{Wang-2020-Unsupervised,
title = {Unsupervised {3D} Learning for Shape Analysis via Multiresolution Instance Discrimination},
author = {Wang, Peng-Shuai and Yang, Yu-Qi and Zou, Qian-Fang and Wu, Zhirong and Liu, Yang and Tong, Xin},
journal = {arXiv preprint arXiv:2008.01068},
year = {2020},
}
```

32
docs/unsupervised.md Normal file
Просмотреть файл

@ -0,0 +1,32 @@
# 3D Unsupervised Learning
## Unsupervised pretraining
1. Download the data and pretrained weights with the following command.
```shell
cd tensorflow
python data/midnet_data.py
```
2. Run the following command to train the network.
```shell
cd script
python run_mid.py --config configs/mid_hrnet_d6.yaml
```
## Finetune on PartNet
Follow the instructions
[here](docs/segmentation.md#shape-segmentation-on-partnet-with-tensorflow)
to download the PartNet.
Run the following script to finetune the network on PartNet with the pretrained
weights we provided. Compared with a random initialization, the IoU increases from
58.4 to 60.8. If you would like to finetune the network with your own pretrained
weights, you can simply provide the checkpoint via the command parameter `--ckpt`.
```shell
cd script
python run_seg_partnet_cmd.py --alias partnet_finetune --finetune
```