一种基于贪心算法的语音相似度计算方法和装置

文档序号:1429866 发布日期:2020-03-17 浏览:37次 >En<

阅读说明:本技术 一种基于贪心算法的语音相似度计算方法和装置 (Voice similarity calculation method and device based on greedy algorithm ) 是由 吴威 张楠赓 于 2018-08-17 设计创作,主要内容包括:本发明的实施方式提供了一种基于贪心算法的语音相似度计算方法和装置,方法包括:获取测试序列V与模板序列U,基于滑动窗口依次截取测试序列中的元素组(V&lt;Sub&gt;n&lt;/Sub&gt;,V&lt;Sub&gt;n+1&lt;/Sub&gt;)作为第n个局部测试序列V′&lt;Sub&gt;n&lt;/Sub&gt;,动态截取模板序列的连续i帧作为对应的局部模板序列,基于每一个局部测试序列与对应的局部模板序列建立局部相似度矩阵,进而利用贪心算法获取测试序列与模板序列的全局相似度。本发明通过利用贪心思想,通过计算局部最优路径获得全局最优路径,显著减少了DTW运算中的计算量。(The embodiment of the invention provides a speech similarity calculation method and a speech similarity calculation device based on a greedy algorithm, wherein the method comprises the following steps: acquiring a test sequence V and a template sequence U, and sequentially intercepting element groups (V) in the test sequence based on a sliding window n ,V n&#43;1 ) As n-th local test sequence V&#39; n And dynamically intercepting continuous i frames of the template sequence as corresponding local template sequences, establishing a local similarity matrix based on each local test sequence and the corresponding local template sequence, and further acquiring the global similarity of the test sequence and the template sequence by utilizing a greedy algorithm. According to the invention, by utilizing the greedy thought, the global optimal path is obtained by calculating the local optimal path, and the calculation amount in the DTW operation is obviously reduced.)

一种基于贪心算法的语音相似度计算方法和装置

技术领域

本发明涉及语音识别领域,具体涉及一种基于贪心算法的语音相似度计算方法和装置。

背景技术

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

近年来,随着人机信息交互技术的发展,语音识别技术显示出其重要性。动态时间规整(Dynamic Time Warping,简称DTW)算法是语音识别中的一种常用的匹配算法,DTW算法基于动态规划(DP)的思想,通过把时间序列进行延伸和缩短,来计算两个时间序列性之间的相似性,能够有效解决测试语音与模板语音速度不一致的问题。

传统的DTW算法分为三步:一是计算测试序列中的每一个矢量特征与模板序列中每一个矢量特征之间的欧式距离,并基于计算得到的欧式距离构建欧式距离矩阵;二是计算上述构建的矢量距离矩阵中所有可能的路径;三是在上述计算的所有路径中找出一条累加距离最小的路径。

然而,上述DTW算法在寻找最优路径时需要预先找出并记录所有可能的路径,然后再从路径终点反推找出最短的那条路径,这种寻找方式虽然全面,但运算量很大。

发明内容

针对现有技术中的利用DTW算法计算语音相似度时运算量过大的问题,本发明提供了一种基于贪心算法的语音相似度计算方法和装置,在保证语音相似度准确性的前提下,大幅减少了运算量。

在本发明实施方式的第一方面,提出一种基于贪心算法的语音相似度计算方法,其特征在于,所述方法包括:

获取含有N帧语音特征矢量的测试序列V=(V1,V2,..,VN)与含有M帧语音特征矢量的模板序列U=(U1,U2,...,UM);

基于滑动窗口依次截取所述测试序列中的元素组(Vn,Vn+1)作为第n个局部测试序列V′n

针对每一个局部测试序列,动态截取所述模板序列的连续i帧作为对应的局部模板序列;

基于所述每一个局部测试序列与所述对应的所述局部模板序列建立局部相似度矩阵;

基于所述局部相似度矩阵,利用贪心算法获取所述测试序列与所述模板序列的全局相似度;

其中,所述N为大于1的整数,n为大于0且小于N的整数,i为大于1的整数。

在一种实施方式中,其中,所述基于滑动窗口依次截取所述测试序列中的元素组(Vn,Vn+1)作为局部测试序列V′n具体包括:

对n依次从1到N-1进行取值,以获取所述每一个局部测试序列。

在一种实施方式中,其中,所述针对每一个局部测试序列,动态截取所述模板序列的连续i帧作为对应的局部模板序列具体包括:

预设所述局部模板序列初始值;

根据所述局部模板序列初始值通过预设递推运算规则依次动态截取所述模板序列,以获得与每一个所述局部测试序列相对应的所述局部模板序列。

在一种实施方式中,其中,所述预设所述局部模板序列初始值具体包括:

将局部测试序列初始值V′1=(V1,V2)对应的所述局部模板序列初始值预设为U′1=(U1,…,U1+i-1)。

在一种实施方式中,其中,所述通过预设递推运算规则依次动态截取所述模板序列具体包括:

计算获得第n个局部相似度矩阵的最优路径;

将所述最优路径经过测试序列的Vn+1时所对应的模板语音帧设为第n+1个所述局部模板序列的起始帧;以及

根据所述第n+1个局部模板序列的起始帧依照时序向后截取i帧作为所述第n+1个局部模板序列。

在一种实施方式中,其中,所述基于所述局部测试序列与所述局部模板序列建立局部相似度矩阵还包括:

计算所述局部测试序列与所述局部模板序列之间每一帧语音特征矢量之间的匹配度L;

基于所述匹配度L构建所述局部相似度矩阵。

在一种实施方式中,其中,所述基于所述局部相似度矩阵利用贪心算法获取所述测试序列与所述模板序列的全局相似度值具体包括:

计算所述局部相似度矩阵的局部最优路径以及局部相似度值;

将全部的所述局部相似度最优路径首尾相连获得全局最优路径;以及

将全部的所述局部相似度值累加后求均值,获得所述全局相似度值。

在一种实施方式中,其中,所述局部最优路径具体为:

由所述局部相似度矩阵中的位置(Vn,Um)指向位置((Vn+1,Um),…,(Vn+1,Um+i-1))中具有最大匹配度L的一项;

其中,所述局部相似度矩阵由局部测试序列中的元素组(Vn,Vn+1)与所述局部模板序列的元素组(Um,…,Um+i-1)组成。

在一种实施方式中,其中,所述方法还包括:

通过预设全局边界约束条件以限定局部相似度矩阵中的路径移动范围;以及

通过预设所述全局边界约束条件以限定全局终点位置为(VN,UM)。

在一种实施方式中,其中,所述匹配度测度具体为欧氏距离、矢量夹角余弦值以及皮尔逊参数中的任一种或多种。

在本发明实施方式的第二方面,提出一种基于贪心算法的语音相似度计算装置,其特征在于,所述装置包括:

获取模块,用于获取测试序列V=(V1,V2,..,VN)与模板序列U=(U1,U2,...,UM);

第一截取模块,用于基于滑动窗口依次截取所述测试序列中的元素组(Vn,Vn+1)作为第n个局部测试序列V′n

第二截取模块,用于针对每一个局部测试序列,动态截取所述模板序列的连续i帧作为对应的局部模板序列;

矩阵模块,用于基于所述每一个局部测试序列与所述对应的所述局部模板序列建立局部相似度矩阵;

相似度计算模板,用于基于所述局部相似度矩阵,利用贪心算法获取所述测试序列与所述模板序列的全局相似度;

其中,所述N为大于1的整数,n为大于0且小于N的整数,i为大于1的整数。

在一种实施方式中,其中,所述第一截取模块具体用于:

对n依次从1到N-1进行取值,以获取所述每一个局部测试序列。

在一种实施方式中,其中,所述第二截取模块具体用于:

预设所述局部模板序列初始值;

根据所述局部模板序列初始值通过预设递推运算规则依次动态截取所述模板序列,以获得与每一个所述局部测试序列相对应的所述局部模板序列。

在一种实施方式中,其中,所述预设所述局部模板序列初始值具体包括:

将局部测试序列初始值V′1=(V1,V2)对应的所述局部模板序列初始值预设为U′1=(U1,…,U1+i-1)。

在一种实施方式中,其中,所述通过预设递推运算规则依次动态截取所述模板序列具体包括:

计算获得第n个局部相似度矩阵的最优路径;

将所述最优路径经过测试序列的Vn+1时所对应的模板语音帧设为第n+1个所述局部模板序列的起始帧;以及

根据所述第n+1个局部模板序列的起始帧依照时序向后截取i帧作为所述第n+1个局部模板序列。

在一种实施方式中,其中,所述相似度计算模块还包括:

匹配度计算模板,用于在所述基于所述局部测试序列与所述局部模板序列建立局部相似度矩阵之前,计算所述局部测试序列与所述局部模板序列之间每一帧语音特征矢量之间的匹配度L;

基于所述匹配度L构建所述局部相似度矩阵。

在一种实施方式中,其中,所述相似度计算模块具体用于:

计算所述局部相似度矩阵的局部最优路径以及局部相似度值;

将全部的所述局部相似度最优路径首尾相连获得全局最优路径;以及

将全部的所述局部相似度值累加后求均值,获得所述全局相似度值。

在一种实施方式中,其中,所述局部最优路径具体为:

由所述局部相似度矩阵中的位置(Vn,Um)指向位置((Vn+1,Um),…,(Vn+1,Um+i-1))中具有最大匹配度L的一项;

其中,所述局部相似度矩阵由局部测试序列中的元素组(Vn,Vn+1)与所述局部模板序列中的元素组(Um,…,Um+i-1)组成。

在一种实施方式中,其中,所述装置还包括:约束模块,用于通过预设全局边界约束条件以限定局部相似度矩阵中的路径移动范围;以及

通过预设所述全局边界约束条件以限定全局终点位置为(VN,UM)。

在一种实施方式中,其中,所述匹配度的测度具体为欧氏距离、矢量夹角余弦值以及皮尔逊参数中的任一种或多种。

有益效果:正是通过本发明实施方式所提供的一种基于贪心算法的语音相似度计算方法和装置,基于利用贪心算法的思想,通过采用将全局运算拆分成多个局部运算的组合,通过计算局部最优路径进一步获得全局最优路径,进而求得测试语音与模板语音之间的相似度这一技术方案,解决了现有技术中存在的利用DTW算法计算语音相似度时运算量过大的问题。通过本发明提出的技术方案,(1)无需计算出测试语音与模板语音之间所有的语音特征矢量的匹配度,(2)无需在计算出DTW全局相似度矩阵中所有可能的路径后再选择处最优路径,显著减少了通过DTW算法计算语音相似度的运算量,同时可以保持语音相似度的运算准确度。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示出了根据本发明实施例的一种基于贪心算法相似度计算的方法流程图。

图2示出了根据本发明实施例的第一组局部测试序列与局部模板序列的截取方式示意图。

图3示出了根据本发明实施例的局部测试序列与局部模板序列的截取方式示意图。

图4示出了根据本发明实施例的一种基于贪心算法相似度计算的DTW全局矩阵示意图。

图5示出了根据本发明实施例的一种基于贪心算法相似度计算的用于DTW运算的局部矩阵示意图。

图6示出了现有技术中的用于DTW运算的矩阵示意图。

图7示出了现有技术中另一种用于DTW运算的矩阵示意图。

图8示出了根据本发明实施例的一种基于贪心算法相似度计算的装置结构示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

示例性方法

本发明实施例提出一种基于贪心算法的语音相似度计算方法,图1是根据本发明实施例的基于贪心算法的相似度计算方法的示意性流程图。如图1所示,所述方法包括S110~S150:

S110:获取测试序列V=(V1,V2,..,VN)与模板序列U=(U1,U2,...,UM)。

S120:基于滑动窗口依次截取所述测试序列中的元素组(Vn,Vn+1)作为第n个局部测试序列V′n

S130:针对每一个局部测试序列,动态截取所述模板序列的连续i帧作为对应的局部模板序列。

S140:基于所述每一个局部测试序列与所述对应的所述局部模板序列建立局部相似度矩阵。

S150:基于所述局部相似度矩阵,利用贪心算法获取所述测试序列与所述模板序列的全局相似度。

其中,所述N为大于1的整数,n为大于0且小于N的整数,i为大于1的整数。

在一个示例性实施例中,在语音识别场景下,为了识别两段语音是否标识到同一内容,本发明实施例可以采用上述方法计算两段语音的相似度,而后根据相似度判断是否两段语音匹配,进一步地,可以将测试语音序列与多个模板语音序列分别进行相似度测算,进而从模板库中定位到匹配模板。

本领域技术人员可以理解的是,在另一个示例性实施例中,本发明上述方法同样可以应用到运动分析场景下,为了识别动作,本发明实施例可以将动作转化为时间序列,进而和预设的动作模板库中的动作模板进行相似度计算并匹配,进一步地,上述运动分析场景还可以细分为手势识别、口型识别、表情识别等多种细分场景。

在以下示出的具体实施例中,本发明实施例以语音识别场景为例进行详细描述,值得注意的是,本发明实施例对相似度计算的对象以及具体的应用场景不作具体限定,本发明可以应用到运动分析场景,通过对摄像机拍摄到的运动轨迹和预设的模板运动轨迹进行相似度计算,进而判断动作类型;同样地,也可以应用到手势分析场景、语义识别场景等。

在一个具体的实施例中,在实际应用场景中,上述测试序列可以通过将从麦克风获取的语音信号根据现有技术进行分帧加窗预处理后提取声音特征获取,其中每一帧语音特征矢量代表一帧声音信号的特征。上述模板序列可以是预先存储在模板库中的声音特征序列。

本领域技术人员可以理解的是,贪心算法是指:在每一步求解的步骤中,它要求“贪婪”的选择最佳操作,并希望通过一系列的最优选择,能够产生一个问题的(全局的)最优解。

具体地,在本发明实施例中,贪心算法的每一步必须满足以下条件:1、可行的:即贪心算法的局部计算必须满足全局约束条件。2、局部最优:当前操作是当前步骤中所有可行选择中最佳的局部选择。3、不可取消:即局部选择一旦做出即固定。

图2和图3示出了本发明实施例中构建局部相似度矩阵的具体步骤,下面结合图2和图3进一步具体描述本发明实施例。

在本发明实施例中,采用i=3进行后续运算,当然也可以根据实际情况采用任何大于1的值进行后续运算,本发明仅以i=3进行举例说明,但不限于此。

将测试序列表示为V=(V1,V2,...,Vn,...,VN),其中n为测试语音的帧数序号,N为测试语音的总帧数,Vn为测试序列第n帧语音的语音特征矢量。

将模板序列表示为U=(U1,U2,...,Um,...,UM),其中m为模板语音的帧数序号,M为模板语音的总帧数,Um为测试序列第m帧语音的语音特征矢量。

本发明实施例的重点在于如何将全局相似度矩阵拆分成多个局部相似度矩阵的组合,本领域人员可以理解的是,只要确定了局部相似度矩阵所对应的局部测试序列与局部模板序列,进一步就可以构造局部相似度矩阵,因此,想要确定局部相似度矩阵,首先需要:

(1)截取局部测试序列

在一个实施例中,如图3所示,本发明实施例可以采用基于滑动窗口依次截取所述测试序列中的元素组(Vn,Vn+1)作为第n个局部测试序列V′n。进一步地,本发明实施例采用对测试序列的中的元素组(Vn,Vn+1)中的n依次从1到N-1进行取值,以获取所述每一个局部测试序列。

例如:如图2所示,当对n取值1时,第一个局部测试序列V′1具体为图中虚线框中的(V1,V2)。

在一个实施例中,由于每一个局部测试序列两个语音特征矢量具有两帧语音特征矢量,且每一次局部移动路径都会从Vn移动到Vn+1,因此,本发明实施例中任一种移动路径在每一步移动时都会在测试序列上前进一帧。

通过采用上述对n依次从1到N-1进行取值,以获取所述每一个局部测试序列的技术方案,在每一次局部运算后,都会在测试序列上前进一帧以进行下一个局部运算,因此,可以在获取测试序列时将局部运算的次数固定下来,例如,本发明实施例中,局部运算的次数为N-1。因此,本发明上述技术方案具有更简单的运算逻辑,进一步减少了运算量。

(2)截取局部模板序列

在一个实施例中,如图2与图3所示,本发明实施例可以针对每一个局部测试序列,动态截取所述模板序列的3帧连续3帧作为对应的局部模板序列。

在一个具体实施例中,上述方法具体包括:

A、预设所述局部模板序列初始值;

如图2所示,将局部测试序列初始值V′1=(V1,V2)对应的局部模板序列初始值预设为U′1=(U1,U2,U3)

通过上述将将局部测试序列初始值V′1=(V1,V2)对应的所述局部模板序列初始值预设为U′1=(U1,…,U1+i-1)的技术方案,保证了在相似度运算中,模板序列与测试序列的起始帧是对齐的,进一步保证了运算的准确性。

本领域技术人员可以理解的是,在DTW算法中默认两段语音段的初始段对齐,因此在本发明实施例中,可以默认(V1,U1)为匹配点,在图2中示出的模板序列与测试序列之间的连线表示匹配,以及连线的两端为匹配点。

B、根据所述局部模板序列初始值通过预设递推运算规则依次动态截取所述模板序列,以获得与每一个所述局部测试序列相对应的所述局部模板序列。

在一个具体的实施例中,将第n个局部相似度矩阵中,Vn+1所匹配的模板序列的某一帧设为第n+1个所述局部模板序列的起始帧;以及根据所述第n+1个局部模板序列的起始帧依照时序向后截取3帧作为所述第n+1个局部模板序列。

通过采用上述预设递推运算规则依次动态截取所述模板序列,以获得与每一个所述局部测试序列相对应的所述局部模板序列的技术方案,建立了每一个局部运算之间的相关性,进一步保证了根据局部相似度值而推导获得的全局相似度值的准确性。

下面结合图3对本发明实施例中截取局部模板序列的方法进行详细说明。

首先,假设第n个局部相似度矩阵中,第n个局部测试序列为V′n=(Vn,Vn+1),以及第n个局部模板序列U′n=(Um,Um+1,Um+2),通过计算(计算过程将在下文中具体描述)得到Vn+1的匹配点为Um+2

在上文中对截取局部测试序列的描述中,已经知道第n+1个局部测试序列为V′n+1=(Vn+1,Vn+2),相应地,截取第n+1个局部模板序列的方法为以Um+2为起始点,向后依次选取3帧,也即(Um+2,Um+3,Um+4)作为第n+1个局部模板序列U′n+1

在上述预设递推运算规则依次动态截取所述模板序列的技术方案的基础之上,进一步列举了可以上述动态截取的技术方案限定于利用上一个局部计算中最优路径的计算结果来截取当前局部模板序列的技术方案,由于“最优路径”本身也即本发明实施例中需要进行求解的数据之一,因此,通过上述技术方案,本发明实施例无需引入其他参数即可执行上述动态截取,进一步地,本发明实施例无需产生额外的运算量。

进一步地,由于本发明实施例采取递推计算的方法,因此,可以从预设的第一组局部测试序列与局部模板序列的组合作为起始值,并重复上述计算步骤,从而得到每一个(一共N个)局部模板序列的截取方案。

图4示出了由局部相似度矩阵构成的全局相似度矩阵,以下结合图4对本发明实施例进行具体的描述。

为了更加便于理解,本发明实施例在上文中描述截取局部测试序列与截取局部模板序列的部分也可以表述为:如图4所示,本发明实施例可以将上一个局部相似度矩阵中计算得到的局部最优路径终点设为当前局部相似度矩阵的路径起点。

在一个具体的实施例中,在建立局部相似度矩阵之后,上述方法具体包括:

A、计算所述局部测试序列与所述局部模板序列之间每一帧语音特征矢量之间的匹配度L。

在一个具体的实施例中,上述匹配度L可以使用多种参数作为测度,例如欧氏距离,夹角余弦值,又例如皮尔逊参数,又例如上述参数的加权集合。在这里,对上述表达每一帧语音特征矢量之间匹配度L的测度类型不做限定,其可以根据实际应用场景以及工业需要具体设定,本发明实施例中采用欧氏距离作为匹配度测度为例,但是并不限于此。

值得注意的是,当使用欧式距离作为匹配度测度时,欧氏距离d越小,相应的匹配度L则越大;当时用夹角余弦值作为匹配度测度时,余弦值越接近1,匹配度越大。

本发明实施例通过采用欧氏距离、矢量夹角余弦值以及皮尔逊参数中的任一种或多种作为匹配度测度这一技术方案,本发明实施例提供了一种可适应性相似度计算方案,例如,当声音的强度差异较大时,可以采用矢量夹角余弦值作为主要匹配度测度。进一步可以获取更为准确的相似度值。

在一个示例性实施例中,可以采用d(Vn,Um)表示为Vn与Um两个语音特征矢量之间的欧氏距离,具体地,可以采用现有技术计算出d(Vn,Um)的值。

通过采用上述计算所述局部测试序列与所述局部模板序列之间每一帧语音特征矢量之间的匹配度L这一技术方案,本发明实施例无需考虑局部范围以外的语音特征矢量之间的匹配度,显著减少了通过DTW算法计算语音相似度的计算量。

B、计算局部相似度矩阵的局部最优路径

在一个实施例中,局部相似度矩阵的局部最优路径可以由所述局部相似度矩阵中的位置(Vn,Um)指向位置((Vn+1,Um),…,(Vn+1,Um+i-1))中具有最小欧氏距离d(最大匹配度L)的一项。

C、计算局部相似度矩阵的局部相似度值

在一个实施例中,局部相似度值也即上述局部最优路径所对应的最小欧氏距离d(最大匹配度L)。

本领域技术人员可以理解的是,在DTW算法中,路径的选择并不是随意的,需要满足以下几个基本约束:

1)边界条件:任何一种时间序列的快慢都有可能变化,但是其各部分的先后次序不可能改变,因此所选的路径必定是从左下角出发,在右上角结束。

