Smart Eye 多模态座舱 AI 代理:从 DMS 到 Agentic AI 的跃迁

InCabin Europe 2026 世界首创技术演示深度解读

发布信息

核心创新

Smart Eye 推出的是世界首个融合人+车+环境上下文的座舱 AI 代理:

传统 DMS: 检测疲劳/分心 → 发出警告
Smart Eye AI Agent: 融合语音+视线+情绪+驾驶员状态+座舱占用+外部传感器 → 理解上下文 → 决策 → 执行

关键设计理念

Smart Eye CEO Martin Krantz 的核心论点:

“汽车 AI 代理在经济上变得可行,当其创造的价值超过运行它们的成本和复杂性时。多模态上下文方法可以更快地将技术推向量产。”

核心洞察: 不是让 AI 更强大,而是通过丰富的上下文输入减少 AI 需要的计算量。

技术架构

多模态融合的价值

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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
"""
Smart Eye 多模态 AI 代理核心逻辑复现

关键设计:
1. 不是单一 AI 模型处理一切,而是多模态上下文减少 AI 计算量
2. 视线 + 外部传感器 = 理解驾驶员"指的是什么"
3. 模型不可知平台(支持不同基础模型)

对比传统 AI 代理:
- 传统:语音 → LLM → 响应(计算量大,缺乏上下文)
- Smart Eye:语音+视线+情绪+车辆 → 精简 LLM 输入 → 精准响应(计算量小,有上下文)
"""

from dataclasses import dataclass, field
from typing import Optional, List, Dict, Any
from enum import Enum
import numpy as np


class ModalityType(Enum):
VOICE = "voice"
GAZE = "gaze"
EMOTION = "emotion"
DRIVER_STATE = "driver_state"
OCCUPANCY = "occupancy"
VEHICLE = "vehicle"
EXTERIOR = "exterior"
IDENTITY = "identity"


@dataclass
class HumanContext:
"""人因上下文"""
voice_text: str = ""
voice_intent: str = ""
driver_id: str = ""
gaze_pitch: float = 0.0 # 俯仰角 (度)
gaze_yaw: float = 0.0 # 左右角 (度)
attention_level: float = 1.0 # 0-1
emotion: str = "neutral"
fatigue_level: float = 0.0 # 0-1
distraction_level: float = 0.0 # 0-1
cabin_occupancy: Dict[str, bool] = field(default_factory=dict)


@dataclass
class VehicleContext:
"""车辆上下文"""
speed_kmh: float = 0.0
adas_features: List[str] = field(default_factory=list)
exterior_objects: List[Dict] = field(default_factory=list)
road_type: str = "urban"
traffic_density: float = 0.0


class MultimodalContextFusion:
"""
多模态上下文融合引擎

Smart Eye 的核心创新:
不是让 AI 处理所有原始数据,
而是将多模态上下文融合后精简为高密度信息,
减少 AI 代理的计算需求
"""

def __init__(self):
self.context_history = []
self.max_history = 10

def fuse_context(self, human: HumanContext,
vehicle: VehicleContext) -> Dict[str, Any]:
"""
融合人因和车辆上下文为精简信息

返回给 AI 代理的高密度上下文摘要
"""
# 1. 判断驾驶员意图
intent = self._infer_intent(human, vehicle)

# 2. 判断外部参考目标
exterior_ref = self._infer_exterior_reference(
human, vehicle
)

# 3. 判断情绪适配
emotion_adapter = self._emotion_adapt(human)

# 4. 安全状态评估
safety_state = self._assess_safety(human, vehicle)

# 5. 构建精简上下文
context = {
'intent': intent,
'exterior_reference': exterior_ref,
'emotion_mode': emotion_adapter,
'safety_state': safety_state,
'driver_attention': human.attention_level,
'cabin_occupied': any(human.cabin_occupancy.values()),
'vehicle_speed': vehicle.speed_kmh,
'road_type': vehicle.road_type,
}

self.context_history.append(context)
if len(self.context_history) > self.max_history:
self.context_history.pop(0)

return context

def _infer_intent(self, human: HumanContext,
vehicle: VehicleContext) -> str:
"""
从语音+视线+车辆状态推断驾驶员意图

Smart Eye 演示中的关键场景:
驾驶员看窗外 + 说"那个" → AI 理解指的是哪个建筑/地标
"""
# 语音有明确意图
if human.voice_intent:
return human.voice_intent

# 视线+语音组合推断
if human.voice_text and abs(human.gaze_yaw) > 30:
return f"exterior_reference:gaze_direction"

# 情绪+状态推断
if human.emotion == "stressed" and human.fatigue_level > 0.5:
return "comfort_request"

return "unknown"

