前言
安全带提醒 (SBR) 是 Euro NCAP 的基础要求,2026 年将扩展到后排所有座椅。系统需要检测每个座位是否有乘员、安全带是否扣好,并及时发出警告。
一、Euro NCAP SBR 要求
1.1 检测范围
| 座位 |
2023 要求 |
2026 要求 |
| 驾驶员 |
✅ 必须 |
✅ 必须 |
| 前排乘客 |
✅ 必须 |
✅ 必须 |
| 后排左 |
⚠️ 部分要求 |
✅ 必须 |
| 后排中 |
⚠️ 部分要求 |
✅ 必须 |
| 后排右 |
⚠️ 部分要求 |
✅ 必须 |
1.2 检测时序
| 状态 |
检测时限 |
警告方式 |
| 车辆启动时未系 |
立即 |
视觉 |
| 行驶中解开 |
10s |
视觉 + 听觉 |
| 行驶中持续未系 |
30s |
升级警告 |
二、传感器配置
2.1 压力传感器方案
| 组件 |
安装位置 |
检测能力 |
| 压力垫 |
座椅底部 |
乘员存在 |
| Buckle 开关 |
安全带扣 |
扣/未扣 |
2.2 摄像头方案
| 组件 |
安装位置 |
检测能力 |
| 广角摄像头 |
车顶后部 |
乘员存在 + 安全带可见 |
2.3 雷达方案
| 组件 |
安装位置 |
检测能力 |
| 60GHz 雷达 |
车顶后部 |
乘员存在(活体检测) |
三、检测算法
3.1 压力传感器处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class PressureSensorSBR: def __init__(self): self.threshold_kg = 15 def detect_occupancy(self, pressure_reading): """检测座椅占用""" return pressure_reading > self.threshold_kg def check_seatbelt(self, occupancy, buckle_status): """检查安全带状态""" if not occupancy: return {'status': 'empty', 'warning': False} if buckle_status == 'unbuckled': return {'status': 'unbelted', 'warning': True} else: return {'status': 'belted', 'warning': False}
|
3.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
| class CameraSBR: def __init__(self): self.model = load_model('seatbelt_detector.onnx') def detect_seatbelt(self, image, seat_position): """ 检测安全带 参数: image: 后排图像 seat_position: 座位位置 ('rear_left', 'rear_center', 'rear_right') 返回: {'occupancy': bool, 'belted': bool} """ roi = self.crop_seat_roi(image, seat_position) occupancy = self.detect_occupant(roi) if occupancy: belt_detected = self.detect_belt(roi) else: belt_detected = False return {'occupancy': occupancy, 'belted': belt_detected}
|
四、技术挑战
4.1 后排检测难点
| 挑战 |
说明 |
解决方案 |
| 距离远 |
摄像头距后排远 |
广角镜头 |
| 遮挡 |
前排座椅遮挡 |
多角度摄像头 |
| 光照 |
后排光照差 |
IR 照明 |
| 儿童座椅 |
占用但无人 |
儿童座椅识别 |
4.2 儿童座椅误报问题
问题: 儿童座椅放在后排,压力传感器检测到重量,但没有乘客。
解决方案:
- 摄像头识别儿童座椅
- 雷达检测是否有活体
- 重量阈值调整
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def classify_seat_occupant(weight, has_crs, radar_vital): """ 分类座椅占用情况 返回: 'empty', 'crs_only', 'crs_with_child', 'adult' """ if weight < 15: return 'empty' if has_crs: if radar_vital: return 'crs_with_child' else: return 'crs_only' return 'adult'
|
五、警告策略
5.1 警告等级
| 等级 |
触发条件 |
警告方式 |
| L0 |
座椅无人 |
无 |
| L1 |
有人但未系安全带 |
视觉 |
| L2 |
行驶中未系 |
视觉 + 听觉 |
| L3 |
持续未系 >30s |
升级警告 |
5.2 警告位置指示
| 要求 |
实现 |
| 指示具体座位 |
仪表盘图标 |
| 区分前排/后排 |
不同颜色/位置 |
六、IMS 开发指导
6.1 开发优先级
| 任务 |
优先级 |
工作量 |
| 前排 SBR |
✅ 已完成 |
- |
| 后排压力传感器 |
P0 |
1 周 |
| 后排摄像头集成 |
P1 |
2 周 |
| 儿童座椅识别 |
P1 |
1 周 |
| Euro NCAP 测试 |
P0 |
2 周 |
6.2 测试场景
| 场景 |
座位 |
状态 |
预期结果 |
| SBR-01 |
后排左 |
成人未系 |
警告 |
| SBR-02 |
后排右 |
儿童座椅(无儿童) |
无警告 |
| SBR-03 |
后排中 |
无人 |
无警告 |
| SBR-04 |
后排左 |
成人已系 |
无警告 |
参考资料
- Euro NCAP Assessment Protocol Safe Driving v1.0
- Euro NCAP Seat Belt Reminder Requirements
发布日期: 2026-04-17
标签: Euro NCAP, SBR, 安全带检测, 后排监控