12. 3D Data Analysis

PointNet, permutation invariance, MVCNN, VoxNet, 3D segmentation

Contents
1. Challenges of 3D Data Analysis 2. Three Families of Approaches 3. Multi-View Projection: MVCNN 4. SnapNet: Multi-View Segmentation 5. Volumetric: VoxNet and 3D CNNs 6. Direct Point Cloud: PointNet 7. PointNet Architecture Walkthrough 8. Advanced Point-Based Architectures 9. Comparison of All Three Families Interactive: PointNet Walkthrough Flashcards

1. Challenges of 3D Data Analysis

3D data analysis extends the three core 2D vision tasks into 3D: classification (one label per object), object detection (locate and classify multiple objects), and semantic segmentation (label every single point or voxel).

3D classification examples
3D classification: point cloud objects (sofa, chair, desk, monitor, table) each labeled with their class.
Semantic segmentation of 3D point cloud
Semantic segmentation: an indoor room point cloud (left: raw) and per-point class labels (right: walls blue, floor brown, furniture in other colors).

Six Key Challenges

ChallengeExplanation
Volume of dataIndoor factory scans contain billions of points; orders of magnitude more than 2D images
Non-uniform sparsityPoints denser near sensor, sparser far away; density varies enormously
No grid-like structureUnlike pixels, the $n$-th point can be anywhere in 3D space
Permutation invarianceShuffling the point list changes nothing about the geometry — any processing method must respect this
Acquisition artifactsNoise, missing data, registration errors, temporal ghosting from moving objects
OcclusionsSensors only capture surfaces facing them; back sides require multiple viewpoints
Permutation Invariance — Formal Definition
A point cloud $\{p_1, \ldots, p_n\}$ represents the same geometry regardless of ordering. Any function $f$ processing a point cloud must satisfy: $$f(\{p_1, \ldots, p_n\}) = f(\{p_{\sigma(1)}, \ldots, p_{\sigma(n)}\}) \quad \forall \text{ permutations } \sigma$$ This is fundamentally different from images, where pixel $(i,j)$ always maps to a fixed spatial location.
Point cloud density comparison
Same car point cloud at 256, 512, 768, and 1024 points. In each case point ordering is arbitrary; only spatial distribution matters.

2. Three Families of Approaches

ApproachRepresentationCore IdeaPioneer
Multi-view projection2D rendered imagesSidestep 3D challenges by projecting to 2D; use proven 2D CNNsMVCNN
VolumetricRegular 3D voxel gridDiscretize 3D space into a regular grid; use 3D CNNsVoxNet
Direct point cloudRaw unordered $(x,y,z)$ pointsProcess the raw point cloud directly with specialized architecturesPointNet
Point cloud vs. voxel cloud
The same 3D scene as a raw point cloud (left) and as a colored voxel grid (right).

3. Multi-View Projection: MVCNN

MVCNN (Multi-View Convolutional Neural Network) is the pioneering projection-based method. It leverages pre-trained 2D CNN models — critical because labeled 3D training data is scarce compared to massive 2D datasets like ImageNet.

MVCNN Architecture for Classification

MVCNN architecture
MVCNN: a 3D shape rendered from 12 virtual viewpoints, processed by a shared CNN, aggregated via view pooling, then classified.
  1. Multi-view rendering: Render the 3D shape from 12 virtual camera viewpoints, producing 12 standard 2D images.
  2. Per-view feature extraction (CNN_1, shared weights): Each of the 12 images passes through the same CNN (e.g., VGG pre-trained on ImageNet). All 12 views share identical weights.
  3. View pooling (element-wise max): Aggregate 12 feature vectors into a single descriptor:
    $$\mathbf{d} = \text{ViewPool}(\mathbf{f}_1, \ldots, \mathbf{f}_{12}) = \max(\mathbf{f}_1, \ldots, \mathbf{f}_{12})$$
    where max is applied element-wise across the feature dimension.
  4. Classification (CNN_2 + FC): The pooled feature passes through CNN_2 and fully connected layers to produce class probabilities.

