Tobii 单摄像头 DMS+OMS:从技术验证到规模部署的下一程

InCabin Europe 2026 专访 Carmen Pătrașcu 深度解读

新闻信息

核心洞察

Tobii 的单摄像头 DMS+OMS 方案已上路。现在的核心挑战不是技术,而是** adoption(规模采用)**:

“Technology can be advanced, validated, and ready for production, but that does not make it easy for every organization to use.”

Tobii 的三阶段座舱感知演进

不同客户的不同需求

Tobii 识别了 OEM/Tier1 的四种不同采用模式:

客户类型 需求 Tobii 提供 控制权
完整方案型 交钥匙方案 生产就绪软件 + 集成路径 低
自主架构型 保留自有架构 工程师团队 + 经验支持 高
问题解决型 卡在特定 corner case 定向干预 + 专家支持 中
数据缺乏型 缺乏验证数据 数据基础设施 + 边界案例 中

Corner Cases 的长尾挑战

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
"""
Tobii 提到的 Interior Sensing Corner Cases 分类

核心挑战:室内感知必须覆盖巨大的多样性
- 不同的人(年龄、性别、种族、体型)
- 不同的行为(驾驶习惯、坐姿、互动方式)
- 不同的物理特征(眼镜、口罩、帽子、胡子)
- 不同的光照条件(白天、夜晚、隧道、逆光)
- 不同的摄像头位置(方向盘后、仪表盘、顶控台)
- 不同的舱内布局(轿车、SUV、MPV、卡车)
- 不同的遮挡场景(手遮脸、安全带遮胸、太阳镜遮眼)
- 罕见场景(突发疾病、异常姿态、儿童遗留)
"""

from dataclasses import dataclass
from typing import List
from enum import Enum


class CornerCaseCategory(Enum):
"""Corner Case 分类"""
PERSON_DIVERSITY = "人员多样性"
BEHAVIOR = "行为差异"
APPEARANCE = "外观遮挡"
LIGHTING = "光照条件"
CAMERA_POSITION = "摄像头位置"
CABIN_LAYOUT = "舱内布局"
OCCLUSION = "遮挡场景"
RARE_EVENT = "罕见事件"


@dataclass
class CornerCase:
"""Corner Case 定义"""
category: CornerCaseCategory
description: str
difficulty: int # 1-5, 5最难
data_coverage: float # 0-1, 当前数据覆盖率
ims_priority: str # P0/P1/P2


# Tobii 提到的核心 corner cases
TOBII_CORNER_CASES = [
# 人员多样性
CornerCase(
category=CornerCaseCategory.PERSON_DIVERSITY,
description="不同种族/肤色的面部关键点检测",
difficulty=3, data_coverage=0.7,
ims_priority="P0"
),
CornerCase(
category=CornerCaseCategory.PERSON_DIVERSITY,
description="儿童(3-12岁)面部特征差异",
difficulty=4, data_coverage=0.4,
ims_priority="P0"
),
CornerCase(
category=CornerCaseCategory.PERSON_DIVERSITY,
description="老年人面部皱纹导致关键点偏移",
difficulty=3, data_coverage=0.5,
ims_priority="P1"
),

# 外观遮挡
CornerCase(
category=CornerCaseCategory.APPEARANCE,
description="墨镜遮挡眼睛(PERCLOS 失效)",
difficulty=5, data_coverage=0.3,
ims_priority="P0"
),
CornerCase(
category=CornerCaseCategory.APPEARANCE,
description="口罩遮挡下半脸",
difficulty=4, data_coverage=0.6,
ims_priority="P0"
),
CornerCase(
category=CornerCaseCategory.APPEARANCE,
description="安全带遮挡胸部/肩部",
difficulty=3, data_coverage=0.5,
ims_priority="P1"
),

# 光照条件
CornerCase(
category=CornerCaseCategory.LIGHTING,
description="逆光导致面部全黑",
difficulty=5, data_coverage=0.4,
ims_priority="P0"
),
CornerCase(
category=CornerCaseCategory.LIGHTING,
description="隧道进出光照突变",
difficulty=4, data_coverage=0.3,
ims_priority="P1"
),
CornerCase(
category=CornerCaseCategory.LIGHTING,
description="屏下摄像头低透过率",
difficulty=5, data_coverage=0.2,
ims_priority="P1"
),

# 罕见事件
CornerCase(
category=CornerCaseCategory.RARE_EVENT,
description="驾驶员突发疾病(癫痫/心梗)",
difficulty=5, data_coverage=0.1,
ims_priority="P1"
),
CornerCase(
category=CornerCaseCategory.RARE_EVENT,
description="儿童独自在后座(CPD)",
difficulty=4, data_coverage=0.5,
ims_priority="P0"
),
CornerCase(
category=CornerCaseCategory.RARE_EVENT,
description="异常姿态(OOP - 脚在仪表盘上)",
difficulty=4, data_coverage=0.3,
ims_priority="P0"
),
]


def assess_data_gaps(cases: List[CornerCase]):
"""评估数据覆盖缺口"""
print("=== Corner Case 数据覆盖评估 ===\n")
for case in cases:
gap = 1 - case.data_coverage
status = "✅ 充分" if gap < 0.3 else \
"⚠️ 不足" if gap < 0.6 else \
"❌ 严重不足"
print(f" [{case.ims_priority}] {case.description}")
print(f" 难度: {'★'*case.difficulty} "
f"覆盖: {case.data_coverage*100:.0f}% "
f"缺口: {gap*100:.0f}% {status}\n")


assess_data_gaps(TOBII_CORNER_CASES)

单摄像头 DMS+OMS 架构优势

成本-性能对比

方案 摄像头数 成本 覆盖 复杂度 适用场景
单摄像头(Tobii) 1 💰 低 驾驶员+前舱 低 L2/L2+ 量产
双摄像头 2 💰💰 中 驾驶员+后舱 中 L3/OMS
多摄像头 3-4 💰💰💰 高 全舱 高 L3+/Luxury
摄像头+雷达 1+1-2 💰💰 中 全舱+穿透 中 Euro NCAP 全覆盖

单摄像头架构的核心价值

从 L2 到 L3 的感知演进

Tobii 明确提出了从 L2 到 L3 的感知需求升级:

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
"""
L2 → L3 座舱感知需求升级

L2: 驾驶员必须随时准备接管
L3: 系统可以完全控制,驾驶员可在特定条件下脱离驾驶

关键差异:
- L2: 检测驾驶员是否在监控道路
- L3: 评估驾驶员是否具备接管能力
- L3: 需要更复杂的就绪度评估
"""

L2_VS_L3 = {
'监控目标': {
'L2': '驾驶员是否在看路',
'L3': '驾驶员是否具备接管能力'
},
'检测项': {
'L2': ['疲劳', '分心', '视线方向'],
'L3': ['疲劳', '分心', '视线方向',
'功能就绪度', '接管准备度',
'认知负荷', '情绪状态']
},
'摄像头需求': {
'L2': '1个(单摄像头 DMS+OMS)',
'L3': '2+个(多摄像头 + 传感器融合)'
},
'决策复杂度': {
'L2': '二元警告(警告/不警告)',
'L3': '分级干预(警告→辅助→接管)'
},
'ADAS协同': {
'L2': '弱耦合(DMS 触发警告)',
'L3': '强耦合(DMS 影响 ADAS 控制策略)'
},
'数据需求': {
'L2': '标准场景覆盖',
'L3': '极端 corner case + 长尾覆盖'
}
}

for dimension, values in L2_VS_L3.items():
print(f"\n=== {dimension} ===")
print(f" L2: {values['L2']}")
print(f" L3: {values['L3']}")

全景感知:舱内 + ADAS 外部感知

Tobii 的终极愿景是全景感知 (Holistic Sensing):

“A driver looking away may be distracted or simply checking a mirror before a lane change. Together, interior sensing and ADAS can interpret not just the behavior, but what it means.”

行为意图解码

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
"""
全景感知:行为意图解码

核心思想:
- 舱内感知:检测"驾驶员在看哪里"
- ADAS 外部感知:检测"外部有什么"
- 融合解码:理解"为什么驾驶员在看那里"

示例:
- 驾驶员看右后视镜 + 右车道有车 → 准备变道(正常)
- 驾驶员看手机 + 前方有障碍 → 分心(危险)
- 驾驶员闭眼 + 直路无车 → 疲劳(警告)
- 驾驶员闭眼 + 前方有行人 → 紧急(立即干预)
"""

from dataclasses import dataclass
from typing import Optional
from enum import IntEnum


class GazeTarget(IntEnum):
ROAD = 0 # 看路
MIRROR = 1 # 看后视镜
PHONE = 2 # 看手机
INFOTAINMENT = 3 # 看中控屏
CLOSED = 4 # 闭眼
PASSENGER = 5 # 看乘客


class RoadContext(IntEnum):
CLEAR = 0 # 前方无障碍
VEHICLE_AHEAD = 1 # 前方有车
PEDESTRIAN = 2 # 前方有行人
CURVE = 3 # 弯道
INTERSECTION = 4 # 路口


@dataclass
class HolisticAssessment:
"""全景感知评估"""
gaze: GazeTarget
road: RoadContext
intent: str
risk_level: int # 0-3
action: str