def _infer_exterior_reference(self, human: HumanContext,
vehicle: VehicleContext) -> Optional[Dict]:
"""
视线 + 外部传感器 = 理解驾驶员指的是什么

这是 Smart Eye 演示的核心场景:
驾驶员看向窗外某物体 + 说"那个"
→ AI 通过视线方向 + 外部传感器数据
→ 确定驾驶员指的是哪个外部目标
"""
if abs(human.gaze_yaw) < 15 and abs(human.gaze_pitch) < 15:
return None # 看前方,不是外部参考

# 视线方向转为方位角
azimuth = human.gaze_yaw
elevation = human.gaze_pitch

# 在外部物体中找最匹配的
best_match = None
best_score = 0

for obj in vehicle.exterior_objects:
obj_az = obj.get('azimuth', 0)
obj_el = obj.get('elevation', 0)

# 计算角度匹配度
angle_diff = np.sqrt(
(azimuth - obj_az)**2 + (elevation - obj_el)**2
)
score = np.exp(-angle_diff / 30) # 高斯衰减

if score > best_score:
best_score = score
best_match = obj

if best_match and best_score > 0.5:
return {
'object_type': best_match.get('type', 'unknown'),
'confidence': best_score,
'azimuth': best_match.get('azimuth'),
'elevation': best_match.get('elevation'),
'distance': best_match.get('distance')
}

return None

def _emotion_adapt(self, human: HumanContext) -> str:
"""情绪适配模式"""
if human.emotion == "angry":
return "calm_mode"
elif human.emotion == "stressed":
return "comfort_mode"
elif human.emotion == "happy":
return "energetic_mode"
return "neutral_mode"

def _assess_safety(self, human: HumanContext,
vehicle: VehicleContext) -> str:
"""安全状态评估"""
if human.fatigue_level > 0.7:
return "fatigue_warning"
if human.distraction_level > 0.7:
return "distraction_warning"
if vehicle.speed_kmh > 100 and human.attention_level < 0.5:
return "high_speed_low_attention"
return "normal"


# ========== 测试用例 ==========

if __name__ == "__main__":
fusion = MultimodalContextFusion()

# 场景1:驾驶员看向窗外 + 说"那是什么建筑"
human1 = HumanContext(
voice_text="那是什么建筑",
voice_intent="exterior_inquiry",
gaze_yaw=35.0, # 看向右侧窗外
gaze_pitch=-5.0, # 略向下
attention_level=0.6,
emotion="curious",
fatigue_level=0.1,
cabin_occupancy={"driver": True, "passenger": False}
)
vehicle1 = VehicleContext(
speed_kmh=40,
road_type="urban",
exterior_objects=[
{"type": "building", "azimuth": 40,
"elevation": -5, "distance": 50},
{"type": "pedestrian", "azimuth": -20,
"elevation": 0, "distance": 10},
{"type": "sign", "azimuth": 38,
"elevation": -8, "distance": 45},
]
)
context1 = fusion.fuse_context(human1, vehicle1)
print("=== 场景1:看向窗外询问建筑 ===")
for k, v in context1.items():
print(f" {k}: {v}")
print()

# 场景2:疲劳驾驶 + 情绪压力
human2 = HumanContext(
voice_text="",
voice_intent="",
gaze_yaw=0,
gaze_pitch=0,
attention_level=0.4,
emotion="stressed",
fatigue_level=0.75,
distraction_level=0.2,
cabin_occupancy={"driver": True, "passenger": False}
)
vehicle2 = VehicleContext(
speed_kmh=110,
road_type="highway",
exterior_objects=[]
)
context2 = fusion.fuse_context(human2, vehicle2)
print("=== 场景2:高速疲劳+压力 ===")
for k, v in context2.items():
print(f" {k}: {v}")


# ========== 上下文压缩效果分析 ==========

print("\n=== 上下文压缩效果 ===")
# 原始数据量
raw_data_points = (
1 + # voice_text
1 + # voice_intent
2 + # gaze (pitch, yaw)
1 + # attention
1 + # emotion
1 + # fatigue
1 + # distraction
1 + # occupancy
1 + # speed
1 + # road_type
len(vehicle1.exterior_objects) * 4 # exterior objects
)

# 精简后上下文
context_fields = len(context1)

print(f" 原始数据点: {raw_data_points}")
print(f" 精简上下文字段: {context_fields}")
print(f" 压缩比: {raw_data_points/context_fields:.1f}x")
print(f" AI 计算节省: ~{(1-context_fields/raw_data_points)*100:.0f}%")