MVCNN Fusion Strategies

MVCNN fusion strategies
Three multi-view fusion strategies: early fusion (combine after initial layers), late fusion (combine after full per-view processing), score fusion (combine at prediction level).
StrategyFusion PointTrade-off
Early fusionAfter first shared CNN layersMore view interaction; less per-view specialization
Late fusionAfter full per-view CNN processingMore per-view processing; combination happens late
Score fusionAt final prediction levelSimplest; each view votes independently
Advantages and limitations of multi-view methods

Advantages: Reuses well-established 2D CNN methods; relatively low computation cost; leverages massive pre-trained 2D models.

Limitations: Loss of internal geometric structure — 2D projections cannot represent what is behind visible surfaces. Incomplete segmentation because occluded points receive no label. View-dependent results.

Status: Popularity is fading as the field moves toward direct point cloud methods.

4. SnapNet: Multi-View 3D Segmentation

SnapNet extends the multi-view idea from classification to semantic segmentation of point clouds.

SnapNet pipeline
SnapNet full pipeline: mesh view generation, semantic labeling with autoencoder, back-projection to 3D points.
  1. View generation: Place virtual cameras around/within the scene; synthesize RGB and depth composite texture images from each camera.
  2. Semantic labeling: Feed each RGB-depth image pair into an encoder-decoder segmentation network, producing per-pixel class labels.
  3. Back-projection and voting: Map 2D per-pixel labels back onto 3D points. When multiple views see the same 3D point, accumulate votes and take the majority class.
  4. Output: A fully semantized point cloud where every point has a class label.
SnapNet rendering: RGB and depth textures
SnapNet rendering: (a) RGB texture and (b) depth composite texture synthesized from virtual cameras placed around the scene.

5. Volumetric Methods: VoxNet and 3D CNNs

VoxNet is the pioneering volumetric method. It converts the raw point cloud to a regular 3D voxel grid, then applies 3D CNNs — solving the problem of irregular, unstructured point clouds by imposing a regular grid like pixels in an image.

Voxelization: The Critical Trade-off

Voxel quantization levels
Coarse vs. fine voxel quantization: coarse grids are fast but delete detail; fine grids preserve detail but memory grows cubically.
Cubic Memory Growth
$$\text{Memory} \propto N^3$$ Doubling resolution from $N$ to $2N$ increases memory by factor $2^3 = 8$. For $N=512$: $512^3 \approx 134$ million voxels. High resolution is often infeasible.

Octree: Memory-Efficient Voxels

An octree recursively subdivides 3D space into 8 octants, only where data exists. Empty regions are never subdivided — concentrating resolution where data actually is while saving enormous memory on empty space.

Point cloud to octree
Point cloud (left) converted to an octree-like voxel representation (right): from a single bounding cube progressively subdivided to Level 6.

3D Spatial Convolution

Critical distinction for exams
A "3D convolution on 2D images with channels" still only slides across 2 spatial dimensions. A true 3D spatial convolution on voxels slides across 3 spatial dimensions (x, y, z). These are fundamentally different operations.
3D Spatial Convolution
$$\text{out}(x, y, z) = \sum_{i=0}^{k_x-1} \sum_{j=0}^{k_y-1} \sum_{l=0}^{k_z-1} w(i, j, l) \cdot \text{in}(x+i, y+j, z+l) + b$$ A 3D kernel $w$ of size $k_x \times k_y \times k_z$ slides through a 3D data volume, producing a 3D output feature volume.
3D convolution illustration
3D spatial convolution: a 3D kernel cube sliding through a larger 3D data volume in all three spatial directions.
VoxNet 3D CNN pipeline
3D CNN classification pipeline: 3D data cube through 3D convolution + pooling stages, reshaping to a flat vector, then dense layers for classification.
Advantages and limitations of volumetric methods

