
Официальная реализация Pytorch для следующей статьи:
PointNext: повторное посещение PointNet ++ с улучшенными стратегиями обучения и масштабирования
Гучэн Цянь, Ючен Ли, Хоуен Пенг, Джинджи Май, Хасан Хаммуд, Мохамед Эльхосейни, Бернард Ганемем
TL; DR: Мы предлагаем улучшенные стратегии масштабирования обучения и масштабирования моделей, чтобы повысить точку сети ++ до современного уровня. PointNet ++ с предложенной масштабированием модели называется PointNext, следующей версией PointNets.

В проекте PointNext мы предлагаем новую и гибкую кодовую базу для точечных методов, а именно точки открытия . Самая большая разница между открытыми точками и другими библиотеками заключается в том, что мы больше сосредотачиваемся на воспроизводимости и справедливом сравнительном анализе.
Расширенность : поддерживает многие репрезентативные сети для понимания облака точек, таких как PointNet, DGCNN, DeepGCN, PointNet ++, Assanet, PointMLP и наш PointNext . Больше сетей можно легко построить на основе нашей структуры, поскольку открытые точки поддерживают широкий спектр основных операций, включая графические свертки, самооценку, самую дальнюю выборку точек, шариковые запросы и т. Д.
Воспроизводимость : все реализованные модели обучаются различным задачам как минимум три раза. Среднее ± STD представлено в статье PointNext. Предварительные модели и журналы доступны.
Справедливое сравнение : в Pointnext мы обнаруживаем большую часть прироста производительности связана с стратегиями обучения. В открытых точках все модели обучаются улучшенной стратегии обучения и все достигают гораздо более высокой точности, чем исходное зарегистрированное значение.
Легкость использования : модель сборки , оптимизатор, планировщик, функция потерь и загрузчик данных легко от CFG . Тренируйте и проверяйте различные модели на различных задачах, просто изменив файл cfg**.yaml .
model = build_model_from_cfg(cfg.model)
criterion = build_criterion_from_cfg(cfg.criterion_args)
Вот пример pointnet.yaml (конфигурация модели для модели 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' Онлайн -журнал : Поддержите Wandb для проверки ваших результатов в любое время. Просто установите wandb.use_wandb=True в вашей команде.

Мы предоставляем простой файл Bash для установки среды:
git clone --recurse-submodules [email protected]:guochengqian/PointNeXt.git
cd PointNeXt
source update.sh
source install.sh
CUDA-11.3 требуется. Измените install.sh , если используется другая версия CUDA. Смотрите установку для деталей.
Проверьте нашу онлайн -документацию для получения подробных инструкций.
Короткая инструкция: все эксперименты следуют простому правилу для обучения и тестирования:
CUDA_VISIBLE_DEVICES=$GPUs python examples/$task_folder/main.py --cfg $cfg $kwargs
mode=test, --pretrained_path $pretrained_path . Смотрите модельный зоопарк.
В статье доступно больше примеров.


Эта библиотека вдохновлена моделями Pytorch-Image и MMCV.
Если вы найдете PointNext или CodeBase OpenPoints Codebase, пожалуйста, цитируйте:
@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},
}