低延迟嵌入式 DMS:多任务神经网络实时部署(Jetson Nano/Xavier NX 实测)
论文信息
- 标题: Low-Latency Embedded Driver Monitoring System with a Multi-Task Neural Network
- 作者: Carmelo Scribano, Giovanni Cappelletti, Elia Giacobazzi, Giorgia Franchini, Paolo Burgio, Marko Bertogna
- 机构: University of Modena and Reggio Emilia, Italy
- 链接: arXiv:2605.02563
- 代码: GitHub - cscribano/MtDMS
核心创新
单次前向传播同时输出 6 类 DMS 指标,在 Jetson Nano 上实现 ≤100ms 端到端延迟。
传统 DMS 管道串联多个模型(人脸检测 → 特征提取 → 分类),延迟高、计算冗余。本文提出多任务 CNN,一次推理完成所有任务,适合边缘部署。
方法详解
1. 系统架构
1 | |
2. 多任务 CNN 设计
2.1 输入输出定义
输入:
- RGB 人脸图像 $I \in \mathbb{R}^{3 \times w \times h}$(裁剪后的人脸区域)
输出(209 维向量):
| 输出项 | 类型 | 维度 | 说明 |
|---|---|---|---|
| 面部关键点 | 回归 | 98×2 = 196 | 归一化坐标 (0-1) |
| 左眼开度 | 回归 | 1 | 连续值 (0=闭合, 1=完全睁开) |
| 右眼开度 | 回归 | 1 | 连续值 (0=闭合, 1=完全睁开) |
| 左眼可见性 | 二分类 | 1 | 0=被遮挡, 1=可见 |
| 右眼可见性 | 二分类 | 1 | 0=被遮挡, 1=可见 |
| 嘴巴开度 | 3 分类 | 3 | 闭合/半开/全开 (softmax) |
| 头部姿态 | 回归 | 3 | yaw, pitch, roll(欧拉角) |
| 分心动作 | 3 分类 | 3 | 正常/使用手机/吸烟 (softmax) |
| 总计 | - | 209 | - |
2.2 网络结构
骨干网络: MobileNet-v2(平衡效率与性能)
关键设计:
- 深度可分离卷积(减少参数量)
- 倒残差块(Inverted Residual)
- 多尺度特征融合($\mathcal{F}_1, \mathcal{F}_2, \mathcal{F}_3$)
1 | |
3. 疲劳检测算法
3.1 PERCLOS 计算
1 | |
3.2 安全分数计算
论文提出加权安全分数模型:
$$
\text{Safeness Score} = \lambda_1 S_{\text{perclos}} - \lambda_2 S_{\text{mouth}} - \lambda_3 (1 - S_{\text{head}}) - \lambda_4 (1 - S_{\text{action}})
$$
其中:
- $S_{\text{perclos}}$:PERCLOS 风险分数(0, 1, 2)
- $S_{\text{mouth}}$:嘴巴状态风险分数(检测哈欠)
- $S_{\text{head}}$:头部姿态风险分数(视线偏离)
- $S_{\text{action}}$:分心动作风险分数(手机/吸烟)
阈值设置:
| 指标 | 低风险阈值 $\tau_{\text{low}}$ | 高风险阈值 $\tau_{\text{high}}$ |
|---|---|---|
| PERCLOS | 15% | 30% |
| 嘴巴开度频率 | 3次/分钟 | 5次/分钟 |
| 头部偏转角度 | 20° | 40° |
| 分心动作时长 | 3秒 | 5秒 |
4. 有限状态机(FSM)
1 | |
实验结果
1. 延迟对比
| 平台 | 模型 | 分辨率 | 延迟(FP32) | 延迟(FP16) | 延迟(INT8) |
|---|---|---|---|---|---|
| Jetson Nano | Multi-Task | 224×224 | 87ms | 52ms | 38ms |
| Jetson Nano | 串行管道 | 224×224 | 156ms | 98ms | 72ms |
| Jetson Xavier NX | Multi-Task | 224×224 | 23ms | 14ms | 11ms |
| Jetson Xavier NX | 串行管道 | 224×224 | 45ms | 28ms | 22ms |
| RTX 3080 | Multi-Task | 224×224 | 8ms | 5ms | - |
关键发现:
- 多任务模型比串行管道快 40-50%
- INT8 量化后 Jetson Nano 可达 38ms 延迟(满足实时要求)
- Xavier NX 完全满足 Euro NCAP 实时性要求(≤30ms)
2. 精度对比
| 任务 | 单任务模型精度 | 多任务模型精度 | 差异 |
|---|---|---|---|
| 面部关键点 | 98.2% | 97.8% | -0.4% |
| 眼睛开度 | 96.5% | 95.9% | -0.6% |
| 头部姿态 | 94.3% | 93.7% | -0.6% |
| 分心动作 | 92.1% | 91.4% | -0.7% |
结论: 多任务学习带来的精度损失可接受(<1%),换取显著的速度提升。
3. 功耗与散热
| 平台 | 模式 | 功耗 | 温升 |
|---|---|---|---|
| Jetson Nano | 5W | 4.2W | +12°C |
| Jetson Nano | 10W | 6.8W | +18°C |
| Jetson Xavier NX | 15W | 12.1W | +15°C |
Jetson 部署实践
1. TensorRT 优化
1 | |
2. 完整推理管道
1 | |
IMS 开发启示
1. 部署优先级
| 平台 | 适用场景 | 推荐配置 |
|---|---|---|
| Jetson Nano | 后装市场、低成本方案 | INT8 量化 + 224×224 分辨率 |
| Jetson Xavier NX | 前装量产、高端车型 | FP16 + 320×320 分辨率 |
| QCS8255 | Qualcomm 方案 | SNPE + INT8 |
2. Euro NCAP 2026 对接
实时性要求:
- Euro NCAP 要求 DMS 响应时间 ≤3 秒
- 本方案单帧延迟 38ms(Jetson Nano INT8),完全满足要求
检测场景覆盖:
| Euro NCAP 场景 | 本方案支持 | 备注 |
|---|---|---|
| 疲劳检测(PERCLOS) | ✅ | 60 秒窗口计算 |
| 眼睛闭合检测 | ✅ | 眼睑开度回归 |
| 视线偏离检测 | ✅ | 头部姿态估计 |
| 手机使用检测 | ✅ | 分心动作分类 |
| 吸烟检测 | ✅ | 分心动作分类 |
3. 与高通平台集成
1 | |
4. 性能优化建议
| 优化项 | 方法 | 预期收益 |
|---|---|---|
| 模型量化 | FP32 → INT8 | 2.3x 加速 |
| 输入分辨率 | 320×320 → 224×224 | 1.5x 加速 |
| 批处理 | 单帧 → 批处理 4 帧 | 1.3x 加速 |
| 算子融合 | TensorRT 自动融合 | 1.2x 加速 |
| 知识蒸馏 | 大模型 → 小模型 | 1.5x 加速(精度损失 <1%) |
参考文献
- Howard, A. G., et al. “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.” arXiv, 2017.
- Walsman, A., et al. “Distracted Driver Detection using Deep Learning.” IEEE IV, 2022.
- Euro NCAP. “Euro NCAP Assessment Protocol - Safe Driving.” 2026.
总结: 本文提出的 Multi-Task DMS 通过单次前向传播输出 6 类 DMS 指标,在 Jetson Nano 上实现 38ms 延迟,满足 Euro NCAP 2026 实时性要求。对于 IMS 开发,建议优先采用多任务架构,结合 TensorRT/INT8 量化进行边缘部署优化。
低延迟嵌入式 DMS:多任务神经网络实时部署(Jetson Nano/Xavier NX 实测)
https://dapalm.com/2026/06/05/2026-06-05-MultiTask-DMS-Low-Latency-Deployment/