1. 引言
减压病(Decompression Sickness, DCS)是潜水活动中最常见的一个潜水疾病,通常由于减压不当所致,其致病机理主要是溶解于体内的惰性气体因为没有及时排出体外而形成一定量气泡所致,而气泡一般生成于压力较低的静脉系统。因此,能够早期监测到气泡,可以预防或早期治疗减压病,从而降低或减轻潜水员患减压病风险。超声多普勒技术由于其非侵入性、高灵敏的优势,已广泛应用于减压病监测与评估。医生通常将多普勒探头放置于潜水员心脏或锁骨下方,通过监听气泡在静脉系统中的气泡超声信号进行主观评估[1]。
然而,人耳监听依赖医生经验,主观性较强,且一段时间不训练,医生的监听水平亦会快速退化,难以形成统一的标准[2]。近年来,不少学者开始探索超声多普勒气泡信号的自动检测与识别,通过使用频谱分析、小波包分解、短时傅里叶变换等技术来提取气泡特征[3]-[6]。然而,受限于气泡信号时变性强、持续时间短、背景干扰复杂等特性,现有方法仍面临准确性不足、泛化能力差等问题。
本文提出了一种结合CEEMDAN (Complete Ensemble Empirical Mode Decomposition with Adaptive Noise)与Teager能量算子(Teager Energy Operator, TEO)的气泡信号检测方法。CEEMDAN能够将非平稳信号有效分解为多个本征模态函数,在保留细节信息的同时避免过度滤波;Teager能量算子则可敏锐捕捉信号中的突发性能量波动,适用于提取气泡信号的瞬时特征。二者结合,显著提升了高噪声环境下气泡信号自动检测的准确性。
基于上述原理,本文构建了一套完整的气泡信号自动检测流程,包括CEEMDAN分解、能量包络分析与动态阈值判定,并在不同强度等级的气泡数据上进行了系统性能评估。通过对比不同噪声环境下的精确率、召回率与F1分数,总结了该方法在实际应用中的优势与局限性。
2. 数据来源及方法
2.1. 数据来源
本算法验证的数据集来自Spencer公开气泡合成数据集(Synthetic Spencer Subclavian FullCardiacCycle, SSSF),样本来自模拟的多普勒超声音频,采样率为8000 Hz [7]。该数据集将气泡音分为心音、气泡音以及混合音频,使得我们比较方便的定位气泡信号,并作出算法的改进。我们选取本数据集中气泡等级为1~4级音频数据(包含气泡音、心音、混合音3类音频),4个等级的3类音频各100条频数据,共计1200条数据。
2.2. 方法
本算法的信号处理与检测流程包括以下步骤:第一,读取和标准化音频信号,以减少不同采样条件带来的幅度差异。第二,采用带通滤波提取目标频段,有效去除低频基线漂移与高频噪声干扰。第三,在此基础上,利用CEEMDAN算法对信号进行自适应分解,并重点选取与气泡信号频率特征高度相关的本征模态函数IMF (Intrinsic Mode Functions)分量。通过对关键分量进行重构与标准化处理,可进一步突出气泡信号特征。第四,计算Teager能量并进行平滑处理,以凸显瞬态爆发特性。第五,设置动态阈值实现峰值检测,从而准确识别气泡事件及其区间。最后,对检测到的气泡事件进行持续时间统计与可视化分析,为后续气泡分级与性能评估提供依据。整体框图如图1所示。
Figure 1. Algorithm framework diagram
图1. 算法框架图
2.2.1. 频域分析与带通滤波预处理
通过对音频信号进行短时傅里叶变换(STFT)分析后发现,气泡信号与背景噪声在频域上存在显著差异,尤其在3400~3900 Hz区间表现出最优区分特性。如图2,图3所示,该频段内气泡信号的信噪比(SNR)达到3.2 dB,能量水平约为背景信号的2.1倍,表明其是区分气泡与背景的关键特征频段。基于这一结果,本文在预处理阶段采用带通滤波器保留3400~3900 Hz成分,以增强该目标频段的信号特征并抑制带外噪声。
Figure 2. Comparison of bubble signal-to-noise ratios at different frequencies
图2. 不同频率下气泡音信噪比对比
Figure 3. Comparison of bubble sound and heart sound energies at different frequencies
图3. 不同频率下气泡音与心音能量对比
2.2.2. 信号分解与信号重构
在本研究中,我们对预处理后的超声多普勒信号采用CEEMDAN进行自适应分解,得到若干本征模态函数。IMF是信号局部振荡模式的基本单元,需满足两个条件:其一,信号中的极值点(极大值与极小值)数目与过零点数目相等或至多相差1;其二,在任意时刻由局部极大值形成的上包络与局部极小值形成的下包络的均值为零[8]。
在分解过程中,最大IMF数设定为5,参数配置为trials (迭代次数) = 10、epsilon (噪声幅度系数) = 0.01。能量分析结果显示,IMF1在3400~3900 Hz频段中占据绝对主导地位,平均能量占比达到90.8%以上,与气泡信号的特征频率高度吻合。已有研究表明,能量占比最大的IMF分量对信号整体形态具有决定性作用[9]。因此,本研究选择IMF1进行信号重构,不仅有效压制了背景干扰,同时完整保留了气泡爆发的瞬态结构,为后续能量计算与气泡检测提供了最显著且可靠的特征基础。
2.2.3. 气泡信号能量增强与峰值检测
Teager能量算子是一种瞬时能量增强算法,可突出短时高频率的爆发型信号特征[10],适合检测气泡的波形,其定义如下:
在本研究中,将Teager算子应用于重构信号,并采用滑动窗口(10点,约1.25 ms)进行平滑处理,以减弱局部波动。随后,依据四分位差(IQR)设定动态阈值:
其中
、
为TEO曲线的一阶与三阶分位数。通过该自适应阈值识别能量显著突出的区间,并结合最小间隔0.2秒的事件合并策略,最终确定气泡事件的起止时间。
2.2.4. 区间合并与持续时间分析
为将相邻的爆发事件合并为完整的气泡区段,设定最小间隔合并阈值为1600点(0.2秒)。提取每段信号的起始点、结束点与持续时间,计算后转换为秒级单位,以便进行时间性判断。
最终我们可得每段检测出的气泡区域的时间戳列表与其持续时间列表,并可与对照信号中的气泡爆发位置进行比对分析。
2.2.5. 性能评估方法
为全面评估所提出算法在气泡信号检测任务中的有效性,本文采用精确率(Precision)、召回率(Recall)和F1分数(F1-score)作为主要评价指标。其定义如下:
真正例(True Positive, TP):检测结果为气泡,且标注亦为气泡;
假正例(False Positive, FP):检测结果为气泡,但实际为噪声或心音;
假反例(False Negative, FN):实际结果为气泡,但未被算法检测到;
精确率(Precision):反映检测结果中气泡判定的可靠性,定义为
;
召回率(Recall):衡量算法对真实气泡的检出能力,定义为Recall =
;
F1分数(F1-score):为精确率与召回率的调和平均数,用于综合评估模型在误检与漏检之间的平衡性。
在实际应用中,精确率越高意味着误检率越低,召回率越高则表示漏检率越低,而F1分数能够在两者之间提供权衡,从而更全面地反映算法的整体性能。因此,这三类指标能够客观反映气泡信号检测在不同信噪比和复杂背景条件下的表现,适用于本研究的任务场景。
3. 实验结果与分析
3.1. 可视化结果分析
如下内容呈现了第4至6秒内一个典型样本的信号处理流程与结果对比。分别为:图4呈现了原始混合信号(心音叠加气泡音);图5呈现了纯净气泡信号参考;图6呈现了经信号分解与信号重构后所得信号;图7呈现了重构信号与原始气泡信号的对比,用以评估方法的还原能力。
Figure 4. Original mixed signal waveform
图4. 原始混合信号波形
Figure 5. Pure bubble signal waveform
图5. 纯气泡信号波形
Figure 6. Waveform after signal decomposition and reconstruction
图6. 信号分解与信号重构后波形
Figure 7. Comparison between reconstructed signal and pure bubble signal
图7. 重构信号与纯气泡信号对比
针对该音频信号,本文算法首先对原始信号进行带通滤波,再通过CEEMDAN分解与关键IMF分量重构信号;随后利用Teager能量算子计算瞬时能量,并结合动态阈值实现峰值检测,从而有效分离出气泡信号。此外,算法还能够统计每段气泡信号的持续时间,为后续分析提供数据支持。实验结果表明,该方法能够有效定位并提取气泡信号,并对其持续时间进行准确估计,结果如图8所示。
Figure 8. Teager energy operator is used to extract and predict bubble events
图8. Teager能量算子提取并对气泡事件进行预估
3.2. 检测性能评估
总体检测结果如表1所示,算法在大部分气泡信号条件下均能取得较高的准确性,整体检测精确率达80.28%、召回率84.18%、F1分数82.18%,在3337个实际标注气泡、3866次检测事件中实现2809个真正例(TP)识别;尤其是在高信噪比或能量较强的气泡情况下,检测结果具有较好的鲁棒性与一致性,其中高能量(等级4)气泡检测表现最优,精确率高达99.91% (仅1例假正例,FP = 1)、召回率89.01%、F1分数94.14%,在1201个标注气泡中成功识别1069个,几乎无无效误检。但同时,在部分低能量气泡信号中,仍然存在一定程度的误检与漏检:低能量(等级1)气泡精确率仅21.66% (假正例高达405个,FP = 405),虽召回率达88.19% (漏检15个,FN = 15),但F1分数仅34.78%;中低能量(等级2)气泡也存在类似问题,精确率61.23%、召回率75.65%、F1分数67.68%,漏检122个(FN = 122),这说明算法在弱特征提取和噪声抑制环节仍有改进空间。
综合分析可知,该方法在整体检测任务中已具备较强的实用价值,但未来仍需进一步提升对低幅度气泡信号的敏感性,以增强算法在复杂环境下的普适性。
Table 1. Test results
表1. 检测结果
实际气泡数 |
检测气泡事件 |
TP |
FP |
FN |
精确率 |
召回率 |
F1分数 |
3337 |
3866 |
2809 |
690 |
528 |
80.27% |
84.18% |
82.11% |
3.3. 优势及局限
实验结果表明,所提出的方法在总体检测任务中取得了较好的性能,能够有效识别大多数气泡信号,尤其在能量较强、特征明显的情况下表现稳定可靠。然而,在部分低能量或特征不显著的气泡信号中,仍然存在一定程度的误检与漏检,说明该方法在弱信号识别与复杂背景抑制方面仍有改进空间。主要原因包括:(1) 低等级气泡信号幅度较小,接近背景噪声水平,使得特征提取困难;(2) 统一的动态阈值对不同能量级别的信号适应性有限,导致部分低幅值气泡未能正确识别;(3) 心音与血流等背景干扰对低幅度气泡的影响更为明显,从而进一步降低了检测准确性。
4. 讨论与结论
4.1. 讨论
本研究提出了一种基于CEEMDAN-TEO动态阈值的气泡信号自动检测方法,旨在克服传统人工听诊的主观性。实验结果表明,该方法在整体性能和高速气泡检测上具有良好表现,但其应用潜力与局限性需结合方法论根源和临床实践进行深入探讨。
首先,关于方法局限性的根源。本研究在低等级气泡(低幅值、低信噪比)上性能尚有提升空间,其根本原因在于方法本身对参数设置的敏感性。例如,所采用的固定频带滤波(3400~3900 Hz)和基于全局统计量(IQR)的动态阈值,虽然对高能量气泡信号敏感且计算高效,但在处理信噪比多变、幅值较低的信号时适应性不足。低幅值气泡的能量特征易被背景噪声淹没,固定的阈值策略难以在避免高假阳性(FP)的同时,有效捕捉这些微弱信号,从而导致漏检(FN)。这揭示了基于固定先验参数的传统信号处理方法是本研究的核心局限,也为未来改进指明了方向。
其次,不同错误类型的临床影响至关重要。在减压病风险评估这一临床场景中,假阳性(FP)和假阴性(FN)带来的后果具有不对称性。较高的FP率(将噪声误判为气泡)可能导致不必要的警报、过度的医疗干预以及潜水员的心理恐慌,造成医疗资源的浪费。而较高的FN率(未能识别真实气泡),因为这可能意味着低估了血管内的气泡数量,从而延误对减压病的预警和治疗,带来严重的健康风险。因此,从临床安全角度出发,一个理想的检测系统应在严格控制FP率的前提下,尽可能降低FN率。本方法目前在高等级气泡检测上精确率高(即FP率低),符合临床安全性的部分要求,但如何优化低信噪比下的FN率,是提升其临床可靠性的关键。
4.2. 结论与展望
综上所述,本文提出的方法为锁骨下静脉超声多普勒气泡信号的自动检测提供了一种有效解决方案,实验验证了其基本可行性。同时,通过深入讨论,我们也清晰地认识到该方法在参数自适应性和低信噪比信号处理上的局限及其潜在的临床风险。
面向未来,我们将从以下三个方面持续推进本研究:(1) 探索将深度神经网络(如用于端点检测或噪声抑制的模型)与本传统方法相结合的策略,以提升方法对复杂多变信号的自适应能力和在低信噪比条件下的鲁棒性。(2) 重点分析低幅值气泡信号的细微特征,发展针对性的信号增强与提取技术,并将其与本方法融合,以期实现对全幅值气泡信号的高灵敏度、高特异性识别。(3) 构建更大规模、更多样化的气泡信号数据库,并引入临床专家标注,从而增强模型的泛化能力,并在更接近真实世界的场景下进行验证,加速其临床转化应用。