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检测场景 """ SCENARIO_LOCKED = { "name" : "儿童被留在锁车内" , "trigger" : "车辆锁车后检测到儿童" , "warning_time" : "15秒内" , "escalation" : "90秒后升级" } 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 ), "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) 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) 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: self ._trigger_initial_warning(max_delay_sec=15 ) else : 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 : self ._trigger_escalation() def _trigger_escalation (self ): """ 触发升级警告 要求: - 警报每分钟重复 - 持续至少20分钟 - 每次至少15秒 - 车内显示"Check the seats"等信息 """ self .warning_state = "ESCALATION" for i in range (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 timeimport numpy as npclass 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 ) 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 : 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 关键开发要点
检测算法
多传感器融合提高可靠性
区分儿童与宠物、物品
处理覆盖物(毛毯)遮挡场景
警告策略
遵守时间限制(15秒/10分钟)
支持驾驶员延迟确认(最多10分钟)
升级警告持续20分钟
干预执行
6. 总结
方面
Euro NCAP 2026要求
检测方法
直接检测(运动/呼吸/心跳)
检测对象
6岁以下儿童
覆盖区域
所有座椅+脚部空间
警告时间
锁车15秒/未锁10分钟
干预措施
空调+解锁+远程警报
最高分值
5分
参考链接:
Euro NCAP CPD Protocol v1.2: https://www.euroncap.com/media/79888/euro-ncap-cpd-test-and-assessment-protocol-v12.pdf
Euro NCAP 2026 Protocols: https://www.euroncap.com/en/for-engineers/protocols/2026-protocols/
Smart Eye CPD解读: https://www.smarteye.se/blog/what-euro-ncap-2026-says-about-child-presence-detection/