Point Transformer
Click a node to select
Main topic Killer Application
Make self-attention the only feature-aggregation operator for 3D point clouds, and have it win on every 3D task at once.

A point cloud is an unordered set of points in continuous space, so the standard vision workhorse -- discrete convolution on a regular grid -- has no direct definition on it. This paper shows that a network built purely from self-attention layers, pointwise transformations and pooling, with no convolutions anywhere, beats every prior family of 3D architectures.

Three things make it remarkable:

1. First model to cross the 70% mIoU wall on S3DIS. Area 5 mIoU of $70.4$ against $67.1$ for the strongest prior model (KPConv) -- $+3.3$ absolute points, an unusually large jump on a benchmark that had been moving in fractions of a point.

2. One backbone, three task types. The same point transformer block serves large-scale semantic scene segmentation (S3DIS), shape classification (ModelNet40, $93.7$ overall accuracy) and object part segmentation (ShapeNetPart, $86.6$ instance mIoU) -- a new state of the art on all three.

3. Vector attention applied locally is what makes it work. Earlier attention-based point cloud methods used global, scalar dot-product attention, which cannot scale to a room-sized scan. Restricting attention to a $k$-nearest-neighbor set and making the attention weights vectors instead of scalars is worth $+5.8$ mIoU in the paper's own ablation -- this is the technical core, not a detail.

fig1_teaser_tasks.png

Figure 1 is the whole claim in one picture: a single Point Transformer backbone feeding three different heads. The point of the figure is not that these tasks exist, but that they normally require three different architectural families -- and here one operator covers all of them.
Original Abstract, p.1
For example, on the challenging S3DIS dataset for large-scale semantic scene segmentation, the Point Transformer attains an mIoU of 70.4% on Area 5, outperforming the strongest prior model by 3.3 absolute percentage points and crossing the 70% mIoU threshold for the first time.
Main topic Why It's Needed
The problem: point clouds are sets, and the entire deep-vision toolbox assumes grids.

An image lives on a regular pixel lattice, so a convolution kernel can be defined once and slid everywhere. A point cloud is an unordered set $\mathcal{X} = \{\mathbf{x}_i\}_i$ of coordinates in continuous space: no canonical ordering, no fixed neighborhood, no shared kernel geometry. Convolution simply is not defined on it.

Every prior workaround pays a specific price, and the paper names each one:

Projection-based -- render the cloud into 2D image planes and reuse a 2D CNN. But "the geometric information inside point clouds is collapsed during the projection stage", the sparsity is wasted on dense pixel grids, and occlusion in 3D caps accuracy.

Voxel-based -- quantize onto a 3D grid and run 3D convolutions. Cost grows cubically with resolution; sparse convolution recovers the cost, but these methods "may still lose geometric detail due to quantization onto the voxel grid".

Point-based -- consume the set directly (PointNet, PointNet++, graph methods, continuous convolutions). These respect the set structure, but aggregate with pooling or with kernels whose weights are fixed once trained, so aggregation cannot adapt to what is actually in the neighborhood.

And attention had already been tried on point clouds -- but globally and in scalar form, which "introduces heavy computation and renders these approaches inapplicable to large-scale 3D scene understanding". So the gap is narrower than "nobody tried attention": nobody had made attention local and vector-valued, which is precisely what is needed to run it on a scan with millions of points.
Original §1, p.1
3D point clouds are sets embedded in continuous space. This makes 3D point clouds structurally different from images and precludes immediate application of deep network designs that have become standard in computer vision, such as networks based on the discrete convolution operator.
Main topic Solution
The point transformer layer: local vector self-attention with a trainable relative position encoding injected into both branches.

Start from standard scalar dot-product attention, where each neighbor contributes with a single scalar weight:

$$\mathbf{y}_i = \sum_{\mathbf{x}_j \in \mathcal{X}} \rho\big(\varphi(\mathbf{x}_i)^\top \psi(\mathbf{x}_j) + \delta\big)\,\alpha(\mathbf{x}_j)$$

Vector attention replaces that scalar with a weight vector, so each feature channel can be modulated independently. The point transformer layer specializes vector attention with three concrete choices -- a subtraction relation, a local neighborhood $\mathcal{X}(i)$ given by the $k$ nearest neighbors of $\mathbf{x}_i$, and a position encoding $\delta$ added to the attention branch and the value branch:

$$\mathbf{y}_i = \sum_{\mathbf{x}_j \in \mathcal{X}(i)} \rho\Big(\gamma\big(\varphi(\mathbf{x}_i) - \psi(\mathbf{x}_j) + \delta\big)\Big) \odot \big(\alpha(\mathbf{x}_j) + \delta\big)$$

Here $\varphi, \psi, \alpha$ are pointwise linear projections, $\gamma$ is an MLP with two linear layers and one ReLU that turns the relation vector into an attention vector, $\rho$ is a softmax over the neighborhood, and $\odot$ is the elementwise product.

The position encoding is not hand-designed. It is an MLP $\theta$ (two linear layers, one ReLU) applied to the coordinate difference, trained end to end with everything else:

$$\delta = \theta(\mathbf{p}_i - \mathbf{p}_j)$$

fig2_point_transformer_layer.png

Figure 2 is worth reading against the Killer Application. The input $(x, p)$ splits three ways: the attention branch $\varphi, \psi$, the position branch $\delta$, and the value branch $\alpha$. The two circled sums show $\delta$ entering both sides before $\gamma$ produces the attention vectors. That double injection is not cosmetic -- Table 6 shows that feeding the relative position encoding to only one branch costs $1.7$ to $3.4$ mIoU. The figure is the mechanism by which geometry, not just feature similarity, decides how a point aggregates its neighborhood.
Original §3.2, p.3
Self-attention is a natural fit for point clouds because point clouds are essentially sets embedded irregularly in a metric space. Our point transformer layer is based on vector self-attention.
Main topic Results
Quantitative evidence: state of the art on three benchmarks, with a third of the parameters of the nearest competitor.
BenchmarkMetricPoint TransformerBest priorDelta
S3DIS Area 5mIoU70.467.1 (KPConv)$+3.3$
S3DIS 6-foldmIoU73.570.6 (KPConv)$+2.9$
ModelNet40OA93.793.0 (InterpCNN)$+0.7$
ShapeNetPartins. mIoU86.686.4 (KPConv)$+0.2$

Read this table through the Killer Application rather than as a scoreboard. The margins are not uniform, and that is the informative part. On the saturated object-level benchmarks (ModelNet40, ShapeNetPart) the gain is a few tenths -- these datasets are close to their ceiling and every recent method sits within a point of every other. On large-scale scene parsing, where the model has to reason over an entire room, the gain is $+3.3$ and $+2.9$ points. That is exactly the regime where the paper's two design choices pay off: locality is what allows attention to run on the scene at all, and content-adaptive vector weights are what let a point pick out the few neighbors that actually determine its label in a cluttered room.

The efficiency side matters just as much: Point Transformer reaches these numbers with 4.9M parameters, against 14.9M for KPConv and 30.1M for SparseConv. The claim is not just "more accurate", it is "more accurate with a smaller, simpler, convolution-free model".
Original §4.1, p.5
On Area 5, the Point Transformer attains mIoU/mAcc/OA of 70.4%/76.5%/90.8%, outperforming all prior work by multiple percentage points in each metric. The Point Transformer is the first model to pass the 70% mIoU bar, outperforming the prior state of the art by 3.3 absolute percentage points in mIoU.
Table 3 -- Shape classification on ModelNet40
| Method | input | mAcc | OA |
|---|---|---|---|
| 3DShapeNets | voxel | 77.3 | 84.7 |
| VoxNet | voxel | 83.0 | 85.9 |
| Subvolume | voxel | 86.0 | 89.2 |
| MVCNN | image | -- | 90.1 |
| PointNet | point | 86.2 | 89.2 |
| Set Transformer | point | -- | 90.4 |
| PointNet++ | point | -- | 91.9 |
| PointCNN | point | 88.1 | 92.2 |
| DGCNN | point | 90.2 | 92.2 |
| PointConv | point | -- | 92.5 |
| Point2Sequence | point | 90.4 | 92.6 |
| KPConv | point | -- | 92.9 |
| InterpCNN | point | -- | 93.0 |
| PointTransformer | point | 90.6 | 93.7 |