Advantages: Solves irregular/unordered point cloud problem by imposing a regular grid. All standard CNN techniques apply (batch norm, skip connections, etc.).

Limitations: Very expensive memory ($N^3$ cubic growth). Quantization loses detail. Sparse voxel grids waste memory on empty space.

Current status: Applied mainly in medical imaging where data samples are small and high resolution is less critical.

6. Direct Point Cloud: PointNet

Multi-view and volumetric approaches are artificial workarounds that convert point clouds to other representations, introducing information loss and computational overhead. PointNet analyzes point clouds directly as they are.

PointNet overview
PointNet: a unified framework accepting raw point clouds and supporting three tasks: object classification, part segmentation, and semantic scene parsing.

The Core Design Problem

How do you design a neural network whose output is invariant to the ordering of its inputs? Traditional networks expect fixed-order inputs (pixel $(0,0)$ is always top-left). A point cloud is a set — the same geometry listed in any order must produce the same output.

PointNet's Solution — Symmetric Functions
$$f(\{p_1, \ldots, p_n\}) = g\!\left(\bigoplus_{i=1}^{n} h(p_i)\right)$$ where $h: \mathbb{R}^3 \rightarrow \mathbb{R}^d$ is a shared MLP applied independently to each point, $\bigoplus$ is max pooling (a symmetric function), and $g$ is a classification MLP. Since $h$ treats each point identically and max is order-independent, the whole pipeline is permutation-invariant.

7. PointNet Architecture Walkthrough

PointNet full architecture
Full PointNet classification architecture: input transform (T-Net), shared MLPs, feature transform (second T-Net), max pooling to global feature, and classification MLP.

T-Net (Spatial Transformer Network)

The T-Net is a sub-network that predicts a transformation matrix to align the point cloud to a standard canonical pose. Objects in real scans can appear in arbitrary orientations; the T-Net learns to undo this.

T-Net transformation
T-Net transformation: (a) the same car overlaid in random orientations before alignment; (b) all copies aligned to a single canonical orientation after applying the learned transformation.
T-Net subnetwork architecture
T-Net architecture: shared MLPs (3 to 64 to 128 to 1024), max pool to global vector, FC layers (1024 to 512 to 256), then matrix multiply with trainable weights to produce a 3x3 transformation matrix.
T-Net is a mini-PointNet
The T-Net uses exactly the same structure as the main PointNet — shared MLPs followed by max pooling to get a global vector, then FC layers. It is literally a PointNet inside a PointNet, trained end-to-end.

Max Pooling: The Key to Permutation Invariance

After shared MLP Block 2 maps each of the $n$ points to 1024 dimensions, max pooling is applied across all $n$ points for each feature dimension:

$$g_j = \max_{i=1}^{n} f_{ij}, \qquad j = 1, \ldots, 1024$$

This produces a single 1024-dimensional global feature vector describing the entire point cloud.

Why max pooling achieves permutation invariance
Max is a symmetric function: $\max(a, b, c) = \max(c, a, b)$. Therefore, regardless of how the $n$ points are ordered, the max pooling output is identical. Max pooling was also found experimentally to outperform sum and average pooling — it captures the most salient features while being insensitive to the number of points.

PointNet Dimension Table

StepOperationInput ShapeOutput Shape
1Input$1024 \times 3$
2Input T-Net$1024 \times 3$$3 \times 3$ matrix
3Matrix multiply (align)$1024 \times 3$$1024 \times 3$
4Shared MLP Block 1$1024 \times 3$$1024 \times 64$
5Feature T-Net$1024 \times 64$$64 \times 64$ matrix
6Matrix multiply (align features)$1024 \times 64$$1024 \times 64$
7Shared MLP Block 2$1024 \times 64$$1024 \times 1024$
8Max pooling (across 1024 points)$1024 \times 1024$$1 \times 1024$
9MLP Block 3$1 \times 1024$$1 \times k$
10Softmax$1 \times k$$1 \times k$ (probabilities)