def assess_intent(gaze: GazeTarget,
road: RoadContext) -> HolisticAssessment:
"""
融合舱内感知和 ADAS 外部感知
解码驾驶员行为意图
"""
# 意图矩阵
INTENT_MATRIX = {
(GazeTarget.ROAD, RoadContext.CLEAR):
("正常驾驶", 0, "无动作"),
(GazeTarget.ROAD, RoadContext.VEHICLE_AHEAD):
("跟随前车", 0, "无动作"),
(GazeTarget.ROAD, RoadContext.PEDESTRIAN):
("注意到行人", 0, "准备制动"),
(GazeTarget.MIRROR, RoadContext.CLEAR):
("检查后方", 0, "可能变道"),
(GazeTarget.MIRROR, RoadContext.VEHICLE_AHEAD):
("检查后方+前车", 1, "维持车距"),
(GazeTarget.PHONE, RoadContext.CLEAR):
("分心(低风险)", 1, "一级警告"),
(GazeTarget.PHONE, RoadContext.VEHICLE_AHEAD):
("分心(中风险)", 2, "二级警告"),
(GazeTarget.PHONE, RoadContext.PEDESTRIAN):
("分心(高风险)", 3, "紧急制动"),
(GazeTarget.CLOSED, RoadContext.CLEAR):
("疲劳(低风险)", 1, "疲劳警告"),
(GazeTarget.CLOSED, RoadContext.VEHICLE_AHEAD):
("疲劳(中风险)", 2, "疲劳警告+减速"),
(GazeTarget.CLOSED, RoadContext.PEDESTRIAN):
("疲劳(高风险)", 3, "紧急制动+接管"),
(GazeTarget.INFOTAINMENT, RoadContext.CLEAR):
("操作中控(低风险)", 0, "无动作"),
(GazeTarget.INFOTAINMENT, RoadContext.PEDESTRIAN):
("操作中控(高风险)", 2, "二级警告"),
}

intent, risk, action = INTENT_MATRIX.get(
(gaze, road),
("未知", 1, "监控")
)

return HolisticAssessment(
gaze=gaze, road=road,
intent=intent, risk_level=risk, action=action
)


# 测试
if __name__ == "__main__":
print("=== 全景感知意图解码 ===\n")

scenarios = [
(GazeTarget.MIRROR, RoadContext.CLEAR,
"驾驶看后视镜+直路"),
(GazeTarget.PHONE, RoadContext.PEDESTRIAN,
"驾驶看手机+前方行人"),
(GazeTarget.CLOSED, RoadContext.PEDESTRIAN,
"驾驶闭眼+前方行人"),
(GazeTarget.ROAD, RoadContext.PEDESTRIAN,
"驾驶看路+前方行人"),
]

for gaze, road, desc in scenarios:
result = assess_intent(gaze, road)
print(f"场景: {desc}")
print(f" 意图: {result.intent}")
print(f" 风险: L{result.risk_level}")
print(f" 动作: {result.action}\n")

对 IMS 开发的启示

1. 单摄像头方案是 L2 量产最优解

Tobii 验证了单摄像头 DMS+OMS 的可行性。对 IMS 的成本敏感场景:

车型 推荐方案 成本 功能
入门级(L2) 单摄像头 DMS+OMS 💰 疲劳+分心+基本OMS
中端(L2+) 单摄像头 + 60GHz radar 💰💰 +CPD+生命体征
高端(L3) 多摄像头 + radar 💰💰💰 全舱+就绪度+ADAS协同

2. 数据基础设施是竞争壁垒

Tobii 强调五年积累的不仅仅是软件,还有:

  • 生产代码
  • 工程经验
  • 验证方法
  • 集成经验
  • 开发工具
  • 数据基础设施
  • corner case 理解

对 IMS 的建议: 尽早建立 corner case 数据库,这是核心竞争壁垒。

3. 行为意图 > 行为检测

Tobii 的全景感知理念揭示了关键趋势:

不仅要检测”驾驶员在做什么”,还要理解”为什么这样做”

IMS 开发优先级调整:

1
2
3
P0: 行为检测(疲劳、分心、视线) → 已有
P1: 意图理解(行为 × 道路情境) → 新增
P2: 全景融合(DMS + ADAS) → 规划

4. L2→L3 升级的感知需求

L2 需求 L3 新增需求 IMS 规划
疲劳检测 功能就绪度评估 参考 Minieye DFR
分心检测 接管准备度 新模块
视线方向 认知负荷 rPPG + 眼动熵
基本OMS 全舱感知 多摄像头
警告触发 ADAS 控制 DMS-ADAS 接口

结论

Tobii 单摄像头 DMS+OMS 的量产验证了”简单架构+复杂软件”的路线可行性。下一阶段竞争的不是传感器数量,而是数据覆盖、corner case 积累、和全景感知融合能力。

对 IMS 开发而言,单摄像头方案作为 L2 量产入门,同时建立 corner case 数据基础设施,并规划从”行为检测”到”意图理解”的升级路径,是跟上行业节奏的关键。


参考链接: