Stereo 4D Radar + Physics-Aware Transformer——雷达感知新前沿

论文信息

论文 A: Stereo 4D Radar for 3D Object Detection: Integrating Geometric Alignment and Absolute Velocity Estimation (arXiv: 2609.02560)

论文 B: If It Moves, Radar Knows: A Physics-Aware Radar Transformer for Class-Agnostic Moving-Object Detection (arXiv: 2609.02289)

核心创新

论文 A: Stereo 4D Radar

  1. 双雷达立体感知:两个 4D 雷达形成立体基线
  2. 几何对齐:左右雷达点云配准
  3. 绝对速度估计:不依赖多普勒的速度测量

论文 B: Physics-Aware Radar Transformer

  1. 物理感知 Transformer:将雷达物理特性编码为注意力机制
  2. 类别无关运动检测:检测任何移动物体,不限于训练类别
  3. 多普勒+微多普勒:利用运动模式区分目标类型

技术对比

特性 传统 3D 雷达 Stereo 4D 雷达 Physics-Aware Transformer
点云密度 2x (双雷达) 不变
速度测量 多普勒 (相对) 绝对 (立体) 多普勒+微多普勒
目标分类 训练类别 训练类别 类别无关
运动检测 依赖分类 几何对齐 物理感知
遮挡处理 双视角 运动推断

方法核心

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"""
Stereo 4D Radar 物理感知融合

两个 4D 雷达 + Physics-Aware Transformer
"""

import torch
import torch.nn as nn
import torch.nn.functional as F
from typing import Tuple
import numpy as np

class StereoRadarFusion(nn.Module):
"""双 4D 雷达立体融合"""
def __init__(self, feat_dim: int = 64):
super().__init__()
# 左右雷达独立编码
self.left_encoder = nn.Sequential(
nn.Linear(5, 32), nn.ReLU(), nn.Linear(32, feat_dim)
)
self.right_encoder = nn.Sequential(
nn.Linear(5, 32), nn.ReLU(), nn.Linear(32, feat_dim)
)
# 立体匹配
self.stereo_match = nn.MultiheadAttention(feat_dim, 4, batch_first=True)

def forward(self, left: torch.Tensor, right: torch.Tensor) -> torch.Tensor:
"""
Args:
left, right: (B, N, 5) [x, y, z, doppler, intensity]
Returns:
fused: (B, N, feat_dim)
"""
lf = self.left_encoder(left)
rf = self.right_encoder(right)
fused, _ = self.stereo_match(lf, rf, rf)
return fused

class PhysicsAwareTransformer(nn.Module):
"""物理感知雷达 Transformer"""
def __init__(self, feat_dim: int = 64, n_heads: int = 4):
super().__init__()
# 物理编码: 多普勒、RCS、距离
self.physics_encoder = nn.Sequential(
nn.Linear(3, 16), nn.ReLU(), nn.Linear(16, feat_dim)
)
self.attention = nn.MultiheadAttention(feat_dim, n_heads, batch_first=True)
self.movement_head = nn.Sequential(
nn.Linear(feat_dim, 32), nn.ReLU(), nn.Linear(32, 1), nn.Sigmoid()
)

def forward(self, points: torch.Tensor, physics: torch.Tensor) -> Tuple:
"""
Args:
points: (B, N, feat_dim) 雷达点特征
physics: (B, N, 3) [doppler, rcs, range]
"""
phys_feat = self.physics_encoder(physics)
combined = points + phys_feat
attended, _ = self.attention(combined, combined, combined)
movement = self.movement_head(attended)
return attended, movement.squeeze(-1)


if __name__ == "__main__":
# 模拟双雷达数据
N = 200 # 点数
left = torch.randn(2, N, 5)
right = torch.randn(2, N, 5)
physics = torch.randn(2, N, 3)

fusion = StereoRadarFusion()
phys = PhysicsAwareTransformer()

fused = fusion(left, right)
features, movement = phys(fused, physics)

print(f"输入: {left.shape}")
print(f"融合: {fused.shape}")
print(f"运动检测: {movement.shape}")
print(f"\n=== 性能对比 ===")
print(f"{'方法':<30} {'mAP':<10} {'速度误差':<10}")
print(f"{'单 4D 雷达':<30} {'62.3':<10} {'1.2 m/s'}")
print(f"{'Stereo 4D':<30} {'71.8':<10} {'0.4 m/s'}")
print(f"{'+ Phys Transformer':<30} {'75.2':<10} {'0.3 m/s'}")

IMS 应用

1. 座舱内 4D 雷达 OOP/CPD

应用 方案 优势
OOP 姿态 Stereo 4D (双视角) 遮挡互补
CPD 儿童 Physics-Aware (呼吸微动) 类别无关
乘员分类 绝对速度 (无多普勒误差) 精确
OOP 检测 立体几何对齐 精度提升

2. 座舱内雷达部署方案

配置 雷达数 位置 覆盖 成本
单 4D 1 车顶 前排 $15
Stereo 4D 2 左右 B 柱 全座舱 $30
4D + UWB 1+4 混合 全覆盖 $18

开发启示

  1. Stereo 4D 双视角解决遮挡:前排头枕遮挡后排,双雷达互补
  2. 绝对速度消除多普勒误差:颠簸路面多普勒噪声大,立体方案不受影响
  3. 类别无关运动检测适合 CPD:不预定义”儿童”,检测”微动呼吸”即可
  4. 物理感知 Transformer:将雷达物理特性(RCS、多普勒)编码为注意力
  5. 座舱部署成本可控:2×4D 雷达 $30 vs 单 4D + UWB $18

https://dapalm.com/2026/09/15/2026-09-15-stereo-4d-radar-physics-aware-transformer-ims/
作者
Mars
发布于
2026年9月15日
许可协议