
การใช้งาน Pytorch อย่างเป็นทางการสำหรับบทความต่อไปนี้:
PointNext: ทบทวน PointNet ++ ด้วยการฝึกอบรมและกลยุทธ์การปรับขนาดที่ดีขึ้น
โดย Guocheng Qian, Yuchen Li, Houwen Peng, Jinjie Mai, Hasan Hammoud, Mohamed Elhoseiny, Bernard Ghanem
TL; DR: เราเสนอกลยุทธ์การฝึกอบรมที่ดีขึ้นและการปรับขนาดแบบจำลองเพื่อเพิ่ม PointNet ++ ให้อยู่ในระดับที่ทันสมัย PointNet ++ พร้อมกับการปรับสเกลโมเดลที่เสนอนั้นมีชื่อว่าเป็น PointNext รุ่นต่อไปของ PointNets

ในโครงการ PointNext เราเสนอ codebase ใหม่และยืดหยุ่นสำหรับวิธีการตามจุดคือ OpenPoints ความแตกต่างที่ใหญ่ที่สุดระหว่าง OpenPoints และห้องสมุดอื่น ๆ คือเรามุ่งเน้นไปที่การทำซ้ำและการเปรียบเทียบที่เป็นธรรม
Extensibility : สนับสนุนเครือข่ายตัวแทนจำนวนมากสำหรับการทำความเข้าใจบนคลาวด์จุดเช่น PointNet, DGCNN, DeepGCN, PointNet ++, Assanet, PointMLP และ PointNext ของเรา เครือข่ายเพิ่มเติมสามารถสร้างได้อย่างง่ายดายตามเฟรมเวิร์กของเราเนื่องจาก OpenPoints รองรับการดำเนินงานขั้นพื้นฐานที่หลากหลายรวมถึงกราฟคอนโทรลการพยายามด้วยตนเองการสุ่มตัวอย่างจุดที่ไกลที่สุดการสืบค้นลูก ฯลฯ
ความสามารถในการทำซ้ำ : โมเดลที่ดำเนินการทั้งหมดได้รับการฝึกฝนในงานต่าง ๆ อย่างน้อยสามครั้ง ค่าเฉลี่ย± std มีอยู่ในกระดาษ PointNext มี รูปแบบและบันทึกที่ผ่านการฝึกอบรมมาแล้ว
การเปรียบเทียบอย่างยุติธรรม : ใน PointNext เราพบว่าส่วนใหญ่ของการได้รับประสิทธิภาพเป็นเพราะกลยุทธ์การฝึกอบรม ใน OpenPoints ทุกรุ่นได้รับการฝึกฝนด้วยกลยุทธ์การฝึกอบรมที่ได้รับการปรับปรุงและทั้งหมดจะได้รับความแม่นยำสูงกว่าค่าที่รายงานเดิม
ความสะดวกในการใช้งาน : สร้าง โมเดล, เครื่องมือเพิ่มประสิทธิภาพ, กำหนดเวลา, ฟังก์ชั่นการสูญเสียและตัวโหลดข้อมูล ได้อย่างง่ายดายจาก 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 ในคำสั่งของคุณ

เราให้ไฟล์ทุบตีอย่างง่ายเพื่อติดตั้งสภาพแวดล้อม:
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-Models และ MMCV
หากคุณพบว่า PointNext หรือ 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},
}