Deep In Sight × Murata:60GHz雷达+视觉+rPPG三模态座舱感知方案(InCabin 2026 深度解析)

Deep In Sight × Murata:60GHz雷达+视觉+rPPG三模态座舱感知方案

1. 合作概述

1.1 基本信息

项目 内容
合作双方 Deep In Sight(韩国 AI 公司)× Murata(日本电子巨头)
展示场所 InCabin Europe 2026,巴塞罗那
技术路线 60GHz mmWave 雷达 + Vision AI + rPPG 三模态融合
功能覆盖 CPD、乘员状态、生命体征、入侵检测

1.2 合作定位

Deep In Sight CTO Inchan Ji 在发布会上表示:

“Cameras have clear limitations, but radar can overcome some of those challenges and enable new applications. The remaining consideration is cost, but radar systems are becoming much more affordable than camera-based systems.”

核心定位:用雷达弥补摄像头的盲区,通过三模态融合实现全场景覆盖。


2. 三模态融合架构

2.1 系统架构

graph TD
    subgraph "感知层"
        A1[Murata 60GHz 雷达]
        A2[RGB/IR 摄像头]
        A3[rPPG 算法模块]
    end
    
    subgraph "处理层"
        B1[雷达信号处理<br/>距离/速度/微动]
        B2[Vision AI<br/>人脸/姿态/行为]
        B3[rPPG<br/>心率/血氧]
    end
    
    subgraph "融合决策层"
        C1[多模态融合引擎]
        C2[场景理解与决策]
    end
    
    subgraph "功能输出"
        D1[CPD 儿童检测]
        D2[乘员分类]
        D3[生命体征监测]
        D4[入侵检测]
        D5[驾驶员状态]
    end
    
    A1 --> B1
    A2 --> B2
    A2 --> B3
    B1 --> C1
    B2 --> C1
    B3 --> C1
    C1 --> C2
    C2 --> D1
    C2 --> D2
    C2 --> D3
    C2 --> D4
    C2 --> D5

2.2 三模态各自职责

模态 核心能力 局限 在融合中的角色
60GHz 雷达 穿透遮挡、微动检测、暗光工作 无身份信息、无姿态 CPD 主传感器、生命体征补充
Vision AI 人脸、姿态、行为、身份 遮挡失败、暗光差 乘员分类、行为检测、DMS
rPPG 非接触心率/血氧 运动敏感、需光照 健康监测、疲劳辅助确认

2.3 雷达+视觉的互补场景

场景 雷达 视觉 rPPG 融合结果
正常坐姿成人 ✅ ✅ ✅ 三重确认
毛毯覆盖儿童 ✅ 穿透 ❌ 失败 ❌ 失败 雷达独立检测
暗光环境 ✅ ⚠️ IR辅助 ❌ 雷达为主
驾驶员疲劳 ⚠️ 呼吸 ✅ 眼动 ✅ 心率 三重确认
入侵检测(低功耗) ✅ 低功耗模式 ❌ 关闭 ❌ 雷达唤醒摄像头
儿童座椅遮挡 ✅ ❌ ❌ 雷达为主

3. Murata 60GHz 雷达模块

3.1 与竞品对比

参数 Murata NOVELIC ACAM TI IWR6843 Infineon BGT60
频率 60GHz 60GHz 60-64GHz 60GHz
尺寸 紧凑 最小 中 中
功耗 低 最低 中 中
CPD ✅ ✅ ✅ ✅
量产 开发中 ✅ 量产 ✅ 量产 ✅ 量产
生态 Deep In Sight Smart Eye 广泛 广泛

3.2 低功耗入侵检测模式

Deep In Sight 方案的一个亮点是雷达低功耗唤醒模式:

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
"""
低功耗入侵检测模式
雷达持续运行(低功耗),检测到入侵后唤醒摄像头
"""

import time
from dataclasses import dataclass
from typing import Optional

@dataclass
class RadarDetection:
has_motion: bool
distance_m: float
confidence: float

class LowPowerIntrusionDetector:
"""
低功耗入侵检测器

工作模式:
1. 车辆锁定时:雷达低功耗模式运行(<100mW),摄像头关闭
2. 雷达检测到运动/入侵 → 唤醒摄像头
3. 摄像头确认入侵 → 触发警报
4. 警报解除 → 回到低功耗模式
"""

def __init__(self):
self.radar_power_low_mw = 80 # 低功耗模式
self.radar_power_full_mw = 500 # 全功耗模式
self.camera_power_mw = 2000 # 摄像头功耗
self.detection_threshold = 0.6 # 唤醒阈值

def run_cycle(self, radar_data: RadarDetection) -> dict:
"""
执行一个检测周期

Returns:
{
'camera_active': bool,
'alert_level': str,
'power_consumption_mw': float
}
"""
if radar_data.has_motion and radar_data.confidence > self.detection_threshold:
# 唤醒摄像头
return {
'camera_active': True,
'alert_level': 'warning',
'power_consumption_mw': self.radar_power_full_mw + self.camera_power_mw,
'action': 'wake_camera'
}
else:
# 保持低功耗
return {
'camera_active': False,
'alert_level': 'none',
'power_consumption_mw': self.radar_power_low_mw,
'action': 'stay_low_power'
}


# 24小时功耗分析
if __name__ == "__main__":
detector = LowPowerIntrusionDetector()

# 模拟 24 小时(每分钟一个采样点)
np.random.seed(42)
detections = []
for i in range(24 * 60):
# 大部分时间无运动
has_motion = np.random.random() < 0.02 # 2% 时间有运动
detections.append(RadarDetection(
has_motion=has_motion,
distance_m=np.random.uniform(0.5, 3.0) if has_motion else 0,
confidence=np.random.uniform(0.7, 0.95) if has_motion else 0
))

