基于婴儿哭声的情绪检测方法及其装置与流程

文档序号:19008109发布日期:2019-10-29 23:58阅读:480来源:国知局
基于婴儿哭声的情绪检测方法及其装置与流程

本发明涉及大数据技术领域,尤其涉及一种基于婴儿哭声的情绪检测方法及其装置。



背景技术:

相关技术中,将声音信号直接输入到声音识别模型中,输出对应的情绪识别结果,以实现对声音信号的情绪识别。其中,声音识别模型为预先训练好的神经网络。

对于婴儿哭声这种特定种类的声音信号,没有具体的语音内容,采用现有的声音识别模型,存在识别准确率低的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于婴儿哭声的情绪检测方法及其装置,用以解决现有技术中对婴儿哭声的情绪识别准确率低的问题。

一方面,本发明实施例提供了一种基于婴儿哭声的情绪检测方法,所述方法包括:获取待检测的婴儿哭声信号;对所述婴儿哭声信号进行加窗;分别对每个时间窗内的婴儿哭声窗信号进行快速傅里叶变换,以生成所述婴儿哭声信号对应的频谱图;以及将所述频谱图输入训练好的情绪检测模型中,以确定所述婴儿哭声信号对应的情绪;其中,所述情绪检测模型包括胶囊网络。

进一步地,所述获取待检测的婴儿哭声信号,包括:获取环境语音信号;对所述环境语音信号进行高通滤波,以滤除低频语音信号;使用静音检测算法对滤波后的所述环境语音信号进行检测,以获取所述婴儿哭声信号。

进一步地,所述使用静音检测算法对滤波后的所述环境语音信号进行检测,包括:获取一帧所述滤波后的环境语音信号作为环境语音帧信号;计算所述环境语音帧信号对应的频谱平坦度和短时能量值;判断所述频谱平坦度是否小于第一预设阈值,且所述短时能量值是否小于第二预设阈值;若是,则将所述环境语音帧信号作为所述婴儿哭声信号对应的婴儿哭声帧信号。

进一步地,所述训练好的情绪检测模型通过以下步骤完成训练:获取参考婴儿哭声信号对应的参考频谱图和参考情绪;将所述参考频谱图输入所述胶囊网络;使用交叉熵损失函数计算所述胶囊网络的输出与所述参考情绪的差值,以优化所述胶囊网络的参数;基于优化后的所述胶囊网络的参数确定所述训练好的情绪检测模型。

一方面,本发明实施例提供了一种基于婴儿哭声的情绪检测装置,所述装置包括:第一获取模块,用于获取待检测的婴儿哭声信号;加窗模块,用于对所述婴儿哭声信号进行加窗;变换模块,用于分别对每个时间窗内的婴儿哭声窗信号进行快速傅里叶变换,以生成所述婴儿哭声信号对应的频谱图;以及第一输入模块,用于将所述频谱图输入训练好的情绪检测模型中,以确定所述婴儿哭声信号对应的情绪;其中,所述情绪检测模型包括胶囊网络。

进一步地,所述第一获取模块包括:获取子模块,用于获取环境语音信号;滤波子模块,用于对所述环境语音信号进行高通滤波,以滤除低频语音信号;检测子模块,用于使用静音检测算法对滤波后的所述环境语音信号进行检测,以获取所述婴儿哭声信号。

进一步地,所述检测子模块包括:获取单元,用于获取一帧所述滤波后的环境语音信号作为环境语音帧信号;计算单元,用于计算所述环境语音帧信号对应的频谱平坦度和短时能量值;判断单元,用于判断所述频谱平坦度是否小于第一预设阈值,且所述短时能量值是否小于第二预设阈值;设置单元,用于当所述判断单元的输出为肯定信号时,将所述环境语音帧信号作为所述婴儿哭声信号对应的婴儿哭声帧信号。

进一步地,所述装置还包括:第二获取模块,用于获取参考婴儿哭声信号对应的参考频谱图和参考情绪;第二输入模块,用于将所述参考频谱图输入所述胶囊网络;计算模块,用于使用交叉熵损失函数计算所述胶囊网络的输出与所述参考情绪的差值,以优化所述胶囊网络的参数;确定模块,用于基于优化后的所述胶囊网络的参数确定所述训练好的情绪检测模型。

一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时实现上述的基于婴儿哭声的情绪检测方法的步骤。

一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的基于婴儿哭声的情绪检测方法的步骤。

在本发明实施例中,将婴儿哭声信号通过傅里叶变换转化为对应的声音频谱图像,使用胶囊网络对声音频谱进行情绪识别,解决了现有技术中对婴儿哭声的识别准确率低的问题,达到了提高对婴儿哭声的识别准确度的效果。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例所提供的一种基于婴儿哭声的情绪检测方法的流程示意图;

图2为本发明实施例所提供的胶囊网络的结构示意图;

图3为本发明实施例所提供的基于婴儿哭声的情绪检测方法的一个示例的流程图;

图4为本发明实施例所提供的一种基于婴儿哭声的情绪检测装置的结构示意图;以及

图5为本发明实施例所提供的一种计算机设备的示意图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的相同的字段,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

基于上述现有技术的描述可以知道,相关技术中,对于婴儿哭声这种特定种类的声音信号,没有具体的语音内容,采用现有的声音识别模型,存在识别准确率低的问题。

针对这一问题,本发明实施例提供了一种基于婴儿哭声的情绪检测方法,将婴儿哭声信号通过傅里叶变换转化为对应的声音频谱图像,使用胶囊网络对声音频谱进行情绪识别,提高了对婴儿哭声的识别准确度。

图1为本发明实施例所提供的一种基于婴儿哭声的情绪检测方法的流程示意图。如图1所示,该方法包括:

步骤s101,获取待检测的婴儿哭声信号。

需要说明的是,本发明实施例所提出的基于婴儿哭声的情绪检测方法能够从嘈杂的环境语音信号中获取婴儿哭声信号,再对婴儿哭声信号进行情绪检测。

因此,为了能够从嘈杂的环境语音信号中获取婴儿哭声信号,一种可能的实现方式是,获取环境语音信号,对环境语音信号进行高通滤波,以滤除低频语音信号。使用静音检测算法对滤波后的环境语音信号进行检测,以获取婴儿哭声信号。

需要说明的是,环境语音信号中可能包括婴儿哭声信号,人说话的声音信号,环境噪音信号等,而婴儿哭声信号相比于其他语音信号而言,频率更高一些,因此可以通过高通滤波的方式对其他语音信号进行滤除。

此外,婴儿哭声信号没有一个完全连续的特征,而是像脉冲一样的序列,每个序列持续时间也不一样。因此,还需要使用静音检测算法对滤波后的环境语音信号进行检测,以获取所述婴儿哭声信号。

一种可能的实现方式是,获取一帧滤波后的环境语音信号作为环境语音帧信号,计算环境语音帧信号对应的频谱平坦度和短时能量值。判断频谱平坦度是否小于第一预设阈值,且短时能量值是否小于第二预设阈值,若是,则将环境语音帧信号作为婴儿哭声信号对应的婴儿哭声帧信号。

其中,短时能量值是一帧语音信号采样点能量值的加权平方和,频谱平坦度是一帧语音信号在频率域上功率的相对变化。

频谱平坦度的计算公式如下:

sfdb=10log10(gs/as)

其中,sfdb表示频谱平坦度,gs和as分别是音频频谱在空间上和算术上的平均数。

应当理解,若环境语音帧信号对应的频谱平坦度小于第一预设阈值,且短时能量值小于第二预设阈值,则说明该环境语音帧信号是婴儿哭声帧信号。

进一步地,将多帧婴儿哭声帧信号进行拼接,即可得到婴儿哭声信号。

步骤s102,对婴儿哭声信号进行加窗。

为了让生成的对应的频谱图在时间上具有较高的分辨率,一种可能的实现方式是,每15帧婴儿哭声信号加一个时间窗,得到婴儿哭声窗信号,相邻的两个婴儿哭声窗信号重叠50%。

步骤s103,分别对每个时间窗内的婴儿哭声窗信号进行快速傅里叶变换,以生成婴儿哭声信号对应的频谱图。

其中,快速傅里叶变换的大小为256。

应当理解,每个婴儿哭声窗信号对应一个频谱图,若相邻两个婴儿哭声窗信号重叠50%时,则对应的两个频谱图也存在相应的重叠。

而婴儿哭声信号对应多个婴儿哭声窗信号,因此,婴儿哭声信号对应的频谱图为多个。

步骤s104,将频谱图输入训练好的情绪检测模型中,以确定婴儿哭声信号对应的情绪。

其中,情绪检测模型包括胶囊网络。

需要说明的是,本发明实施例所提出的胶囊网络是由一些滤波器组成的,这些滤波器可以检测物体,具体根据对提取的特征在线形子空间上做对齐来检测物体。

如图2所示,胶囊网络包括卷积relu层、主要胶囊层、哭泣胶囊层。

卷积relu层主要的功能是负责提取输入图像的低级特征,包含有128个步长为2的9x9卷积核,激活函数为relu线性整流函数。这一层将像素点的强度转成了局部特征检测器,作为胶囊的输入。卷积relu层的胶囊是多维度物体的最底层,激活这些胶囊对应着反转渲染过程。

主要胶囊层是一个卷积胶囊层,该层包括32个通道,每个胶囊含有8个卷积单元,也就是每个胶囊都是8维的。每个单元是步长为2的9x9的卷积核。每一个胶囊的输出可以看到所有128x28x28个卷积单元的输出,它们的感受野和胶囊的中心重合。总体上来说,主要胶囊层有[32,10,10]个胶囊输出,每一个输出都是一个8维的向量,每一个输出在[6,6]的网格中的胶囊之间共享权重。

哭泣胶囊层对应着不同的情绪类别,每一个类都有一个16维的胶囊,每一个哭泣层的胶囊的向量长度代表每一个类别是否出现,向量长度还可以用来计算交叉熵损失函数。哭泣胶囊层的输出连接了softmax,来确定婴儿哭声信号对应的情绪。

需要特别说明的是,胶囊是一组神经元学习去辨认图像中的一些物体是否出现,并将其性质进行编码成向量,向量的模的大小就代表一个物体是否出现。例如,每一个胶囊都可以去学习在图像上辨认特定的物体或者物体的一部分。在神经网络的框架下,很多胶囊可以被聚到一起从而形成一个胶囊层,其中里面每一个单元都会输出一个向量,而不是传统的标量的激活输出。

胶囊的输出向量的模的大小代表被胶囊代表的这个物体出现在当前输入种的概率,使用非线性函数可以将任何输出向量的模的大小压缩到[0,1],这个非线性函数为:

其中vj是胶囊j的输出向量。也就是说,胶囊j对输入向量sj施加一个非线性的压缩激活函数,然后输出向量vj。sj是被保留下来的,只是它的模的大小被压缩到0到1之间了。vj里面的参数代表了物体不同的性质(比如位置,大小,纹理),模的大小代表了是否存在这个物体。

输入向量sj是一个对所有预测向量加权求和得到的,是对上一层中的一个胶囊的输出ui乘以一个权重矩阵wji,公式如下:

其中cij称作耦合系数,由囊间动态路由算法进行更新,胶囊i和同一层的其他胶囊的耦合系数之和等于1。

最初的bij被初始化为0,胶囊i到下一层中所有胶囊的耦合系数都相等,然后对接收到的所有输入进行加权并累加求和得到sj,其中权值为各耦合系数cij,接着使用非线性函数对sj进行处理,得到vj,再使用以下公式对bij和cij进行更新。

在传统的胶囊层中,在胶囊中的每一个单元是一个卷积单元。因此,每一个胶囊会输出一系列向量而不是一个单独的向量。

耦合系数决定了信息是如何在胶囊对之间流通的。对于一个包含k类的分类任务,胶囊网络的最后一层可以被设计成有k个胶囊,每一个代表一个类。因为一个向量输出的长度代表是否存在一个物体,在最后一层中,每个胶囊的长度可以被看作成一个图片是否属于类别k的概率。

具体在本发明实施例中,可以将婴儿哭声信号对应的情绪分为正向的、烦躁的、哭泣三类。

为了得到本发明实施例所提供的训练好的情绪检测模型,一种可能的实现方式是,训练好的情绪检测模型通过以下步骤完成训练:

s11,获取参考婴儿哭声信号对应的参考频谱图和参考情绪。

应当理解,本发明实施例所提供的参考频谱图和参考情绪是用于训练情绪检测模型的,因此,每一张参考频谱图正确对应着一种参考情绪。

s12,将参考频谱图输入胶囊网络。

s13,使用交叉熵损失函数计算胶囊网络的输出与参考情绪的差值,以优化胶囊网络的参数。

其中,交叉熵计算的是实际输出概率与期望输出概率的距离,也就是说,交叉熵的值越小,两个概率分布就越接近。

当每一次测试中实际输出概率与期望输出概率完全相同时,说明已完成胶囊网络的参数优化。

s14,基于优化后的胶囊网络的参数确定训练好的情绪检测模型。

综上所述,本发明实施例所提出的一种基于婴儿哭声的情绪检测方法。获取待检测的婴儿哭声信号,对婴儿哭声信号进行加窗,分别对每个时间窗内的婴儿哭声窗信号进行快速傅里叶变换,以生成婴儿哭声信号对应的频谱图。将频谱图输入训练好的情绪检测模型中,以确定婴儿哭声信号对应的情绪。其中,情绪检测模型包括胶囊网络。由此,实现了根据待检测的婴儿哭声信号,生成对应的频谱图。使用由胶囊网络训练生成的情绪检测模型对频谱图进行情绪检测,进而确定婴儿哭声信号对应的情绪。

为了更加清楚地说明本发明实施例所提供的基于婴儿哭声的情绪检测方法,下面进行举例说明。

如图3所示,首先对参考婴儿哭声信号进行快速傅里叶变换,得到参考婴儿哭声信号对应的参考频谱图,利用参考频谱图对胶囊网络的参数进行训练,得到情绪检测模型。

获取可能包含婴儿哭声信号的环境语音信号,对其进行高通滤波以滤除环境噪声,然后使用静音检测算法对滤波后的语音信号进行检测,以获取待情绪检测的婴儿哭声信号。对婴儿哭声信号进行快速傅里叶变换,得到对应的频谱图,利用情绪检测模型检测对应的情绪。

为了实现上述实施例,本发明实施例还提出了一种基于婴儿哭声的情绪检测装置。图4为本发明实施例所提供的一种基于婴儿哭声的情绪检测装置的结构示意图。该装置用于执行上述情绪检测方法,如图4所示,该装置包括:第一获取模块210,加窗模块220,变换模块230,第一输入模块240。

第一获取模块210,用于获取待检测的婴儿哭声信号。

加窗模块220,用于对婴儿哭声信号进行加窗。

变换模块230,用于分别对每个时间窗内的婴儿哭声窗信号进行快速傅里叶变换,以生成婴儿哭声信号对应的频谱图。

第一输入模块240,用于将频谱图输入训练好的情绪检测模型中,以确定婴儿哭声信号对应的情绪;其中,情绪检测模型包括胶囊网络。

进一步地,为了能够从嘈杂的环境语音信号中获取婴儿哭声信号,一种可能的实现方式是,第一获取模块210包括:获取子模块211,用于获取环境语音信号。滤波子模块212,用于对环境语音信号进行高通滤波,以滤除低频语音信号。检测子模块213,用于使用静音检测算法对滤波后的环境语音信号进行检测,以获取婴儿哭声信号。

进一步地,为了能够对滤波后的环境语音信号进行检测,以获取婴儿哭声信号,一种可能的实现方式是,检测子模块213包括:获取单元2131,用于获取一帧滤波后的环境语音信号作为环境语音帧信号。计算单元2132,用于计算环境语音帧信号对应的频谱平坦度和短时能量值。判断单元2133,用于判断频谱平坦度是否小于第一预设阈值,且短时能量值是否小于第二预设阈值。设置单元2134,用于当判断单元的输出为肯定信号时,将环境语音帧信号作为婴儿哭声信号对应的婴儿哭声帧信号。

进一步地,为了得到本发明实施例所提供的训练好的情绪检测模型,一种可能的实现方式是,该装置还包括:第二获取模块250,用于获取参考婴儿哭声信号对应的参考频谱图和参考情绪。第二输入模块260,用于将参考频谱图输入胶囊网络。计算模块270,用于使用交叉熵损失函数计算胶囊网络的输出与参考情绪的差值,以优化胶囊网络的参数。确定模块280,用于基于优化后的胶囊网络的参数确定训练好的情绪检测模型。

需要说明的是,前述对基于婴儿哭声的情绪检测方法实施例的解释说明也适用于该实施例的基于婴儿哭声的情绪检测装置,此处不再赘述。

综上所述,本发明实施例所提出的一种基于婴儿哭声的情绪检测装置。获取待检测的婴儿哭声信号,对婴儿哭声信号进行加窗,分别对每个时间窗内的婴儿哭声窗信号进行快速傅里叶变换,以生成婴儿哭声信号对应的频谱图。将频谱图输入训练好的情绪检测模型中,以确定婴儿哭声信号对应的情绪。其中,情绪检测模型包括胶囊网络。由此,实现了根据待检测的婴儿哭声信号,生成对应的频谱图。使用由胶囊网络训练生成的情绪检测模型对频谱图进行情绪检测,进而确定婴儿哭声信号对应的情绪。

为了实现上述实施例,本发明实施例还提出一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如前述方法实施例的基于婴儿哭声的情绪检测方法的步骤。

图5为本发明实施例提供的一种计算机设备的示意图。如图5所示,该实施例的计算机设备50包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53,该计算机程序53被处理器51执行时实现实施例中的基于婴儿哭声的情绪检测方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器51执行时实现实施例中基于婴儿哭声的情绪检测装置中各模型/单元的功能,为避免重复,此处不一一赘述。

计算机设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图5仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器51可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器52可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。存储器52也可以是计算机设备50的外部存储设备,例如计算机设备50上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器52还可以既包括计算机设备50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。

为了实现上述实施例,本发明实施例还提出一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如前述方法实施例的基于婴儿哭声的情绪检测方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1