Euro NCAP 2026 儿童存在检测(CPD)完整指南

Euro NCAP 2026 儿童存在检测(CPD)完整指南:从检测到干预

官方文档:

  • Euro NCAP CPD Test and Assessment Protocol v1.2
  • Euro NCAP 2026 Protocols
  • 来源:Smart Eye 官方解读 + Euro NCAP官方文档

核心要点

问题背景: 美国平均每年有37名儿童因被留在车内导致中暑死亡,而这些死亡完全可以预防。

Euro NCAP 2026新标准: CPD不再只是加分项,而是明确要求直接检测儿童存在,并在规定时间内触发警告和干预。

评分权重: CPD最多可获得 5分,属于乘员监控(Occupant Monitoring)类别。


1. CPD检测场景要求

1.1 必须检测的场景

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
class CPDScenario:
"""
Euro NCAP 2026 CPD检测场景
"""

# 场景1:儿童被留在锁车内
SCENARIO_LOCKED = {
"name": "儿童被留在锁车内",
"trigger": "车辆锁车后检测到儿童",
"warning_time": "15秒内",
"escalation": "90秒后升级"
}

# 场景2:儿童进入未锁车辆被困
SCENARIO_UNLOCKED = {
"name": "儿童进入未锁车辆被困",
"trigger": "车门关闭但未锁,检测到儿童",
"warning_time": "10分钟内",
"escalation": "后续升级机制"
}

# 检测对象年龄
TARGET_AGE = "6岁及以下儿童"

# 检测区域
COVERAGE_AREAS = [
"所有座椅位置(包括可选/可拆卸座椅)",
"脚部空间",
"驾驶座",
"行李区域(排除)"
]

1.2 直接检测方法要求

核心原则: 必须直接检测儿童存在,不能依赖间接推断。

检测方法 是否合规 说明
运动检测 ✅ 合规 直接检测儿童身体移动
呼吸检测 ✅ 合规 直接检测胸廓起伏
心跳检测 ✅ 合规 雷达检测心跳信号
后门开启提醒 ❌ 不合规 间接推断,不符合2026标准
座椅传感器 ⚠️ 部分 需结合其他方法确认是儿童

1.3 技术实现方案

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
class CPDDetector:
"""
儿童存在检测技术方案

支持多种传感器融合
"""

def __init__(self, sensor_config: dict):
self.sensors = {
"radar_60ghz": sensor_config.get("radar", True), # 60GHz毫米波雷达
"camera_ir": sensor_config.get("camera_ir", True), # 红外摄像头
"ultrasonic": sensor_config.get("ultrasonic", False) # 超声波传感器
}

self.detection_methods = [
self._detect_movement,
self._detect_breathing,
self._detect_heartbeat
]

def _detect_movement(self, radar_data):
"""
运动检测

使用60GHz毫米波雷达检测微小运动
"""
# 多普勒频移分析
movement_detected = self._analyze_doppler(radar_data)
return movement_detected

def _detect_breathing(self, radar_data):
"""
呼吸检测

检测胸廓起伏(频率0.2-0.5Hz)
"""
# 呼吸频率特征提取
breathing_pattern = self._extract_breathing_pattern(radar_data)

# 儿童呼吸频率:20-30次/分钟
is_child_breathing = 0.33 < breathing_pattern["freq_hz"] < 0.5

return is_child_breathing

def _detect_heartbeat(self, radar_data):
"""
心跳检测

检测心脏搏动(频率1.0-2.0Hz)
"""
# 心跳特征提取
heartbeat_pattern = self._extract_heartbeat(radar_data)

# 儿童心率:80-120次/分钟
is_child_heartbeat = 1.33 < heartbeat_pattern["freq_hz"] < 2.0

return is_child_heartbeat

def detect_child(self, sensor_data: dict) -> dict:
"""
综合检测儿童存在

Args:
sensor_data: 传感器数据

Returns:
result: 检测结果
"""
detection_result = {
"child_present": False,
"confidence": 0.0,
"detection_method": None,
"location": None
}

# 融合多种检测方法
for method in self.detection_methods:
result = method(sensor_data)
if result["detected"]:
detection_result["child_present"] = True
detection_result["confidence"] = result["confidence"]
detection_result["detection_method"] = method.__name__
detection_result["location"] = result["location"]
break

return detection_result

2. 警告与干预机制

2.1 警告时间要求

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
class CPDWarningSystem:
"""
CPD警告系统

按Euro NCAP 2026协议设计
"""

def __init__(self):
self.warning_state = "IDLE"
self.warning_start_time = None
self.escalation_count = 0

def process_detection(self, child_present: bool, vehicle_locked: bool):
"""
处理检测结果

Args:
child_present: 是否检测到儿童
vehicle_locked: 车辆是否锁止
"""
if not child_present:
self._reset()
return

if vehicle_locked:
# 锁车场景:15秒内发出警告
self._trigger_initial_warning(max_delay_sec=15)
else:
# 未锁场景:10分钟内发出警告
self._trigger_initial_warning(max_delay_sec=600)

def _trigger_initial_warning(self, max_delay_sec: int):
"""
触发初始警告

警告要求:
- 视觉或声音信号
- 从车外可见
- 持续至少3秒
"""
self.warning_state = "INITIAL_WARNING"
self.warning_start_time = time.time()

# 执行警告
self._execute_warning(
warning_type="VISUAL_AUDIO",
duration_sec=3,
description="车辆鸣笛/灯光闪烁"
)

def _check_escalation(self):
"""
检查是否需要升级警告

升级要求:
- 初始警告结束或取消后90秒内
- 每1分钟重复一次
- 持续至少20分钟
- 每次持续至少15秒
"""
if self.warning_state != "INITIAL_WARNING":
return

elapsed = time.time() - self.warning_start_time

if elapsed > 90: # 90秒后升级
self._trigger_escalation()

def _trigger_escalation(self):
"""
触发升级警告

要求:
- 警报每分钟重复
- 持续至少20分钟
- 每次至少15秒
- 车内显示"Check the seats"等信息
"""
self.warning_state = "ESCALATION"

for i in range(20): # 20分钟
self._execute_warning(
warning_type="ESCALATION",
duration_sec=15,
description=f"升级警告 #{i+1}"
)
time.sleep(60) # 每分钟一次

def _execute_warning(self, warning_type: str, duration_sec: int, description: str):
"""
执行警告动作
"""
print(f"[{time.strftime('%H:%M:%S')}] {warning_type}: {description}")

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
class CPDIntervention:
"""
CPD干预措施

执行干预可获得额外分数
"""

def __init__(self):
self.intervention_actions = [
self._activate_climate_control,
self._unlock_doors,
self._send_remote_alert
]

def _activate_climate_control(self):
"""
激活空调系统

时机:锁车后10分钟内 或 第一次升级警告后5分钟内
目的:控制车内温度,防止中暑
"""
# 开启空调至适宜温度
target_temp = 22 # 摄氏度
print(f"[干预] 激活空调,目标温度: {target_temp}°C")

def _unlock_doors(self):
"""
解锁车门

目的:允许救援人员进入
"""
print("[干预] 解锁所有车门")

def _send_remote_alert(self):
"""
发送远程警报

渠道:
- 手机APP通知
- 车钥匙震动/声音提醒
- 联系紧急联系人
"""
alert_message = {
"title": "儿童检测警报",
"body": "检测到车内有儿童遗留,请立即检查",
"priority": "CRITICAL"
}

print(f"[干预] 发送远程警报: {alert_message}")

3. 完整CPD系统实现

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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import time
import numpy as np

class CompleteCPDSystem:
"""
完整CPD系统

集成检测、警告、干预
"""

def __init__(self, config: dict = None):
self.config = config or {}

# 初始化模块
self.detector = CPDDetector(self.config.get("sensors", {}))
self.warning = CPDWarningSystem()
self.intervention = CPDIntervention()

# 状态
self.vehicle_locked = False
self.door_closed_time = None

def on_vehicle_lock(self):
"""
车辆锁止事件
"""
self.vehicle_locked = True
print("[事件] 车辆已锁止")

def on_door_close(self):
"""
车门关闭事件
"""
self.door_closed_time = time.time()
print("[事件] 车门已关闭")

def run_monitoring_loop(self):
"""
监控循环

持续检测儿童存在
"""
while True:
# 获取传感器数据
sensor_data = self._read_sensors()

