
Implementasi Pytorch resmi untuk makalah berikut:
PointNext: Revisiting PointNet ++ dengan pelatihan yang lebih baik dan strategi penskalaan
Oleh Guocheng Qian, Yuchen Li, Houwen Peng, Jinjie Mai, Hasan Hammoud, Mohamed Elhoseiny, Bernard Ghanem
TL; DR: Kami mengusulkan peningkatan pelatihan dan strategi penskalaan model untuk meningkatkan PointNet ++ ke tingkat canggih. PointNet ++ dengan penskalaan model yang diusulkan dinamai sebagai PointNext, versi Next PointNets.

Dalam proyek PointNext, kami mengusulkan basis kode baru dan fleksibel untuk metode berbasis titik, yaitu titik terbuka . Perbedaan terbesar antara titik terbuka dan perpustakaan lainnya adalah bahwa kami lebih fokus pada reproduktifitas dan pembandingan yang adil.
Extensibility : Mendukung banyak jaringan representatif untuk pemahaman point cloud, seperti PointNet, DGCNN, DeepGCN, PointNet ++, Assanet, PointMLP , dan PointNext kami. Lebih banyak jaringan dapat dibangun dengan mudah berdasarkan kerangka kerja kami karena OpenPoints mendukung berbagai operasi dasar termasuk konvolusi grafik, perhatian diri, pengambilan sampel titik terjauh, kueri bola, dll .
Reproduksibilitas : Semua model yang diimplementasikan dilatih pada berbagai tugas setidaknya tiga kali. Rata -rata ± STD disediakan dalam makalah PointNext. Tersedia model dan log pretrained .
Benchmarking yang wajar : Di PointNext, kami menemukan sebagian besar perolehan kinerja adalah karena strategi pelatihan. Di OpenPoints, semua model dilatih dengan strategi pelatihan yang lebih baik dan semuanya mencapai akurasi yang jauh lebih tinggi daripada nilai yang dilaporkan asli.
Kemudahan Penggunaan : Model Bangun , Pengoptimal, Penjadwal, Fungsi Kehilangan, dan Loader Data dengan mudah dari CFG . Latih dan validasi model yang berbeda pada berbagai tugas dengan hanya mengubah file cfg**.yaml .
model = build_model_from_cfg(cfg.model)
criterion = build_criterion_from_cfg(cfg.criterion_args)
Berikut adalah contoh pointnet.yaml (konfigurasi model untuk model pointnet):
model :
NAME : BaseCls
encoder_args :
NAME : PointNetEncoder
in_channels : 4
cls_args :
NAME : ClsHead
num_classes : 15
in_channels : 1024
mlps : [ 512 , 256 ]
norm_args :
norm : 'bn1d' Pencatatan Online : Dukung Wandb untuk memeriksa hasil Anda kapan saja di mana saja. Cukup atur wandb.use_wandb=True di perintah Anda.

Kami menyediakan file bash sederhana untuk menginstal lingkungan:
git clone --recurse-submodules [email protected]:guochengqian/PointNeXt.git
cd PointNeXt
source update.sh
source install.sh
Diperlukan CUDA-11.3. Ubah install.sh jika versi CUDA yang berbeda digunakan. Lihat Instal untuk detail.
Periksa dokumentasi online kami untuk instruksi terperinci.
Instruksi singkat: Semua percobaan mengikuti aturan sederhana untuk melatih dan menguji:
CUDA_VISIBLE_DEVICES=$GPUs python examples/$task_folder/main.py --cfg $cfg $kwargs
mode=test, --pretrained_path $pretrained_path . Lihat Model Zoo.
Lebih banyak contoh tersedia di koran.


Perpustakaan ini terinspirasi oleh Model Pytorch-Image dan MMCV.
Jika Anda menemukan PointNext atau basis kode OpenPoints berguna, silakan kutip:
@InProceedings{qian2022pointnext,
title = {PointNeXt: Revisiting PointNet++ with Improved Training and Scaling Strategies},
author = {Qian, Guocheng and Li, Yuchen and Peng, Houwen and Mai, Jinjie and Hammoud, Hasan and Elhoseiny, Mohamed and Ghanem, Bernard},
booktitle=Advances in Neural Information Processing Systems (NeurIPS),
year = {2022},
}