乘员监控系统(OMS)技术综述:从传感器到算法的完整方案

乘员监控系统(OMS)技术综述:从传感器到算法的完整方案

OMS 定义与范围

Occupant Monitoring System(OMS):监控车内所有乘员的状态,包括:

  • 乘员存在检测
  • 乘员分类(成人/儿童/宠物)
  • 乘员位置检测
  • 座椅占用状态

与 DSM 的区别

维度 DSM(驾驶员监控) OMS(乘员监控)
监控对象 仅驾驶员 所有乘员(前排+后排)
检测内容 疲劳/分心/身份 存在/分类/位置
法规要求 2026 强制(EU ADDW) 2027 评分(Euro NCAP)
技术难度 高(眼动追踪) 中(体型分类)

OMS 核心功能

1. 乘员存在检测

应用场景

场景 检测内容 用途
安全气囊抑制 前排无人时抑制气囊 避免维修成本
儿童存在检测(CPD) 车内遗留儿童 防止中暑死亡
紧急呼叫(eCall) 事故后乘员数量 救援资源分配

Euro NCAP 2026 要求

“For Euro NCAP, these systems will need to give information on how many people are known to be in the car.”

技术方案对比

方案 检测精度 成本 鲁棒性
压力传感器 85% $10 ⚠️ 易漂移
摄像头分类 95% $5 ✅ 高鲁棒性
雷达检测 90% $15 ✅ 穿透性强

2. 乘员分类

分类类别

类别 定义 检测难点
成人 体重 > 50 kg 基准类别
儿童 体重 < 50 kg 儿童座椅干扰
宠物 狗/猫 体型差异大
空座 无乘员 遮挡判断

Aptiv AOC 方案

“AOC is the industry’s first occupant-detection system powered entirely by software and a vehicle’s interior camera.”

特征提取

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
# 伪代码:乘员分类特征提取
import numpy as np

def extract_occupant_features(image, bbox, keypoints):
"""
提取乘员分类特征

Args:
image: 输入图像
bbox: 检测框 (x1, y1, x2, y2)
keypoints: 关键点 (N, 3)

Returns:
features: 特征向量
"""
features = []

# 1. 边界框大小(相对图像)
bbox_area = (bbox[2] - bbox[0]) * (bbox[3] - bbox[1])
image_area = image.shape[0] * image.shape[1]
bbox_ratio = bbox_area / image_area
features.append(bbox_ratio)

# 2. 头身比(儿童头身比更大)
head_height = np.max(keypoints[0:5, 1]) - np.min(keypoints[0:5, 1])
body_height = np.max(keypoints[:, 1]) - np.min(keypoints[:, 1])
head_body_ratio = head_height / body_height if body_height > 0 else 0
features.append(head_body_ratio)

# 3. 肩宽比(成人肩宽更宽)
shoulder_width = np.linalg.norm(keypoints[5] - keypoints[6])
shoulder_ratio = shoulder_width / body_height if body_height > 0 else 0
features.append(shoulder_ratio)

return np.array(features)

3. 乘员位置检测

检测维度

维度 检测方法 用途
座椅位置 摄像头目标检测 安全气囊配置
X 坐标(前后) 边界框位置 碰撞预测
Y 坐标(左右) 座椅分割 侧气囊配置
Z 坐标(高度) 深度估计(双目) 头部位置

代码实现

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
# 伪代码:乘员位置检测
def detect_occupant_position(image, detections, seat_regions):
"""
检测乘员位置

Args:
image: 输入图像
detections: 检测结果列表
seat_regions: 座椅区域定义

Returns:
occupant_positions: [(seat_id, x, y), ...]
"""
occupant_positions = []

for detection in detections:
bbox = detection['bbox']
bbox_center = ((bbox[0] + bbox[2]) / 2, (bbox[1] + bbox[3]) / 2)

# 判断座椅位置
for seat_id, region in seat_regions.items():
if (region['x1'] <= bbox_center[0] <= region['x2'] and
region['y1'] <= bbox_center[1] <= region['y2']):
occupant_positions.append((seat_id, bbox_center[0], bbox_center[1]))
break

return occupant_positions

OMS 系统架构

1. 硬件架构

graph TB
    subgraph 传感器层
        A[前排座舱摄像头<br/>IR + RGB]
        B[后排座舱摄像头<br/>广角]
        C[座椅压力传感器<br/>可选]
    end
    
    subgraph 处理层
        D[TI TDA4VM / Qualcomm SA8295P]
        E[乘员检测算法]
        F[分类算法]
        G[位置估计算法]
    end
    
    subgraph 输出层
        H[安全气囊控制器<br/>ACU]
        I[紧急呼叫系统<br/>eCall]
        J[座舱显示屏]
    end
    
    A --> D
    B --> D
    C --> D
    
    D --> E --> F --> G
    
    G --> H
    G --> I
    G --> J

2. 软件架构

1
2
3
4
5
6
7
8
9
10
11
┌─────────────────────────────────────────┐
│ OMS 应用层 │
├─────────────────────────────────────────┤
│ 乘员检测 │ 分类算法 │ 位置估计 │
├─────────────────────────────────────────┤
│ 算法框架(OpenVX/TensorRT) │
├─────────────────────────────────────────┤
│ 驱动层(Linux/VxWorks) │
├─────────────────────────────────────────┤
│ 硬件层(摄像头/CAN-FD) │
└─────────────────────────────────────────┘

Euro NCAP OMS 评分要求

1. 2027 评分标准

维度 分数 说明
乘员检测精度 0-2 分 检测率 > 95%
分类精度 0-2 分 成人/儿童/空座正确率
位置精度 0-1 分 座椅位置识别准确率
系统集成 0-1 分 与安全气囊/eCall 集成
总分 6 分 OMS 类别最高分

2. 测试场景

场景 测试内容 通过条件
OMS-01 前排成人 正确检测 + 分类
OMS-02 前排儿童(儿童座椅) 正确检测 + 分类
OMS-03 前排空座 正确识别为空座
OMS-04 后排成人 正确检测 + 分类
OMS-05 后排儿童 正确检测 + 分类
OMS-06 后排宠物 正确检测为宠物(不抑制气囊)

开发落地建议

1. 开发流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
阶段 1:需求分析(1 周)
├── 解读 Euro NCAP OMS 2027 协议
├── 确定检测场景清单
└── 规划摄像头布局

阶段 2:算法开发(3-4 周)
├── 乘员检测模型(YOLO/MediaPipe)
├── 分类模型(CNN 分类器)
├── 位置估计(目标跟踪)
└── 数据采集与训练

阶段 3:嵌入式部署(2 周)
├── 模型量化(INT8)
├── NPU 部署(TI/Qualcomm)
├── 实时优化(≥30 fps)
└── 功耗优化(< 2W)

阶段 4:系统集成(1 周)
├── CAN-FD 通信
├── 安全气囊控制器集成
└── Euro NCAP 测试

2. 技术难点

难点 影响 解决方案
儿童座椅干扰 分类精度下降 儿童座椅专用检测模型
后排视野受限 检测遗漏 多摄像头布局
宠物误报 气囊抑制错误 体型 + 形状特征融合
遮挡场景 检测失败 多传感器融合(摄像头 + 压力传感器)

参考资源

  1. Aptiv AOC 方案Key Facts About Aptiv’s Advanced Occupancy Classification
  2. Euro NCAP OMS 协议Euro NCAP Assessment Protocols
  3. The Car Expert 解读Euro NCAP sets new safety standards for 2026

总结

OMS 核心价值

  1. 安全气囊智能抑制:避免无人座气囊误爆
  2. 紧急救援信息:告知救援人员乘员数量
  3. 儿童保护:CPD 儿童存在检测
  4. 法规合规:Euro NCAP 2027 评分要求

IMS 推荐路线

  • 短期:复用 DSM 摄像头,开发基础 OMS 功能
  • 中期:增加后排摄像头,完善分类算法
  • 长期:多传感器融合,提高鲁棒性

关键判断:OMS 是 DSM 的自然延伸,技术复用度高,开发成本相对较低。优先满足 Euro NCAP 2027 评分要求,再逐步增加高级功能。


乘员监控系统(OMS)技术综述:从传感器到算法的完整方案
https://dapalm.com/2026/08/16/2026-08-11-Occupant-Monitoring-System-OMS-Technical-Review/
作者
Mars
发布于
2026年8月16日
许可协议