Driver-WM:驾驶员状态世界模型用于车内动态预测

Driver-WM:驾驶员状态世界模型

论文信息

核心创新

Driver-WM 使用 VLM 作为感知编码器,学习驾驶员状态的潜在动力学,预测未来状态。

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
import torch
import torch.nn as nn

class DriverWM(nn.Module):
"""Driver-WM: 驾驶员状态世界模型"""

def __init__(self,
vlm_encoder, # 预训练 VLM
latent_dim: int = 256,
num_future_steps: int = 10):
super().__init__()

# VLM 冻结编码器
self.encoder = vlm_encoder
for param in self.encoder.parameters():
param.requires_grad = False

# 潜在动力学模型
self.dynamics = nn.Sequential(
nn.Linear(latent_dim + 64, 512), # +64: 交通条件编码
nn.ReLU(),
nn.Linear(512, latent_dim)
)

# 状态预测头
self.predictor = nn.Sequential(
nn.Linear(latent_dim, 128),
nn.ReLU(),
nn.Linear(128, 5) # 疲劳/分心/愤怒/正常/紧急
)

def forward(self, images, traffic_condition):
"""
前向传播

Args:
images: 图像序列 (B, T, C, H, W)
traffic_condition: 交通条件编码 (B, 64)

Returns:
predictions: 未来状态预测 (B, num_future_steps, 5)
"""
B, T = images.shape[:2]

# 编码当前状态
current_latent = self.encoder(images[:, -1]) # 最后一帧

predictions = []
latent = current_latent

# 展开未来预测
for step in range(self.num_future_steps):
# 动力学更新
latent = self.dynamics(
torch.cat([latent, traffic_condition], dim=-1)
)

# 状态预测
state = self.predictor(latent)
predictions.append(state)

return torch.stack(predictions, dim=1)

IMS 应用

Driver-WM 可用于预测驾驶员状态变化,提前预警疲劳或分心。


参考链接:


Driver-WM:驾驶员状态世界模型用于车内动态预测
https://dapalm.com/2026/07/24/2026-07-24-driver-state-world-model/
作者
Mars
发布于
2026年7月24日
许可协议