一种基于频域图处理的干罗音识别方法
【技术领域】
[0001] 本发明涉及信号图像处理领域,尤其涉及一种基于频域图处理的干罗音识别方法
【背景技术】
[0002] 罗音是一种重要的异常呼吸音,通过检测罗音出现的时刻,个数,分布等特性,医 生可判断医患肺部疾病的相关信息,目前医院中罗音都由医生本人听诊辨析,主观性较强 且易受外部环境影响。使用自动化识别罗音可有效改善这一现象,辅助医生提高就诊效率。
[0003] 干罗音是罗音中的一个分支,具有持续时间长,声音频率分布较为稳定等特点。根 据医学机构定义,干罗音持续时间大于250毫秒,分布频率为60赫兹至800赫兹之间。干罗音 多由呼吸道阻塞产生,医生可通过干罗音的音调判断呼吸道中的病变部位。同一罗音持续 时间长,频率稳定使得其在频谱图中以水平长条状色块呈现,使得通过图像处理获取干罗 音时段成为可能。
【发明内容】
[0004] 本发明为克服上述的不足之处,目的在于提供一种基于频域图处理的干罗音识别 方法,通过在呼吸音音频文件中提取出波形特征,使用傅里叶变换得到波形的频域图,通过 图像处理中的二值化过滤掉多余无用音频从而得到关键的干罗音部分;可以检测呼吸音数 据中的干罗音。
[0005] 本发明通过以下技术方案达到上述目的:一种基于频域图处理的干罗音识别方 法,包括音频预处理阶段、生成二值化频域图阶段、提取特征干罗音阶段;
[0006] 1)音频预处理阶段:
[0007] 1.1)读取并存储音频文件中的音频数据;
[0008] 1.2)滤除音频数据中的噪音,得到去噪后的音频数据;
[0009] 1.3)基于去噪后的音频数据进行数据归一化及去除线性趋势;
[0010] 2)生成二值化频域图阶段:
[0011] 2.1)利用短时傅里叶变换处理步骤1.3)得到的波形数据,生成频域图,并对频域 图进行灰度化;
[0012] 2.2)提高灰度化后频域图的对比度;
[0013] 2.3)将频域图内的每个像素灰度与预设阈值进行对比,低于阈值的像素灰度设置 为〇,分离出频域图中的疑似干罗音区域与非干罗音区;
[0014] 3)提取特征干罗音阶段:
[0015] 3.1)获取疑似干罗音区域的连续像素的特征色块,排除持续时间低于预设时间的 特征色块;
[0016] 3.2)逐一分析过滤后所得的特征色块,通过分析灰度分布排除非扁平长条形状的 色块,将最后所得色块整合,得到干罗音出现时间段。
[0017] 作为优选,所述步骤1.1)将音频文件中的音频数据以浮点数列的形式存储。
[0018] 作为优选,所述步骤I. 2)利用高通滤波滤除音频数据中的外部噪音,利用低通滤 波滤除音频数据中折叠失真所产生的噪音。
[0019] 作为优选,所述步骤1.3)进行数据归一化的方法为利用特征缩放方法将所有值转 化为[0,1 ]的范围,其依据原始数据资料选择目标范围,公式如下:
[0021] 其中,X是原始的值,Y是被标准化后的值。
[0022] 作为优选,所述步骤1.3)去除线性趋势的方法为使用FFT预处理方法,利用最小二 乘法分析函数得到近似函数后,从原函数中减去近似函数,得到去除线性趋势的结果。 [0023]作为优选,所述步骤2.3)的预设阈值根据OTSU自适应阈值确定得到,在OTSU算法 中使用穷举法寻找得到使得最大类间方差最小的值,即两个类的方差的加权和,公式如下:
[0025] 其中,权重ω i是两个被阈值t所分开的类的分布概率,则是每个类的方差。
[0026] 作为优选,所述步骤2.3)像素灰度为0区域为非干罗音区。
[0027]作为优选,所述步骤3.1)的预设时间为250ms。
[0028] 作为优选,所述步骤3.2)分析灰度分布排除非扁平长条形状的色块的方法为计算 特征色块在y轴上映射的分布情况,若分布过宽则表示该时间段存在过多频率声音叠加现 象,将其排除。
[0029] 本发明的有益效果在于:本方法填补了目前暂无有效识别干罗音方法的领域空 白,结合音频信号处理与图像信号处理相关算法,使得计算机能够自动检测呼吸音数据中 的干罗音。
【附图说明】
[0030] 图1是本发明方法的流程示意图;
[0031] 图2是本发明的音频预处理与生成二值化频域图的过程示意图。
【具体实施方式】
[0032]下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于 此:
[0033]实施例:如图1所示,一种基于频域图处理的干罗音识别方法,包括音频预处理,二 值化频域图生成,提取特征干罗音;整个方法是可以基于计算机数学计算软件MATLAB实现 的。
[0034]音频预处理操作流程包括以下步骤:
[0035] 1)本地读取音频文件,将音频数据以浮点数列形式存在内存中;
[0036] MATLAB中有相关音频读取函数wavread可读取wav格式音频文件并将相应数据转 化为矩阵数列保存在内存。
[0037] 2)使用高通滤波滤除录制期间的一些外部噪音;
[0038] 3)使用低通滤波滤除折叠失真所产生的噪音;
[0039]由于呼吸音文件的特殊性,双声道只取任意一个声道皆可。选取巴特沃斯滤波器 对声波进行带通滤波,过滤掉除60Hz-2000Hz以外的声音。通常衣服摩擦,身体抖动所产生 的外界噪音都低于60Hz,因此通过滤波能有效提取出纯呼吸音,降低外界干扰对检测结果 的影响。
[0040] 4)进行数据归一化以及去除线性趋势;
[0041]经过滤波后部分音频可能会出现振幅大幅下降的情况,需要用mapminmax函数将 声波矩阵进行归一化,提升声音较小的音频的音量,降低声音较大的音频的音量,保证所有 音频都具有相同的最大振幅。部分音频可能会出现偏离中心轴的情况,需要用detrend函数 进行去除线性趋势,保证波形沿水平轴来回震荡。
[0042]归一化是一种将所有值转化为[0,1 ]的范围内的方法,也叫特征缩放,其依据原始 数据资料选择目标范围,通式如下:
[0044] X是原始的值,Y是被标准化后的值。
[0045]去除线性趋势是一种常见的FFT预处理的方法,通过使用最小二乘法分析函数得 到其近似函数后从原函数中减去以得到去线性趋势的结果。典型的一类函数模型是线性函 数模型。最简单的线性式是y ibo+bd,写成矩阵式,为
[0047] 二值化频域图生成:
[0048] 1)使用短时傅里叶变换处理过滤后的波形数据;
[0049] 2)生成短时傅里叶变换
生成的频域图进行灰度化;
[0050] 完成预处理后使用MATLAB函数spectrogram对音频矩阵进行短时傅立叶变换并获 取频谱图,短时傅立叶变换窗口尺寸为采样率/20(50ms),窗口尺寸的大小将很大程度上影 响检测精确度,算法所用预设系数为经过多次试验所得最优值。窗口尺寸过大会使干罗音 在频谱图上呈现不了水平长条扁平状特征,而是斜向分布,严重影响检测结果;反之则会导 致计算量过大,拖慢运行速度。
[0051] 3)提高所生成灰度图的对比度;
[0052] 使用中值滤波并将结果与原频谱图相减,此方法可增强图像中像素之间的对比 度,使不同区域的色差更加明显,提升测试准确度。同样在使用中值滤波后需要对矩阵进行 归一化以保证特征波形震荡幅度足够被检测到。
[0053] 4)将每个像素的灰度与预设阈值进行对比,设置低于阈值的像素灰度为0;预设阈 值是根据OTSU自适应阈值确定的,具体方法如下:在OTSU算法中使用穷举法寻找到能使最 大类间方差最小的值,也就是两个类的方差的加权和:
[0055]其中,权重ω i是两个被阈值t所分开的类的分布概率,而iff则是每个类的方差;此 算法能得到一个处于[0,1]范围内的值,能有效分离出一幅图像中的前景与背景。
[0056]在本实施例中,完成所有预处理工作后对频谱灰度图进行二值化处理,使用最大 类间方差法获得灰度图的阈值〇,经过多次测试发现0.7*〇为最优阈值,可有效分离疑似干 罗音区域与非干罗音区域。至此步骤的图像演变过程如图2所示。
[0057]提取特征干罗音:
[0058] 1)获取灰度图中连续像素的特征色块;
[0059] 2)排除持续时间较短的特征色块;
[0060] 经过二值化后的图像剩余的色块均为疑似干罗音,累计计算色块映射在X轴上的 长度,根据医院对干罗音的定义长度低于250ms的色块将被剔除。
[0061] 3)逐一分析过滤后所得的特征区间,通过分析灰度分布排除非扁平 [0062]长条形状的色块;
[0063] 鉴于干罗音频率稳定的特点,其在频谱图上将呈长条扁平状,将每个疑似干罗音 出现的区域单独进行统计,计算色块在y轴上映射的分布情况,若分布过宽则说明此时间段 存在过多频率声音叠加现象,不符合干罗音特点,因此会被排除。
[0064] 4)将最后所得色块整合,得到干罗音出现时间段。
[0065] 本实施例中,实验测试使用样本音频均使用医院直接提供的样本,未做过筛选以 及后期加工,总共34组音频样本参与干罗音测试,共26组算法识别结果符合医生诊断结果, 准确率为76.5%
[0066] 其中22组被医生诊断为含干罗音,这22组中17组被干罗音算法判断为含干罗音, 准确率为77.3%
[0067]以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所 作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的 保护范围。
【主权项】
1. 一种基于频域图处理的干罗音识别方法,其特征在于,包括音频预处理阶段、生成二 值化频域图阶段、提取特征干罗音阶段; 1) 音频预处理阶段: 1.1) 读取并存储音频文件中的音频数据; 1.2) 滤除音频数据中的噪音,得到去噪后的音频数据; 1.3) 基于去噪后的音频数据进行数据归一化及去除线性趋势; 2) 生成二值化频域图阶段: 2.1) 利用短时傅里叶变换处理步骤1.3)得到的波形数据,生成频域图,并对频域图进 行灰度化; 2.2) 提高灰度化后频域图的对比度; 2.3) 将频域图内的每个像素灰度与预设阈值进行对比,低于阈值的像素灰度设置为0, 分离出频域图中的疑似干罗音区域与非干罗音区; 3) 提取特征干罗音阶段: 3.1) 获取疑似干罗音区域的连续像素的特征色块,排除持续时间低于预设时间的特征 色块; 3.2) 逐一分析过滤后所得的特征色块,通过分析灰度分布排除非扁平长条形状的色 块,将最后所得色块整合,得到干罗音出现时间段。2. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤1.1)将音频文件中的音频数据以浮点数列的形式存储。3. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤1.2)利用高通滤波滤除音频数据中的外部噪音,利用低通滤波滤除音频数据中折叠失真 所产生的噪音。4. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤1.3)进行数据归一化的方法为利用特征缩放方法将所有值转化为[0,1]的范围,其依据 原始数据资料选择目标范围,公式如下:其中,X是原始的值,Y是被标准化后的值。5. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤1.3)去除线性趋势的方法为使用FFT预处理方法,利用最小二乘法分析函数得到近似函 数后,从原函数中减去近似函数,得到去除线性趋势的结果。6. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤2.3)的预设阈值根据OTSU自适应阈值确定得到,在OTSU算法中使用穷举法寻找得到使得 最大类间方差最小的值,即两个类的方差的加权和,公式如下:其中,权重ω i是两个被阈值t所分开的类的分布概率,则是每个类的方差。7. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤2.3)像素灰度为O区域为非干罗音区。8. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤3.1)的预设时间为250ms。9. 根据权利要求1所述的一种基于频域图处理的干罗音识别方法,其特征在于:所述步 骤3.2)分析灰度分布排除非扁平长条形状的色块的方法为计算特征色块在y轴上映射的分 布情况,若分布过宽则表示该时间段存在过多频率声音叠加现象,将其排除。
【专利摘要】本发明涉及一种基于频域图处理的干罗音识别方法,通过快速傅立叶变换将音频信号从时域转换为频域后将所产生的频域图凭借预设的阈值进行二值化处理过滤得到特定的干罗音信号。该方法可较快实现干罗音识别,效率高,计算量少,系统负荷小,维护简单,填补了目前呼吸音领域暂无自动化识别的空白。本发明的有益效果:通过计算机的高效计算能力,能检测出人耳所无法听见的细微音频并对存在争议判断的罗音类型凭借具体数值给出分类结果。
【IPC分类】G10L25/18, G10L25/66
【公开号】CN105489228
【申请号】CN201510900075
【发明人】屈世豪, 应东东, 楼瑶
【申请人】杭州百世伽信息科技有限公司
【公开日】2016年4月13日
【申请日】2015年12月8日