本发明属于音频事件分类领域,尤其涉及基于堆叠基稀疏表示的音频事件分类方法及计算机设备。
背景技术:
音频事件分类作为音频信息研究的重要内容之一,得到了广泛关注。基于音频事件分类的音频监控可以作为视频监控的辅助手段。与视频信号相比,音频信号可以不受光照和遮挡的影响,且能很好地保护个人隐私,因此其具有非常广泛的应用价值。音频事件分类技术可以用于智能机器人,以帮助机器人更好地感知周围环境,进而做出正确的决策;音频事件分类技术还可以广泛地用于城市规划、智能家居及生态声学等各个领域。
现有的音频事件分类方法在训练样本充足且音频数据不受噪声干扰的情况下分类效果较好,但是在训练样本不足及音频数据受噪声干扰的情况下分类效果较差。实际应用中,某些音频事件,比如异常音频事件,由于发生概率小,导致采集的这类音频事件的样本较少,因而存在训练样本不足的问题。此外,音频数据在采集过程中经常会受到各种噪声干扰,包括环境噪声干扰及采集设备产生的噪声干扰。训练样本不足和噪声干扰问题为音频事件分类增大了难度,导致分类准确率较低。
技术实现要素:
本发明的目的就是为了解决上述问题,提供一种基于堆叠基稀疏表示的音频事件分类方法及计算机设备,通过堆叠各类音频事件的基函数构建大型音频字典,进而提取样本的稀疏表示系数以更好地表征和识别音频事件。
为了实现上述目的,本发明采用如下技术方案:
基于堆叠基稀疏表示的音频事件分类方法,包括:
步骤(1):训练音频分帧处理:对训练音频文档进行分帧处理,每帧作为一个训练音频样本;
步骤(2):对训练音频文档中的每个训练音频样本进行训练音频特征提取,用提取的训练音频特征表征训练音频样本;
步骤(3):通过堆叠基构建大型音频字典;
步骤(4):对测试音频文档进行和步骤(1)同样的分帧处理,每帧作为一个测试音频样本;
步骤(5):对测试音频文档中的每个测试音频样本进行测试音频特征提取,用提取的测试音频特征表征测试音频样本;
步骤(6):根据步骤(3)构建的大型音频字典,利用正交匹配追踪算法求得测试音频样本的稀疏表示系数;
步骤(7):通过softmax函数对稀疏表示系数进行映射;
步骤(8):通过映射后的稀疏表示系数求得每个测试音频样本在各类音频事件上的置信度;
步骤(9):通过对测试音频文档内所有音频样本的置信度取平均,求得测试音频文档在各类音频事件上的置信度;
步骤(10):求测试音频文档在各个音频事件类上的置信度的最大值,将测试音频文档的音频事件类判别为具有最大置信度值的音频事件类。
所述步骤(1)根据经验法则,将帧长设定为30毫秒,帧移设定为20毫秒;
所述步骤(2)对每个音频样本提取39维mfcc特征,用所述39维mfcc特征来表达每个训练音频样本;
所述步骤(3)通过堆叠基构建大型音频字典的过程包括:
步骤(3.1):训练集中包括若干类音频事件,对于每一类音频事件,用训练集中该类音频事件的样本作为k-svd(k-singularvaluedecomposition)算法的输入,样本是用步骤(2)中提取的训练音频特征表征的训练音频样本。通过k-svd算法创建该类音频事件的音频字典。
假设训练集中共有n类不同音频事件,记通过k-svd算法创建的第i类音频事件的音频字典为bi,其中,i=1,…,n。假设每类音频事件的音频字典中基函数的个数为m个,则bi是尺寸为39×m的矩阵;
步骤(3.2):将各类音频事件的音频字典通过堆叠得到大型音频字典b:
b=[b1b2......bn]
b是尺寸为39×(m·n)的矩阵。
所述步骤(4),分帧处理时,设定帧长为30毫秒,帧移为20毫秒。
所述步骤(5)对测试音频文档中的每个帧提取39维mfcc特征,用所述39维mfcc特征来表达每个测试音频样本。
所述步骤(6):对某一测试音频文档,假设其共有k个由39维mfcc特征表征的样本;基于步骤(3)构建的大型音频字典b,利用正交匹配追踪算法求得每个测试音频样本的稀疏表示系数;记第k个样本的稀疏表示系数为xk,其中,k=1,…,k,xk是m·n维的列向量,xk表示为:
其中,xk1表示xk的第1维;xk(m·n)表示xk的第m·n维。
所述步骤(7)对稀疏表示系数xk(k=1,…,k)进行映射,假设映射后的稀疏系数记为yk,xk到yk的softmax映射关系式为:
其中,ykj表示yk的第j维;xkj表示xk的第j维;xkd表示xk的第d维,j=1,…,m·n,
e是数学常数,近似等于2.718281828。
所述步骤(8)的步骤为:
记通过yk求得的第k个音频样本在第i类音频事件上的置信度为fki;
fki的求解表达式为:
n表示共有n类音频事件。
所述步骤(9)的步骤为:
记测试音频文档在第i类音频事件上的置信度为fi(i=1,…,n):
所述步骤(10):记测试音频文档的分类判别类标签为label,则:
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序运行时实现以下步骤:
步骤(1):训练音频分帧处理:对训练音频文档进行分帧处理,每帧作为一个训练音频样本;
步骤(2):对训练音频文档中的每个训练音频样本进行训练音频特征提取,用提取的训练音频特征表征训练音频样本;
步骤(3):通过堆叠基构建大型音频字典;
步骤(4):对测试音频文档进行和步骤(1)同样的分帧处理,每帧作为一个测试音频样本;
步骤(5):对测试音频文档中的每个测试音频样本进行测试音频特征提取,用提取的测试音频特征表征测试音频样本;
步骤(6):根据步骤(3)构建的大型音频字典,利用正交匹配追踪算法求得测试音频样本的稀疏表示系数;
步骤(7):通过softmax函数对稀疏表示系数进行映射;
步骤(8):通过映射后的稀疏表示系数求得每个测试音频样本在各类音频事件上的置信度;
步骤(9):通过对测试音频文档内所有音频样本的置信度取平均,求得测试音频文档在各类音频事件上的置信度;
步骤(10):求测试音频文档在各个音频事件类上的置信度的最大值,将测试音频文档的音频事件类判别为具有最大置信度值的音频事件类。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
步骤(1):训练音频分帧处理:对训练音频文档进行分帧处理,每帧作为一个训练音频样本;
步骤(2):对训练音频文档中的每个训练音频样本进行训练音频特征提取,用提取的训练音频特征表征训练音频样本;
步骤(3):通过堆叠基构建大型音频字典;
步骤(4):对测试音频文档进行和步骤(1)同样的分帧处理,每帧作为一个测试音频样本;
步骤(5):对测试音频文档中的每个测试音频样本进行测试音频特征提取,用提取的测试音频特征表征测试音频样本;
步骤(6):根据步骤(3)构建的大型音频字典,利用正交匹配追踪算法求得测试音频样本的稀疏表示系数;
步骤(7):通过softmax函数对稀疏表示系数进行映射;
步骤(8):通过映射后的稀疏表示系数求得每个测试音频样本在各类音频事件上的置信度;
步骤(9):通过对测试音频文档内所有音频样本的置信度取平均,求得测试音频文档在各类音频事件上的置信度;
步骤(10):求测试音频文档在各个音频事件类上的置信度的最大值,将测试音频文档的音频事件类判别为具有最大置信度值的音频事件类。
本发明的有益效果:
(1)本发明提出通过堆叠各类音频事件基函数的方法构造大型音频字典,进而提取样本的稀疏表示系数。该方法能使样本的非零系数主要集中于其所属音频事件类的基函数所对应的系数位置处,因而能更好地表征音频事件样本,增大样本的类间差异,减少类内差异,提高分类准确率。
(2)本发明提出通过softmax函数将稀疏表示系数映射到[0,1]区间,然后根据与各类音频事件基函数相对应的稀疏表示系数的累加和值的大小进行分类判别。该分类判别策略未采用其它分类模型,简单易行,节省了训练阶段花费在分类模型上的训练时间,因而能极大地提高训练效率。
(3)本发明提出的基于堆叠基稀疏表示的音频事件分类方法在训练样本不足时仍然能得到较好的分类效果,因而能有效地解决训练样本不足问题。
(4)本发明提出的基于堆叠基稀疏表示的音频事件分类方法在音频数据受噪声干扰的情况下仍然能得到较好的分类效果,因而其对噪声具有很强的抗干扰性。
(5)本发明提出的基于堆叠基稀疏表示的分类方法并不局限于音频事件分类判别,其可以广泛地推广到各个分类判别领域,为其它分类判别领域提供方法借鉴。
附图说明
图1是本发明提出的基于堆叠基稀疏表示的音频事件分类方法示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1所示,本发明提出的音频场景识别方法主要分为两大模块:训练过程和分类测试过程。其中,训练过程包括对训练数据进行音频分帧处理、音频特征提取和通过堆叠基构建大型音频字典。分类测试过程包括音频分帧处理、音频特征提取、提取稀疏表示系数及分类判别四个过程。以下将对各个部分做详细介绍。
首先介绍训练过程:
(一)音频分帧处理
对训练音频文档进行分帧处理,每帧作为一个音频样本。根据经验法则,本发明将帧长设定为30毫秒,帧移设定为20毫秒。
(二)音频特征提取
表征音频信号最常用的特征是39维mfcc特征,因此本申请对每个帧提取39维mfcc特征,用此39维mfcc特征来表达每个训练音频样本。
(三)通过堆叠基构建大型音频字典
首先,对于每一类音频事件,通过训练集中该类音频事件的训练样本创建该类音频事件的音频字典。字典的创建方法采用k-svd(k-singularvaluedecomposition)算法。假设训练集中共有n类不同音频事件,记通过k-svd算法学习得到的第i类音频事件的音频字典为bi(i=1,…,n)。假设每类音频事件的音频字典中基函数的个数为m个,则bi是尺寸为39×m的矩阵。
其次,将各类音频事件的音频字典通过堆叠得到大型音频字典b:
b=[b1b2......bn](1)
b是尺寸为39×(m·n)的矩阵。
本发明提出通过堆叠各类音频事件的字典得到大型字典,基于大型字典提取样本的稀疏表示系数。与传统的基于每类音频事件自身的音频字典提取稀疏表示系数的方法相比,本发明具有以下优点:对于某一类音频事件的样本,在基于大型字典提取稀疏表示系数时,其稀疏表示系数的非零值主要集中在样本所属音频事件类的音频字典对应的系数部分。比如,第i类音频事件样本的稀疏表示系数的非零值主要集中在与bi所对应的系数部分。因此,本发明将会使各类音频事件样本之间具有很好的区分度,便于后期的分类识别。
以下介绍分类测试过程:
(一)音频分帧处理
对测试音频文档进行和训练阶段同样的分帧处理,即,分帧时,设定帧长为30毫秒,帧移为20毫秒。
(二)音频特征提取
分帧处理后对每个帧提取39维mfcc特征,用此39维mfcc特征来表达每个测试音频样本。
(三)提取稀疏表示系数
根据训练阶段构建的大型字典,利用正交匹配追踪算法求得测试音频样本的稀疏表示系数。
对某一测试音频文档,假设其共有k个由39维mfcc特征表征的样本。对每个样本,基于训练阶段构建的大型字典b,利用正交匹配追踪算法求其稀疏表示系数。记第k个样本的稀疏表示系数为xk(k=1,…,k),因为b是尺寸为39×(m·n)的矩阵,所以xk是(m·n)维的列向量,即xk可表示为:
其中,xk1表示xk的第1维;xk(m·n)表示xk的第(m·n)维。
通过softmax函数对稀疏表示系数进行映射,记映射后的稀疏表示系数为yk(k=1,…,k)。yk(k=1,…,k)的维度也为(m·n)维,即
其中,ykj表示yk的第j维;xkj表示xk的第j维;xkd表示xk的第d维。
稀疏表示系数xk的元素值有正有负,不适合用本发明提出的分类判别策略。经softmax函数映射后,yk的每个元素值都处于[0,1]区间,且所有元素的和值为1,如此处理后的稀疏表示系数yk适合于用本发明提出的分类判别策略。
(四)分类判别
对每个测试音频样本,通过其映射后的稀疏表示系数求其在各类音频事件上的置信度;测试音频文档在各类音频事件上的置信度是通过文档内所有样本的置信度取平均得到的。最后,根据置信度的大小进行分类判别。
这里以第k个测试音频样本为例介绍如何通过其映射后的稀疏表示系数求其在各类音频事件上的置信度。
记通过yk求得的第k个音频样本在第i类音频事件上的置信度为fki(i=1,…,n),fki的求解表达式为:
测试音频文档在各类音频事件上的置信度是通过文档内所有样本的置信度取平均得到的。记测试音频文档在第i类音频事件上的置信度为fi(i=1,…,n),则其求解公式为:
对于测试音频文档,在分类时,根据其在各个音频事件类上的置信度,将其分类为置信度值最大的那一类音频事件。记测试音频文档的分类判别类标签为label,则:
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。