LiteFat:轻量级时空图学习实时疲劳检测——NPU 部署友好的关键点图模型(论文解读)

论文信息

  • 标题: LiteFat: Lightweight Spatio-Temporal Graph Learning for Real-Time Driver Fatigue Detection
  • 作者: Jing Ren, Suyu Ma, Hong Jia, Xiwei Xu, Ivan Lee, Haytham Fayek, Xiaodong Li, Feng Xia
  • 发表: arXiv(2025年8月13日,v1 2025-07-29)
  • 核心贡献: 轻量级时空图网络,从面部关键点图而非原始视频进行疲劳检测,NPU 部署友好

1. 核心创新

1.1 从视频到关键点图

传统方案 LiteFat 方案
输入:视频帧 (B,3,H,W) 输入:关键点序列 (B,T,68,2)
参数量:~10M 参数量:~0.5M
计算量:高(CNN) 计算量:低(GCN)
隐私:需视频 隐私:仅需关键点坐标
NPU 部署:复杂 NPU 部署:简单

1.2 时空图建模

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
66
67
68
69
70
71
72
import torch
import torch.nn as nn

class LiteFatModel(nn.Module):
"""
LiteFat 轻量级时空图疲劳检测

输入: (B, T, 68, 2) 关键点序列
输出: (B, 2) 疲劳/清醒
"""

def __init__(self, n_keypoints=68, hidden=64):
super().__init__()

# 空间图卷积(关键点间关系)
self.spatial_gcn = nn.Sequential(
nn.Linear(2, hidden), nn.ReLU(),
nn.Linear(hidden, hidden), nn.ReLU(),
)

# 时间编码(帧间动态)
self.temporal_encoder = nn.GRU(
input_size=hidden * n_keypoints,
hidden_size=hidden,
num_layers=1,
batch_first=True,
)

# 分类头
self.classifier = nn.Sequential(
nn.Linear(hidden, 32), nn.ReLU(),
nn.Linear(32, 2)
)

def forward(self, kpts_seq):
"""
Args:
kpts_seq: (B, T, 68, 2) 关键点序列

Returns:
logits: (B, 2) 疲劳/清醒
"""
B, T, K, D = kpts_seq.shape

# 空间编码
x = self.spatial_gcn(kpts_seq) # (B, T, K, hidden)
x = x.reshape(B, T, -1) # (B, T, K*hidden)

# 时间编码
out, hn = self.temporal_encoder(x) # (B, T, hidden)

# 取最后状态
feat = hn[-1] # (B, hidden)

# 分类
logits = self.classifier(feat) # (B, 2)

return logits


# 测试
if __name__ == "__main__":
model = LiteFatModel()

# 30帧关键点序列
x = torch.randn(1, 30, 68, 2)
out = model(x)

print(f"输入: {x.shape}")
print(f"输出: {out.shape}")
print(f"参数量: {sum(p.numel() for p in model.parameters()):,}")
print(f"模型大小(INT8): ~{sum(p.numel() for p in model.parameters()) // 1024} KB")

3. 部署优势

维度 视频CNN LiteFat 图模型
输入 3×64×64=12288 68×2=136
参数 ~10M ~0.5M
模型大小 INT8 ~2.5MB ~130KB
延迟 (NPU) ~15ms ~3ms
隐私 需视频 仅坐标
带宽(联邦) 高 极低

4. IMS 集成

优势 IMS 应用
超轻量 可与 DMS 人脸检测共享 NPU
关键点输入 已有人脸关键点检测器
隐私友好 不需视频存储/上传
联邦友好 关键点梯度通信量极小

开发优先级

优先级 任务 时间
P0 复用现有68关键点检测器输出 2026 Q4
P0 LiteFat 模型训练+INT8量化 2026 Q4
P1 NPU 部署验证 2027 Q1

5. 总结

LiteFat 证明了从关键点图而非原始视频进行疲劳检测的可行性。参数量 0.5M,INT8 仅 130KB,NPU 延迟 ~3ms,是边缘部署的理想方案。关键点输入天然隐私友好,且与联邦学习完美兼容。


参考来源:

  • LiteFat, Ren et al., arXiv(2025-08-13)