一种两级子空间划分方法及装置与流程

文档序号:18239317发布日期:2019-07-24 08:54阅读:420来源:国知局
一种两级子空间划分方法及装置与流程

本发明涉及一种两级子空间划分方法及装置,属于计算机技术领域。



背景技术:

目前基于浮点型比较算法,耗时较大,系统超过2000个语音模型以后,其实时性不足以满足业务需求。随着系统演进,模型特征库的增大,基于大规模语音模型特征比较,对传统的比较算法提出了挑战,无法满足系统的实时要求。因此提出分为两级比较的思路,其中子空间的划分成为计算中的难点,如何将模型库中模型划分到不同的子空间中。在现有的算法中,并没有一个很好的算法将语音模型特征很好地划分子空间,传统的聚类算法采用最小二乘法计算模型之间距离,无法有效划分子空间,现有技术存在以下缺点:

1、目前基于浮点型比较算法,耗时较大,系统超过2000个语音模型以后,其实时性不足以满足业务需求;

2、基于大规模(大于10000以上)模型特征比较,传统的算法无法满足性能要求;

3、无有效手段对模型特征划分子空间。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种两级子空间划分方法及装置,采用基于模型子空间的二级匹配方法,处理过程分为两个步骤:第一步通过粗筛定位子空间,确定待检音频模型空间所属范围,第二步细匹,即在子空间内部通过精度较高的传统算法命中目标模型,包括特征提取、聚类计算、子空间划分、中心点计算四个过程。

本发明解决其问题所采用的技术方案一方面是:一种两级子空间划分方法,其特征在于,包括以下步骤:S100、对语音片段进行特征提取,得到模型特征;S200、将该模型特征进行统计得到模型特征集合;S300、从模型特征集合中选取一定数量的模型特征,作为一定数量簇的中心模型特征,其中一定数量可自定义;S400、计算模型特征集合中剩余的模型特征与中心模型特征的相似度,根据相似度大小将各个模型特征划分到以各个中心模型特征为中心的簇中;S500、根据各个簇中各个模型特征的维度的算数平均数得到各个簇中的修正中心模型特征;S600、判断修正中心模型特征是否与步骤S300中的中心模型特征一致,若是则结束流程,输出结果,否则将修正中心模型特征作为中心模型特征,并返回执行步骤S400;S700、输出有一定数量的簇以及簇对应的中心模型特征的模型模板。

进一步的,所述S300还包括:S301、在模型特征集合中随机选取一个模型特征作为参考点;S302、计算模型特征集合中剩余各个模型特征与参考点的欧式距离,并按大小依次排序;S303、选取最大欧式距离,按一定等分距离进行等分,得到一定数量的等分点,其中一定等分距离和一定数量可自定义,且等分距离与等分点的数量呈负相关;S304、以参考点为基础,根据各个等分距离得到一定数量的模型特征,所述的一定数量的模型特征即为中心模型特征,其中一定数量与步骤S303中的一定数量一致。

进一步的,所述S304还包括,当以参考点为基础,根据各个等分距离得到多个与参考点相同欧式距离的模型特征时,随机选取一个作为中心模型特征。

进一步的,所述S600还可替换为:判断修正中心模型特征的修正次数是否达到阈值,若是则结束流程,输出结果,否则将修正中心模型特征作为中心模型特征,并累计修正次数返回执行步骤S400,其中阈值可自定义。

进一步的,还包括:S800、将得到的模型模块与待测音频片段进行检测;S900、提取待测音频片段的特征,与模型模块中各个簇中的模型特征进行对比,若匹配的特征数量大于或等于阈值则认为该音频片段为确认目标,否则该音频片段为非目标,其中阈值可自定义。

本发明解决其问题所采用的技术方案另一方面是:一种两级子空间划分装置,其特征在于,包括:特征提取处理模块,用于对语音片段进行特征提取,得到模型特征,同时进行统计得到模型特征集合;选取模块,用于从模型特征集合中选取一定数量的模型特征,作为一定数量簇的中心模型特征,其中一定数量可自定义;中心模型特征模块,用于计算模型特征集合中剩余的模型特征与中心模型特征的相似度,根据相似度大小将各个模型特征划分到以各个中心模型特征为中心的簇中;修正模型特征模块,用于计算各个簇中各个模型特征的维度的算数平均数得到各个簇中的修正中心模型特征;判断模块,用于判断修正中心模型特征是否与中心模型特征一致,根据判断结果调用对应模块;输出模块,用于输出有一定数量的簇以及簇对应的中心模型特征的模型模板。

