3DSegmentation:Basic
lastmod 2026-09-30created 2026-02-2426 edits
A learning roadmap for approaching 3D Segmentation, from the basics to SOTA, from a developer's perspective.
Phase 0: Prerequisite check
Before starting, check that you are familiar with the concepts below.
- 2D Image Segmentation basics - Semantic segmentation / Instance segmentation / Panoptic segmentation
-
CNN basics - Encoder-Decoder structure, U-Net architecture - PyTorch basic usage - Dataset, DataLoader, training loop
- Korean: 3D 좌표계 - Korean: 회전행렬, Korean: 변환행렬, camera model (intrinsic/extrinsic)
- Korean: ROS2 기초 - topics, services, TF2 frame concepts (essential for robot integration)
Core library setup
- open3d - the Swiss Army knife of 3D data visualization/processing
- numpy
- pytorch
- torchvision
- trimesh - Mesh loading/manipulation
Phase 1: Understanding 3D data representations
To understand 3D segmentation, you first need to know "what 3D data is represented with".
Point Cloud ⭐
- The most primitive 3D representation. A set of
(x, y, z)coordinates - LiDAR, depth camera, structured light camera
- Unordered data - CNNs cannot be applied directly
- Load and visualize .ply and .pcd files with Open3D.
Basic flow in the welding context:
- Scan the workpiece using a structured light camera (e.g. Photoneo PhoXi, Intel RealSense)
- Acquire the Korean: 점군 (Point Cloud)
- Detect the joint
import open3d as o3d
pcd = o3d.io.read_point_cloud("example.ply")
o3d.visualization.draw_geometries([pcd])
Voxel
- 3D space divided into a uniform grid (3D pixels)
- 3D CNNs can be applied, but memory consumption is high (
O(n³)) - Improved with Sparse Convolution (MinkowskiEngine, SpConv)
- Welding context - used in WeldNet and others to detect weld joints with voxel encoding + sparse conv
Mesh
- A surface representation made of vertices + faces
- Mainly used in CAD, games, and AR/VR
- Can be processed with a Graph Neural Network
Implicit Representation
- NeRF (Neural Radiance Fields) - represents a 3D scene as a continuous function
- 3D Gaussian Splatting (3DGS) - represents a scene as a set of 3D Gaussians
- Recently emerged as a key backbone for 3D segmentation -> rarely used directly in welding -> useful for following research trends
Range Image / BEV (Bird's Eye View)
- Projects a LiDAR point cloud onto a 2D image to make use of existing 2D techniques
- Well suited to real-time processing in autonomous driving
Phase 2: Classical 3D Segmentation
Understanding the traditional methods from before deep learning lets you feel why deep learning was needed.
Region Growing
- Starts from a seed point and adds similar neighboring points to the group
- Available out of the box in Open3D and PCL
RANSAC-based plane segmentation
- Quickly extracts planar structures such as floors and walls
Sample code from Open3D:
# Step 1: Detect the first plane (첫 번째 평면 검출)
plane1, inliers1 = pcd.segment_plane(distance_threshold=0.01, ransac_n=3, num_iterations=1000)
# Step 2: Remove inliers and detect second plane (두 번째 평면 검출)
remaining = pcd.select_by_index(inliers1, invert=True)
plane2, inliers2 = remaining.segment_plane(distance_threshold=0.01, ransac_n=3, num_iterations=1000)
# Step 3: Intersection of two planes = weld seam line (교차선 = 용접 이음)
Euclidean Clustering (DBSCAN)
- Separates individual objects with distance-based clustering
Graph Cut / Felzenszwalb
- Extends image-based graph segmentation to 3D
- Used for post-processing in SAM3D (Pointcept) and others
Phase 3: Deep learning-based Point Cloud Segmentation
PointNet (2017) ⭐
- Key idea: the first deep learning model to take point clouds directly as input
- Solves permutation invariance with Max Pooling
- Learns spatial transforms with T-Net
- Paper: PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
- Code: charlesq34/pointnet
- Recommended hands-on: Keras PointNet Tutorial
- PyG tutorial: PyTorch Geometric - Point Cloud Processing
PointNet++ (2017) ⭐
- Solves the limitation of PointNet (ignoring local structure) with a hierarchical structure
- Set Abstraction: Sampling → Grouping → PointNet
- Handles non-uniform density with Multi-Scale Grouping (MSG)
- Paper: PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
- Code: Github - charlesq34/pointnet2
Sparse Convolution-based
- MinkowskiEngine / SpConv - efficient convolution on sparse 3D data
- MinkUNet - 3D U-Net + Sparse Conv. Top of the ScanNet/SemanticKITTI benchmarks
- SPVCNN - Point + Voxel hybrid
- Code: Github - NVIDIA/MinkowskiEngine
Transformer-based
- Point Transformer (v1/v2/v3) - applies self-attention to point clouds
- PointTransformerV3 (PTv3) - currently SOTA on many benchmarks
- Stratified Transformer - effective at capturing long-range dependencies
Major benchmark datasets
| Dataset | Domain | Features |
| ScanNet | Indoor | RGB-D reconstruction, semantic/instance segmentation |
| S3DIS | Indoor | Large-scale building scans |
| Autonomous driving | LiDAR sequences, 28 classes | |
| ModelNet40 | Classification | CAD models in 40 categories |
| ShapeNetPart | Part segmentation | Object part labels |
| nuScenes | Autonomous driving | Multi-sensor (camera+LiDAR) |
Unified frameworks
- Pointcept - a unified framework for various point cloud models
Phase 4: 2D→3D lifting (using Foundation Models)
The paradigm of extending Foundation Models trained in 2D to 3D.
SAM (Segment Anything Model)
- Meta's general-purpose 2D segmentation model. The basis of all subsequent 3D extensions
- Prompt (point, box, text) → mask generation
- Code: Github - facebookresearch/segment-anything
SAM → 3D extension lineage
- SAM (2D, 2023)
- SAM 2 (Video, 2024) — adds tracking across frames
- SAM 3 (Open-vocab, 2025) — text prompts + multiple objects
- SAM3D (2025) — single image → 3D reconstruction
- SAM 3 (Open-vocab, 2025) — text prompts + multiple objects
- SAM 2 (Video, 2024) — adds tracking across frames
- SAM3D (Pointcept, ICCV'23) — 2D masks → 3D back-projection + merging
- SA3D (NeurIPS'23) — cross-view self-prompting with SAM on NeRF
- SAMPro3D (3DV'25) — optimizes SAM prompt locations in 3D space
- SAM-guided Graph Cut (ECCV'24) — 3D instances with SAM + graph cut
- SAM-Med3D (ECCV'24) - fine-tuning specifically for 3D medical imaging
- 3DSAM-adapter - adapter-based extension of 2D SAM to 3D volumes
- SAM3D (ISBI'24) — processes the whole volume at once
- P3-SAM (2025) — PointTransformer backbone, true 3D point prompting
Recommended hands-on order
- Run the SAM 2D demo first → understand the prompt-mask pipeline
- Run the SAM3D (Pointcept) code on ScanNet → understand 2D-3D lifting
- Practice NeRF scene segmentation with SA3D
Phase 5: 3D Gaussian Splatting + Segmentation
Basic understanding of 3D Gaussian Splatting (3DGS)
- A real-time 3D scene representation that emerged as an alternative to NeRF
- Represents a scene as a set of 3D Gaussians, enabling real-time rendering
- Original paper: 3D Gaussian Splatting for Real-Time Radiance Field Rendering
- Code: graphdeco-inria/gaussian-splatting
Segment Any 3D Gaussians ⭐
- Semantically segments individual Gaussians in a 3DGS scene
- Trained by back-projecting SAM's 2D masks onto the 3D Gaussians
- Code: Jumpat/SegmentAnythingin3D
Related research
- GaussianEditor - editing in 3DGS with Gaussian Semantic Tracing
- SAGA (Segment Any Gaussian) - scalable 3DGS segmentation
- LEGaussians (Language Embedded Gaussians) - 3DGS segmentation with text queries
- Survey: A Survey on 3D Gaussian Splatting Applications: Segmentation, Editing, and Generation
Phase 6: Open-Vocabulary & Language-guided 3D Segmentation
The latest trend of specifying the desired target with text for 3D segmentation. -> applying LLMs
Key concepts
- Open-Vocabulary - can segment even categories not seen during training
- Grafts Vision-Language Models such as CLIP / SigLIP onto 3D features
Major models
- OpenScene - assigns CLIP features to 3D points, 3D search with text queries
- LERF (Language Embedded Radiance Fields)
- OV-SAM3D - Training-free. Combines SAM + RAM + CLIP
- Reason3D (2025) - uses an LLM to infer the 3D segmentation target
- SAM 3 (Meta, 2025) - unified model based on text prompts
Direction of the field
Transferring the capabilities of 2D Foundation Models to 3D is the mainstream approach.
Zero-shot / training-free approaches that work without separate 3D training data are gaining ground.
Phase 7: Domain-specific applications
Autonomous driving
- LiDAR point cloud semantic segmentation
- Major models: Cylinder3D, WaffleIron, CENet, RangeViT
- Benchmarks: SemanticKITTI, nuScenes, Waymo Open Dataset
Medical imaging
- Organ/lesion segmentation in CT/MRI volumes
- Major models: nnU-Net (still strong), SAM-Med3D, UNETR
- Benchmarks: BTCV, BraTS, TotalSegmentator
Robotics/AR
- Real-time scene understanding
- 3DGS-based interactive segmentation is on the rise
See also
- 3D Segmentation
- Computer Vision
- Point Cloud
- Deep Learning
- SAM3
- Segment Any 3D Gaussians
- 3D scanning
- Image segmentation
- NeRF
- 3D Gaussian Splatting
- AIWeldingRobot:Basic
- Bin picking
Favorite site
- clij2-docs - 3D Image Segmentation
- Papers With Code - 3D Semantic Segmentation
- Pointcept GitHub
- emergentmind - SAM 3D topic
- Pointcept - unified framework for point cloud models (PTv3, PointNet++, etc.)
- facebookresearch/segment-anything - original SAM
- facebookresearch/sam3 - SAM 3 + SAM3D
- graphdeco-inria/gaussian-splatting - original 3DGS
- Jumpat/SegmentAnythingin3D - SA3D (NeRF + SAM)
- NVIDIA/MinkowskiEngine - Sparse 3D Convolution
- yeyan00/pointcloud-sota - collection of Point Cloud SOTA methods