# 计算总功耗
total_power_wh = 0
camera_active_time_min = 0
for det in detections:
result = detector.run_cycle(det)
total_power_wh += result['power_consumption_mw'] * 1 / 60 / 1000 # Wh
if result['camera_active']:
camera_active_time_min += 1

print("=== 24小时入侵检测功耗分析 ===")
print(f"雷达持续低功耗: {24*60 - camera_active_time_min} 分钟")
print(f"摄像头唤醒: {camera_active_time_min} 分钟")
print(f"总功耗: {total_power_wh:.2f} Wh")

# 对比:摄像头持续运行
camera_always_wh = (2000 + 80) * 24 / 1000
print(f"\n对比(摄像头持续运行): {camera_always_wh:.2f} Wh")
print(f"节能: {(1 - total_power_wh/camera_always_wh)*100:.1f}%")

4. rPPG 生命体征监测

4.1 Deep In Sight rPPG 方案

Deep In Sight 在 InCabin 2026 展示了基于标准座舱摄像头的 rPPG 技术:

功能 描述
心率估计 从面部视频提取脉搏波
非接触 无需物理接触,使用现有 DMS 摄像头
实时性 30fps 实时处理
应用 驾驶员健康监测 + 疲劳辅助确认

4.2 rPPG + 雷达心率融合

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
"""
rPPG + 雷达 心率融合框架
视觉和雷达的心率估计融合
"""

import numpy as np
from dataclasses import dataclass
from typing import Optional

@dataclass
class HeartRateEstimate:
"""心率估计结果"""
hr_bpm: float # 心率(次/分钟)
confidence: float # 置信度 (0-1)
snr_db: float # 信噪比

def fuse_heart_rate(rppg: HeartRateEstimate,
radar: HeartRateEstimate) -> HeartRateEstimate:
"""
融合 rPPG 和雷达心率估计

策略:
1. 两者都高置信度 → 加权平均
2. rPPG 高置信度、雷达低 → 以 rPPG 为主
3. 雷达高置信度、rPPG 低 → 以雷达为主(遮挡场景)
4. 两者都低 → 不确定
"""
if rppg.confidence < 0.3 and radar.confidence < 0.3:
return HeartRateEstimate(0, 0, -10)

# 加权融合
w_rppg = rppg.confidence / (rppg.confidence + radar.confidence + 1e-6)
w_radar = 1 - w_rppg

fused_hr = w_rppg * rppg.hr_bpm + w_radar * radar.hr_bpm
fused_conf = max(rppg.confidence, radar.confidence)
fused_snr = max(rppg.snr_db, radar.snr_db)

# 一致性检查
if abs(rppg.hr_bpm - radar.hr_bpm) < 10 and \
rppg.confidence > 0.5 and radar.confidence > 0.5:
fused_conf = min(fused_conf + 0.1, 1.0) # 一致性奖励
elif abs(rppg.hr_bpm - radar.hr_bpm) > 20:
fused_conf *= 0.8 # 不一致惩罚

return HeartRateEstimate(
round(fused_hr, 1),
round(fused_conf, 2),
round(fused_snr, 1)
)


# 测试
if __name__ == "__main__":
# 场景1:正常光照,两者一致
rppg = HeartRateEstimate(72, 0.85, 8.5)
radar = HeartRateEstimate(73, 0.75, 5.2)
fused = fuse_heart_rate(rppg, radar)
print(f"正常场景: rPPG={rppg.hr_bpm}, 雷达={radar.hr_bpm} → 融合={fused.hr_bpm} (conf={fused.confidence})")

# 场景2:遮挡场景,rPPG 失败
rppg = HeartRateEstimate(0, 0.1, -5)
radar = HeartRateEstimate(68, 0.70, 4.8)
fused = fuse_heart_rate(rppg, radar)
print(f"遮挡场景: rPPG={rppg.hr_bpm}, 雷达={radar.hr_bpm} → 融合={fused.hr_bpm} (conf={fused.confidence})")

# 场景3:两者都不确定
rppg = HeartRateEstimate(75, 0.3, 2)
radar = HeartRateEstimate(80, 0.35, 1.5)
fused = fuse_heart_rate(rppg, radar)
print(f"不确定场景: rPPG={rppg.hr_bpm}, 雷达={radar.hr_bpm} → 融合={fused.hr_bpm} (conf={fused.confidence})")

5. 对 IMS 开发的启示

5.1 三模态融合的必要性

功能 纯视觉 视觉+雷达 视觉+雷达+rPPG
CPD ❌ 遮挡失败 ✅ ✅
乘员分类 ✅ ✅ ✅
生命体征 ❌ 无 ⚠️ 仅呼吸/心跳 ✅ 精确心率+血氧
驾驶员疲劳 ⚠️ PERCLOS ✅ +呼吸 ✅ +心率变异
入侵检测 ❌ 高功耗 ✅ 低功耗 ✅
暗光 ⚠️ IR辅助 ✅ ✅

5.2 开发建议

优先级 建议
🔴 P0 CPD 用 60GHz 雷达为主传感器
🔴 P0 rPPG 作为 DMS 摄像头的附加功能
🟡 P1 低功耗入侵检测模式(雷达唤醒摄像头)
🟡 P1 心率融合策略(加权+一致性检查)
🟢 P2 血氧估计(rPPG 进阶功能)

6. 参考


Deep In Sight × Murata:60GHz雷达+视觉+rPPG三模态座舱感知方案(InCabin 2026 深度解析)
https://dapalm.com/2026/10/06/2026-10-06-017-deepinsight-murata-radar-vision-fusion-cpd/
作者
Mars
发布于
2026年10月6日
许可协议