2)连续性:禁止跨过测试序列的某个点进行匹配,这样可以保证测试序列的每个坐标都在最优路径中出现。

3)单调性:限制最优路径上面的点必须是随着时间单调进行的。

在一个实施例中,本申请的局部最优路径同样需要满足上述基本约束条件。

在一个实施例中,本申请可以采用额外的全局边界约束条件对所有的局部路径选择进行约束。

具体地,不同于现有技术中进行全局最优路径规划时需要从终点向起点寻找最优路径的方案(该方案等同于提供了测试序列与模板序列的末端必须对齐的约束),本发明实施例中的局部最优路径规划过程中仅约束了测试序列与模板序列的初始端对齐,而并没有对末端对齐进行具体限定。

在一个实施例中,上述额外的全局边界约束条件可以包括通过预设全局边界约束条件以限定局部相似度矩阵中的路径移动范围;以及通过预设所述全局边界约束条件以限定全局终点位置为(VN,UM)。

在一个具体的实施例中,如图4所示,图中的虚线部分为全局边界约束条件中的边界线,其中,过起点(V1,U1)的两条边界线的斜率分别为0.5和2。以及,过终点(VN,VM)的两条边界线的斜率分别为0.5和2。在这四条边界线构成的边界范围内,局部最优路径的移动方向限定在靠近于对角线的范围内,以及最优路径的终点被限定在(VN,UM)点。

通过上述设定边界约束条件的方法,本申请能够将测试序列与模板序列的终端对齐,此外,如图4所示,其中,矩阵中空心点为边界范围之外的匹配点,不需要在后续的运算中进行考虑,进一步减少了运算量。

在一个实施例中,当对全部的局部相似度矩阵计算完毕后,本发明实施例提供的方法进一步包括:

A、将全部的所述局部相似度最优路径首尾相连获得全局最优路径;

B、以及将全部的所述局部相似度值累加后求均值获得所述全局相似度值。

在一个具体的实施例中,上述全局相似度值可以是全局相似度均值,具体为将所述局部相似度值相加后除以走过的步数。

本发明实施例通过采用上述将局部最优路径首尾相连获取全局最优路径以及将局部相似度值均值设为全局相似度的技术方案,本发明实施例分别只需一次运算即可获得全局最优路径与全局相似度,运算量极少。

下面结合图4,详细举例描述本发明实施例中列举的上述方法。

(1)第一组局部相似度矩阵

首先,局部路径规划必然同时满足全局动态规划的起点限制条件,因此可以将矩阵中的(V1,U1)作为第一个局部相似度矩阵的起点构建第一组局部相似度矩阵。并计算d(V2,U1)、d(V2,U2)、d(V2,U3),

由于局部相似度矩阵中只存在一个起点和一次运动,因此最优路径为由(V1,U1)直接指向(V2,U1)、(V2,U2)、(V2,U3)中具有最小欧氏距离的点(V2,U2)。

(2)第n组局部相似度矩阵

针对第n组局部相似度矩阵,将上一组局部相似度矩阵的最优路径终点设为(Vn,Um),如图2和图3所示,构建的第n组局部相似度矩阵包括点(Vn,Um)、(Vn+1,Um)、(Vn+1,Um+1)、(Vn+1,Um+2),计算d(Vn+1,Um+2)、d(Vn+1,Um)、d(Vn+1,Um+1)并选出具有最小欧氏距离的点(Vn+1,Um+2),因此,该第n组局部相似度矩阵的最优路径具体为由((Vn,Um)指向(Vn+1,Um+2)。

(3)第N-1组局部相似度矩阵

具体地,第N-1组局部相似度矩阵为最后一组局部相似度矩阵,且该第N-1组局部相似度矩阵有且只有一个终点,也即(VN,UM),因此,在判断该组的局部最优路径时,直接从该局部相似度矩阵的起点指向(VN,UM)点即可,相应地,也仅需要计算一段局部路径的相似度值。

(4)全局最优路径与全局相似度

如图4所示,将上述获取的全部局部最优路径首尾相连即可获得全局最优路径,以及将上述每一个局部最优路径所对应的局部相似度值累加即可获得全局相似度

通过上述技术方案,本申请实施方式将传统的N*M矩阵的最优路径,简化为N个局部相似度矩阵的最优路径之和,内存开销固定,大幅度减少了运算量,具体包括:

(1)无需事先计算出所有帧语音特征矢量之间的欧氏距离;

如图6所示,在传统的DTW算法中,需要预先计算所有帧语音特征矢量之间的欧式距离值,也即,需要经过N×M次运算获得全局所有的N×M个匹配度值,即使在传统的DTW算法中引入边界约束条件,如图7所示,也需要计算出相似度矩阵的边界之内的所有匹配度值。

而采用本申请实施例的技术方案,如图4所示,在不考虑全局边界约束的情况下,也仅仅只需要计算出N×3个匹配度值,显著减少了运算量。

(2)无需计算出所有可能的路径

如图6与图7所示,在传统的DTW算法中,需要计算出全局所有可能的路径对应的相似度值,并选择其中具有最大相似度的路径作为最优路径。

而采用本申请实施例中的技术方案,仅需要在每一个局部计算中计算出i个局部路径的局部相似度值即可,并将所有的局部最优路径结合获得全局最优路径,在不考虑全局边界约束的情况下,也仅需要计算i×N个局部路径即可,进一步显著减少了运算量。

由于硬件的资源、内存空间和运算速度都受限,因此当本发明上述技术方案尤其应用到硬件的嵌入式设备中时具有重大的技术意义。

示例性设备

本发明实施例提出一种基于贪心算法的语音相似度计算方法,图8是根据本发明实施例的基于贪心算法的相似度计算装置的结构示意图。如图8所示,所述装置800包括:

获取模块810,用于获取测试序列V=(V1,V2,..,VN)与模板序列U=(U1,U2,...,UM)。

第一截取模块820,用于基于滑动窗口依次截取所述测试序列中的元素组(Vn,Vn+1)作为第n个局部测试序列V′n

第二截取模块830,用于针对每一个局部测试序列,动态截取所述模板序列的连续i帧作为对应的局部模板序列。

矩阵模块840,用于基于所述每一个局部测试序列与所述对应的所述局部模板序列建立局部相似度矩阵。

相似度计算模板850,用于基于所述局部相似度矩阵,利用贪心算法获取所述测试序列与所述模板序列的全局相似度。

其中,所述N为大于1的整数,n为大于0且小于N的整数,i为大于1的整数。

在一个示例性实施例中,在语音识别场景下,为了识别两段语音是否标识到同一内容,本发明实施例可以采用上述方法计算两段语音的相似度,而后根据相似度判断是否两段语音匹配,进一步地,可以将测试语音序列与多个模板语音序列分别进行相似度测算,进而从模板库中定位到匹配模板。

本领域技术人员可以理解的是,在另一个示例性实施例中,本发明上述方法同样可以应用到运动分析场景下,为了识别动作,本发明实施例可以将动作转化为时间序列,进而和预设的动作模板库中的动作模板进行相似度计算并匹配,进一步地,上述运动分析场景还可以细分为手势识别、口型识别、表情识别等多种细分场景。

在以下示出的具体实施例中,本发明实施例以语音识别场景为例进行详细描述,值得注意的是,本发明实施例对相似度计算的对象以及具体的应用场景不作具体限定,本发明可以应用到运动分析场景,通过对摄像机拍摄到的运动轨迹和预设的模板运动轨迹进行相似度计算,进而判断动作类型;同样地,也可以应用到手势分析场景、语义识别场景等。

在一个具体的实施例中,在实际应用场景中,上述获取模块810可以通过将从麦克风获取的语音信号根据现有技术进行分帧加窗预处理后提取声音特征获取测试序列,其中每一帧语音特征矢量代表一帧声音信号的特征。上述获取模块810可以通过是预先存储在模板库中的声音特征序列选取模板序列。

本领域技术人员可以理解的是,贪心算法是指:在每一步求解的步骤中,它要求“贪婪”的选择最佳操作,并希望通过一系列的最优选择,能够产生一个问题的(全局的)最优解。

具体地,在本发明实施例中,贪心算法的每一步必须满足以下条件:1、可行的:即贪心算法的局部计算必须满足全局约束条件。2、局部最优:当前操作是当前步骤中所有可行选择中最佳的局部选择。3、不可取消:即局部选择一旦做出即固定。

图2和图3示出了本发明实施例中构建局部相似度矩阵的具体步骤,下面结合图2和图3进一步具体描述本发明实施例。

在本发明实施例中,采用i=3进行后续运算,当然也可以根据实际情况采用任何大于1的值进行后续运算,本发明仅以i=3进行举例说明,但不限于此。

将测试序列表示为V=(V1,V2,...,Vn,...,VN),其中n为测试语音的帧数序号,N为测试语音的总帧数,Vn为测试序列第n帧语音的语音特征矢量。

将模板序列表示为U=(U1,U2,...,Um,...,UM),其中m为模板语音的帧数序号,M为模板语音的总帧数,Um为测试序列第m帧语音的语音特征矢量。

本发明实施例的重点在于如何将全局相似度矩阵拆分成多个局部相似度矩阵的组合,本领域人员可以理解的是,只要确定了局部相似度矩阵所对应的局部测试序列与局部模板序列,进一步就可以构造局部相似度矩阵,因此,想要确定局部相似度矩阵,首先需要:

(1)第一截取模板820截取局部测试序列

在一个实施例中,如图3所示,本发明实施例中所述第一截取模板820可以采用基于滑动窗口依次截取所述测试序列中的元素组(Vn,(Vn+1)作为第n个局部测试序列V′n。进一步地,本发明实施例采用对测试序列的(Vn,Vn+1)中的n依次从1到N-1进行取值,以获取所述每一个局部测试序列。

例如:如图2所示,当对n取值1时,第一个局部测试序列V′1具体为图中虚线框中的(V1,V2)。

在一个实施例中,由于每一个局部测试序列两个语音特征矢量具有两帧语音特征矢量,且每一次局部移动路径都会从Vn移动到Vn+1,因此,本发明实施例中任一种移动路径在每一步移动时都会在测试序列上前进一个帧。

通过采用上述对n依次从1到N-1进行取值,以获取所述每一个局部测试序列的技术方案,在每一次局部运算后,都会在测试序列上前进一帧以进行下一个局部运算,因此,可以在获取测试序列时将局部运算的次数固定下来,例如,本发明实施例中,局部运算的次数为N-1。因此,本发明上述技术方案具有更简单的运算逻辑,进一步减少了运算量。

(2)第二截取模板830截取局部模板序列

在一个实施例中,如图2与图3所示,本发明实施例可以针对每一个局部测试序列,动态截取所述模板序列的3帧连续3帧作为对应的局部模板序列。

在一个具体实施例中,上述方法具体包括:

A、预设所述局部模板序列初始值;

如图2所示,将局部测试序列初始值V′1=(V1,V2)对应的局部模板序列初始值预设为U′1=(U1,U2,U3)

本领域技术人员可以理解的是,在DTW算法中默认两段语音段的初始段对齐,因此在本发明实施例中,可以默认(V1,U1)为匹配点,在图2中示出的模板序列与测试序列之间的连线表示匹配,以及连线的两端为匹配点。

通过上述将将局部测试序列初始值V′1=(V1,V2)对应的所述局部模板序列初始值预设为U′1=(U1,…,U1+i-1)的技术方案,保证了在相似度运算中,模板序列与测试序列的起始帧是对齐的,进一步保证了运算的准确性。

B、根据所述局部模板序列初始值通过预设递推运算规则依次动态截取所述模板序列,以获得与每一个所述局部测试序列相对应的所述局部模板序列。

在一个具体的实施例中,将第n个局部相似度矩阵中,Vn+1所所匹配的模板序列某一帧设为第n+1个所述局部模板序列的起始帧;以及根据所述第n+1个局部模板序列的起始帧依照时序向后截取3帧作为所述第n+1个局部模板序列。

通过采用上述预设递推运算规则依次动态截取所述模板序列,以获得与每一个所述局部测试序列相对应的所述局部模板序列的技术方案,建立了每一个局部运算之间的相关性,进一步保证了根据局部相似度值而推导获得的全局相似度值的准确性。

下面结合图3对本发明实施例中截取局部模板序列的方法进行详细说明。

首先,假设第n个局部相似度矩阵中,第n个局部测试序列为V′n=(Vn,Vn+1),以及第n个局部模板序列U′n=(Um,Um+1,Um+2),通过计算(计算过程将在下文中具体描述)得到Vn+1的匹配点为Um+2

在上文中对截取局部测试序列的描述中,已经知道第n+1个局部测试序列为V′n+1=(Vn+1,Vn+2),相应地,截取第n+1个局部模板序列的方法为以Um+2为起始点,向后依次选取3帧,也即(Um+2,Um+3,Um+4)作为第n+1个局部模板序列U′n+1

在上述预设递推运算规则依次动态截取所述模板序列的技术方案的基础之上,进一步列举了可以上述动态截取的技术方案限定于利用上一个局部计算中最优路径的计算结果来截取当前局部模板序列的技术方案,由于“最优路径”本身也即本发明实施例中需要进行求解的数据之一,因此,通过上述技术方案,本发明实施例无需引入其他参数即可执行上述动态截取,进一步地,本发明实施例无需产生额外的运算量。

进一步地,由于本发明实施例采取递推计算的方法,因此,可以从预设的第一组局部测试序列与局部模板序列的组合作为起始值,并重复上述计算步骤,从而得到每一个(一共N个)局部模板序列的截取方案。

图4示出了由局部相似度矩阵构成的全局相似度矩阵,以下结合图4对本发明实施例矩阵模块840的应用进行具体的描述。

为了更加便于理解,本发明实施例在上文中描述截取局部测试序列与截取局部模板序列的部分也可以表述为:如图4所示,本发明实施例可以将上一个局部相似度矩阵中计算得到的局部最优路径终点设为当前局部相似度矩阵的路径起点。

在一个具体的实施例中,在建立局部相似度矩阵之后,相似度计算模板850具体进一步包括匹配度计算模板851:

A、匹配度计算模板851具体用于计算所述局部测试序列与所述局部模板序列之间每一帧语音特征矢量之间的匹配度L。

在一个具体的实施例中,上述匹配度L可以使用多种参数作为测度,例如欧氏距离,夹角余弦值,又例如皮尔逊参数,又例如上述参数的加权集合等。在这里,对上述表达语音特征矢量之间匹配度L的测度类型不做限定,其可以根据实际应用场景以及工业需要具体设定,本发明实施例中采用欧氏距离作为匹配度测度为例,但是并不限于此。

值得注意的是,当使用欧式距离作为匹配度测度时,欧氏距离d越小,相应的匹配度L则越大;当时用夹角余弦值作为匹配度测度时,余弦值越接近1,匹配度越大。

本发明实施例通过采用欧氏距离、矢量夹角余弦值以及皮尔逊参数中的任一种或多种作为匹配度测度这一技术方案,本发明实施例提供了一种可适应性相似度计算方案,例如,当声音的强度差异较大时,可以采用矢量夹角余弦值作为主要匹配度测度。进一步可以获取更为准确的相似度值。

在一个示例性实施例中,可以采用d(Vn,Um)表示为Vn与Um两个语音特征矢量之间的欧氏距离,具体地,可以采用现有技术计算出d(Vn,Um)的值。

通过采用上述计算所述局部测试序列与所述局部模板序列之间每一帧语音特征矢量之间的匹配度L这一技术方案,本发明实施例无需考虑局部范围以外的语音特征矢量之间的匹配度,显著减少了通过DTW算法计算语音相似度的计算量。

B、相似度计算模板850还用于计算局部相似度矩阵的局部最优路径

在一个实施例中,局部相似度矩阵的局部最优路径可以由所述局部相似度矩阵中的位置(Vn,Um)指向位置((Vn+1,Um),…,(Vn+1,Um+i-1))中具有最小欧氏距离d(最大匹配度L)的一项。

C、相似度计算模板850还用于计算局部相似度矩阵的局部相似度值

在一个实施例中,局部相似度值也即上述局部最优路径所对应的最小欧氏距离d(最大匹配度L)。

本领域技术人员可以理解的是,在DTW算法中,路径的选择并不是随意的,需要满足以下几个基本约束:

1)边界条件:任何一种时间序列的快慢都有可能变化,但是其各部分的先后次序不可能改变,因此所选的路径必定是从左下角出发,在右上角结束。

2)连续性:禁止跨过测试序列的某个点进行匹配,这样可以保证测试序列的每个坐标都在最优路径中出现。

3)单调性:限制最优路径上面的点必须是随着时间单调进行的。

在一个实施例中,本申请的局部最优路径同样需要满足上述基本约束条件。

在一个实施例中,本申请可以采用约束模板860进一步采用额外的全局边界约束条件对所有的局部路径选择进行约束。

具体地,不同于现有技术中进行全局最优路径规划时需要从终点向起点寻找最优路径的方案(该方案等同于提供了测试序列与模板序列的末端必须对齐的约束),本发明实施例中的局部最优路径规划过程中仅约束了测试序列与模板序列的初始端对齐,而并没有对末端对齐进行具体限定。

在一个实施例中,上述约束模板860采用的额外的全局边界约束条件可以包括通过预设全局边界约束条件以限定局部相似度矩阵中的路径移动范围;以及通过预设所述全局边界约束条件以限定全局终点位置为(VN,UM)。

在一个具体的实施例中,如图4所示,图中的虚线部分为全局边界约束条件中的边界线,其中,过起点(V1,U1)的两条边界线的斜率分别为0.5和2。以及,过终点(VN,UM)的两条边界线的斜率分别为0.5和2。在这四条边界线构成的边界范围内,局部最优路径的移动方向限定在靠近于对角线的范围内,以及最优路径的终点被限定在(VN,UM)点。

通过上述设定边界约束条件的方法,本申请能够将测试序列与模板序列的终端对齐,此外,如图4所示,其中,矩阵中空心点为边界范围之外的匹配点,不需要在后续的运算中进行考虑,进一步减少了运算量。

在一个实施例中,当对全部的局部相似度矩阵计算完毕后,本发明实施例提供的方法进一步包括:

A、将全部的所述局部相似度最优路径首尾相连获得全局最优路径;

B、以及将全部的所述局部相似度值累加后求均值获得所述全局相似度值。

在一个具体的实施例中,上述全局相似度值可以是全局相似度均值,具体为将所述局部相似度值相加后除以走过的步数。

本发明实施例通过采用上述将局部最优路径首尾相连获取全局最优路径以及将局部相似度值均值设为全局相似度的技术方案,本发明实施例分别只需一次运算即可获得全局最优路径与全局相似度,运算量极少。

下面结合图4,详细举例描述本发明实施例中列举的上述装置的应用方法。

(1)第一组局部相似度矩阵

首先,局部路径规划必然同时满足全局动态规划的起点限制条件,因此可以将矩阵中的(V1,U1)作为第一个局部相似度矩阵的起点构建第一组局部相似度矩阵。并计算d(V2,U1)、d(V2,U2)、d(V2,U3),

由于局部相似度矩阵中只存在一个起点和一次运动,因此最优路径为由(V1,U1)直接指向(V2,U1)、(V2,U2)、(V2,U3)中具有最小欧氏距离的点(V2,U2)。

(2)第n组局部相似度矩阵

针对第n组局部相似度矩阵,将上一组局部相似度矩阵的最优路径终点设为(Vn,Um),如图2和图3所示,构建的第n组局部相似度矩阵包括点(Vn,Um)、(Vn+1,Um)、(Vn+1,Um+1)、(Vn+1,Um+2),计算d(Vn+1,Um+2)、d(Vn+1,Um)、d(Vn+1,Um+1)并选出具有最小欧氏距离的点(Vn+1,Um+2),因此,该第n组局部相似度矩阵的最优路径具体为由(Vn,Um)指向(Vn+1,Um+2)。

(3)第N-1组局部相似度矩阵

具体地,第N-1组局部相似度矩阵为最后一组局部相似度矩阵,且该第N-1组局部相似度矩阵有且只有一个终点,也即(VN,UM),因此,在判断该组的局部最优路径时,直接从该局部相似度矩阵的起点指向(VN,UM)点即可,相应地,也仅需要计算一段局部路径的相似度值。

(4)全局最优路径与全局相似度

如图4所示,将上述获取的全部局部最优路径首尾相连即可获得全局最优路径,以及将上述每一个局部最优路径所对应的局部相似度值累加即可获得全局相似度

通过上述技术方案,本申请实施方式将传统的N*M矩阵的最优路径,简化为N个局部相似度矩阵的最优路径之和,内存开销固定,大幅度减少了运算量,具体包括:

(1)无需事先计算出所有帧语音特征矢量之间的欧氏距离;

如图6所示,在传统的DTW算法中,需要预先计算所有帧语音特征矢量之间的欧式距离值,也即,需要经过N×M次运算获得全局所有的N×M个匹配度值,即使在传统的DTW算法中引入边界约束条件,如图7所示,也需要计算出相似度矩阵的边界之内的所有匹配度值。

而采用本申请实施例的技术方案,如图4所示,在不考虑全局边界约束的情况下,也仅仅只需要计算出N×3个匹配度值,显著减少了运算量。

(2)无需计算出所有可能的路径

如图6与图7所示,在传统的DTW算法中,需要计算出全局所有可能的路径对应的相似度值,并选择其中具有最大相似度的路径作为最优路径。

而采用本申请实施例中的装置,仅需要在每一个局部计算中计算出i个局部路径的局部相似度值即可,并将所有的局部最优路径结合获得全局最优路径,在不考虑全局边界约束的情况下,也仅需要计算i×N个局部路径即可,进一步显著减少了运算量。

由于硬件的资源、内存空间和运算速度都受限,因此当本发明上述技术方案尤其应用到硬件的嵌入式设备中时具有重大的技术意义。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于余弦相似度的语音识别方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!