Murata × Smart Eye:摄像头-雷达融合——统一座舱感知硬件平台

行业动态

项目 内容
合作方 Murata Manufacturing + Smart Eye
发布时间 2026-09-15
展示场合 InCabin/AutoSens 2026
核心技术 60GHz雷达 + AI视觉融合
应用 DMS + OMS + CPD 统一平台

合作核心

Murata(村田)和 Smart Eye 联合演示了摄像头-雷达传感器融合方案,目标是用一套硬件平台覆盖所有座舱感知需求。

关键信息

“Vehicle interiors are evolving from isolated sensing functions towards a holistic understanding of the cabin environment.”
— Nozomu Kijiya, Product Manager, Murata Electronics Europe

“The value of multi modal sensor fusion is not simply having more sensors but instead utilising existing sensors turning them into a coherent understanding.”
— Henrik Lind, Chief Research Officer, Smart Eye

感知分工

传感器 优势 局限 负责场景
摄像头 视觉细节丰富、姿态/行为识别 暗光失效、遮挡 DMS视线/表情/行为
60GHz雷达 穿透衣物/毯子/黑暗、深度信息 无视觉细节、分类弱 CPD/生命体征/占位
融合层 互补增强 算法复杂 OOP/自适应安全气囊

架构分析

现有方案 vs Murata+SmartEye方案

传感器减少对比

传感器类型 现有方案 融合方案 节省
摄像头 1-2个 1-2个(复用) 0
60GHz雷达 1个(CPD专用) 1个(复用) 0
重量传感器 4个(座椅) 0 4
电容传感器 2-4个 0 2-4
专用OOP传感器 1-2个 0 1-2
总传感器数 9-13个 2-3个 6-10个
BOM成本节省 - - 30-50%

技术详解

摄像头-雷达融合算法

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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
import torch
import torch.nn as nn
import torch.nn.functional as F

class CameraRadarFusion(nn.Module):
"""
Murata+SmartEye风格的摄像头-雷达融合模型

核心思路:
1. 摄像头提供视觉上下文(姿态、行为、表情)
2. 雷达提供深度和穿透检测(存在、距离、微动)
3. 融合层学习两个模态的互补关系

支持任务:DMS, OMS, CPD, OOP, 生命体征
"""

def __init__(self, n_tasks=5, d_model=256):
super().__init__()

# 摄像头编码器
self.camera_encoder = CameraEncoder(d_model=d_model)

# 雷达编码器(60GHz range-Doppler图)
self.radar_encoder = RadarEncoder(d_model=d_model)

# 跨模态注意力
self.cross_attention = nn.MultiheadAttention(
d_model, num_heads=8, batch_first=True
)

# 多任务头
self.task_heads = nn.ModuleDict({
'dms_gaze': nn.Linear(d_model, 4), # 视线4D
'dms_fatigue': nn.Linear(d_model, 3), # 疲劳等级
'dms_distraction': nn.Linear(d_model, 3), # 分心等级
'oms_occupant': nn.Linear(d_model, 4), # 占位/分类
'oms_posture': nn.Linear(d_model, 8), # 姿态类别
'cpd_presence': nn.Linear(d_model, 2), # 儿童/无人
'cpd_breathing': nn.Linear(d_model, 1), # 呼吸率
'oop_detection': nn.Linear(d_model, 5), # OOP类别
'airbag_deploy': nn.Linear(d_model, 3), # 安全气囊策略
})

def forward(self, camera_img, radar_rd):
"""
Args:
camera_img: (B, 3, H, W) 座舱图像
radar_rd: (B, 1, R, D) range-Doppler图

Returns:
dict of task outputs
"""
# 编码
cam_feat = self.camera_encoder(camera_img) # (B, d_model)
rad_feat = self.radar_encoder(radar_rd) # (B, d_model)

# 跨模态注意力
cam_stack = cam_feat.unsqueeze(1) # (B, 1, d)
rad_stack = rad_feat.unsqueeze(1)

# 摄像头用雷达增强(雷达提供深度/穿透信息)
cam_enhanced, _ = self.cross_attention(cam_stack, rad_stack, rad_stack)
cam_enhanced = cam_enhanced.squeeze(1)

# 融合特征
fused = cam_feat + rad_feat + cam_enhanced

# 多任务输出
outputs = {}
for task_name, head in self.task_heads.items():
outputs[task_name] = head(fused)

return outputs


class CameraEncoder(nn.Module):
"""摄像头编码器(MobileNet风格轻量化)"""
def __init__(self, d_model=256):
super().__init__()
self.features = nn.Sequential(
nn.Conv2d(3, 32, 3, stride=2, padding=1),
nn.BatchNorm2d(32), nn.ReLU6(),
nn.Conv2d(32, 64, 3, stride=2, padding=1),
nn.BatchNorm2d(64), nn.ReLU6(),
nn.Conv2d(64, 128, 3, stride=2, padding=1),
nn.BatchNorm2d(128), nn.ReLU6(),
nn.Conv2d(128, d_model, 3, stride=2, padding=1),
nn.BatchNorm2d(d_model), nn.ReLU6(),
nn.AdaptiveAvgPool2d(1),
)
self.proj = nn.Linear(d_model, d_model)

def forward(self, x):
return self.proj(self.features(x).flatten(1))


class RadarEncoder(nn.Module):
"""60GHz雷达 range-Doppler 编码器"""
def __init__(self, d_model=256):
super().__init__()
self.features = nn.Sequential(
nn.Conv2d(1, 32, 3, padding=1),
nn.BatchNorm2d(32), nn.ReLU(),
nn.MaxPool2d(2),
nn.Conv2d(32, 64, 3, padding=1),
nn.BatchNorm2d(64), nn.ReLU(),
nn.MaxPool2d(2),
nn.Conv2d(64, 128, 3, padding=1),
nn.BatchNorm2d(128), nn.ReLU(),
nn.MaxPool2d(2),
nn.Conv2d(128, d_model, 3, padding=1),
nn.BatchNorm2d(d_model), nn.ReLU(),
nn.AdaptiveAvgPool2d(1),
)
self.proj = nn.Linear(d_model, d_model)

def forward(self, x):
return self.proj(self.features(x).flatten(1))


# 测试
if __name__ == "__main__":
model = CameraRadarFusion(n_tasks=5, d_model=128)

B = 2
camera = torch.randn(B, 3, 224, 224)
radar = torch.randn(B, 1, 64, 64) # range-Doppler图

outputs = model(camera, radar)

print("=== 摄像头-雷达融合多任务输出 ===")
for task, out in outputs.items():
print(f" {task}: {out.shape}")

total_params = sum(p.numel() for p in model.parameters())
print(f"\n参数量: {total_params/1e6:.2f}M")
print(f"适合边缘部署: {'✅' if total_params < 50e6 else '⚠️ 需量化'}")

各场景融合策略

场景 摄像头提供 雷达提供 融合策略
DMS 视线 瞳孔/虹膜特征 深度(头部距离) 雷达辅助3D视线
DMS 疲劳 PERCLOS/眨眼 呼吸频率(微动) 交叉验证
CPD 儿童 无法穿透毯子 呼吸微动穿透检测 雷达主导,摄像头辅助
OOP 姿态 姿态/位置 距离/深度 融合3D姿态
安全气囊 姿态/OOP判断 距离/体型 联合决策部署策略
生命体征 rPPG(面部颜色) 胸腔微动 双通道心率
手势识别 手部位置/手势 手部距离/运动 多模态手势分类

IMS 开发启示

硬件平台统一化趋势

对 IMS 开发的直接影响

影响领域 具体变化 开发调整
传感器采购 减少6-10个专用传感器 BOM成本降低30-50%
线束设计 减少传感器→减少线束 简化整车架构
软件架构 从独立模块到融合感知 统一感知层API
功能扩展 新功能通过软件OTA 硬件预埋+软件解锁
测试验证 融合算法验证更复杂 需多模态测试场景

推荐硬件配置

组件 型号 参数 费用占比
摄像头 OV2311 2MP, 全局快门, RGB-IR 中
60GHz雷达 Murata模块 4Tx/4Rx, 60GHz, FMCW 中
处理器 QCS8255 26TOPS NPU 高
总BOM - 比现有方案降低30-50% -

竞品对比

方案 传感器数 BOM成本 覆盖功能 成熟度
传统方案(多传感器) 9-13个 高 DMS+OMS+CPD分开 ✅ 成熟
Murata+SmartEye 2-3个 中低 DMS+OMS+CPD统一 🟡 演示阶段
Tesla(纯视觉) 1个摄像头 最低 主要DMS 🟡 受限
Affectiva(纯视觉) 1个摄像头 低 DMS为主 ✅ 成熟

总结

Murata+SmartEye的合作代表了座舱感知的从多传感器独立到统一融合平台趋势。对 IMS 团队:

  1. 硬件做减法 — 用2-3个传感器替代9-13个
  2. 软件做加法 — 融合算法是新壁垒
  3. 60GHz雷达不是CPD专用 — 可以同时做DMS增强
  4. BOM成本大幅降低 — 30-50%节省空间
  5. 软件定义座舱 — 硬件预埋,OTA解锁新功能

关键判断: 这不是”更多传感器=更好”的简单加法,而是”更好利用现有传感器”的融合智慧。


参考链接: