Volvo EX90 Driver Understanding System 技术架构深度拆解

问题背景:Euro NCAP 2026 的”隐藏BOSS”

Euro NCAP 2026 评分体系中,DSM(驾驶员监控)占 25 分。但真正拉开差距的是损伤检测认知分心这两个”隐藏BOSS”。

DSM 项目 分值 难度 Volvo EX90 预估
疲劳检测 基础分 中等 ✅ 满分
分心检测 基础分 中等 ✅ 满分
损伤检测 新增 极高 ⚠️ 关键得分点
认知分心 新增 极高 ⚠️ 关键得分点
无响应驾驶员 基础分 中等 ✅ 满分

核心问题: 传统单摄 DMS 无法满足损伤检测和认知分心的技术要求。


Volvo EX90 的解决方案:双摄 + Smart Eye

1. 硬件架构

根据 Smart Eye 官方发布,Volvo EX90 的 Driver Understanding System (DUS) 采用双红外摄像头架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
┌─────────────────────────────────────────────────────────┐
│ Volvo EX90 DUS 架构 │
├─────────────────────────────────────────────────────────┤
│ │
│ 位置1: 仪表台上方(主摄) │
│ ├─ 视角: 正面 │
│ ├─ 焦距: 广角(覆盖驾驶员上半身) │
│ └─ 功能: 眼动追踪、面部表情、疲劳检测 │
│ │
│ 位置2: 中控台(辅助摄) │
│ ├─ 视角: 侧面 │
│ ├─ 焦距: 标准(专注面部细节) │
│ └─ 功能: 转头检测、侧视分心、盲区补充 │
│ │
│ 融合层: Smart Eye 软件融合引擎 │
│ ├─ 图像对齐: 标定后外参矩阵变换 │
│ ├─ 特征融合: 注意力加权融合 │
│ └─ 状态输出: 驾驶员状态向量 │
│ │
└─────────────────────────────────────────────────────────┘

关键参数(来自 Smart Eye 技术规格):

参数 数值
摄像头类型 940nm 红外
帧率 30 FPS
分辨率 640×480(红外)/ 1280×720(可选 RGB)
延迟 < 100ms
功耗 < 2W(双摄合计)
工作温度 -40°C ~ 85°C

2. 软件架构

Smart Eye 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Smart Eye DMS 核心接口(基于官方 SDK 文档推断)
class SmartEyeDMS {
public:
// 初始化双摄
bool initialize(const CameraConfig& primary,
const CameraConfig& secondary);

// 主循环
void processFrame(const Image& primary_frame,
const Image& secondary_frame,
DriverState& output);

// 功能模块
struct DriverState {
// 眼动追踪
GazeVector gaze_direction; // 视线方向向量
float gaze_confidence; // 置信度

// 头部姿态
HeadPose head_pose; // 欧拉角 (pitch, yaw, roll)
float head_stability; // 稳定性指标

// 疲劳指标
float perclos; // PERCLOS 值
int blink_count; // 眨眼计数
float blink_duration_mean; // 平均眨眼时长
int microsleep_events; // 微睡眠事件数

// 分心指标
float eyes_off_road_time; // 视线离路时长
DistractionLevel distraction; // 分心等级

// 损伤检测(新增)
float impairment_probability; // 损伤概率
ImpairmentType impairment_type; // 损伤类型

// 认知状态(新增)
CognitiveState cognitive_state; // 认知状态分类
float cognitive_load; // 认知负荷指数
};

private:
// 模块化架构
std::unique_ptr<FaceDetector> face_detector_;
std::unique_ptr<EyeTracker> eye_tracker_;
std::unique_ptr<HeadPoseEstimator> head_pose_estimator_;
std::unique_ptr<FatigueClassifier> fatigue_classifier_;
std::unique_ptr<DistractionDetector> distraction_detector_;
std::unique_ptr<ImpairmentDetector> impairment_detector_;
std::unique_ptr<CognitiveStateClassifier> cognitive_classifier_;
};

核心算法深度解析

1. 眼动追踪

Smart Eye 使用多瞳孔检测方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 瞳孔检测伪代码(基于 Smart Eye 论文推断)
def detect_pupil(eye_region):
# 1. 红外图像预处理
ir_image = preprocess_ir(eye_region)

# 2. 暗瞳检测(940nm 红外特性)
# 红外照明下,瞳孔呈现暗色
dark_pupil = threshold_and_morphology(ir_image)

# 3. 椭圆拟合
pupil_ellipse = fit_ellipse(dark_pupil)

# 4. 视线估计
# 基于瞳孔中心与角膜反射点(PCCR方法)
glint_center = detect_corneal_reflection(ir_image)
gaze_vector = estimate_gaze(pupil_ellipse.center, glint_center)

return PupilDetection(
center=pupil_ellipse.center,
axes=pupil_ellipse.axes,
angle=pupil_ellipse.angle,
confidence=pupil_ellipse.fit_quality
)

关键指标(来自 Smart Eye 技术白皮书):

指标 Smart Eye 行业平均
视线估计误差 < 2° 3-5°
瞳孔检测率 > 99% 95-98%
墨镜穿透率 > 95%(940nm) 60-80%

2. 疲劳检测

Smart Eye 使用多指标融合方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// PERCLOS 计算(来自 Smart Eye 专利 US20180304721A1)
class PERCLOS {
public:
float calculate(const std::vector<EyeState>& eye_states,
float window_seconds = 60.0f) {
int slow_blink_count = 0; // > 0.5秒的闭眼
int total_frames = eye_states.size();

for (const auto& state : eye_states) {
if (state.eye_closure > 0.8f && state.duration > 0.5f) {
slow_blink_count++;
}
}

return static_cast<float>(slow_blink_count) / total_frames;
}
};

疲劳判定逻辑(基于 Smart Eye 文档):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def classify_fatigue(perclos, blink_rate, microsleep_count, head_stability):
"""
Smart Eye 疲劳四状态分类
"""
# 特征向量
features = [perclos, blink_rate, microsleep_count, head_stability]

# 规则引擎 + 机器学习融合
if perclos > 0.5 and microsleep_count > 3:
return FatigueLevel.SEVERE
elif perclos > 0.3 or microsleep_count > 1:
return FatigueLevel.MODERATE
elif perclos > 0.15 or blink_rate < 10:
return FatigueLevel.MILD
else:
return FatigueLevel.ALERT

3. 损伤检测(Euro NCAP 2026 新要求)

这是 Smart Eye 的核心创新点:

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
// 损伤检测模块(推断架构)
class ImpairmentDetector {
public:
struct ImpairmentResult {
float alcohol_probability; // 酒精损伤概率
float drug_probability; // 药物损伤概率
float medical_probability; // 突发疾病概率
ImpairmentType primary_type; // 主要损伤类型
float confidence; // 置信度
};

ImpairmentResult detect(const DriverState& state) {
// 多模态特征融合
Features features = {
// 眼动特征
.pupil_size_variance = state.pupil_size_variance,
.saccade_velocity = state.saccade_velocity,
.gaze_instability = state.gaze_instability,

// 面部特征
.facial_asymmetry = state.facial_asymmetry,
.eyelid_drooping = state.eyelid_drooping,

// 行为特征
.reaction_time = state.reaction_time,
.steering_patterns = state.steering_patterns
};

// 多任务分类
ImpairmentResult result;
result.alcohol_probability = alcohol_model_.predict(features);
result.drug_probability = drug_model_.predict(features);
result.medical_probability = medical_model_.predict(features);

return result;
}

private:
// 独立训练的模型
std::unique_ptr<Classifier> alcohol_model_;
std::unique_ptr<Classifier> drug_model_;
std::unique_ptr<Classifier> medical_model_;
};

损伤检测关键特征(来自 Smart Eye 研究):

损伤类型 关键特征 检测难度
酒精损伤 瞳孔反应迟缓、扫视速度下降、面部潮红 中等
药物损伤 瞳孔异常大小、眼球震颤、反应迟缓
突发疾病 面部不对称、瞳孔不等大、意识丧失 中等

Euro NCAP 2026 合规策略

得分点分析

Euro NCAP 要求 Volvo EX90 策略 预估得分
疲劳检测(10分钟内) 双摄 + PERCLOS + 微睡眠检测 满分
分心检测(2秒阈值) 眼动追踪 + 头部姿态 满分
损伤检测 多特征融合模型 加分项
认知分心 眼动规律性 + 反应时间 加分项
无响应驾驶员 DMS + ADAS 协同 满分

IMS 开发启示

技术路线建议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
阶段1P0):基础 DMS
├── 单摄眼动追踪
├── PERCLOS 疲劳检测
├── 视线离路分心检测
└── 开发周期:3个月

阶段2P1):双摄增强
├── 双摄同步采集
├── 特征融合引擎
├── 盲区覆盖率提升 50%
└── 开发周期:2个月

阶段3P1):损伤检测
├── 多特征提取
├── 损伤分类模型
├── Euro NCAP 加分项
└── 开发周期:4个月

阶段4P2):认知分心
├── 眼动规律性分析
├── 认知负荷模型
├── Euro NCAP 加分项
└── 开发周期:3个月

开源参考

功能 开源方案 成熟度
眼动追踪 OpenFace, GazeML
疲劳检测 Dlib + PERCLOS
损伤检测 无(需自研) -
认知分心 无(需自研) -

我的判断

Volvo EX90 + Smart Eye 代表了当前 DMS 的最高水平:

  1. 双摄不是噱头:真正解决了单摄盲区问题
  2. 损伤检测是关键:Euro NCAP 2026 的”隐藏BOSS”
  3. 软件护城河深:Smart Eye 20+ 年眼动追踪积累

对 IMS 团队的建议:

  • 不要追求一步到位,分阶段迭代
  • 优先实现疲劳和分心检测(P0)
  • 损伤检测需要数据积累,提前布局
  • 考虑与 Smart Eye 接触,了解技术授权可能性

参考资料

  1. Smart Eye Official Press Release (2024-01-09)
  2. Volvo EX90 Driver Understanding System Technical Specifications
  3. Euro NCAP 2026 Assessment Protocol v1.0
  4. Smart Eye Patent US20180304721A1 “Driver Drowsiness Detection”
  5. Semicast Research: RVM (Rear-View Mirror) DMS/CMS Market Analysis

本文基于 Smart Eye 官方技术文档和公开专利分析,部分实现为基于行业标准的合理推断。


Volvo EX90 Driver Understanding System 技术架构深度拆解
https://dapalm.com/2026/03/15/2026-03-15-Volvo-EX90-DUS技术架构深度拆解/
作者
Mars
发布于
2026年3月15日
许可协议