进一步的,所述选取模块还包括:参考点选取单元,用于在模型特征集合中随机选取一个模型特征作为参考点;欧氏距离计算单元,用于计算模型特征集合中剩余各个模型特征与参考点的欧式距离,并按大小依次排序;等分单元,用于选取最大欧式距离,按一定等分距离进行等分,得到一定数量的等分点,其中一定等分距离和一定数量可自定义,且等分距离与等分点的数量呈负相关;修正单元,用于以参考点为基础,根据各个等分距离得到一定数量的模型特征,所述的一定数量的模型特征即为中心模型特征。

进一步的,还包括随机选取模块,用于当以参考点为基础,根据各个等分距离得到多个与参考点相同欧式距离的模型特征时,随机选取一个作为中心模型特征。

进一步的,还包括阈值设置判断模块,用于判断修正中心模型特征的修正次数是否达到阈值,若是则结束流程,输出结果,否则将修正中心模型特征作为中心模型特征,并累计修正次数,其中阈值可自定义。

进一步的,还包括检测模块,用于进行音频片段检测,其中所述检测模块还包括:音频片段提取单元,用于提取待测音频片段的特征,与模型模块中各个簇中的模型特征进行对比,若匹配的特征数量大于或等于阈值则认为该音频片段为确认目标,否则该音频片段为非目标,其中阈值可自定义。

本发明的有益效果是:实现简单,耗时较小,对于数量巨大的模型特征,其实时性足以满足业务需求,可任意调整簇数的取值,能够有效的划分子空间,并且能够较为均匀的划分到不同的子空间中,缩小了模型匹配范围,单次语音特征比较能够有效降低模型数量,提高了效率。

附图说明

图1是根据本发明优选实施例的方法流程示意图;

图2是根据本发明优选实施例的装置结构示意图;

图3是根据本发明优选实施例的特征子空间划分示意图;

图4是根据本发明优选实施例的训练阶段流程示意图;

图5是根据本发明优选实施例的匹配阶段流程示意图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

参照图1所示,根据本发明优选实施例的方法流程示意图

S100、对语音片段进行特征提取,得到模型特征;

S200、将该模型特征进行统计得到模型特征集合;

S300、从模型特征集合中选取一定数量的模型特征,作为一定数量簇的中心模型特征,其中一定数量可自定义;

S400、计算模型特征集合中剩余的模型特征与中心模型特征的相似度,根据相似度大小将各个模型特征划分到以各个中心模型特征为中心的簇中;

S500、根据各个簇中各个模型特征的维度的算数平均数得到各个簇中的修正中心模型特征;

S600、判断修正中心模型特征是否与步骤S300中的中心模型特征一致,若是则结束流程,输出结果,否则将修正中心模型特征作为中心模型特征,并返回执行步骤S400;

S700、输出有一定数量的簇以及簇对应的中心模型特征的模型模板。

所述S300还包括:S301、在模型特征集合中随机选取一个模型特征作为参考点;S302、计算模型特征集合中剩余各个模型特征与参考点的欧式距离,并按大小依次排序;S303、选取最大欧式距离,按一定等分距离进行等分,得到一定数量的等分点,其中一定等分距离和一定数量可自定义,且等分距离与等分点的数量呈负相关;S304、以参考点为基础,根据各个等分距离得到一定数量的模型特征,所述的一定数量的模型特征即为中心模型特征,其中一定数量与步骤S303中的一定数量一致。

所述S304还包括,当以参考点为基础,根据各个等分距离得到多个与参考点相同欧式距离的模型特征时,随机选取一个作为中心模型特征。

所述S600还可替换为:判断修正中心模型特征的修正次数是否达到阈值,若是则结束流程,输出结果,否则将修正中心模型特征作为中心模型特征,并累计修正次数返回执行步骤S400,其中阈值可自定义。

还包括:S800、将得到的模型模块与待测音频片段进行检测;S900、提取待测音频片段的特征,与模型模块中各个簇中的模型特征进行对比,若匹配的特征数量大于或等于阈值则认为该音频片段为确认目标,否则该音频片段为非目标,其中阈值可自定义。

参照图2所示,根据本发明优选实施例的装置结构示意图

包括:特征提取处理模块,用于对语音片段进行特征提取,得到模型特征,同时进行统计得到模型特征集合;选取模块,用于从模型特征集合中选取一定数量的模型特征,作为一定数量簇的中心模型特征,其中一定数量可自定义;中心模型特征模块,用于计算模型特征集合中剩余的模型特征与中心模型特征的相似度,根据相似度大小将各个模型特征划分到以各个中心模型特征为中心的簇中;修正模型特征模块,用于计算各个簇中各个模型特征的维度的算数平均数得到各个簇中的修正中心模型特征;判断模块,用于判断修正中心模型特征是否与中心模型特征一致,根据判断结果调用对应模块;输出模块,用于输出有一定数量的簇以及簇对应的中心模型特征的模型模板。

