$ show vLAR-group/GrowSP
GrowSP is an unsupervised semantic segmentation framework for 3D point clouds that learns from growing superpoints. The system processes raw point cloud data through preparation pipelines, generates initial superpoints using voxelization and region growing, then trains a Feature Pyramid Network (Res16FPN18) to learn discriminative features. During training, superpoints are progressively merged (growing superpoints strategy) to create hierarchical representations, with pseudo-labels generated via clustering of superpoint features. The framework includes specialized dataset classes for S3DIS, ScanNet, and SemanticKITTI, evaluation scripts using Hungarian matching for unsupervised performance measurement, and utility libraries for 3D augmentations and PLY file handling. The architecture follows a modular design with clear separation between data preparation, dataset handling, model definitions, and training/evaluation logic.
The LLM identified 4 files worth highlighting for reuse:
Provides reusable 3D coordinate transformation utilities including translation, rotation (using exponential maps for proper SO(3) sampling), and scaling. The implementation is self-contained with only numpy/scipy dependencies and demonstrates correct handling of 3D rotation composition through matrix multiplication of axis-specific rotations in random order.
A robust PLY file reader/writer that correctly handles both ASCII and binary formats with proper endianness support. The implementation includes complete header parsing, property type mapping, and efficient binary I/O operations, making it a standalone utility usable in any 3D graphics or point cloud processing project.
Contains essential utilities for MinkowskiEngine-based models including normalization layer factories (batch, instance, and hybrid normalization) and convolution wrapper functions that abstract over different convolution types (hypercube, spatial hypercube, etc.). These components demonstrate deep understanding of ME's region types and provide reusable building blocks for sparse tensor networks.
Implements a Feature Pyramid Network architecture specifically adapted for MinkowskiEngine's sparse tensors. The Res16FPNBase class correctly constructs top-down and lateral connections with appropriate upsampling, enabling multi-scale feature extraction. Several predefined variants (Res16FPN14, Res16FPN18, etc.) show how to specialize the base architecture while maintaining code reuse.