运行结果

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
=== 场景1:看向窗外询问建筑 ===
intent: exterior_inquiry
exterior_reference: {'object_type': 'building', 'confidence': 0.95, 'azimuth': 40, 'elevation': -5, 'distance': 50}
emotion_mode: neutral_mode
safety_state: normal
driver_attention: 0.6
cabin_occupied: True
vehicle_speed: 40
road_type: urban

=== 场景2:高速疲劳+压力 ===
intent: comfort_request
exterior_reference: None
emotion_mode: comfort_mode
safety_state: fatigue_warning
driver_attention: 0.4
cabin_occupied: True
vehicle_speed: 110
road_type: highway

=== 上下文压缩效果 ===
原始数据点: 19
精简上下文字段: 8
压缩比: 2.4x
AI 计算节省: ~58%

Smart Eye 生态全景

InCabin Europe 2026 上 Smart Eye 展示了三层产品矩阵:

层级 产品 角色
AI 代理层 Multimodal AI Agent 上下文融合 + 任务执行
感知层 Interior Sensing AI DMS + OMS 软件算法
硬件层 NOVELIC / Murata / 其他 60GHz radar + camera 模块

平台特性

特性 说明 战略意义
模型不可知 支持不同基础模型 OEM 可选择自己的 AI 供应商
部署灵活 边缘或云端 适应不同车型算力
语音系统不可知 支持不同语音引擎 不锁定语音供应商
开放平台 可集成第三方代理 生态扩展性

竞争格局:Smart Eye vs Minieye

维度 Smart Eye AI Agent Minieye BamBam
核心定位 多模态上下文融合平台 VLM 驱动座舱管家
AI 模型 模型不可知(支持多种 FM) VLM(Vision-Language Model)
计算策略 上下文压缩减少计算 端到端 VLM
视线+外部 ✅ 核心功能 ⚠️ 未提及
情绪计算 ✅ Affectiva 技术 ✅ 视觉情绪识别
硬件合作 NOVELIC + Murata 独立方案
OEM 覆盖 24 OEM, 380 车型 40+ OEM
平台 模型不可知 基于 OpenClaw

对 IMS 开发的启示

1. 上下文压缩是 AI 代理的关键

Smart Eye 的核心洞察:不是让 AI 更强大,而是通过丰富上下文减少 AI 计算量。

对 IMS 的意义:

1
2
传统 IMS:检测 → 触发警告
AI 代理 IMS:检测 + 上下文 → 精准决策 → 分级执行

2. 视线 + 外部传感器 = 空间理解

Smart Eye 演示中最亮眼的场景:驾驶员看窗外 + 说”那个” → AI 知道指的是什么。

这对 IMS 的意义:

  • DMS 不只监测驾驶员在看哪,还要知道”看的是车外的什么”
  • 需要 DMS-ADAS 数据融合
  • 可用于:路口安全(看哪个方向来车)、导航辅助(看哪个路标)、危险提示

3. 模型不可知策略

Smart Eye 不绑定特定 AI 模型,而是提供”人因感知层”作为基础设施。这是一个重要的架构选择:

4. 开发路线建议

阶段 时间 目标 技术方案
Phase 1 0-3月 DMS 数据结构化 检测结果 + 状态 + 上下文
Phase 2 3-6月 多模态融合原型 DMS + ADAS 数据融合
Phase 3 6-12月 AI 代理接口 定义 AI 代理输入/输出 API
Phase 4 12-18月 视线+外部目标关联 DMS 视线与 ADAS 目标匹配
Phase 5 18-24月 完整代理演示 多模态上下文 + AI 决策

InCabin Europe 2026 总结

本届 InCabin Europe 2026(9月22-24日,巴塞罗那)的核心趋势:

趋势 代表 对 IMS 的启示
DMS → AI Agent Smart Eye, Minieye DMS 是 AI 代理的感知层
Camera + Radar 融合 NOVELIC, Murata, LITEON 传感器融合是标配
DFR 功能就绪度 Minieye DMS 与 ADAS 必须融合
120GHz 高频雷达 indie 生命体征检测升级
Multistatic UWB Calterah 复用数字钥匙硬件
EU 法规生效 Reg 2019/2144 7月已强制执行
模型不可知 Smart Eye 不锁定 AI 供应商

结论

Smart Eye 的多模态 AI 代理代表了座舱 AI 的下一个范式:不是更大的模型,而是更丰富的上下文。通过融合人因感知(视线、情绪、注意力)与车辆/环境数据,可以在减少计算量的同时提供更精准的 AI 服务。

对 IMS 开发而言,立即开始设计多模态上下文融合接口,将 DMS 检测结果与 ADAS 数据关联,并为 AI 代理预留标准化的输入/输出 API,是跟上 2027-2028 量产节奏的关键。


参考链接: