2. 辽宁中医药大学, 辽宁 沈阳 110847;
3. 辽宁中医药大学附属医院, 辽宁 沈阳 110032
2. The Liaoning University of Traditional Chinese Medicine, Shenyang 110847, China;
3. 3 The First Affiliated Hospital of Liaoning University of Traditional Chinese Medicine, Shenyang 110032, China
肺音是临床实践中反映肺部生理特性及病理特性的一项重要指标, 在1816年Laennec发明了听诊器以后, 人们认为胸部听诊和肺部及气道的病理变化有直接的关联, 人们在呼吸系统疾病的诊断中也越来越依据肺音的分析[1].国际肺音学会在1976年的成立大会及后续会议上, 规范了肺音术语.国际上一般将病理性附加肺音划分为喘鸣音(Wheezes)和水泡音(Crackles), 但各国都有自己对肺音分类的术语.
气流使缩窄的气道振动时, 就可能会产生喘鸣音.喘鸣音是在阻塞性肺疾病如哮喘患者中常见的临床症状, 其发生与气道梗阻的严重程度相关[2].支气管痉挛、黏膜增厚或水肿及各种异物的存在,以及受非肿块的压迫或气道动力性压缩等都可能发生喘鸣音.喘鸣音可以认为是婴幼儿呼吸通道受阻的一项参数, 用于判断哮喘的严重程度, 也成为流行病学调查的一项内容[3].
喘鸣音的产生机理一般认为是在呼吸道存在分泌物的情况下, 气流冲击而引起气管壁振动造成的.作为附加在正常呼吸音上的声音, 喘鸣音无论是在吸气相或呼气相, 其出现的时长、幅度、频率和谐波的数量都是不确定的.喘鸣音的数量和在胸部的分布都与病理学分布有关[4].李圣君等[5]认为一般肺音不高于350 Hz, 喘鸣音信号往往在100~350 Hz频率范围, 尤其是在250~350 Hz频率范围出现, 可以看作带通滤波器.时频分析技术已应用于检测喘鸣音[6].小波变换、线性和非线性分析、S变换等各种现代数学变换和模式分析方法也在喘鸣音的检测中得到应用[7-9].基于数学的形态学方法也成为病理性附加肺音识别的有效方法[10].
实验中发现喘鸣音STFT频谱图像呈现出有一定长度直线条的特征, 本文根据这一特征基于Hough变换设计了自动识别喘鸣音的方法.该算法将肺音的STFT伪彩色谱图进行灰阶和ROI区域截取后进行Hough变换, 对于喘鸣音的直线特征检测非常灵敏.
1 实验数据本文对喘鸣音60例和正常呼吸音70例进行了处理和分析.这130例数据包括临床采集和网络公开共享的肺音信号.肺音信号的临床采集地点在辽宁中医药大学附属医院, 利用3M公司的无线电子听诊器在人体的背部进行采集.肺音库的肺音数据用wav格式存储并进行分析.
对肺音数据进行STFT谱图分析时, 注意到不同来源的肺音数据特征并不一致, 经过分析发现由于不同肺音来源的采集方式不同, 采样速率有较大的区别, 其中3M肺音文件与临床采集的实验数据类似, 采样率为8 000点/s, 其他的肺音数据采样率都比较高.同样的采样点数, 谱图上采样时间和频率的分辨率均有很大不同, 因此为了得到可比较的图像特征, 需要进行重新采样过程.在本实验的处理中采用抽取算法进行采样.
本文实验采样速率设为8 k/s, 采样数值设为2 000点, 这样每个信号都截取了250 ms信号用于肺音分析.由于临床采集的数据和3M肺音数据采样速率与设置相同, 不必重新采样, 而对其他的肺音利用抽取法进行了上采样.分析发现, Northern Arizona University的肺音数据基本进行了过量放大处理, 而且背景音较强, 分辨效果比其他肺音困难一些.
2 实验方法 2.1 STFT谱图生成STFT即为短时傅里叶变换, 是基于傅里叶变换的一种加窗信号变换, 可以确定分析信号在短时区域内的频率与相位.
(1) |
式中γ(t)为窗函数.它的思想是:选择一个适合的窗函数, 假定窗函数在一个较小的时间间隔内变化很小, 不断沿着时间轴平移窗函数, 将信号与窗函数相乘, 其结果是在各个短时区域内趋于稳定的信号, 从而计算出信号在各个不同时刻的功率谱.
图 1显示临床采集了一段250 ms的喘鸣音信号, 数据进行STFT变换后, 依据设定的伪彩色模板, 变换后的数据生成了伪彩色光谱图.图 2显示了依据图 1数据生成的STFT光谱图.
喘鸣音信号的光谱图包括明显的直线条区域.本文算法要解决如何识别这一特征, 并给出最后的识别结果.
2.2 图像处理图像处理过程首先要对肺音数据STFT谱图进行灰阶图转换, 喘鸣音谱图的伪彩色图像首先利用转换模板转换为灰阶图像, 再将喘鸣音灰阶图进行直方图均衡化处理.由于喘鸣音的信号来源比较复杂, 灰阶图的灰度值变化也比较大, 因此这种归一化处理十分必要.图 3为转换后的灰阶图.
转换后的灰阶图在进行Hough变换前要对低频和高频的非肺音信号进行过滤(图 4).经过对多种滤波算法的比较和测试, 本文直接对谱图进行了ROI区域截取的方法, 较好地避免了低频噪音和高频噪音的干扰.如果只是对剪裁区域进行滤波或设置区域像素值, 会发现剪裁区域增加边缘线, 对后续的分析会有不利的影响.
对肺音信号谱图选取ROI区域截取后, 利用基于Canny算子的方法检测出肺音谱图中的图像边缘, 再进行Hough变换.Canny算子是属于先平滑优化再求导数的方法, 它对受白噪声影响的阶跃型边界检索是最优的, 与Marr边缘检测方法类似.
2.3 Hough变换处理Hough变换是一种基于计数判断的参数估计法.其原理是利用位图空间和Hough变换参数空间的线-点对偶性, 把位图空间中的直线识别转换到参数空间的点数计算.通过在参数空间里简单的累加统计, 然后在参数空间寻找累加器峰值的方法检测直线.
平面Oxy上的直线方程为
(2) |
其中, μ和v分别为直线的斜率和截距.对于给定的一条直线, 对应一个二维元素或数组(μ, v), 反之, 如果给定一个数组(μ, v), 则对应一条直线y=μx+ν.即平面Oxy上的直线y=μx+ν和平面Oμv上的一个点(μ, v)一一对应.同理平面Oμv上的ν=-xμ+y线段与平面Oxy上的一个点(x, y)也是相映射的.因此, 如果Oxy上有y=μx+ν线段, 则它里面的每点都映射到Oμv上的线段, 这些线段相交于点(μ, v), 根据这一方法计数就能完成计算.
图像中平行于y轴的直线斜率会趋近无穷, 为了解决这一问题, 本文给出极坐标下的直线方程(图 5):
(3) |
式(3)中r是直线到坐标原点的距离, θ是直线法线与x轴的夹角.在(r, θ)坐标系下, Hough变换方法在参数空间中设计了直线(r, θ)计数器, 实际就是一个数组rthcnt; 数组中所有值都初始化为0, r范围是图像对角线的长度, θ范围是0~2 π.因为图像是离散的, 所以r和θ都有一个步进值dr和dθ.扫描肺音谱图中的所有点(xi, yi), Hough变换式将变换图像并设置计数器进行技术处理.
设定阈值θr(检测到图像中有多个点共线才判定存在直线), rthcnt(ri, θi)>θr的ri, θi就组成图像中的直线, 其对应的直线方程为ri=xcos(θi)+ysin(hi).
在检测出的10个直线中选取距离最长的直线作为谱图中的特征直线.特征直线长度超过喘鸣音设定阈值的谱图将被识别为喘鸣音谱图, 采集的这段肺音被识别为喘鸣音.图 6显示出经过上述算法变换后识别出的直线参数点,图中每一个小方框代表原始图像中的一条直线.
图 7在原图显示了检测到的长度最大的直线段.
经过对60例喘鸣音和70例正常呼吸音的独立分析, 喘鸣音的识别结果见图 8, 正常呼吸音的识别结果见图 9.实验中确定了一个特征值, 线段长度超过特征值会识别为喘鸣音, 线段长度低于特征值会识别为正常呼吸音.这一自动识别方法给出的识别结果中, 52例(87%)的喘鸣音和52例(74%)的正常呼吸音得到了正确的识别.
本文研究表明, 利用Hough变换对STFT谱图的分析可以检测出喘鸣音谱图中的直线条状图像特征, 是喘鸣音检测的一种有效方法, 可以为临床医生识别喘鸣音提供合理的提示与可视化线索.由于喘鸣音的Hough变换谱图中的喘鸣音表现为有一定宽度的线条特征, 在分析过程中考虑直线簇的合并识别将对提高识别的准确率有一定的帮助.
[1] | Nagasaka Y. Lung sounds in bronchial asthma[J]. Allergology International Official Journal of the Japanese Society of Allergology, 2012, 61(3): 353–363. DOI:10.2332/allergolint.12-RAI-0449 |
[2] | Waris M, Helistö P, Haltsonen S, et al. A new method for automatic wheeze detection[J]. Technology & Health Care Official Journal of the European Society for Engineering & Medicine, 1998, 6(1): 33–40. |
[3] | Pasterkamp H, Kraman S S, Wodicka G R. Respiratory sounds advances beyond the stethoscope[J]. American Journal of Respiratory & Critical Care Medicine, 1997, 156(3): 974–987. |
[4] | Taplidou S A, Hadjileontiadis L J. Nonlinear analysis of wheezes using wavelet bicoherence[J]. Computers in Biology & Medicine, 2007, 37(4): 563–570. |
[5] |
李圣君, 刘毅.
肺音特征提取的小波包变换方法[J]. 计算机科学, 2005, 32(sup): 160–162.
( Li Sheng-jun, Liu Yi. Wavelet packet transform method for lung sound feature extraction[J]. Computer Science, 2005, 32(sup): 160–162. ) |
[6] | Taplidou S A, Hadjileontiadis L J. Wheeze detection based on time-frequency analysis of breath sounds[J]. Computers in Biology & Medicine, 2007, 37(8): 1073–1083. |
[7] | Palaniappan R, Sundaraj K, Ahamed N U, et al. Computer-based respiratory sound analysis:a systematic review[J]. Iete Technical Review, 2013, 30(3): 248–256. DOI:10.4103/0256-4602.113524 |
[8] | Albuerne-Sanchez L, Charleston-Villalobos S, Gonzalez-Camarena R, et al.Base lung sound in diffuse interstitial pneumonia analyzed by linear and nonlinear techniques[C]// International Conference of the IEEE Engineering in Medicine & Biology Society.New York:IEEE, 2008:1615-1618. |
[9] |
张柯欣, 王雪峰, 魏巍, 等.
基于S变换的喘鸣音数学形态学检测算法[J]. 辽宁中医药大学学报, 2016(6): 73–76.
( Zhang Ke-xin, Wang Xue-feng, Wei Wei, et al. the S-transform analysis of wheeze based on mathematical morphology[J]. Journal of Liaoning University of Traditional Chinese Medicine, 2016(6): 73–76. ) |
[10] | Zhang K, Wang X, Han F, et al. The detection of crackles based on mathematical morphology in spectrogram analysis[J]. Technology & Health Care Official Journal of the European Society for Engineering & Medicine, 2014, 23(sup2): 489–494. |