# 检测儿童
result = self.detector.detect_child(sensor_data)

if result["child_present"]:
print(f"[检测] 发现儿童!位置: {result['location']}")
print(f"[检测] 置信度: {result['confidence']:.2%}")
print(f"[检测] 方法: {result['detection_method']}")

# 触发警告
self.warning.process_detection(
child_present=True,
vehicle_locked=self.vehicle_locked
)

# 触发干预
self._trigger_intervention()

time.sleep(1) # 1秒检测周期

def _read_sensors(self) -> dict:
"""
读取传感器数据

Returns:
sensor_data: 雷达/摄像头数据
"""
# 模拟数据
return {
"radar": np.random.randn(100, 100),
"camera_ir": np.random.randint(0, 255, (480, 640), dtype=np.uint8)
}

def _trigger_intervention(self):
"""
触发干预措施

时机:
- 锁车后10分钟
- 或第一次升级警告后5分钟
- 或车内温度达到危险水平
"""
elapsed = time.time() - (self.door_closed_time or time.time())

if elapsed > 600: # 10分钟
self.intervention._activate_climate_control()
self.intervention._unlock_doors()
self.intervention._send_remote_alert()


# 使用示例
if __name__ == "__main__":
system = CompleteCPDSystem()

# 模拟场景
system.on_door_close()
system.on_vehicle_lock()

# 启动监控
system.run_monitoring_loop()

4. Euro NCAP 2026 CPD评分标准

4.1 基础分(3分)

要求 分值
检测锁车内儿童 1分
检测未锁车内儿童 1分
覆盖所有座椅位置 0.5分
检测6岁以下儿童 0.5分

4.2 警告分(1分)

要求 分值
15秒内发出初始警告(锁车) 0.3分
10分钟内发出初始警告(未锁) 0.3分
90秒后升级警告 0.4分

4.3 干预分(1分)

要求 分值
激活空调 0.3分
解锁车门 0.3分
远程警报 0.4分

5. IMS 开发启示

5.1 技术选型建议

传感器 优势 适用场景
60GHz毫米波雷达 穿透力强、隐私保护 主流方案
红外摄像头 直接成像、精度高 配合雷达使用
超声波传感器 成本低 辅助检测

5.2 部署架构

graph LR
    A[60GHz雷达] --> D[融合处理单元]
    B[红外摄像头] --> D
    C[超声波传感器] --> D
    
    D --> E[儿童检测算法]
    E --> F[警告控制]
    E --> G[干预执行]
    
    F --> H[车内显示屏]
    F --> I[手机APP]
    F --> J[车外灯光/鸣笛]
    
    G --> K[空调控制]
    G --> L[门锁控制]

5.3 关键开发要点

  1. 检测算法

    • 多传感器融合提高可靠性
    • 区分儿童与宠物、物品
    • 处理覆盖物(毛毯)遮挡场景
  2. 警告策略

    • 遵守时间限制(15秒/10分钟)
    • 支持驾驶员延迟确认(最多10分钟)
    • 升级警告持续20分钟
  3. 干预执行

    • 温度监控联动
    • 紧急联系人机制
    • 与智能钥匙通信

6. 总结

方面 Euro NCAP 2026要求
检测方法 直接检测(运动/呼吸/心跳)
检测对象 6岁以下儿童
覆盖区域 所有座椅+脚部空间
警告时间 锁车15秒/未锁10分钟
干预措施 空调+解锁+远程警报
最高分值 5分

参考链接:

  1. Euro NCAP CPD Protocol v1.2: https://www.euroncap.com/media/79888/euro-ncap-cpd-test-and-assessment-protocol-v12.pdf
  2. Euro NCAP 2026 Protocols: https://www.euroncap.com/en/for-engineers/protocols/2026-protocols/
  3. Smart Eye CPD解读: https://www.smarteye.se/blog/what-euro-ncap-2026-says-about-child-presence-detection/

Euro NCAP 2026 儿童存在检测(CPD)完整指南
https://dapalm.com/2026/06/10/2026-06-10-Euro-NCAP-2026-CPD-Detailed-Guide/
作者
Mars
发布于
2026年6月10日
许可协议