Toyota眼动+手势拍照专利:DMS摄像头视线落点→车外摄像头联动的「目光捕捉」系统

专利来源:USPTO 专利号 US 2026/0261754 A1 · 2026年9月公开
专利权人:Toyota Motor Corporation
核心方向:眼动追踪 · 驾驶员视线落点 · 车外摄像头联动 · 语音/手势触发 · 场景信息获取

专利信息

项目 内容
专利号 US 2026/0261754 A1
标题 Systems and Methods for Capturing Driver-Relevant Road Scene Information
专利权人 Toyota Motor Corporation
公开日期 2026年9月
核心方向 利用DMS眼动追踪联动车外摄像头拍摄驾驶员所见内容

核心创新

Toyota的专利不是新的眼动追踪算法,而是一个创新的DMS应用场景——将驾驶员视线落点与车外摄像头联动,实现”目光捕捉”(Gaze Capture):

  1. DMS摄像头→视线方向:车内DMS摄像头追踪驾驶员眼睛朝向
  2. 车外摄像头→拍摄目标:根据视线方向联动对应方向的车外摄像头拍照
  3. 语音/手势触发:驾驶员说”拍照”或手势触发,无需手离开方向盘
  4. 3D合成:多个摄像头可合成目标3D视图
  5. 智能场景:支持”看到经典车就拍”等常驻指令

对DMS的核心启示

这个专利将DMS从安全监测工具升级为交互接口——DMS不只是检测疲劳,更是驾驶员意图的输入通道。

方案详解

整体架构

graph TB
    A[DMS摄像头] --> B[眼动追踪模块<br/>Gaze Direction]
    B --> C[视线落点映射<br/>Gaze→ Exterior Camera]
    C --> D[车外摄像头组<br/>前/后/左/右]
    D --> E[目标区域拍摄]
    E --> F[图像处理<br/>裁剪+增强]
    F --> G[位置标注+标签]
    G --> H[手机同步<br/>驾驶员查看]
    
    I[语音触发] --> J{触发拍照?}
    K[手势触发] --> J
    L[常驻指令] --> J
    J -->|是| D
    
    M[健康信息] --> N[行人热力图<br/>散步建议]

1. 视线方向→车外摄像头映射

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
class GazeToCameraMapper:
"""
Toyota专利核心:将驾驶员视线方向映射到车外摄像头

工作流程:
1. DMS摄像头检测驾驶员眼球方向(方位角+俯仰角)
2. 将眼球方向转换为车外世界坐标
3. 选择最匹配方向的车外摄像头
4. 该摄像头拍摄照片
5. 根据视线精确角度裁剪照片
"""

# 车外摄像头配置(典型环视方案)
EXTERIOR_CAMERAS = {
'front_left': {'azimuth': -30, 'elevation': 0},
'front_center': {'azimuth': 0, 'elevation': 0},
'front_right': {'azimuth': 30, 'elevation': 0},
'left': {'azimuth': -90, 'elevation': 0},
'right': {'azimuth': 90, 'elevation': 0},
'rear_left': {'azimuth': -150, 'elevation': 0},
'rear_center': {'azimuth': 180, 'elevation': 0},
'rear_right': {'azimuth': 150, 'elevation': 0},
}

def __init__(self):
self.gaze_tracker = None # DMS眼动追踪模块

def map_gaze_to_camera(self, gaze_azimuth: float,
gaze_elevation: float) -> tuple:
"""
将视线方向映射到最佳车外摄像头

Args:
gaze_azimuth: 视线方位角(度),0=正前,正值向右
gaze_elevation: 视线俯仰角(度),0=水平,正=向上

Returns:
(camera_name, offset_deg): 最佳摄像头和偏移角度
"""
best_camera = None
best_diff = float('inf')

for cam_name, cam_angle in self.EXTERIOR_CAMERAS.items():
diff = abs(gaze_azimuth - cam_angle['azimuth'])
if diff < best_diff:
best_diff = diff
best_camera = cam_name

return best_camera, best_diff

def capture_gaze_target(self, gaze_data: dict) -> dict:
"""
捕获驾驶员视线所及的目标

Args:
gaze_data: {
'azimuth': 方位角,
'elevation': 俯仰角,
'confidence': 置信度,
'both_eyes': 是否双眼一致
}

Returns:
{
'camera': 摄像头名称,
'image': 拍摄的图像,
'gaze_point': 视线在图像中的落点,
'location': GPS位置,
'timestamp': 时间戳
}
"""
if gaze_data['confidence'] < 0.5:
return {'error': 'low_confidence', 'gaze': gaze_data}

cam_name, offset = self.map_gaze_to_camera(
gaze_data['azimuth'],
gaze_data['elevation']
)

# 触发摄像头拍照
image = self._trigger_capture(cam_name)

# 计算视线在图像中的落点
gaze_point = self._compute_gaze_point(
gaze_data['azimuth'],
gaze_data['elevation'],
cam_name
)

# 裁剪:以落点为中心的区域
cropped = self._crop_around_gaze(image, gaze_point)

return {
'camera': cam_name,
'image': cropped,
'gaze_point': gaze_point,
'location': self._get_gps(),
'timestamp': self._get_timestamp(),
'gaze_offset_deg': offset
}

2. 触发机制

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
class GazeCaptureTrigger:
"""
目光捕捉的触发机制

Toyota专利支持三种触发方式:
1. 语音命令("拍照"/"capture")
2. 手势触发(指向目标+手势)
3. 常驻指令("看到经典车就拍")
"""

def __init__(self):
self.standing_orders = [] # 常驻指令列表
self.voice_enabled = True
self.gesture_enabled = True

def add_standing_order(self, order: str):
"""
添加常驻指令

示例:
- "如果看到经典车就拍照"
- "拍到有趣的车牌就保存"
- "看到广告牌就记录文字"
"""
self.standing_orders.append({
'order': order,
'active': True
})

def check_triggers(self, voice_input: str = None,
gesture_input: dict = None,
scene_context: dict = None) -> dict:
"""
检查是否满足触发条件

Args:
voice_input: 语音识别结果
gesture_input: 手势识别结果
scene_context: 场景理解(有无经典车/广告牌等)

Returns:
{'triggered': bool, 'source': str, 'reason': str}
"""
# 1. 语音触发
if voice_input and self.voice_enabled:
voice_lower = voice_input.lower()
if any(kw in voice_lower for kw in ['拍照', 'capture', 'now', '拍']):
return {'triggered': True, 'source': 'voice',
'reason': voice_input}

# 2. 手势触发
if gesture_input and self.gesture_enabled:
if gesture_input.get('gesture') == 'point':
return {'triggered': True, 'source': 'gesture',
'reason': 'pointing_gesture',
'direction': gesture_input.get('direction')}

# 3. 常驻指令
if scene_context:
for order in self.standing_orders:
if order['active'] and order['order'] in scene_context.get('matches', []):
return {'triggered': True, 'source': 'standing_order',
'reason': order['order']}

return {'triggered': False}

3. 多摄像头3D合成

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
class MultiCamera3DSynthesis:
"""
Toyota专利:多摄像头3D视图合成

当驾驶员持续注视一个目标时,
多个角度的摄像头可以合成3D视图
"""

def __init__(self, cameras: dict):
self.cameras = cameras # 车外摄像头组

def synthesize_3d(self, target_gaze: dict,
duration_sec: float = 3.0) -> dict:
"""
多角度拍摄合成3D视图

车辆行驶过程中,不同时刻的拍摄角度不同
可以利用运动视差合成3D

Args:
target_gaze: 持续注视的目标方向
duration_sec: 持续时间

Returns:
{'point_cloud': 3D点云, 'depth_map': 深度图}
"""
import time

captures = []
start = time.time()

# 持续拍摄目标
while time.time() - start < duration_sec:
for cam_name in self.cameras:
img = self._capture(cam_name)
captures.append({
'camera': cam_name,
'image': img,
'timestamp': time.time(),
'vehicle_speed': self._get_speed(),
'vehicle_position': self._get_position()
})
time.sleep(0.1) # 10fps

# 利用SfM(Structure from Motion)合成3D
point_cloud = self._sfm_reconstruction(captures)
depth_map = self._compute_depth(captures)

return {
'point_cloud': point_cloud,
'depth_map': depth_map,
'num_captures': len(captures)
}

4. 健康场景扩展

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
class HealthContextExtension:
"""
Toyota专利的健康场景扩展

利用DMS视线数据+健康信息做主动建议

示例:
- 医生建议散步 → 系统记录行人热力图 → 推荐散步地点
- 驾驶员频繁看广告牌 → 推断兴趣 → 推荐相关服务
"""

def __init__(self):
self.health_profile = {}
self.pedestrian_heatmap = {}

def update_pedestrian_data(self, exterior_cam_data: dict,
location: tuple):
"""从车外摄像头数据更新行人热力图"""
pedestrians = self._detect_pedestrians(exterior_cam_data)
if pedestrians:
self.pedestrian_heatmap[location] = len(pedestrians)

def suggest_walking_stop(self, current_location: tuple) -> dict:
"""建议散步地点"""
if 'walking_recommendation' not in self.health_profile:
return {'suggest': False}

# 找附近行人密集的区域(适合散步的安全区域)
nearby_hotspots = []
for loc, count in self.pedestrian_heatmap.items():
dist = self._compute_distance(current_location, loc)
if dist < 5.0 and count > 5: # 5km内,5+行人
nearby_hotspots.append({
'location': loc,
'pedestrian_count': count,
'distance_km': dist
})

if nearby_hotspots:
best = max(nearby_hotspots, key=lambda x: x['pedestrian_count'])
return {
'suggest': True,
'location': best['location'],
'reason': f'附近有{best["pedestrian_count"]}位行人,适合散步',
'distance_km': best['distance_km']
}

return {'suggest': False}

与现有DMS技术的对比

特性 传统DMS Toyota专利
核心用途 疲劳/分心检测 视线→车外拍摄+交互
眼动追踪 PERCLOS/视线方向 视线方向+落点映射
数据消费者 ADAS安全系统 驾驶员个人+信息服务
DMS摄像头 安全监测 安全+交互双用途
车外摄像头 ADAS驾驶辅助 ADAS+拍摄双用途
驾驶员价值 被动安全 主动服务+娱乐

IMS应用启示

1. DMS从安全工具升级为交互接口

Toyota专利的最大启示:DMS不只做安全监测,还可以做人车交互

DMS功能 传统用途 Toyota扩展用途
眼动追踪 PERCLOS疲劳 视线→车外拍摄
视线方向 分心检测 目标识别+信息查询
面部识别 驾驶员身份 个性化服务
手势识别 (通常无) 触发拍照/控制

2. Euro NCAP DMS功能的复用策略

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
class DMSReuseStrategy:
"""
Euro NCAP 2026 DMS要求的复用策略

ENCAP要求DMS做:
- PERCLOS疲劳检测
- 视线偏离分心检测
- 手机使用检测
- 驾驶员身份识别

Toyota专利启示:同样的DMS硬件可以同时做:
- 安全监测(ENCAP合规)
- 交互服务(用户体验提升)
- 信息获取(商业价值)
"""

def __init__(self):
self.safety_module = None # ENCAP合规模块
self.interaction_module = None # Toyota交互模块

def process_gaze(self, gaze_data: dict) -> dict:
"""同时处理安全和交互"""
return {
'safety': self._check_safety(gaze_data), # PERCLOS/分心
'interaction': self._check_interaction(gaze_data), # 拍照/查询
'gaze_direction': gaze_data
}

3. 对IMS开发的具体建议

优先级 功能 实现方式 商业价值
🟡 P1 视线拍照 DMS视线→车外摄像头联动 用户体验
🟢 P2 视线查询 DMS视线→LLM识别目标→信息推送 商业变现
🟢 P2 常驻指令 “看到XX就拍” 个性化
🟢 P2 3D合成 多摄像头SfM 增值服务
🟡 P1 健康建议 行人热力图+散步推荐 健康生态

4. 技术挑战

挑战 解决方案 难度
视线方向精度 需要<3°精度才能准确定位目标
车外摄像头标定 需要DMS和车外摄像头空间标定
实时延迟 从触发到拍摄<200ms
隐私合规 拍摄内容需要隐私处理
行驶安全 拍照不分散驾驶员注意力

测试代码

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
import numpy as np

def test_gaze_mapping():
"""测试视线到摄像头映射"""
mapper = GazeToCameraMapper()

# 正前方
cam, offset = mapper.map_gaze_to_camera(0, 0)
assert cam == 'front_center', f"Expected front_center, got {cam}"

# 右前方30°
cam, offset = mapper.map_gaze_to_camera(30, 0)
assert cam == 'front_right', f"Expected front_right, got {cam}"

# 左侧90°
cam, offset = mapper.map_gaze_to_camera(-90, 0)
assert cam == 'left', f"Expected left, got {cam}"

print(f"✓ 视线映射测试通过")


def test_trigger_mechanism():
"""测试触发机制"""
trigger = GazeCaptureTrigger()

# 语音触发
result = trigger.check_triggers(voice_input="拍照")
assert result['triggered'] == True
assert result['source'] == 'voice'

# 手势触发
result = trigger.check_triggers(
gesture_input={'gesture': 'point', 'direction': 'right'}
)
assert result['triggered'] == True
assert result['source'] == 'gesture'

# 无触发
result = trigger.check_triggers()
assert result['triggered'] == False

print(f"✓ 触发机制测试通过")


def test_standing_order():
"""测试常驻指令"""
trigger = GazeCaptureTrigger()
trigger.add_standing_order("看到经典车就拍照")

result = trigger.check_triggers(
scene_context={'matches': ['看到经典车就拍照']}
)
assert result['triggered'] == True
assert result['source'] == 'standing_order'

print(f"✓ 常驻指令测试通过")


if __name__ == "__main__":
print("=" * 60)
print("Toyota目光捕捉专利 测试套件")
print("=" * 60)
test_gaze_mapping()
test_trigger_mechanism()
test_standing_order()
print("=" * 60)
print("所有测试通过 ✓")
print("=" * 60)

总结

Toyota目光捕捉专利的核心价值:

  1. DMS功能扩展:从安全监测→交互接口,增加DMS的商业价值
  2. 硬件零增成本:复用已有DMS摄像头+车外摄像头,无需额外硬件
  3. 用户体验创新:驾驶员”看到即拍到”,无需拿手机
  4. 常驻指令模式:从”一次性拍照”到”持续场景监控”

对IMS的启示

  • DMS不只做ENCAP合规,还可以做用户交互服务
  • 视线落点映射是一个新的技术方向——从”检测是否看路”到”检测在看什么”
  • ENCAP要求的眼动追踪精度(PERCLOS级别)可能不够用于拍照定位,需要更高精度
  • 可以与RadarMind手势识别结合:手势指方向+视线确认→精准拍照

行业趋势判断

  • DMS从”安全合规”向”交互服务”演进是必然趋势
  • Toyota、Hyundai(手势+语音)、Zoox(远程手势)都在布局座舱交互专利
  • 未来DMS将成为座舱核心传感器:安全+交互+健康三合一

https://dapalm.com/2026/09/19/2026-09-19-17-toyota-gaze-capture-patent-dms-exterior-camera-ims/
作者
Mars
发布于
2026年9月19日
许可协议