PointNet for Segmentation

For per-point class labels, PointNet concatenates the global feature vector with each point's local feature (from shared MLP block 1, 64-dimensional):

$$\mathbf{c}_i = [\mathbf{f}_i^{(64)} \,\|\, \mathbf{g}] \in \mathbb{R}^{1088}$$

Per-point MLPs then predict a class label for each point. This gives every point both local context (its own features) and global context (the entire object's feature).

Point cloud part segmentation
PointNet part segmentation: each point in the car point cloud labeled by part class (body, wheels, windows, etc.).

Feature Transform Regularization

The second T-Net produces a $64 \times 64$ matrix. To prevent it from being arbitrary, a regularization loss encourages it to be close to an orthogonal matrix:

$$L_{\text{reg}} = \| \mathbf{I} - \mathbf{T}_{64} \mathbf{T}_{64}^T \|_F^2$$

The total loss is $L = L_{\text{cls}} + \lambda \cdot L_{\text{reg}}$ where $L_{\text{cls}}$ is standard cross-entropy loss.

8. Advanced Point-Based Architectures

In the 4 years following PointNet, approximately ~300 point-based 3D analysis networks were published. They address PointNet's main limitation: it does not capture local geometric structure — max pooling creates a global feature but ignores relationships between nearby points.

NetworkKey InnovationTask
PointNet++Hierarchical feature learning with ball queries; captures local structure at multiple scalesClassification, segmentation
Point TransformerSelf-attention mechanisms on point clouds; models long-range dependenciesClassification, segmentation
RandLA-NetRandom sampling + local feature aggregation for efficient large-scale segmentationLarge-scale segmentation
SqueezeSegProjects LiDAR to 2D range images, applies efficient CNNLiDAR segmentation
RangeNet++Range-image semantic segmentation with post-processing for point labelsLiDAR segmentation

PointNet++ Key Idea

PointNet++ applies PointNet hierarchically in local neighborhoods, mirroring how CNNs learn local then global features:

  1. Farthest Point Sampling (FPS): Select well-spread subset of points.
  2. Ball Query: For each selected point, find all points within radius $r$.
  3. Mini-PointNet on local patches: Apply PointNet to each neighborhood to extract a local feature.
  4. Repeat hierarchically: Use outputs as inputs to the next level, capturing progressively larger-scale patterns.
Self-supervised learning of 3D point clouds (active research)

This is identified as a hot research topic. Current directions include:

  • Pre-training on unlabeled point cloud data using pretext tasks (e.g., predicting missing points)
  • Contrastive learning in 3D: learning representations where different views of the same object are similar
  • Masked point modeling: analogous to masked language models (BERT-style pre-training for 3D)
  • Foundation models for 3D understanding: general-purpose models fine-tuned for specific 3D tasks

9. Comparison of All Three Families

CriterionMulti-View (MVCNN)Volumetric (VoxNet)Direct Point Cloud (PointNet)
Input2D rendered imagesRegular 3D voxel gridRaw unordered $(x,y,z)$ points
Pre-trained modelsYes (ImageNet)LimitedNo
Memory costLow (just 2D images)Very high ($N^3$)Moderate (linear in $n$)
Information lossLoses internal geometryQuantization lossMinimal
Permutation invarianceN/A (pixel grid)N/A (voxel grid)Achieved via max pooling
Segmentation qualityLimited (occlusion)Good (3D autoencoder)Excellent
Current statusPopularity fadingMainly medical imagingDominant paradigm
When to use which approach
  • Limited 3D training data: Multi-view (MVCNN) — leverage pre-trained 2D models
  • Medical imaging: Volumetric (3D CNN) — small, regular medical volumes suit 3D grids
  • Autonomous driving / indoor mapping: Direct point cloud (PointNet++, RandLA-Net) — handles massive irregular scans
  • Real-time applications: Multi-view or RangeNet++ — fast inference with optimized 2D pipelines

Flashcards