š® A Comprehensive Introduction to 3D Data Analysis
š¤ Presenter: Natapong Intarasuk
š Institution: Chulalongkorn University
š§ Contact: int.natapong@gmail.com
š GitHub: github.com/imtorrr
A point cloud is an unstructured collection of 3D points in space, each defined by X, Y, Z coordinates.
Data Representation:
Beyond Geometry:
Acquisition Methods:
A single point's coordinates alone tell you nothing. Feature extraction happens by analyzing its local neighborhood.
š” Feature extraction = Bridge from raw 3D data to machine intelligence
Why spatial queries matter: Efficiently finding neighbors is critical for feature computation. Brute force O(n²) is impractical for million-point clouds.
KD-tree partitions space recursively, reducing search from O(n) to O(log n) on average. Essential for real-time processing!
Method: Principal Component Analysis (PCA)
After finding neighborhoods with KD-tree, extract shape descriptors via eigenvector analysis
Typical Workflow:
Manual feature extraction ā Classical ML (Random Forest, SVM, etc.) ā Works but requires domain expertise
Raw point cloud ā Neural network (PointNet/PointNet++) ā Learned features ā Classification ā Automatic & powerful
š Key Resources for Learning:
Order of points doesn't matter. {Pā, Pā, Pā} = {Pā, Pā, Pā}. A good network should produce same output regardless of input order.
Shifting all points by the same vector shouldn't affect local geometric properties. Networks should be robust to coordinate shifts.
Direct point cloud processing without voxelization
Processes raw (N, 3) point coordinates directly instead of converting to voxels or meshes. Maintains sparse nature of data.
š” Breakthrough: Proved CNNs aren't necessary for 3D learning!
š Learn More:
Answer to PointNet's limitations: Learn hierarchical features at multiple scales
š State-of-the-art for most 3D understanding tasks
Questions? Let's explore the fascinating world of 3D point clouds together!