所述选取模块还包括:参考点选取单元,用于在模型特征集合中随机选取一个模型特征作为参考点;欧氏距离计算单元,用于计算模型特征集合中剩余各个模型特征与参考点的欧式距离,并按大小依次排序;等分单元,用于选取最大欧式距离,按一定等分距离进行等分,得到一定数量的等分点,其中一定等分距离和一定数量可自定义,且等分距离与等分点的数量呈负相关;修正单元,用于以参考点为基础,根据各个等分距离得到一定数量的模型特征,所述的一定数量的模型特征即为中心模型特征。

还包括随机选取模块,用于当以参考点为基础,根据各个等分距离得到多个与参考点相同欧式距离的模型特征时,随机选取一个作为中心模型特征。

还包括阈值设置判断模块,用于判断修正中心模型特征的修正次数是否达到阈值,若是则结束流程,输出结果,否则将修正中心模型特征作为中心模型特征,并累计修正次数,其中阈值可自定义。

还包括检测模块,用于进行音频片段检测,其中所述检测模块还包括:音频片段提取单元,用于提取待测音频片段的特征,与模型模块中各个簇中的模型特征进行对比,若匹配的特征数量大于或等于阈值则认为该音频片段为确认目标,否则该音频片段为非目标,其中阈值可自定义。

为了提高大规模模型库条件下的匹配速度,采用基于模型子空间的二级匹配方法,处理过程分为两个步骤:第一步通过粗筛定位子空间,确定待检音频模型空间所属范围,第二步细匹,即在子空间内部通过精度较高的传统算法命中目标模型。子空间的划分示意如图3所示,根据本发明优选实施例的特征子空间划分示意图:

关键问题之一是如何划分子空间,如何将模型库中模型划分到不同的子空间中。传统的聚类算法采用最小二乘法计算模型之间距离,无法有效划分子空间,为解决这个问题,拟采用k-mean算法思路划分子空间,并将每个子空间的最终聚类的中心点作为虚拟模型特征,作为快速检索的样本代表。

基于K-Means算法划分子空间的主要思想是:我们把每个语音特征模型视为一个特征集合点。在给定K值和K个初始类簇中心点的情况下,把每个模型分到离其最近的类簇中心模型所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。

K-Means算法的难点是如何合理的确定K值以及K个初始类簇中心点,该k值确定及中心点的确定对于聚类效果的好坏有较大影响。

聚类算法描述:

假设模型特征集合为D,准备划分为k个簇,即k个子空间。

基本步骤如下:

1、从D中随机取k个模型特征,作为k个簇的各自的中心模型特征。

2、分别计算剩下的元素到k个簇中心的距离,将这些元素分别划归到相异度最低的簇。

3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。

4、将D中全部元素按照新的中心重新聚类。

5、重复第4步,直到聚类结果不再变化。

6、将结果输出。

在中心点经历了n次迭代变化,使最终分类结果分到了一组。当然这种算法有缺点,首先就是初始的k个中心点的确定非常重要,结果也有差异。可以选择彼此距离尽可能远的K个点,也可以先对数据用层次聚类算法进行聚类,得到K个簇之后,从每个类簇中选择一个点,该点可以是该类簇的中心点,或者是距离类簇中心点最近的那个点。

以上算法K个模型特征的选取是随机的,其对结果准确度影响较大。因此,K个初始模型特征选取应尽可能的平均分布到不同的空间位置上,其优化算法如下:

1、随机选取一个模型特征M作为初始样本。

2、以该样本为基础,计算其他模型特征与该模型特征M的欧式距离。

3、标识最大距离的样本点。

4、将最大的距离分为K等分,选取与分割点最接近的样本作为每个k簇的中心点。然后再采用K-mean算法聚类子空间。

对音频特征库中的特征进行划分的准则就是让具有相同或者相似特性的MB尽量分在同一个子空间,并且每个模型特征必然属于且只属于其中一个子空间。

其每个子空间的代表模型特征就是最终每个子空间的中心点,即我们用中心点作为虚拟模型特征Y1、Y2、……、Y、……、YJ。

基于子空间的两级匹配流程包括训练阶段和检测阶段。

(1)训练阶段:参照如图4所示,训练阶段流程示意图

训练阶段包括语音片段的特征提取、聚类计算、子空间划分、中心点计算四个过程。粗筛的目的是为了让目标落到某一个子空间内,从而缩小模型特征比较次数。

(2)匹配阶段:参照如图5所示,匹配阶段流程示意图

在检测阶段,对于待检音频片段,提取特征后,与子空间内的模型逐个匹配,如果小于阈值,则认为是确认目标,否则为非目标。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

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