Module 2: Feature Extraction
2.1 What is Feature Extraction?
Feature extraction is the process of describing the local shape around each point using a compact list of numbers (called a descriptor). These descriptors allow us to find correspondences: if two points in different scans have very similar fingerprints, they likely represent the same physical location.
Why do we need features?
Without them, we would have to compare every single point in one cloud to every point in the other, which is computationally impossible for large datasets. Good features are:
- Discriminative: Different shapes (like a flat floor vs. a sharp corner) should have very different descriptors.
- Robust: They shouldn't change much even if there is noise or if the sensor was slightly farther away (density changes).
- Efficient: They must be fast to calculate and compare.
2.2 FPFH – Fast Point Feature Histogram
The core idea of FPFH is to observe a point and its neighbors and ask: "How are the surfaces tilted relative to each other?" Instead of simply recording 3D coordinates, it calculates the relationships between the normals of point pairs. Think of it as creating a mathematical "DNA" that describes local curvature rather than just a position in space.
To achieve this, the algorithm sets up a miniature local reference frame for every pair involving the query point \(p_q\) and its neighbors \(p_j\). Within this frame, we extract three core angular features: \(\alpha, \phi, \text{ and } \theta\). You can think of these three angles as a geometric shorthand that describes how a surface "bends" or "twists" at that specific spot.
These angles are then organized into a Simplified Point Feature Histogram (SPFH). To make the process truly "Fast," the final FPFH descriptor is calculated as a weighted sum of the point’s own SPFH and the histograms of its neighbors:
This formula tells us that a point's identity is shaped by its surroundings. The weighting term \(\frac{1}{\| p_i - p_q \|}\) ensures that closer neighbors have a much stronger influence on the final "fingerprint" than those further away.
FPFH is considered a gold standard in classical registration because it strikes an exceptional balance between performance and reliability. By relying on relative angles rather than absolute coordinates, it is inherently rotation-invariant, meaning the "fingerprint" remains the same even if the entire 3D scene is flipped or rotated. It captures the "average shape" effectively even when the sensor data is sparse or noisy. Most importantly, it streamlines complex geometric calculations into an efficient format, allowing it to provide fast, real-time results without sacrificing the discriminative power needed for successful matching.
2.3 FCGF – Fully Convolutional Geometric Features
FPFH was designed by humans using geometry. But can a computer "learn" a better way to describe a point? FCGF uses a neural network to do exactly this. It processes the entire point cloud and outputs a high-dimensional feature vector for every point. It is trained to ensure that the "fingerprints" of the same spot in two different scans are nearly identical.
- 1. Voxelization: The point cloud is placed into a 3D grid.
- 2. Sparse Convolution: A special neural network slides through the occupied voxels, learning patterns like edges and curves.
- 3. Dense Output: For every point p, the network produces a feature vector $$ f(p) \in \mathbb{R}^{d} $$
- 4. Training: The network is trained using a "tug-of-war" logic:
Pull: If two points (p,q) are a positive pair (the same spot), minimize the distance between their features.
Push: If they are a negative pair (different spots), maximize the distance until it reaches a margin m.
The simplified loss function looks like this:
The true strength of FCGF lies in its data-driven intelligence, which allows it to adapt its "vision" to the specific geometry of different environments. Unlike manual formulas that follow fixed geometric rules, this neural network learns to identify subtle differences between similar-looking surfaces, making it extremely discriminative even in cluttered or noisy scenes. Furthermore, because it is built on sparse 3D convolutions, FCGF is natively optimized for modern hardware, enabling it to process millions of points in just a few milliseconds.
2.4 Operating instructions
To align different scans, the system must identify unique geometric "landmarks." By generating mathematical descriptors for keypoints, we can establish initial point-to-point correspondences.
| Parameter | Meaning | Adjustment Guide |
|---|---|---|
| Handcraft FPFH | Handcrafted descriptor using angular and distance relations between neighbors. | Robust to noise; good for low-texture scenes. |
| Learning-based FCGF | Learned deep descriptor that is rotation invariant. | Requires GPU; better for repeatable features across different scans. |
| voxel size (m) | The resolution at which the feature is computed. | Smaller → more features & slower; larger → fewer features & faster but may miss details. Match to target alignment precision. |