Euro NCAP 2026 CPD儿童检测要求深度解读 概述 Euro NCAP(欧洲新车评估计划)自2025年起将**儿童存在检测(Child Presence Detection, CPD)**纳入安全评级,2026年进一步强化要求,成为OMS(乘员监控系统)重要组成部分。本文深度解读协议细节,为IMS开发提供落地指导。
一、政策背景 1.1 热射病悲剧数据
地区
年均儿童死亡案例
主要原因
美国
38例/年
遗忘车内
欧洲
约20例/年
短时离开
中国
数据缺失(未统计)
高温季节
核心问题:
儿童体温调节能力弱,体温上升速度比成人快3-5倍
车内温度10分钟可上升10°C
70%的悲剧发生在”短时间离开”场景
1.2 Euro NCAP时间线 timeline
title Euro NCAP CPD政策演进
2022 : 提出CPD概念
2023 : 自愿加分项
2024 : 技术验证期
2025 : 强制要求(间接检测)
2026 : 强制要求(直接检测)
1.3 评分体系
年份
CPD分数
检测方式
备注
2025
2分
间接检测(车门逻辑)
过渡期
2026
5分
直接检测
强制要求
直接检测定义:
必须通过物理信号 (呼吸、心跳、微动)检测儿童
禁止仅依赖车门开关/座椅压力等间接逻辑
二、技术要求详解 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 def cpd_detection_targets (): """ Euro NCAP CPD检测目标定义 """ targets = { '呼吸频率' : { '范围' : '0.1 - 0.5 Hz' , '对应' : '12 - 30 次/分' , '优先级' : '🔴 高' }, '心跳频率' : { '范围' : '0.8 - 2.0 Hz' , '对应' : '48 - 120 次/分' , '优先级' : '🟡 中' }, '微动' : { '振幅' : '> 0.1 mm' , '穿透' : '毯子/安全座椅套' , '优先级' : '🔴 高' }, '检测时延' : { '要求' : '< 60秒' , '建议' : '< 30秒' , '优先级' : '🔴 高' } } return targets
2.2 覆盖区域
座椅位置
检测要求
备注
前排乘客座
✅ 必须
正向儿童座椅
后排外侧左
✅ 必须
最常见位置
后排外侧右
✅ 必须
最常见位置
后排中央
⚠️ 建议
空间受限
后备箱
❌ 不要求
不在检测范围
2.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 def warning_levels (): """ Euro NCAP CPD警告等级定义 """ levels = { '一级警告' : { '触发' : '检测到儿童存在' , '方式' : '车内显示+声音' , '时延' : '立即' , '目的' : '提醒驾驶员' }, '二级警告' : { '触发' : '驾驶员离开车辆90秒' , '方式' : '手机APP推送' , '时延' : '90秒后' , '目的' : '远程通知' }, '三级警告' : { '触发' : '车内温度>40°C' , '方式' : '紧急呼叫(eCall)' , '时延' : '温度超标后' , '目的' : '生命救援' } } return levels
三、测试协议解读 3.1 测试工具 官方认证工具:
工具名称
厂商
功能
认证状态
CRABI 12月
TASS
儿童假人(呼吸模拟)
✅ 已认证
CRABI 18月
TASS
儿童假人(呼吸模拟)
✅ 已认证
Breathing Simulator
各厂商
呼吸模拟器
✅ 需G003认证
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 def cpd_test_scenarios (): """ Euro NCAP CPD测试场景清单 """ scenarios = { '基础场景' : [ '儿童假人在后排座椅(无遮挡)' , '儿童假人在后排座椅(毯子覆盖)' , '儿童假人在安全座椅内' , '儿童假人在地板区域' ], '边界场景' : [ '极端温度(-10°C / +50°C)' , '强光直射(阳光干扰)' , '儿童假人睡眠姿态(最小运动)' , '儿童假人哭闹姿态(最大运动)' ], '干扰场景' : [ '车内风扇开启' , '宠物在场' , '成人驾驶员在座' , '手机振动干扰' ] } return scenarios
3.3 通过标准
指标
要求
备注
检测准确率
≥ 90%
10次测试≥9次成功
误报率
≤ 5%
空车时误触发
检测时延
≤ 60秒
从锁车到警告
温度范围
-10°C ~ +50°C
覆盖四季
四、技术方案对比 4.1 检测方式分类 graph TD
A[CPD检测方式] --> B[间接检测]
A --> C[直接检测]
B --> B1[车门开关逻辑]
B --> B2[座椅压力传感器]
B --> B3[重量感应]
C --> C1[60GHz雷达]
C --> C2[红外摄像头]
C --> C3[超声波传感器]
B1 --> D[2025年允许]
B2 --> D
B3 --> D
C1 --> E[2026年要求]
C2 --> E
C3 --> E
4.2 方案详细对比
方案
原理
优点
缺点
Euro NCAP评级
60GHz雷达
检测呼吸微动
穿透强、隐私友好
视场受限
✅ 最佳
红外摄像头
热成像
直观、可识别身份
遮挡敏感、成本高
✅ 良好
超声波
多普勒效应
成本低
干扰大
⚠️ 一般
车门逻辑
开关信号
零成本
误报高
❌ 2026禁用
座椅压力
压力传感器
简单
无生命体征
❌ 2026禁用
4.3 60GHz雷达方案详解 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 def radar_cpd_solution (): """ 60GHz雷达CPD方案技术参数 """ solution = { '传感器' : { '型号' : 'TI IWR6843AOP' , '频率' : '60-64 GHz' , '发射功率' : '10 dBm' , '天线配置' : '3Tx / 4Rx(12虚拟天线)' , '封装' : 'AOP(Antenna-on-Package)' }, '检测能力' : { '最小运动' : '0.1 mm' , '呼吸检测' : '0.1-0.5 Hz' , '心跳检测' : '0.8-2.0 Hz' , '穿透材料' : '毯子/安全座椅套(<5mm)' }, '部署位置' : { '方案A' : '顶棚中央(单雷达)' , '方案B' : 'B柱左右(双雷达冗余)' , '方案C' : '顶棚+后挡风(全覆盖)' }, '功耗' : { '待机' : '< 50 mW' , '检测中' : '< 200 mW' , '唤醒时延' : '< 100 ms' } } return solution
五、IMS开发落地指导 5.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 def ims_cpd_architecture (): """ IMS中CPD模块架构设计 """ architecture = { '输入层' : { '雷达ADC' : 'TI IWR6843AOP原始数据' , '车门信号' : 'CAN总线(锁车/解锁)' , '温度' : '车内温度传感器' }, '处理层' : { 'Range FFT' : '距离-方位定位' , 'CFAR检测' : '目标存在判断' , '相位提取' : '生命体征信号' , 'VMD降噪' : '分离呼吸/心跳' , 'FFT频谱' : '频率特征提取' }, '决策层' : { '阈值判断' : 'HR/BR是否在正常范围' , '置信度计算' : '综合多帧结果' , '异常检测' : '呼吸停止/心率异常' }, '输出层' : { '一级警告' : 'HMI显示+声音' , '二级警告' : 'T-Box推送手机' , '三级警告' : 'eCall紧急呼叫' } } return architecture
5.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 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 import numpy as npfrom scipy.signal import butter, filtfiltclass CPD_Detector : """ Euro NCAP CPD检测器 满足要求: - 呼吸检测:0.1-0.5 Hz - 心跳检测:0.8-2.0 Hz - 检测时延:< 60秒 """ def __init__ (self, fs=30 , detection_threshold=0.3 ): """ Args: fs: 帧率 (fps) detection_threshold: 检测阈值(归一化能量) """ self .fs = fs self .threshold = detection_threshold self .breathing_band = (0.1 , 0.5 ) self .heartbeat_band = (0.8 , 2.0 ) def process (self, phase_signal ): """ 处理相位信号,检测儿童 Args: phase_signal: 相位时间序列 (N_frames,) Returns: result: 检测结果字典 """ filtered = self ._bandpass_filter(phase_signal, 0.05 , 3.0 ) spectrum = np.abs (np.fft.fft(filtered)) freqs = np.fft.fftfreq(len (filtered), 1 /self .fs) breathing_mask = (freqs >= self .breathing_band[0 ]) & (freqs <= self .breathing_band[1 ]) breathing_energy = np.sum (spectrum[breathing_mask] ** 2 ) heartbeat_mask = (freqs >= self .heartbeat_band[0 ]) & (freqs <= self .heartbeat_band[1 ]) heartbeat_energy = np.sum (spectrum[heartbeat_mask] ** 2 ) total_energy = breathing_energy + heartbeat_energy child_detected = total_energy > self .threshold breathing_freq = freqs[breathing_mask][np.argmax(spectrum[breathing_mask])] heartbeat_freq = freqs[heartbeat_mask][np.argmax(spectrum[heartbeat_mask])] result = { 'child_detected' : child_detected, 'confidence' : min (total_energy / (self .threshold * 2 ), 1.0 ), 'breathing_rate' : breathing_freq * 60 , 'heartbeat_rate' : heartbeat_freq * 60 , 'breathing_energy' : breathing_energy, 'heartbeat_energy' : heartbeat_energy } return result def _bandpass_filter (self, signal, lowcut, highcut ): """ 带通滤波 """ nyq = self .fs / 2 low = lowcut / nyq high = highcut / nyq b, a = butter(4 , [low, high], btype='band' ) return filtfilt(b, a, signal) detector = CPD_Detector(fs=30 , detection_threshold=0.5 ) t = np.linspace(0 , 60 , 1800 ) breathing = 0.05 * np.sin(2 * np.pi * 0.25 * t) heartbeat = 0.01 * np.sin(2 * np.pi * 1.2 * t) phase_signal = breathing + heartbeat + np.random.randn(1800 ) * 0.01 result = detector.process(phase_signal)print (f"儿童检测: {result['child_detected' ]} " )print (f"置信度: {result['confidence' ]:.2 f} " )print (f"呼吸率: {result['breathing_rate' ]:.1 f} 次/分" )print (f"心率: {result['heartbeat_rate' ]:.1 f} 次/分" )
5.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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 class Warning_Manager : """ Euro NCAP CPD警告管理器 """ def __init__ (self ): self .child_detected_time = None self .driver_exit_time = None self .current_temperature = 25.0 def update (self, child_detected, driver_present, temperature ): """ 更新状态并触发警告 Args: child_detected: 儿童检测结果 driver_present: 驾驶员是否在车内 temperature: 车内温度(°C) Returns: warning_level: 警告等级 (0-3) """ import time current_time = time.time() self .current_temperature = temperature if child_detected and self .child_detected_time is None : self .child_detected_time = current_time return 1 if child_detected and not driver_present: if self .driver_exit_time is None : self .driver_exit_time = current_time elif current_time - self .driver_exit_time > 90 : return 2 if child_detected and temperature > 40 : return 3 return 0 def execute_warning (self, level ): """ 执行对应等级的警告动作 """ if level == 0 : return actions = { 1 : self ._level1_warning(), 2 : self ._level2_warning(), 3 : self ._level3_warning() } return actions.get(level, None ) def _level1_warning (self ): """一级警告:车内显示""" return { 'type' : 'HMI Display' , 'message' : '检测到儿童在车内!' , 'sound' : True , 'action' : '提醒驾驶员检查' } def _level2_warning (self ): """二级警告:手机推送""" return { 'type' : 'Mobile Push' , 'message' : '儿童可能被遗忘车内,请立即检查!' , 'channel' : 'APP + SMS' , 'action' : '远程通知' } def _level3_warning (self ): """三级警告:紧急呼叫""" return { 'type' : 'Emergency Call' , 'message' : '车内温度过高,儿童生命危险!' , 'channel' : 'eCall + 110' , 'action' : '自动报警' } manager = Warning_Manager()import time level1 = manager.update(child_detected=True , driver_present=True , temperature=30 )print (f"场景1 警告等级: {level1} " ) time.sleep(1 ) manager.driver_exit_time = time.time() - 100 level2 = manager.update(child_detected=True , driver_present=False , temperature=35 )print (f"场景2 警告等级: {level2} " ) level3 = manager.update(child_detected=True , driver_present=False , temperature=42 )print (f"场景3 警告等级: {level3} " )
5.4 与高通平台对接 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 def qualcomm_cpd_integration (): """ 高通8255/8295平台CPD集成方案 """ integration = { '传感器接口' : { '雷达' : 'IWR6843 via SPI/CAN' , '数据格式' : 'ADC原始数据或相位信号' , '频率' : '10-30 fps' }, '算法部署' : { 'Range FFT' : 'Hexagon DSP(低功耗)' , '相位提取' : 'HVX向量加速' , 'FFT频谱' : 'FFT库优化' , '决策逻辑' : 'CPU(实时)' }, '性能估算' : { 'CPU占用' : '< 5%' , 'DSP占用' : '< 20%' , '内存' : '< 10 MB' , '功耗' : '< 150 mW' }, '接口协议' : { '输入' : 'CPD_DetectionInput_t' , '输出' : 'CPD_DetectionOutput_t' , '频率' : '10 Hz(CPD模式)' } } return integration
六、竞品方案分析 6.1 主流方案对比
OEM
方案
传感器
特点
Euro NCAP评级
Volvo EX90
雷达
3×60GHz
全舱覆盖
⭐⭐⭐⭐⭐
Mercedes S级
雷达+摄像头
1×77GHz + IR
融合方案
⭐⭐⭐⭐
BMW iX
雷达
1×60GHz
AOP封装
⭐⭐⭐⭐
Tesla Model Y
摄像头
RGB-IR
视觉方案
⭐⭐⭐
BYD 汉
压力传感器
座椅压力
间接检测
⭐⭐
6.2 供应链格局 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 def cpd_supply_chain (): """ CPD供应链分析 """ chain = { '芯片厂商' : { 'TI' : 'IWR6843AOP (60GHz)' , 'Infineon' : 'BGT60ATR24C (60GHz)' , 'NXP' : 'MR3003 (77GHz)' }, 'Tier 1' : { 'Valeo' : 'Cabin雷达' , 'Bosch' : '全栈方案' , 'Continental' : '传感器+算法' }, '算法公司' : { 'Smart Eye' : '多模态融合' , 'Seeing Machines' : 'DMS+CPD' , 'Novelic' : '60GHz专用方案' } } return chain
七、合规性检查清单 7.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 def cpd_compliance_checklist (): """ Euro NCAP CPD合规性自检清单 """ checklist = { '检测能力' : [ '✅ 支持呼吸检测(0.1-0.5 Hz)' , '✅ 支持心跳检测(0.8-2.0 Hz)' , '✅ 支持微动检测(> 0.1 mm)' , '✅ 支持毯子/安全座椅穿透' ], '覆盖区域' : [ '✅ 前排乘客座' , '✅ 后排外侧左' , '✅ 后排外侧右' , '⚠️ 后排中央(建议)' , '❌ 后备箱(不要求)' ], '警告系统' : [ '✅ 一级警告(车内显示)' , '✅ 二级警告(手机推送)' , '✅ 三级警告(紧急呼叫)' , '✅ 90秒延迟逻辑' ], '测试验证' : [ '✅ 通过CRABI假人测试' , '✅ 覆盖极端温度(-10~+50°C)' , '✅ 误报率<5%' , '✅ 检测时延<60秒' ], '文档准备' : [ '✅ Dossier技术文档' , '✅ 测试报告' , '✅ 功能安全分析' , '✅ 用户手册' ] } return checklist
八、总结与建议 8.1 核心要点
类别
要点
技术选型
优先选择60GHz雷达(TI IWR6843AOP)
部署位置
顶棚中央单雷达或B柱双雷达冗余
算法核心
Range FFT + 相位提取 + VMD降噪
警告逻辑
三级警告体系(车内→手机→紧急)
合规要求
2026年起必须直接检测生命体征
8.2 开发路线图 gantt
title IMS CPD开发路线图
dateFormat YYYY-MM-DD
section 2026 Q1
需求分析 :a1, 2026-01-01, 30d
架构设计 :a2, after a1, 30d
section 2026 Q2
算法开发 :b1, 2026-04-01, 60d
硬件集成 :b2, after b1, 30d
section 2026 Q3
测试验证 :c1, 2026-07-01, 60d
Euro NCAP认证 :c2, after c1, 30d
section 2026 Q4
量产准备 :d1, 2026-10-01, 60d
8.3 成本估算
项目
数量
单价
总价
雷达芯片
1
$80
$80
安装支架
1套
$10
$10
线束
1套
$5
$5
算法授权
1
$20
$20
测试认证
1
$30
$30
合计
-
-
$145
参考文献:
Euro NCAP, “Child Presence Detection Test and Assessment Protocol v1.3”, 2025.
Euro NCAP, “Roadmap 2030: In-Cabin Safety”, 2024.
TI, “Meet Euro NCAP CPD Requirements with 60GHz Radar”, SSZT046, 2025.
Smart Eye, “What Euro NCAP 2026 Says About Child Presence Detection”, Blog, 2025.