Paper · 2022-09-12 · cs.CV
CenterFormer: Center-based Transformer for 3D Object Detection
Transformer decoder for LiDAR 3D detection. A centre heatmap on a voxel BEV map picks candidate object centres; their features are the queries, read by 3x3-window or deformable cross-attention over three scales. Multi-frame fusion attends to the previous frame's BEV map. Author-reported: 75.6 L2 mAPH on the Waymo test set (single model) and 73.7 on validation with 8 frames.
Object detectionAnchor-free detectionBird's-eye-view (BEV) representationObject queries (learned query slots in transformer decoders)3d-object-detectionlidartransformermulti-frame-fusion
arXivPDFCodeMarkdown15 min read
AI-compiled by claude-haiku-5-5 on 2026-11-08, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Self-driving cars often use a LiDAR, which returns a cloud of points. One common way to find cars, pedestrians and cyclists in such a cloud is to flatten it into a top-down map and look for the centre of each object. This paper keeps that idea and adds a transformer, the attention mechanism behind many modern models. Each candidate centre becomes a query, and the query looks at the features around its own spot to pick up context. The same idea is extended to earlier scans of the scene, so the detector can follow objects that move. The authors argue that this trains more easily than standard transformer detectors, which learn their queries from scratch.
TL;DR
- A centre heatmap on a bird's-eye-view (BEV) map picks candidate object centres. Their features become the queries of a transformer decoder §3.2 §3.2.1.
- Cross-attention reads a 3x3 window at three scales, or 15 learned sampling offsets per head and scale in the deformable variant §3.2.2 §3.2.3 eq. 3 eq. 4.
- Multi-frame fusion adds the previous frame's BEV feature to the heatmap and to the cross-attention §3.3 app. A.
- Author-reported: 73.7 L2 mAPH on Waymo validation with 8 frames and 75.6 on test with a single model tab. 1 tab. 2.
- Official code (MIT) exists. Several details differ between the paper and the code, listed under Paper vs code.
Problem
Two-stage LiDAR detectors refine each proposal using only features inside its box, so they miss context outside it §1 app. C. DETR-style transformer decoders can model that context, but on LiDAR they are hard to apply: the BEV map is too large for global attention, and learned queries converge slowly §1 §4.5. Multi-frame methods that concatenate points assume that objects do not move between frames; the authors note that independently moving objects break this assumption §2 app. C.
Method
The network has four parts: a voxel encoder that produces a BEV feature map, a multi-scale center proposal network (CPN), a center transformer decoder and regression heads fig. 2. Training uses the center-based assignment of CenterPoint and no Hungarian matching app. A.
- Backbone. Points are averaged per voxel, then a sparse-convolution VoxelNet-style backbone produces a BEV map. The down-sampling is by 8 in x and y and by 16 in z, so the BEV cell is 0.8 m app. A. The Waymo grid is 0.1 m x 0.1 m x 0.15 m over x,y in [-75.2, 75.2] m and z in [-2, 4] m §4.1.
- Multi-scale CPN. The BEV map is up-sampled and down-sampled into three scales through one up-sampling and one down-sampling layer. Each scale ends with a CBAM block (channel and spatial attention) §3.2.1 app. A rpn_transformer.py.
- Centre proposals. A centre head on the finest scale gives one heatmap channel per class. The top N peaks become proposals, with N = 500 in training and N = 1000 at evaluation §3.2.1 §4.2 waymo_centerformer.py dist_test.py.
- Queries and position. The feature at each proposal is its query. A linear layer embeds the proposal's location as a position term §3.2.2 rpn_transformer.py.
- Decoder layer. A layer is self-attention among the proposals, then cross-attention to the multi-scale BEV features, then a feed-forward block. Each sub-layer has a pre-LayerNorm and a residual connection §3.2.2 transformer.py transformer.py. The base model uses 3 layers and 4 heads; the deformable model uses 2 layers and 6 heads §4.2 waymo_centerformer.py.
- Base cross-attention. Keys and values come from a 3x3 window around the proposal at each of the three scales, so 27 neighbours per query. The paper states the cost as O(9SN) for S scales and N proposals §3.2.2 rpn_transformer.py.
- Deformable cross-attention. A linear layer predicts a 2-D offset for each head, scale and sampling point (K = 15 in the experiments). Features are read at p + Δp by bilinear sampling. Attention weights come from a linear layer on the query. Outputs are summed over scales §3.2.3 eq. 4 §4.2 waymo_centerformer_deformable.py.
- Regression heads. Each enhanced query predicts the box offset (2), height (1), size (3), yaw as two channels (2) and an IoU score (1) §3.1 waymo_centerformer.py center_head_iou_1d.py.
- Training assignment. Ground-truth centres are added to the proposal ranking so that they are always selected. Only proposals at ground-truth centres are trained as positives. The paper says this avoids costly matching of oriented 3-D boxes app. A rpn_transformer.py.
- Corner auxiliary head. The centre and the four edge midpoints of each box are drawn as Gaussians with half the centre radius. The corner MSE is applied only where the target is above 0 §3.4 preprocess.py center_head_iou_1d.py.
- IoU head and rectification. The IoU head is trained against the IoU of each positive proposal's box. At test time each score is multiplied by the predicted IoU raised to a class exponent beta §3.4 §4.2 center_head_iou_1d.py.
- Loss. Total loss is the heatmap focal loss plus 2 times the box L1 loss, plus the IoU loss, plus the corner MSE §3.4 center_head_iou_1d.py center_head_iou_1d.py.
- Multi-frame. Each frame passes through the same backbone. The previous frame's last BEV feature is moved into the current coordinates §3.3. Spatial-aware fusion uses the current BEV feature as the reference for a pixel-wise attention, concatenates it with the weighted previous feature and applies a convolution. A time embedding is added by relative time §3.3 app. A fig. 4. In cross-attention, previous-frame features at the proposal are added to the keys (base model) or sampled by the deformable layer (deformable model) §3.3 fig. 3. The 8-frame configuration combines 8 sweeps into 2 chunks of 4 sweeps, so only two BEV maps are fused §4.2 loading.py waymo_centerformer_multiframe_deformable_8frames.py.
Sketch of the single-frame path. It is reconstructed from the paper and the code, not an algorithm in the paper.
# Sketch of the single-frame path [§3.2] [code: rpn_transformer.py#L415-L489]
# Input: points (N, 4) for one frame, gt_centres only during training
# Output: per proposal: class, box parameters and IoU score
def centerformer_forward(points, gt_centres=None):
# Voxelise the points and encode them into a BEV map [app. A]
bev = voxel_backbone(points) # (B, C, H, W)
# Build fine, base and coarse scales [§3.2.1] [app. A]
fine, base, coarse = multi_scale_fpn(bev) # H, H/2, H/4
# Score every BEV cell by its best class [§3.2.1]
heatmap = sigmoid(center_head(fine)) # (B, K, H, W)
scores = max_over_classes(heatmap) # (B, H*W)
# Force ground-truth centres to the front of the ranking [app. A]
if gt_centres is not None:
scores = boost_scores(scores, gt_centres)
# Keep the top-N peaks: N = 500 in training, 1000 at evaluation [§4.2]
proposal_index = top_k(scores, num_proposals) # (B, N)
queries = gather(fine, proposal_index) # (B, N, C)
centre_xy = grid_xy(proposal_index) # (B, N, 2)
position = linear_embed(centre_xy) # (B, N, C)
# Gather 3x3 neighbours at each scale for cross-attention [§3.2.2]
neighbours = window_features(centre_xy, [fine, base, coarse], 3)
# Run the decoder layers; each sub-layer is pre-norm and residual [§3.2.2]
for layer in decoder_layers:
queries = queries + self_attention(queries + position)
queries = queries + cross_attention(queries + position, neighbours)
queries = queries + feed_forward(queries)
# Regression, IoU and corner outputs from the enhanced queries [§3.4]
return regression_heads(queries)Inference rescoring, with the paper's notation for the score α and β.
# Inference rescoring [§3.4] [§4.2]
# Code: det3d/models/bbox_heads/center_head_iou_1d.py#L361-L363 and #L484-L487
def rescore(score, iou_logit, label, beta):
# IoU output mapped to [0, 1] [code: center_head_iou_1d.py#L362]
iou = clamp((iou_logit + 1) * 0.5, 0.0, 1.0)
# Raise IoU to the class exponent, then multiply the score [§3.4]
return score * iou ** beta[label]Hyperparameters
Values in "Where" are from the paper unless marked code. "not stated" means the paper does not give the value. Config paths are for the Waymo single-frame configs in the official repository.
| Name | Value | Where | Notes |
|---|---|---|---|
| Point range (x, y, z) | ±75.2 m, [-2, 4] m | §4.1 waymo_centerformer.py | |
| Voxel size | 0.1 x 0.1 x 0.15 m | §4.1 waymo_centerformer.py | |
| Max points per voxel | 5 | code: configs/waymo/voxelnet/waymo_centerformer.py#L144 | not stated in paper |
| Heatmap stride | 4 | code: configs/waymo/voxelnet/waymo_centerformer.py#L67 | BEV cell 0.8 m at backbone output app. A |
| Proposals N (train / eval) | 500 / 1000 | §3.2.1 §4.2 waymo_centerformer.py waymo_centerformer.py | eval value applied by tools/dist_test.py |
| Base window (per scale) | 3x3, 3 scales | §3.2.2 §4.2 waymo_centerformer.py | 3x3 at each scale |
| Base layers / heads | 3 / 4 | §4.2 waymo_centerformer.py | |
| Deformable layers / heads | 2 / 6 | §4.2 waymo_centerformer_deformable.py | |
| Deformable sampling points K | 15 | §3.2.3 §4.2 waymo_centerformer_deformable.py | per head and scale |
| Head dimension / MLP dimension | 64 / 256 | code: configs/waymo/voxelnet/waymo_centerformer.py#L43-L44 | not stated in paper |
| Dropout (DP_rate) | 0.3 | code: configs/waymo/voxelnet/waymo_centerformer.py#L45 | not stated in paper |
| Loss weights (heatmap, box, IoU, corner) | 1, 2, 1, 1 | §3.4 center_head_iou_1d.py | box weight from config |
| Heatmap loss | focal | §3.4 center_head_iou_1d.py | |
| Box loss | L1 | §3.4 center_head_iou_1d.py | |
| IoU loss | smooth L1 | §3.4 center_head_iou_1d.py | target rescaled to [-1, 1]; see Paper vs code |
| Corner loss | MSE, where target > 0 | §3.4 center_head_iou_1d.py | |
| IoU exponent beta, per class | [1, 1, 4] (vehicle, pedestrian, cyclist) | §4.2 center_head_iou_1d.py | default in code |
| IoU exponent beta, 8-frame model | [1, 1, 1] | §4.2 waymo_centerformer_multiframe_deformable_8frames.py | |
| NMS IoU thresholds | [0.8, 0.55, 0.55] | §4.2 waymo_centerformer.py | per class |
| Score threshold | 0.1 | code: configs/waymo/voxelnet/waymo_centerformer.py#L91 | not stated in paper |
| Gaussian overlap / min radius | 0.1 / 2 | code: configs/waymo/voxelnet/waymo_centerformer.py#L69-L71 | not stated in paper |
| Optimiser | Adam, betas (0.9, 0.99), decoupled weight decay 0.01 | §4.2 (AdamW named) waymo_centerformer.py train.py | betas not stated in paper |
| Learning-rate schedule | one-cycle, max 0.003, div 10, pct_start 0.4, momentum [0.95, 0.85] | §4.2 (one-cycle named) waymo_centerformer.py | max LR not stated in paper |
| Gradient clipping | max norm 35, L2 | code: configs/waymo/voxelnet/waymo_centerformer.py#L203 | not stated in paper |
| Epochs | 20 | app. C waymo_centerformer.py | |
| Copy-and-paste augmentation off after epoch | 15 | code: configs/waymo/voxelnet/waymo_centerformer.py#L225 disable_dbsampler.py | "fade" in paper; see Pitfalls |
| Batch size | 32 single-frame; 16 multi-frame | §4.2 waymo_centerformer.py waymo_centerformer_multiframe_2frames.py | 4 or 2 per GPU x 8 GPUs |
| Hardware | 8 NVIDIA A100 | §4.2 waymo_centerformer.py | device count only in code |
| Sweeps per multi-frame model | 2 or 8 | §4.2 waymo_centerformer_multiframe_2frames.py waymo_centerformer_multiframe_deformable_8frames.py | 8 sweeps form 2 chunks of 4 |
| Training LiDAR augmentation | global rotation ±π/4, scale [0.95, 1.05], translation 0.5 | code: configs/waymo/voxelnet/waymo_centerformer.py#L130-L132 | not stated in paper |
| Learning rate in the paper | not stated | §4.2 | value only in code |
Results
Author-reported. Setup: Waymo Open Dataset (WOD) for the main results, with the standard L2 difficulty; a single model; baselines as the authors list them. The test set was scored by the online server §4.3. nuScenes results are in app. B.
Validation set, L2 metrics (mAP / mAPH). Source: tab. 1.
| Method | Frames | Vehicle L2 | Pedestrian L2 | Cyclist L2 | Mean L2 mAPH |
|---|---|---|---|---|---|
| StarNet | 1 | 48.7 / 48.3 | 59.3 / 52.8 | - / - | - |
| SECOND | 1 | 63.9 / 63.3 | 60.7 / 51.3 | 58.3 / 57.1 | 57.2 |
| LiDAR R-CNN | 1 | 64.7 / 64.2 | 63.1 / 51.7 | 66.1 / 64.4 | 60.1 |
| Part-A2 | 1 | 68.5 / 68.0 | 66.2 / 58.6 | 66.1 / 64.9 | 63.8 |
| 3D-MAN | 16 | 67.6 / 67.1 | 62.6 / 59.0 | - / - | - |
| PV-RCNN++ | 1 | 70.3 / 69.9 | 71.9 / 66.3 | 70.7 / 69.6 | 68.6 |
| CenterPoint | 1 | - / 67.9 | - / 65.6 | - / 68.6 | 67.4 |
| CenterPoint | 2 | - / 69.7 | - / 70.3 | - / 70.9 | 70.3 |
| CenterFormer | 1 | 69.9 / 69.4 | 73.1 / 67.7 | 71.3 / 70.2 | 69.1 |
| CenterFormer (deformable) | 1 | 70.2 / 69.7 | 73.6 / 68.3 | 69.8 / 68.8 | 69.0 |
| CenterFormer | 2 | 72.2 / 71.7 | 76.2 / 73.0 | 73.6 / 72.7 | 72.5 |
| CenterFormer (deformable) | 2 | 72.1 / 71.6 | 76.7 / 73.4 | 74.2 / 73.3 | 72.8 |
| CenterFormer (deformable) | 4 | 73.4 / 72.9 | 77.2 / 74.2 | 73.4 / 72.6 | 73.2 |
| CenterFormer (deformable) | 8 | 74.3 / 73.8 | 77.8 / 75.0 | 73.2 / 72.3 | 73.7 |
Test set, single model, L2 metrics. Source: tab. 2. Rows are the baselines the paper lists with L2 values.
| Method | Vehicle L2 | Pedestrian L2 | Cyclist L2 | Mean L2 mAPH |
|---|---|---|---|---|
| StarNet | 54.9 / 54.5 | 61.1 / 54.0 | - / - | - |
| PPBA | 56.2 / 55.8 | 63.0 / 55.8 | - / - | - |
| M3DETR | 70.5 / 70.0 | 60.6 / 52.0 | 65.3 / 63.8 | 61.9 |
| 3D-MAN | 70.4 / 70.0 | 64.0 / 60.3 | - / - | - |
| RSN | 71.9 / 71.6 | 70.7 / 67.8 | - / - | - |
| PV-RCNN++ | 73.9 / 73.5 | 74.1 / 69.0 | 69.3 / 68.2 | 70.2 |
| CenterPoint | 73.4 / 73.0 | 74.6 / 71.5 | 72.2 / 71.3 | 71.9 |
| SST_3f | 73.1 / 72.7 | 76.9 / 73.5 | 73.2 / 72.2 | 72.8 |
| AFDetV2 | 74.3 / 73.9 | 75.5 / 72.4 | 74.1 / 73.0 | 73.1 |
| CenterFormer | 78.1 / 77.7 | 79.4 / 76.6 | 73.3 / 72.4 | 75.6 |
Vehicle-only training, L2 on validation tab. 3: CenterFormer 70.7 mAP / 70.2 mAPH. The next best listed method is CT3D with 69.0 mAP, and BtcDet has 70.1 mAP / 69.6 mAPH. The paper trains CenterFormer on vehicles only for this comparison.
Ablation, single frame, validation mean L2 mAPH tab. 4. Columns are the components: CPN (multi-scale proposal network), SA (self-attention), CA (cross-attention), Corner (corner head), DCA (deformable cross-attention), IoU (IoU rectification), Fade (copy-and-paste off late).
| CPN | SA | CA | Corner | DCA | IoU | Fade | Mean |
|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | 65.9 |
| yes | - | - | - | - | - | - | 66.1 |
| yes | yes | - | - | - | - | - | 66.8 |
| yes | - | yes | - | - | - | - | 66.5 |
| yes | yes | yes | - | - | - | - | 67.0 |
| yes | yes | yes | yes | - | - | - | 67.1 |
| yes | yes | yes | yes | - | yes | - | 68.7 |
| yes | yes | yes | yes | - | yes | yes | 69.1 |
| yes | yes | - | yes | yes | - | - | 67.3 |
| yes | yes | - | yes | yes | yes | - | 68.3 |
| yes | yes | - | yes | yes | yes | yes | 69.0 |
Multi-frame, LEVEL_2 mAPH on validation, trained without IoU rectification app. C. Star marks point concatenation, the usual baseline.
| Method | Frames | Vehicle | Pedestrian | Cyclist | Mean |
|---|---|---|---|---|---|
| CenterFormer | 1 | 69.0 | 66.8 | 68.0 | 67.9 |
| point concatenation | 2 | 70.6 | 70.2 | 70.7 | 70.5 |
| point concatenation | 4 | 71.7 | 70.8 | 71.6 | 71.4 |
| point concatenation | 8 | 72.0 | 71.6 | 71.6 | 71.7 |
| CenterFormer | 2 | 70.9 | 70.4 | 71.8 | 71.0 |
| CenterFormer (deformable) | 2 | 70.7 | 71.1 | 72.6 | 71.5 |
| CenterFormer (deformable) | 4 | 71.9 | 72.2 | 71.5 | 71.9 |
| CenterFormer (deformable) | 8 | 73.4 | 73.4 | 71.7 | 72.8 |
nuScenes validation app. B. The base model with no IoU rectification and no multi-frame fusion is marked by the paper as ‡. The CenterPoint row is the authors' re-run with the same configuration.
| Method | mAP | NDS | ATE | ASE | AOE | AVE | AAE |
|---|---|---|---|---|---|---|---|
| CenterPoint (authors' run) | 55.2 | 64.4 | 29.3 | 25.7 | 29.6 | 27.2 | 19.5 |
| CenterFormer (base) | 55.4 | 65.2 | 27.5 | 25.2 | 27.5 | 24.3 | 20.8 |
Smaller studies on 20% of the training data app. C. These are the author-reported mean L2 mAPH values from the appendix tables.
- Layers / heads, base: 3/4 gives 64.0, the best; 2/4 gives 63.7; 2/6 gives 63.7; 3/2 gives 63.2; 3/6 gives 63.7; 4/2 gives 63.0; 4/4 gives 63.5.
- Layers / heads, deformable: 2/6 gives 63.9, the best; 1/3 gives 63.3; 2/3 gives 63.4; 3/3 gives 63.7; 3/6 gives 63.1.
- Window sizes, base: 3,3,3 gives 64.0; 5,3,3 gives 64.0; 5,5,3 gives 63.8; 5,5,5 gives 62.7; 7,3,3 gives 63.6.
- Sampling offsets, deformable: 5 gives 62.8; 9 gives 63.2; 15 gives 63.9; 20 gives 63.2.
- Position encoding: none 59.5; sinusoidal 61.7; learned linear 64.0.
- DETR-style set matching in the same setup gives 46.3 mAPH, more than 20 points below the authors' training recipe app. C §4.5.
- Initial queries from object centres beat learned queries by 1.5 mAPH §4.5.
Paper vs code
Code: official repository TuSimple/centerformer at commit
5a949b88ed7bb15aafb39bf78c95f1452063ebea. Licence MIT (Copyright 2022 Zixiang
Zhou). The repository's NOTICE says parts are derived from det3d and second, both
MIT LICENSE NOTICE. I searched the paper's abstract link
and the repository it names; no other repositories were used.
- Position in values. Eq. 2 gives V without the position term eq. 2. In the code, the position embedding is added to the input before the key and value projection in both self-attention and cross-attention, so V includes it transformer.py transformer.py transformer.py.
- Coordinate normalisation for the position embedding. The base model and the multi-frame model use raw grid indices rpn_transformer.py rpn_transformer.py. The deformable models divide by the map height and width rpn_transformer.py rpn_transformer.py. The paper states no normalisation §3.2.2.
- IoU target. The paper's IoU target is the best overlap of each predicted box with any ground-truth box §3.4. The code computes the IoU against the box assigned to each positive centre center_head_iou_1d.py. It also rescales the target to 2·IoU − 1 before smooth L1 center_head_iou_1d.py. The paper mentions neither point.
- IoU output at test time. The head output is mapped from [-1, 1] to [0, 1] before rescoring center_head_iou_1d.py. The paper gives the formula α' = α · iou^β, not this mapping §3.4.
- Copy-and-paste augmentation ("fade"). The config's
enable=Falsekey is not read anywhere in the code. The augmentation is active from the start and is removed at epoch 15 by a hook waymo_centerformer.py preprocess.py disable_dbsampler.py. The paper does not give the epoch §4.2. - Evaluation proposals. N = 1000 is applied only when running
tools/dist_test.py, which overwrites the neck's obj_num dist_test.py. The config file alone keeps 500. - Multi-frame chunking. The paper says 4 and 8 frames are split into 2-frame and 4-frame mini-batches §4.2. The code combines 4 sweeps per chunk, so 8 sweeps give 2 chunks loading.py waymo_centerformer_multiframe_deformable_8frames.py. The two descriptions agree, but the paper's wording is ambiguous.
- Optimiser. The paper says AdamW. The code uses PyTorch Adam with betas (0.9, 0.99) and weight decay applied outside the step, which is AdamW-like train.py. The optimiser is created with a hard-coded placeholder rate of 3e-3 marked "TODO", and the one-cycle schedule sets the real rate from the config train.py learning_schedules_fastai.py.
- Corner head at test time. Corner outputs are computed only in training rpn_transformer.py. The paper's claim that the corner head is auxiliary supervision is consistent with this.
- CBAM. The paper says each scale ends with CBAM §3.2.1. The code adds channel and spatial attention to each block rpn_transformer.py. This matches.
- Ablation numbers. The text says the 2-, 4- and 8-frame gains over point concatenation are 1.0, 0.5 and 1.1 app. C. Those numbers match the deformable rows of the multi-frame table, not the base rows (the base model gains 0.5 at 2 frames).
Not checked: the nuScenes configuration and the vehicle-only training config.
Pitfalls
- Training depends on the ground-truth centre rule. Ground-truth centres are forced into the proposal set, and only proposals at those centres are trained as positives rpn_transformer.py app. A. The paper presents this rule as the reason training converges quickly app. A. The paper gives no ablation of this rule alone.
- Position embedding normalisation changes across variants. Porting a variant to another model needs its own normalisation rule (see Paper vs code).
- The evaluation proposal count is set in one script. N = 1000 applies only
under
tools/dist_test.py(see Paper vs code). - Cyclist exponent. The default beta for cyclists is 4 and the 8-frame model uses 1 §4.2 center_head_iou_1d.py. Changing beta changes the cyclist ranking, so cyclist numbers depend on it.
- Dropout and head sizes are not in the paper. The code uses dropout 0.3, head dimension 64 and MLP dimension 256 waymo_centerformer.py. An implementer who follows only the paper has to guess these.
- Ablation tables use 20% of the data. The appendix studies (layers, windows, offsets, position encoding) use 20% of the training set app. C. The full-data optimum may differ.
- Fade is part of the ablation gain. The +0.4 and +0.7 gains from Fade in tab. 4 come with a switch-off at an epoch the paper does not state.
- Memory. Multi-frame runs use 2 samples per GPU, against 4 for single-frame, and the paper splits 4- and 8-frame inputs to fit memory §4.2 waymo_centerformer_multiframe_2frames.py.
- Custom CUDA operators. The deformable attention and IoU-NMS kernels are compiled from source in the repository setup.py setup.py. They were not built or tested here.
- Two-stage comparison. The paper argues that the decoder is one-stage, so it avoids the second RoI stage app. C. This is a design claim, not a measured speed comparison in the paper.
Lineage
- Builds on: CenterPoint (yin2021center in the paper's bibliography) for the VoxelNet backbone, the centre heatmap and the training scheme; the paper states this in §3.2 and app. A. DETR (carion2020end) for the decoder and object queries, with the encoder removed and centre-based queries §1. Deformable DETR (zhu2020deformable) for the deformable attention layer §3.2.3. CIA-SSD (zheng2020ciassd) for the IoU rectification §3.4. CBAM (Woo_2018_ECCV) for the attention blocks §3.2.1. arXiv ids for these papers are not in the paper's bibliography.
- Compared against: PV-RCNN++, SST, AFDetV2, CenterPoint, LiDAR R-CNN, Part-A2, 3D-MAN, M3DETR, RSN, PPBA, StarNet, Voxel Transformer, CT3D, BoxeR-3D and Pyramid R-CNN, on the Waymo tables tab. 1 tab. 2 tab. 3. nuScenes is compared with CenterPoint only app. B.
- Superseded by: not known from content already in this wiki.
Source and license
Adapted from “CenterFormer: Center-based Transformer for 3D Object Detection” by Zixiang Zhou, Xiangchen Zhao, Yu Wang, Panqu Wang, Hassan Foroosh (arXiv:2209.05588), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. Code citations refer to https://github.com/TuSimple/centerformer at commit 5a949b88ed7b (MIT). Any quoted code is shown under that license.