ModelNet40 is nearly saturated -- the top eight methods span 1.5 points. Point Transformer still takes the top spot in both metrics, which matters less as a margin than as evidence of generality: the same operator that wins on room-scale scenes also wins on single objects.
Table 4 -- Object part segmentation on ShapeNetPart
| Method | cat. mIoU | ins. mIoU |
|---|---|---|
| PointNet | 80.4 | 83.7 |
| PCNN | 81.8 | 85.1 |
| PointNet++ | 81.9 | 85.1 |
| DGCNN | 82.3 | 85.1 |
| SPLATNet | 83.7 | 85.4 |
| PointConv | 82.8 | 85.7 |
| SGPN | 82.8 | 85.8 |
| PointCNN | 84.6 | 86.1 |
| InterpCNN | 84.0 | 86.3 |
| KPConv | 85.1 | 86.4 |
| PointTransformer | 83.7 | 86.6 |

Best instance mIoU, but not best category mIoU -- KPConv keeps that at 85.1. The paper is explicit about why: "we did not use loss-balancing during training, which can boost category mIoU". Worth noting as an honest limitation rather than a clean sweep.
Main topic Conclusion
What this enables: transformers become a general 3D backbone, not a 2D import.

The paper's closing argument is a conceptual one. Transformers were adapted to images somewhat awkwardly -- an image has to be cut into patches and linearized before self-attention applies. A point cloud needs no such surgery: it is already a set in a metric space, and self-attention is already a set operator, invariant to permutation and cardinality. The claim is that point clouds are the more natural domain for transformers than the ones they were imported from.

What it enables in practice

- A drop-in general backbone for 3D scene understanding: encoder-only for classification, encoder-decoder for dense prediction, same block throughout.
- A path off the grid: no voxelization, no projection, no precomputed kNN indices -- so resolution is not a hyperparameter to trade against memory.
- An explicit invitation to extend the operator, which the authors name: "the application of transformers to other tasks, such as 3D object detection".

Limitations the paper itself leaves visible

- No complexity analysis or accuracy-vs-cost curve; only raw inference times in the appendix ($44$/$86$/$222$/$719$ ms for $10$k/$20$k/$40$k/$80$k points on a Quadro RTX 6000).
- $k=16$ is chosen empirically, and performance degrades on both sides of it -- the neighborhood size is a real hyperparameter, not a robust default.
- Category mIoU on ShapeNetPart still trails KPConv, attributed to the absence of loss balancing.
- The ablations isolate the operator, but never the backbone: no experiment swaps the U-Net encoder-decoder for another skeleton, so how much of the gain comes from the attention layer versus the surrounding architecture is left open.
Original §5, p.8
Transformers are perhaps an even more natural fit for point cloud processing than they are for language or image processing, because point clouds are essentially sets embedded in a metric space, and the self-attention operator at the core of transformer networks is fundamentally a set operator.
Method Figure 1: one backbone, three 3D understanding tasks
Result Three benchmark records claimed in the introduction
Gap / Idea Why a set operator is the right primitive here
Result State of the art at one third the parameter count
Method The three prior families, and where each one breaks
Gap / Idea Prior attention on point clouds was global and scalar -- both fatal
Question If quantization is the problem, why not just use sparse convolution?
Reference PointNet / PointNet++ -- the point-based lineage this builds on
Method Eq. 1 vs Eq. 2: scalar attention against vector attention
Method Eq. 4: trainable relative position encoding
Method Module design: block, transition down, transition up
Method Network architecture: a five-stage U-Net over point sets
Memo Training setup -- what was and was not tuned
Gap / Idea Why subtraction as the relation function?
Question Does local attention actually scale? What the appendix numbers show
Result Table 1 -- S3DIS Area 5, the headline benchmark
Result Table 2 / A.1 -- 6-fold cross-validation confirms it is not an Area 5 artifact
Result Tables 3 & 4 -- object-level tasks confirm generality, not dominance
Result Table 7 -- the ablation that carries the paper
Result Tables 5 & 6 -- neighborhood size, position encoding, and softmax
Method Figures 5 & 7 -- what the predictions look like
Gap / Idea Beam: the class nobody wins, and the one Point Transformer loses
Gap / Idea What this opens: the point-transformer line and 3D detection
Question Is the gain from the attention operator, or from the U-Net backbone?
Method Table A.2 -- making kNN cheap enough to compute on the fly
Reference The two papers this is built directly on