一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习算法的鼾声监测方法与系统以及相应的电动床控制方法和系统与流程

2021-11-05 21:31:00 来源:中国专利 TAG:


1.本发明涉及语音相关技术,深度学习技术,尤其涉及一种基于深度学习算法的鼾声监测和电动床的控制方法和装置。


背景技术:

2.据不完全统计,我国打鼾人群占比近两成,打鼾严重者甚至引发阻塞性呼吸暂停,严重影响身体健康。
3.目前,相关鼾声检测技术多采用以下方法:使用接触式穿戴设备来进行检测,这种方法可以达到最高的检测率并且不易误触发,但是却会影响睡眠;采用声音传感器检测分贝或者振动传感器检测呼吸道震动的方法,但是这种方法的准确率较低,很容易发生误检现象。所以需要一种能够在不影响睡眠质量的条件下准确检测鼾声,最大限度避免误检的打鼾检测及干预系统。


技术实现要素:

4.本发明提供一种基于深度学习和语音识别技术的鼾声检测方法,并在嵌入式终端实现,可解决现有技术中的严重误识别和漏识别现象。
5.至少为此目的,本技术的一些实施例提供一种基于深度学习算法的鼾声监测方法,其包括:采集声音信号并进行切片得到音频切片;使用静音检测算法判断音频切片中是否包含声音;将判断为包含声音的音频切片进行梅尔频率倒谱系数(mfcc)特征提取,然后使用预先训练好的深度学习模型进行深度特征提取和分类将每个音频片段分类为包含鼾声的音频切片和不包含鼾声的音频切片的步骤。
6.在一些实施例中,所述静音检测算法包括计算音频切片中的包括能量峰值、能量均值以及能量标准差的参数中的至少一个;以及将计算得到的参数与预先设定的静音阈值进行比较,若所述参数全部低于阈值,则将音频切片识别为静音。
7.在一些实施例中,所述鼾声分类算法包括:对音频切片进行分帧操作;对分帧后的数据提取mfcc特征,将所述mfcc特征组成所述音频切片的频谱图并其输入到预先训练的卷积神经网络中提取深度学习特征;然后将所述深度学习特征输入到全连接层中进行分类,以将每个音频切片分类为包含鼾声的音频切片和不包含鼾声的音频切片的步骤。其中所述深度学习特征为高维度的特征向量。
8.在一些实施例中,采用滑窗帧移的方式进行分帧。
9.在一些实施例中,其中每帧提取64维频谱特征。
10.在一些实施例中,进一步包括判断一定时间段内被分类为包含鼾声的音频切片占该段时间内的总音频切片数的比例,若超过预设的阈值,则判断为在这段时间内存在鼾声事件。
11.在一些实施例中,所述鼾声事件判断方法包括:将上述的一个音频切片的识别结
果存入固定长度队列中,所述识别结果包括不包含声音的音频切片;包含鼾声的音频切片;和不包含鼾声的音频切片;若包含鼾声的音频切片数量占固定长度队列内总音频切片数量的比例超过预设的阈值,则判断为在所述固定长度队列对应的时间段内存在鼾声事件。
12.在一些实施例中,若包含鼾声的音频切片数量占固定长度队列内总音频切片数量的比例超过预设的比例值,例如75%,则判断为在所述固定长度队列对应的时间段内存在鼾声事件。
13.本技术还提供了基于深度学习算法的鼾声监测系统,其包括嵌入式开发板,所述开发板作为计算机程序载体,执行所述计算机程序以实现上述权利要求1至8中任意一项的方法。
14.在一些实施例中,所述嵌入式开发板包括录音功能,所述系统被配置为实时开启所述开发板的录音功能进行鼾声事件的检测。
15.在一些实施例中,采用arm架构imx6ul型号开发板来运行训练好的深度学习模型。
16.本技术的另一些实施例提供了一种基于深度学习算法的电动床控制方法,其包括:采集声音信号并进行切片得到音频切片;使用静音检测算法判断音频切片中是否包含声音;将判断为包含声音的音频切片进行梅尔频率倒谱系数(mfcc)特征提取,然后使用预先训练好的深度学习模型进行深度特征提取和分类将每个音频片段分类为包含鼾声的音频切片和不包含鼾声的音频切片;判断一定时间段内被分类为包含鼾声的音频切片占该段时间内的总音频切片数的比例,若超过预设的阈值,则判断为在这段时间内存在鼾声事件;检测到鼾声事件后,驱动所述电动床的至少一个部件动作以干扰所述鼾声的产生的步骤。
17.在一些实施例中,所述静音检测算法包括计算音频切片中的包括能量峰值、能量均值以及能量标准差的参数中的至少一个;以及将计算得到的参数与预先设定的静音阈值进行比较,若所述参数全部低于阈值,则将音频切片识别为静音。
18.在一些实施例中,所述鼾声分类算法包括:对音频切片进行分帧操作;对分帧后的数据提取mfcc特征,将所述mfcc特征组成所述音频切片的频谱图并输入到预先训练的卷积神经网络中提取深度学习特征;然后将所述深度学习特征输入到全连接层中进行分类,以将每个音频切片分类为包含鼾声的音频切片和不包含鼾声的音频切片的步骤。其中所述深度学习特征为高维度的特征向量。
19.在一些实施例中,采用滑窗帧移的方式进行分帧。
20.在一些实施例中,其中每帧提取64维频谱特征。
21.在一些实施例中,所述鼾声事件判断方法包括:将上述的一个音频切片的识别结果存入固定长度队列中,所述识别结果包括不包含声音的音频切片;包含鼾声的音频切片;和不包含鼾声的音频切片;若包含鼾声的音频切片数量占固定长度队列内总音频切片数量的比例超过预设的阈值,则判断在所述固定长度队列对应的时间段内存在鼾声事件。
22.在一些实施例中,若包含鼾声的音频切片数量占固定长度队列内总音频切片数量的比例超过预设的比例值,例如75%,则判断为在所述固定长度队列对应的时间段内存在鼾声事件。
23.在一些实施例中,当检测到鼾声事件,控制电动床将床头抬起预定角度,持续运行鼾声事件的检测算法,若在预定的时间内未再检测到鼾声事件,则控制床头放平。
24.本技术的又一些实施例提供了一种基于深度学习算法的电动床控制系统,其包括
嵌入式开发板,所述开发板作为计算机程序载体,执行所述计算机程序以实现上述权利要求12至19中任意一项的方法。
25.在一些实施例中,所述嵌入式开发板包括录音功能,所述系统被配置为实时开启所述开发板的录音功能进行鼾声事件的检测。
26.在一些实施例中,采用arm架构imx6ul型号开发板来运行训练好的深度学习模型。
27.在一些实施例中,所述系统包括控制终端,所述控制终端存储所述计算机程序以使得在所述控制终端运行所述计算机程序控制所述电动床。
28.本发明提供的基于深度学习算法的鼾声识别设备在判断鼾声与非鼾声的准确率上相比传统方法有较大的提高,带来更好的用户体验。
29.此外本技术中提供这种结构可以大幅较少网络参数量和计算量,可广泛应用于手机、嵌入式等移动端中。
附图说明
30.图1是根据本技术的实施例的基于深度学习算法的鼾声监测方法与干预方法的流程原理图;
31.图2是根据本技术的实施例的基于深度学习算法的鼾声监测方法与干预方法的流程示意图;
32.图3是根据本技术的实施例的静音算法检测的流程示意图;
33.图4是根据本技术的实施例的特征获得方法的流程示意图;
34.图5是显示逐层卷积、逐像素卷积和常规卷积比对的功能原理图;
35.图6是本技术的实施例中对深度神经网络进行预先训练的流程示意图;
36.图7是本技术的一些实施例中的采样原理的示意图。
具体实施方式
37.下面结合附图对本技术的具体实施方式进行详细说明。
38.图1示出了根据本发明的基于深度学习算法的鼾声检测方法的实施例的流程图,如图所示,该方法包括以下步骤。
39.步骤s101,采集声音信号,其中可以将采样频率设置为16khz,采样过程从系统开启时便持续运行,直到主动关闭时才会停止采集。
40.步骤s102,对采集到的音频信号进行切片到指定长度,本实施例采用 6秒长度,其中3秒的长度采用滑窗的方式,即每当持续不断地采集的信号中满足新的6秒数据产生时,就从中提取音频切片。
41.步骤s103,对得到的定长音频切片进行静音算法分析,判断音频片段中是否包含声音;
42.步骤s104,若所取音频切片中包含声音,则进行声学特征提取;
43.步骤s105,将提取好的声学特征输入到预先训练好的深度神经网络中进行深度特征提取,最终将音频段编码成固定维度的特征,本实施例中采用128维度特征;
44.步骤s106,将得到的固定维度的特征输入到全连接层网络中进行最终的二分类,得到当前音频切片是否为鼾声。
45.步骤s107,将上面分类的结果存入固定长度队列中,然后对队列中总的音频切片结果进行整合分析,判断在这个固定的时间段内是否存在鼾声事件。
46.固定长度队列中可以仅包括所述分类的结果。
47.固定长度队列中可以包括所述分类的结果以及步骤s104中判断为不包含声音的音频切片。
48.在本技术中音频切片也被称为音频数据切片。
49.上述是否有鼾声的判断结果可以作为后续对电动床动作的控制依据。例如,可以根据上述固定长度队列中的包含鼾声的音频切片的比例来建立鼾声事件,并根据该鼾声事件控制电动床的动作或动作序列。
50.在电动床动作的过程中,可以继续采集音频并按照上述监测方法监测,如果在预定的时间段没有包含鼾声的音频切片,则停止电动床的动作。
51.下面对上述方法的各步骤作具体说明。
52.具体而言,对采集到的音频信号进行切片的步骤s102可以采用6秒的切片长度,即每当持续不断地采集的信号中满足新的6秒数据产生时,就从中提取音频切片。音频切片的时长设置最好尽量保证一个音频切片中存在至少一个完整的鼾声,以提高算法的检测成功率。以人的呼吸频率每分钟10

20次为例,6秒足以包含一个完整的呼吸。
53.还可以设置为其中3秒的长度采用滑窗的方式,这是因为切片时可能会将一个完整的鼾声切在了两个不同的6秒内,并由此可能对两个6秒切片的鼾声判断都有影响。滑窗的方式可以最大程度地避免这个问题。滑窗的示意图如图7所示,其中每个格代表一秒钟的数据长度。采用这种滑窗的方式,可以避免鼾声的遗漏。
54.具体而言,对截取的音频切片进行静音算法检测,来确定音频切片中是否包含声音的步骤,即步骤s103,如图3所示进一步包括:
55.计算音频切片中采样值的最大能量值、最小能量值、以及能量值标准差,步骤s301;
56.将上面的这三个值与预先设置的静音阈值进行比较,步骤s302,若满足静音条件则认为当前音频切片中不包含声音,则放弃该切片不再进行后续的鼾声监测算法,步骤s303,从而大大降低计算量。
57.在本发明实施例中,使用了相关开发板在睡眠环境下采集无声信号若干,并切片成6秒的音频切片数据,然后计算每个6秒音频切片中的能量最大值,最小值以及标准差,排列后选择第九分位的值作为阈值(例如共有1000个值进行从小到大排序,则选取第900个值作为阈值),其中,所谓睡眠环境是指人耳听不到明显声音,接近睡眠时的环境即可。例如在此环境中采集100个6秒钟的音频,分别提取能量最大值,最小值以及标准差,并分别进行从小到大排序后各自选取第90个值作为阈值,即为九分位值作为阈值,例如设置能量最大阈值为2000,则在算法的实际使用过程中,若6秒的音频切片中的最大能量值达不到2000,则认为这6秒的切片是静音的,当然本发明实施例不仅采用了能量最大值,还采用了标准差等其他阈值共同作为静音的判别标准。
58.对判断为有声音的音频切片则进行声学特征获取的步骤,即步骤104。该步骤如图4所示具体包括:
59.将采样信号进行数据标准化,即步骤401,在本发明实施例中,申请人发现在识别
模型的训练过程中,对6秒的音频切片数据进行标准化能大大提高模型的识别准确率。若不进行标准化,按照采样字节类型int16来计算,则音频的采样值在范围

32768~32767之间,数值过大不利于神经网络算法的拟合,进行归一化之后能量的取值范围被限制在了负一到一之间,更利于算法的拟合。因此,在本发明实施例中,对每一个6秒的音频切片,首先计算这6秒音频切片中的能量最大值,然后对每个采样点除以这个最大值进行标准化。例如可以按照16khz的采样频率,则6秒音频切片共9 万六千个采样点,那么将这九万六千个点除以最大值得到标准化之后的6 秒音频切片数据。
60.将标准化后的音频切片数据进行分帧,本实施例中采用每帧25ms的长度,帧与帧之间采用10ms的滑窗长度,即步骤402。
61.然后对于每一帧音频,提取高维度,例如64维mfcc(梅尔频率倒谱系数)特征,步骤s403,其中mfcc是语音识别领域和声纹识别领域最常用的声学特征之一,分别包含了加窗、快速傅里叶变换、梅尔(mel) 滤波、离散余弦变换一系列步骤。
62.具体而言,本发明实施例中,特征提取部分的计算过程如下:一个样本的长度为6秒,先对其进行分帧,帧长25ms,帧移10ms,共切分成598 帧,每帧25ms以及采样率16khz则每帧共400采样点。在步骤s4031,对每一帧进行加窗,加窗的作用是消除滑窗过程中帧的两端的不连续性,本发明实施例采用汉明窗,汉明窗示意图如图7,可以加强每一帧中间非重叠部分的权重,同时弱化帧与帧连接处的权重。在步骤s4032,对加窗后的数据进行快速傅里叶变换,每帧数据点400个,补0之后共512个点,因512点更适合做fft。在步骤s4033,对上一步得到的频谱进行梅尔滤波,滤波频率范围采用125hz到7500hz,频率转为梅尔值如公式1所示, 每帧提取64维梅尔频率,其中f
hz
是频率,f
mel
是对应的梅尔频率。在步骤 s4034,对得到的梅尔频率取对数后进行离散余弦变换即为最终的mfcc 特征。
[0063][0064]
在得到mfcc分析结果之后,可以直接将mfcc分析的数值结果变形成卷积神经网络可处理的图像维度,即长*宽*通道。在本发明实施例中,每一个网络的输入来自于对6秒音频切片的处理,按照每帧25ms,滑窗 10ms,每帧提取64维度mfcc特征,则6秒的音频最终将被处理为598*64 维度的数组,即帧数*特征维度。然后将其变形为图像的维度96*64*6,即形成频谱图输入神经网络。可以继而对上述图像维度进行变形而契合设计的卷积神经网络而丢弃最后面几帧。应当理解,也可以设计其它样式的卷积神经网络并对mfcc特征进行相应的变形来生成对应的图像维度。
[0065]
步骤105为对mfcc特征进行深度学习特征提取以及分类。
[0066]
本发明实施例采用深度卷积神经网络作为深度学习特征提取器,将上面获得的mfcc频谱特征作为卷积神经网络的输入,并输出128维特征。
[0067]
卷积神经网络是计算机视觉图像处理领域占据主导地位的一种神经网络结构,具有平移不变性及局部参数共享的特性,非常适合用于提取类图像数据中的一些抽象的深度特征。mfcc特征从理论的角度上来讲是音频信号在不同频率上能量的分布随着时间的变化,在步骤105中将其处理成类似图矩阵的数据结构之后,同样适合使用卷积神经网络进行处理。
[0068]
通过卷积神经网络得到128维特征后,将128维特征送到全连接层中进行最终分
类,即步骤106。在这里,卷积神经网络的作用是将mfcc特征进行更深层次的抽象特征提取,因为只有mfcc特征无法难以直接用全连接层进行识别,全连接层的作用是对提取到的抽象特征进行自学习以及分类,在本例中全连接层做二分类(1和0),即全连接层的输出包含了两个节点s(鼾声)和n(无鼾声),当输出的节点s的值大于节点n的值时,即是鼾声的可能大于不是鼾声的可能,因此判定此音频切片属于鼾声,反之则认为不是鼾声,在本实施例中,所设计的卷积神经网络结构如表1所示。
[0069]
表1
[0070][0071][0072]
图6示出了训练用于提取特征的卷积神经网络模型和用于最终分类的全连接层的方法的流程图:
[0073]
首先,通过各种渠道收集大量不同人群的打鼾声音数据总计时长约10 小时,步骤s601,以及大量的各种各样可能在夜间产生的声音,即最大可能引起误判断的声音,例如风声雨声等共计同样约10小时,步骤s602。
[0074]
在数据全部收集并处理完毕之后,便开始对模型的训练,训练方式可以采取标准的梯度下降法来训练,损失函数使用交叉熵损失。在端到端的自训练过程中,卷积神经网络可以学习如何自动提取mfcc中对判断鼾声最重要的特征,而全连连接层也可以学习如何对卷积神经网络提取到的特征进行自动分类。分类步骤s603,并将最终得到的检测模型用于鼾声的检测。
[0075]
可以继而根据全连接层对鼾声的检测结果以及有无声音的结果判断是否存在鼾声事件,步骤s107。
[0076]
鼾声事件可以为将每次判断音频切片为鼾声就将其确定为鼾声事件并可选的进行干预。但是,若每次判断音频切片为鼾声就进行干预则干预过程可能太过频繁,可选的方
法是核定一个时长,当这段时间内检测到的属于鼾声的音频切片数量超过一定数目时,判定这段时间睡眠者存在打鼾行为。如图1所示,本发明实施例中可以维护一个固定长度的队列结构,例如采用队列长度39,即在队列中共有39个分析结果,每个分析结果代表了一个6秒的样本经过算法判断是否属于鼾声,每个样本之间存在3秒钟的重叠,则填充满一个队列需要的总时长为3 39*3=120秒,即一个队列中保存了两分钟内的所有分析结果,步骤s701。
[0077]
针对队列中的所有分析结果,若判断为鼾声的音频切片数量超过一定的比例,例如70%、75%、85%中的一个,则认为这段时间有鼾声事件的产生,步骤s702,后续可以可选地启动后续的鼾声干预行为。在本发明实施例采用三分之一,即长度为39的队列中,有超过26个切片被判断为鼾声,作为阈值,超过了这个阈值则认为这两分钟内存在鼾声事件。如图1、 2所示,当维护的队列被判断为未达到干预阈值,则将队首的数据出队列,并向队列中补充新的数据,并继续进行判断是否符合干预阈值。
[0078]
所述干预可以是例如图2所示的启动电动床的床头电机抬起床头一定角度,例如15度,运行干预步骤后,可以清空上述队列。此后可以保持干预状态一段时间,然后检测干预的时间段中的检测周期内是否有鼾声的音频切片,如果有鼾声音频切片则继续保持干预,直至不再有音频切片。
[0079]
进一步地,本发明相关算法均可移植到嵌入式设备中运行,来得到一款鼾声检测设备,并结合电动床、枕头等产品类进行打鼾行为干预。
[0080]
本发明实施例采用arm架构嵌入式开发板来作为本技术的算法、方法的载体,板上可以板载麦克风,mic,采用分离式卷积结构来设计卷积神经网络,分离式卷积与原始卷积的区别与联系如图5所示,从图中可以看出,分离式卷积将传统卷积(a)分为了逐层卷积(b)和逐像素卷积(c)两部分,相关参数定义如图5所示:
[0081]
原始的卷积结构计算量为公式2至公式4:
[0082]
c
ori
=k*k*w
out
*h
out
*c
in
*c
out
ꢀꢀꢀ
(公式2)
[0083]
分离式卷积结构计算量为
[0084]
c
new
=w
out
*h
out
*c
in
*c
out
k*k*c
in
*w
out
*h
out
ꢀꢀꢀ
(公式3)
[0085]
与原来的卷积相比减少的计算量为
[0086][0087]
也就是说如果原来卷积核大小为3*3,那么卷积操作的计算量能降到原来的1/9左右。这种结构可以大幅较少网络参数量和计算量,可广泛应用于手机、嵌入式等移动端中。
[0088]
整体逻辑采用c 语言实现,交叉编译之后移植到嵌入式开发板上运行,经过测试,本发明中的鼾声检测算法不论是鼾声的误检还是漏检都优于传统的鼾声检测类技术。
[0089]
在一些示例实施例中,本文描述的任何方法,过程,信令图,算法或流程图的功能可以由存储在存储器或其他计算机可读或有形媒体的软件和/或计算机程序代码或代码部分实现,并由处理器执行。
[0090]
在一些示例实施例中,本技术中的装置可以被包括或与至少一个软件应用、模块、单元或实体相关联,该软件应用、模块、单元或实体被配置为算术运算,或作为其程序或部分(包括添加或更新的软件例程),由至少一个操作处理器执行。程序,也称为程序产品或计
算机程序,包括软件例程,小程序和宏,可以被存储在任何装置可读数据存储介质中,并且可以包括用于执行特定任务的程序指令。
[0091]
一种计算机程序产品可以包括一个或多个计算机可执行部件,当程序运行时,该计算机可执行部件被配置为执行一些示例实施例。该一个或多个计算机可执行部件可以是至少一个软件代码或代码部分。用于实现示例实施例的功能的更改和配置可以作为例程来执行,该例程可以作为添加或更新的软件例程来实现。在一示例中,可以将软件例程下载到该装置中。
[0092]
作为示例,软件或计算机程序代码或代码的一部分可以是源代码形式,目标代码形式或某种中间形式,并且可以存储在某种载体,分发介质或计算机可读介质,其可以是能够承载程序的任何实体或设备。例如,这样的载体可以包括记录介质、计算机存储器、只读存储器、光电和/或电载体信号、电信信号和/或软件分发包。取决于所需的处理能力,计算机程序可以在单个电子数字计算机中执行,或者可以分布在多个计算机中。所述计算机可读介质或计算机可读存储介质可以是非暂时性介质。
[0093]
在其他示例实施例中,该功能可以由气囊枕中包括的硬件或电路执行,例如通过使用专用集成电路(asic),可编程门阵列(pga),现场可编程门阵列(fpga)或任何其他硬件和软件组合。在又一示例实施例中,该功能可以被实现为信号,诸如可以由从因特网或其他网络下载的电磁信号所携带的非有形手段。
[0094]
根据示例实施例,诸如节点、设备或响应部件之类的装置可以被配置为电路,计算机或微处理器(诸如单芯片计算机元件)或芯片集,其可以至少包括用于提供用于算术运算的存储容量的存储器和/或用于执行算术运算的运算处理器。
[0095]
最后应说明的是:以上实施例对本发明仅仅是做了一个举例说明,在不脱离本发明核心的情况下,任何本领域的技术人员不花费创造性的劳动的变形与改进,都属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献