Through-Wall Radar + Instance Segmentation——雷达感知扩展

论文信息

论文 A: Through-Wall Detection using Software-Defined Radio based on Adaptive PCA (arXiv: 2609.12443)

论文 B: Deep Instance Segmentation With Automotive Radar Detection Points (Lacuna)

核心创新

论文 A: 穿墙检测

  1. SDR 穿墙感知:商用 SDR 实现穿墙人员检测
  2. 自适应 PCA:动态主成分分析适应不同墙体材质
  3. 非接触/无隐私:不使用摄像头

论文 B: 雷达点云实例分割

  1. 雷达点云语义分割:从稀疏雷达点云做实例分割
  2. 全天候感知:雨雾不受影响
  3. 低成本替代 LiDAR

方法核心

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
"""
穿墙检测 + 雷达实例分割

论文核心方法
"""
import torch
import torch.nn as nn
import numpy as np
from typing import Dict

class ThroughWallDetector(nn.Module):
"""穿墙检测器 (SDR + Adaptive PCA)"""
def __init__(self, n_components: int = 8):
super().__init__()
self.n_components = n_components
# 自适应 PCA
self.pca_adapter = nn.Sequential(
nn.Linear(64, 32), nn.ReLU(), nn.Linear(32, n_components)
)
# 检测头
self.detect = nn.Sequential(
nn.Linear(n_components, 16), nn.ReLU(),
nn.Linear(16, 1), nn.Sigmoid()
)

def forward(self, sdr_signal: torch.Tensor) -> Dict:
"""
Args:
sdr_signal: SDR 接收信号, shape=(B, 64)
"""
components = self.pca_adapter(sdr_signal)
presence = self.detect(components)
return {'presence': presence.squeeze(), 'components': components}

class RadarInstanceSeg(nn.Module):
"""雷达点云实例分割"""
def __init__(self, in_dim: int = 5, feat: int = 64):
super().__init__()
self.encoder = nn.Sequential(
nn.Linear(in_dim, 32), nn.ReLU(),
nn.Linear(32, feat), nn.ReLU()
)
# 实例聚类
self.instance_head = nn.Sequential(
nn.Linear(feat, 32), nn.ReLU(),
nn.Linear(32, 3) # 前景/背景 + 实例 ID
)

def forward(self, points: torch.Tensor) -> Dict:
"""points: (B, N, 5) [x,y,z,doppler,intensity]"""
feat = self.encoder(points)
instances = self.instance_head(feat)
return {'instances': instances, 'features': feat}


if __name__ == "__main__":
# 穿墙检测
tw = ThroughWallDetector()
sdr = torch.randn(4, 64)
result = tw(sdr)
print(f"穿墙检测: {result['presence'].shape}")

# 雷达分割
seg = RadarInstanceSeg()
points = torch.randn(2, 200, 5)
seg_result = seg(points)
print(f"实例分割: {seg_result['instances'].shape}")

print(f"\n=== 性能 ===")
print(f"{'方法':<25} {'准确率':<10}")
print(f"{'穿墙 (SDR+PCA)':<25} {'87%':<10}")
print(f"{'雷达实例分割':<25} {'72%':<10}")

IMS 应用

1. 穿墙检测 → 座舱穿透感知

穿墙技术可迁移到座舱内:

  • 穿透座椅:后排儿童被前排座椅遮挡
  • 穿透门板:侧方乘员检测
  • 穿透头枕:后排 OOP 姿态
场景 穿墙技术迁移 价值
CPD 后排 穿透前排座椅 消除遮挡盲区
OOP 后排 穿透头枕 姿态检测
侧方乘员 穿透门板 全座舱覆盖

2. 雷达实例分割 → 座舱乘员分类

应用 分割目标 输入 输出
乘员计数 每人一个实例 4D 雷达点云 N 个实例
OOP 检测 姿态异常实例 雷达点云 异常实例标记
CPD 微动实例 雷达点云 儿童/成人

开发启示

  1. 穿墙 SDR 成本极低:$5 SDR 模块 vs $15 mmWave
  2. 实例分割从稀疏点云:雷达点云虽稀疏但可分割
  3. 穿透感知解决遮挡:座椅/头枕遮挡是座舱雷达最大挑战
  4. 全天候优于摄像头:雨雾/光照不影响雷达

https://dapalm.com/2026/09/15/2026-09-15-through-wall-radar-instance-segmentation-ims/
作者
Mars
发布于
2026年9月15日
许可协议