掌桥专利:专业的专利平台
掌桥专利
首页

基于分布式麦阵的声源定位方法、装置、设备及存储介质

文献发布时间:2023-06-19 12:22:51


基于分布式麦阵的声源定位方法、装置、设备及存储介质

技术领域

本发明涉及声源定位技术领域,尤其涉及一种基于分布式麦阵的声源定位方法、装置、设备及存储介质。

背景技术

在语音识别技术领域中,普遍采用基于麦克风阵列的多通道语音分离技术对语音进行分离,即利用一个麦克风阵列和多个波束形成器对空间中多声源进行监听,其中涉及的算法有声源定位算法和波束形成算法。这种技术利用了空间信息,假设麦克风阵列定位到某一声源位于90°位置,则只需要就调整波束形成器的参数,使波束形成器对90°入射声源的增益为1,其他方向入射声源的增益为0,通过这种方式来接收90°入射信号的同时抑制其他方向声源,从而起到了语音分离的作用。当给麦克风阵列配置多个波束形成器,且每个波束形成器指向的方向不同,就可以同时监听多个声源。

但是,单个麦阵的分辨能力有限,只能分辨声源方向,无法分辨声源距离,这就意味着,如果两个声源及麦阵原点近似在一直线上,该麦阵无法将这两个声源分离,使得语音识别效果较差,而且该技术无法给出声源的三维坐标。

发明内容

本发明实施例的目的是提出一种基于分布式麦阵的声源定位方法、装置、设备及存储介质,通过在空间中布置多个麦克风阵列以采集声源的输出信号,并对输出信号进行分类,进而确定每个声源的空间坐标,有效解决了现有技术中语音识别效果差和无法进行声源三维定位的问题。

为实现上述目的,本发明一实施例提供了一种基于分布式麦阵的声源定位方法,包括:

获取多个麦克风阵列的输出信号;

对所述输出信号进行分类,得到分类结果;

获取麦克风阵列之间的当前位置关系参数;

根据所述分类结果以及所述当前位置关系参数,确定声源的位置信息。

优选地,所述对所述输出信号进行分类,得到分类结果,具体包括:

根据任一麦克风阵列的输出信号得到初始分类结果;

计算其它麦克风阵列的任一输出信号与所述初始分类结果中的所有类别之间的相似度,并获取最大相似度;

当所述最大相似度大于预设阈值时,将所述任一输出信号归入最大相似度对应的初始分类结果的类别中;

当所述最大相似度小于预设阈值时,根据所述任一输出信号更新所述初始分类结果。

优选地,所述当前位置关系参数为预先根据分类结果构建第一代价函数,并对所述第一代价函数进行求解得到。

优选地,所述当前位置关系参数为预先根据任一麦克风阵列与对应的相机之间的第一空间变换矩阵、各个相机之间的第二空间变换矩阵进行计算得到。

优选地,在所述根据所述分类结果以及所述位置关系参数,确定声源的位置信息之前,还包括:

对所述分类结果中的每一类别分别进行外点剔除,得到剔除结果;

根据所述剔除结果对所述当前位置关系参数进行误差矫正。

优选地,所述对所述分类结果中的每一类别分别进行外点剔除,得到剔除结果,具体包括:

根据每一类别中任意两个输出信号,得到多个初始声源位置;

计算该类别中其他输出信号相对于对应的初始声源位置的距离;

若距离小于预设距离阈值,则将对应的当前输出信号记为内点,并统计每个初始声源位置对应的内点数;

根据内点数最多的初始声源位置,对该类别的输出信号进行外点剔除。

优选地,所述根据所述剔除结果对所述当前位置关系参数进行误差矫正,具体包括:

根据所述剔除结果,统计不同麦克风阵列对应的外点数;

对外点数超过预设点数的麦克风阵列对应的当前位置关系参数进行重新标定。

优选地,所述根据所述分类结果以及所述位置关系参数,确定声源的位置信息,具体包括:

根据每一类别对应的输出信号以及每个麦克风阵列相对于世界坐标系的空间变换矩阵,构建第二代价函数;其中,所述第二代价函数为

对所述第二代价函数进行求解,得到对应声源的空间坐标。

本发明另一实施例提供一种基于麦克风阵列的声源定位装置,包括:

信号获取模块,用于获取多个麦克风阵列的输出信号;

分类模块,用于对所述输出信号进行分类,得到分类结果;

位置参数获取模块,用于获取麦克风阵列之间的当前位置关系参数;

定位模块,用于根据所述分类结果以及所述当前位置关系参数,确定声源的位置信息。

本发明另一实施例提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的基于麦克风阵列的声源定位方法。

本发明另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述任一项所述的基于麦克风阵列的声源定位方法。

与现有技术相比,本发明实施例所提供的一种基于麦克风阵列的声源定位方法、装置、设备及存储介质,通过计算多个麦克风阵列所有的输出信号的相似度,根据相似度对输出信号进行分类,从而根据分类结果和预先获取的麦克风阵列之间的位置关系参数,确定空间中多个声源的三维坐标。本发明有效解决了现有技术中语音识别效果差和无法进行声源三维定位的问题。

附图说明

图1是本发明一实施例提供的一种基于麦克风阵列的声源定位方法的流程示意图;

图2是本发明一实施例提供的一种单个麦克风阵列进行声源定位的示意图;

图3是本发明一实施例提供的一种多麦克风阵列进行声源定位的原理示意图;

图4是本发明一实施例提供的世界坐标系与相机坐标系之间的转换关系的示意图;

图5是本发明一实施例提供的一种基于麦克风阵列的声源定位装置的结构示意图;

图6是本发明一实施例提供的一种终端设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明该实施例提供的一种基于麦克风阵列的声源定位方法的流程示意图,所述方法包括步骤S1至步骤S4:

S1、获取多个麦克风阵列的输出信号;

S2、对所述输出信号进行分类,得到分类结果;

S3、获取麦克风阵列之间的当前位置关系参数;

S4、根据所述分类结果以及所述当前位置关系参数,确定声源的位置信息。

需要说明的是,单个麦克风阵列可以采用声源定位算法和波束形成算法,监听空间中多个声源,当定位到某一声源位于90°位置,则只需要就调整波束形成器的参数,使波束形成器对90°入射声源的增益为1,其他方向入射声源的增益为0,通过这种方式来接收90°入射信号的同时抑制其他方向声源,从而起到了语音分离的作用。但是,单个麦阵的分辨能力有限,只能分辨声源方向,无法分辨声源距离,这就意味着,如果两个声源及麦阵原点近似在一直线上,该麦阵无法将这两个声源分离。为了方便理解,本发明该实施例提供一种单个麦克风阵列进行声源定位的示意图,具体参见图2。由图2可知,第一麦阵定位到声源1和声源2,但无法区分开两个声源的距离,且给不出它们的空间位置信息,本发明旨在解决该技术问题。

具体地,在一个多声源的空间中,控制多个麦克风阵列对多声源进行监听,然后获取多个麦克风阵列的输出信号。一般地,每个麦克风阵列会输出N个输出信号,每个输出信号对应一个声源,每个输出信号包括俯仰角、方位角和音频信号。若空间中的声源数目为W,则N≤W,因为有的声源可能离某个麦克风阵列较远,则无法监听到,也就无法输出对应的信号。

因为同一个麦克风阵列的各个输出信号对应为不同声源,为了方便参数标定,需要将同一声源对应的输出信号进行归类,所以先对所有的输出信号进行分类,得到分类结果,每一类别对应一个声源。

一般地,麦克风阵列之间的当前位置关系参数指的是每个麦克风阵列相对于世界坐标系的空间变换矩阵,这个参数是预先标定好的,具体标定过程参见后文的实施例,在此不赘述。

根据分类结果以及当前位置关系参数,确定声源的位置信息。每一类结果对应一个声源,根据每一类结果的输出信号中的俯仰角和方位角,再结合每个麦克风阵列相对于世界坐标系的空间变换矩阵,就可以确定对应声源的位置,该位置指的是空间三维坐标。

本发明该实施例通过提供一种基于麦克风阵列的声源定位方法,通过在空间中布置多个麦克风阵列以采集声源的输出信号,并对输出信号进行分类,进而确定每个声源的空间坐标,有效解决了现有技术中语音识别效果差和无法进行声源三维定位的问题。

作为上述方案的改进,所述对所述输出信号进行分类,得到分类结果,具体包括:

根据任一麦克风阵列的输出信号得到初始分类结果;

计算其它麦克风阵列的任一输出信号与所述初始分类结果中的所有类别之间的相似度,并获取最大相似度;

当所述最大相似度大于预设阈值时,将所述任一输出信号归入最大相似度对应的初始分类结果的类别中;

当所述最大相似度小于预设阈值时,根据所述任一输出信号更新所述初始分类结果。

具体地,根据任一麦克风阵列的输出信号得到初始分类结果。例如第一个麦克风阵列有K个输出信号,则将每个输出信号作为一个类别,初始分类结果则有K类。

计算其它麦克风阵列的任一输出信号与初始分类结果中的所有类别之间的相似度,并获取最大相似度。值得注意的是,在计算其它麦克风阵列的输出信号与初始分类结果的所有类别的相似度时,计算的也是其它麦克风阵列的输出信号与每个类别中各个输出信号的相似度。在计算相似度时,一般是利用输出信号中的音频信号进行计算,因为同一声源的音频会相似。

当最大相似度大于预设阈值时,将任一输出信号归入最大相似度对应的初始分类结果的类别中,此时表明计算的输出信号与对应的类别是同类,对应同一声源,所以需要归入同一类。

当最大相似度小于预设阈值时,即表明计算的输出信号与现有的初始分类结果均不是同类,需要根据任一输出信号更新初始分类结果,将对应计算的输出信号单独作为一个新类别,加入到初始分类结果中,在后续其他输出信号的相似度计算中,也要计算与该新类别的相似度。

为了加深对本发明该实施例的理解,下面以一个例子进行说明。例如第一个麦克风阵列有3个输出信号,先对应建立3个集合,分别为C1={O(1,1)},C2={O(1,2)},C3={O(1,3)}。对于第二个麦克风阵列的第1个输出信号O(2,1),计算O(2,1)与现有每个集合中每个元素的相似度,假如计算O(2,1)与C1,C2,C3中各元素的相似度都小于阈值T,则为O(2,1)新建一个集合C4={O(2,1)}。对于第二个麦克风阵列的第2个输出信号O(2,2),计算得到O(2,2)与O(1,1)的相似度大于阈值T,则就把O(2,2)也加入到O(1,1)对应的集合C1中。至此,我们能得到4个集合,C1={O(1,1),O(2,2)},C2={O(1,2)},C3={O(1,3)},C4={O(2,1)}。同理,对于其他麦克风阵列的输出信号,也是按照类似的方法计算,在此不赘述。

此外,本发明该实施例还提供了两种相似度的计算方法,当然,还有其他的方法,这两种方法不构成对本发明的限定。

第一,根据互相关函数计算相似度,也就是说利用互相关函数计算任一输出信号与每个类别中各个输出信号的互相关值,将最大的互相关值作为对应两个输出信号之间的相似度。

第二,将需要计算相似度的两个输出信号先通过快速傅里叶变换转换到频域,得到对应的频域信号,然后根据公式

作为上述方案的改进,所述当前位置关系参数为预先根据分类结果构建第一代价函数,并对所述第一代价函数进行求解得到。

具体地,当前位置关系参数指的是每个麦克风阵列相对于世界坐标系的空间变换矩阵,该参数为预先根据分类结果构建第一代价函数,并对第一代价函数进行求解得到。

具体地,先获取多个麦克风阵列的输出信号,对获取到的输出信号进行分类,得到分类结果;根据分类结果构建第一代价函数;对第一代价函数进行求解,得到每个麦克风阵列相对于世界坐标系的空间变换矩阵。

第一代价函数为

值得注意的是,世界坐标系为预设的任一麦克风阵列的阵列坐标系。例如预设第一个麦克风阵列的阵列坐标系为世界坐标系,则H

求解方法包括网格搜索法、梯度下降法、牛顿法或LM算法。对于第一代价函数

作为上述方案的改进,所述当前位置关系参数为预先根据任一麦克风阵列与对应的相机之间的第一空间变换矩阵、各个相机之间的第二空间变换矩阵进行计算得到。

具体地,当前位置关系参数为预先根据任一麦克风阵列与对应的相机之间的第一空间变换矩阵、各个相机之间的第二空间变换矩阵进行计算得到。下面以空间中存在两个麦克风阵列为例进行说明:

空间中两个麦克风阵列分别记为第一麦克风阵列和第二麦克风阵列,首先分别计算第一麦克风阵列相机对中的第一相机与第一麦克风阵列之间的第一空间变换矩阵H

其中,计算第一麦克风阵列相机对中的第一相机与第一麦克风阵列之间的第一空间变换矩阵具体为:以第一麦克风阵列为基础建立世界坐标系;以第一相机的光心为原点建立第一相机坐标系;计算第一相机坐标系到世界坐标系的空间变换矩阵,得到第一空间变换矩阵H

需要说明的是,参见图4,每个相机位置下都有一个相机坐标系,因此需要定义一个基准坐标系描述场景以及场景中物体的位置,即定义一个基准坐标系作为世界坐标系(O

其中,(X

示例性地,将第一麦克风阵列的阵列坐标系作为世界坐标系,可以通过摆放相机位置,以使第一相机的光轴Zc与第一麦克风阵列的Zm轴(即Zw轴)垂直,从而使得第一相机对应的相机坐标系到第一麦克风阵列对应的麦克风阵列坐标系(即世界坐标系)的旋转矩阵的各分量均为0。可以通过仪器测量第一麦克风阵列中心Om到第一相机的光心Oc的平移向量t

第二相机与第二麦克风阵列之间的第一空间变换矩阵H

其中,计算第一相机与第二相机之间的第二空间变换矩阵H

具体地,根据公式T

进一步地,当存在多个麦克风阵列时,可以将第一麦克风阵列相机对作为基准。例如,当存在三个麦克风阵列时,对应设置第一相机、第二相机和第三相机,只需计算出第一相机与第二相机之间的空间变换矩阵,第二相机与第三相机之间的空间变换矩阵,即可得到第一相机与第三相机之间的空间变换矩阵,进一步就可以得到第三麦克风阵列与第一麦克风阵列之间的空间变换矩阵。

作为上述方案的改进,在所述根据所述分类结果以及所述位置关系参数,确定声源的位置信息之前,还包括:

对所述分类结果中的每一类别分别进行外点剔除,得到剔除结果;

根据所述剔除结果对所述当前位置关系参数进行误差矫正。

具体地,对分类结果中的每一类别分别进行外点剔除,得到剔除结果。每一类别包括多个输出信号,根据这些输出信号的分布情况,将偏离整体的个别当前输出信号进行剔除。

根据剔除结果对当前位置关系参数进行误差矫正。根据剔除的输出信号,可以找到对应的麦克风阵列,当对应的麦克风阵列需要剔除的信号数超过预设阈值,说明该麦克风阵列的当前空间变换矩阵不够准确,需要进行误差矫正。

作为上述方案的改进,所述对所述分类结果中的每一类别分别进行外点剔除,得到剔除结果,具体包括:

根据每一类别中任意两个输出信号,得到多个初始声源位置;

计算该类别中其他输出信号相对于对应的初始声源位置的距离;

若距离小于预设距离阈值,则将对应的输出信号记为内点,并统计每个初始声源位置对应的内点数;

根据内点数最多的初始声源位置,对该类别的输出信号进行外点剔除。

具体地,本发明该实施例采用RANSAC方法进行外点剔除,根据每一类别中任意两个输出信号,得到多个初始声源位置,即随机取一个类别中的两个输出信号,根据三角定位计算两个输出信号直线的交点P。值得注意的是,直线可以不完全相交,交点是距两条直线最近的点,计算过程如下:

根据任意两个输出信号,构建代价函数

计算该类别中其他输出信号相对于对应的初始声源位置的距离,即求两点之间的距离。

若距离小于预设距离阈值,则将对应的输出信号记为内点,并统计每个初始声源位置对应的内点数。若距离大于预设距离阈值,则将对应的输出信号记为外点,在统计内点的同时也可以统计外点,对应地选择外点数最少的初始声源位置。

根据内点数最多的初始声源位置,对该类别的输出信号进行外点剔除。因为对于每一类别的输出信号来说,初始声源位置在前面步骤的拟合中,可以得到多个,我们需要的是挑出一个尽可能地靠近大部分输出信号的初始声源位置,确定后即可剔除距离较远的输出信号。

为了加深对本发明该实施例的理解,下面举一个例子进行说明。

step1:比如第1个类别C1中有6个输出信号,即6条直线,第一次随机取到了前2个直线,定位到了一个点P,然后依次计算第3,4,5,6个直线到点P的距离,其中第3,4,5个直线到点P的距离小于阈值,则对第1,2条直线形成的点P来说,内点数量为3,外点数量为1。

step2:重复step1若干次,每次都是随机取两个点,计算内外点数量,最后我们得到的其实是一个列表,假设重复4次,1-5的麦阵测量是准的,6不准:

O1,O2->计算P->内点3(分别是O3,O4,O5),外点1(O6)

O1,O3->计算P->内点3(分别是O2,O4,O5),外点1(O6)

O2,O4->计算P->内点3(分别是O1,O3,O5),外点1(O6)

O1,O6->计算P->内点0,外点4(O2,O3,O4,O5)

step3:在step2中所有列表条目中,选一个内点数最多的,外点数最少的。上面例子中选前3个哪个都行。我们就确定出了(O1-O5)是内点,O6是外点,也能推出O6对应的麦阵测量误差较大。

此外,值得注意的是,在对所有输出信号进行分类,得到分类结果之后,还需要将分类结果中输出信号个数小于预设个数的类别删除。可选地,预设个数至少为3,即当某一类别的输出信号的个数为1或2时,无法通过上述的外点剔除法进行剔除,因为一个信号无法确定声源位置,两个信号能确定声源,但无法判断是否存在误差。

作为上述方案的改进,所述根据所述剔除结果对所述当前位置关系参数进行误差矫正,具体包括:

根据所述剔除结果,统计不同麦克风阵列对应的外点数;

对外点数超过预设点数的麦克风阵列对应的当前位置关系参数进行重新标定。

具体地,如果只根据一个类别的剔除结果确定某一麦克风阵列的当前位置参数是否需要矫正,可能存在偶然误差,于是根据所有类别的剔除结果进行确定,增加鲁棒性。

根据剔除结果,统计不同麦克风阵列对应的外点数。对外点数超过预设点数的麦克风阵列对应的当前位置关系参数进行重新标定。

为了加深对本发明该实施例的理解,接上面一个实例继续进行说明。通过上面step1-step3的步骤,我们确定出了第6个麦阵的输出为外点,则第6个麦阵的外点计数+1。对其他类别的外点剔除,同样进行step1-3的步骤,计算外点,更新每一个麦阵的外点计数。比如初始状态,所有麦阵的外点计数都是0。计算完C1后,麦阵6的计数变为1,其他都还是0;计算完C2后,麦阵6的计数变为2了,其他也还是0。

在对当前位置关系参数进行重新标定的过程中,只需要求解需重新标定的麦克风阵列的空间变换矩阵,其他麦克风阵列的空间变换矩阵是已知的,不需要进行求解。

具体地,重新标定时构建代价函数

值得注意的是,世界坐标系为预设的任一麦克风阵列的阵列坐标系。例如预设第一个麦克风阵列的阵列坐标系为世界坐标系,则H

优选地,采用网格搜索法、梯度下降法、牛顿法或LM算法对代价函数进行求解。对于代价函数

作为上述方案的改进,所述根据所述分类结果以及所述位置关系参数,确定声源的位置信息,具体包括:

根据每一类别对应的输出信号以及每个麦克风阵列相对于世界坐标系的空间变换矩阵,构建第二代价函数;其中,所述第二代价函数为

对所述第二代价函数进行求解,得到对应声源的空间坐标。

具体地,根据每一类别对应的输出信号以及每个麦克风阵列相对于世界坐标系的空间变换矩阵,构建第二代价函数;其中,第二代价函数为

对第二代价函数进行求解,得到对应声源的空间坐标。可选地,n=2,对应的求解方法为最小二乘法;n=1,对应的求解方法为梯度下降法。

为了方便理解,参见图3,是本发明该实施例提供的一种多麦克风阵列进行声源定位的原理示意图。由于每个麦阵的测量都不可避免地存在误差,假设声源的真实坐标位于(x,y,z)处,由于误差,每个麦阵声源定位结果所对应的射线无法保证正好穿过真实坐标,假设声源点到第m条射线的距离为dm,我们要做的就是找到一个坐标(x,y,z),使(x,y,z)到所有射线的距离之和最小。上述代价函数的构建思想为找到一个坐标(x,y,z)到对应类别的所有输出信号的距离之和最小,即点到所有射线的距离之和最小。

参见图5,是本发明该实施例提供的一种基于麦克风阵列的声源定位装置的结构示意图,所述装置包括:

信号获取模块11,用于获取多个麦克风阵列的输出信号;

分类模块12,用于对所述输出信号进行分类,得到分类结果;

位置参数获取模块13,用于获取麦克风阵列之间的当前位置关系参数;

定位模块14,用于根据所述分类结果以及所述当前位置关系参数,确定声源的位置信息。

优选地,所述分类模块12具体包括:

初始分类单元,用于根据任一麦克风阵列的输出信号得到初始分类结果;

计算单元,用于计算其它麦克风阵列的任一输出信号与所述初始分类结果中的所有类别之间的相似度,并获取最大相似度;

划分单元,用于当所述最大相似度大于预设阈值时,将所述任一输出信号归入最大相似度对应的初始分类结果的类别中;

更新单元,用于当所述最大相似度小于预设阈值时,根据所述任一输出信号更新所述初始分类结果。

优选地,所述当前位置关系参数为预先根据分类结果构建第一代价函数,并对所述第一代价函数进行求解得到。

优选地,所述当前位置关系参数为预先根据任一麦克风阵列与对应的相机之间的第一空间变换矩阵、各个相机之间的第二空间变换矩阵进行计算得到。

优选地,所述装置还包括:

外点剔除模块,用于对所述分类结果中的每一类别分别进行外点剔除,得到剔除结果;

误差矫正模块,用于根据所述剔除结果对所述当前位置关系参数进行误差矫正。

优选地,所述外点剔除模块具体包括:

初始声源位置确定单元,用于根据每一类别中任意两个输出信号,得到多个初始声源位置;

距离计算单元,用于计算该类别中其他输出信号相对于对应的初始声源位置的距离;

内点统计单元,用于若距离小于预设距离阈值,则将对应的输出信号记为内点,并统计每个初始声源位置对应的内点数;

外点剔除单元,用于根据内点数最多的初始声源位置,对该类别的输出信号进行外点剔除。

优选地,所述误差矫正模块具体包括:

外点统计单元,用于根据所述剔除结果,统计不同麦克风阵列对应的外点数;

重新标定单元,用于对外点数超过预设点数的麦克风阵列对应的当前位置关系参数进行重新标定。

优选地,所述定位模块14具体包括:

函数构建模块,用于根据每一类别对应的输出信号以及每个麦克风阵列相对于世界坐标系的空间变换矩阵,构建第二代价函数;其中,所述第二代价函数为

函数求解模块,用于对所述第二代价函数进行求解,得到对应声源的空间坐标。

本发明实施例所提供的一种基于麦克风阵列的声源定位装置能够实现上述任一实施例所述的基于麦克风阵列的声源定位方法的所有流程,装置中的各个模块、单元的作用以及实现的技术效果分别与上述实施例所述的基于麦克风阵列的声源定位方法的作用以及实现的技术效果对应相同,这里不再赘述。

参见图6,是本发明该实施例提供的一种终端设备的示意图,所述终端设备包括处理器10、存储器20以及存储在所述存储器20中且被配置为由所述处理器10执行的计算机程序,所述处理器10执行所述计算机程序时实现上述任一实施例所述的基于麦克风阵列的声源定位方法。

示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器20中,并由处理器10执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在一种基于麦克风阵列的声源定位中的执行过程。例如,计算机程序可以被分割成信号获取模块、分类模块、位置参数获取模块和定位模块,各模块具体功能如下:

信号获取模块11,用于获取多个麦克风阵列的输出信号;

分类模块12,用于对所述输出信号进行分类,得到分类结果;

位置参数获取模块13,用于获取麦克风阵列之间的当前位置关系参数;

定位模块14,用于根据所述分类结果以及所述当前位置关系参数,确定声源的位置信息。

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

处理器10可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者处理器10也可以是任何常规的处理器等,处理器10是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。

存储器20可用于存储所述计算机程序和/或模块,处理器10通过运行或执行存储在存储器20内的计算机程序和/或模块,以及调用存储在存储器20内的数据,实现所述终端设备的各种功能。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述终端设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任一实施例所述的基于麦克风阵列的声源定位方法。

综上,本发明实施例所提供的一种基于麦克风阵列的声源定位方法、装置、设备及存储介质,通过计算多个麦克风阵列所有的输出信号的相似度,根据相似度对输出信号进行分类,从而根据分类结果和预先标定的麦克风阵列的位置参数,确定空间中多个声源的三维坐标。在确定声源坐标前,还通过对分类结果进行外点剔除,检测已标定的麦克风阵列是否被移动过,若有,重新进行标定,保证了麦克风阵列的空间变换矩阵的准确性,从而有效减少了声源定位的误差。本发明有效解决了现有技术中语音识别效果差和无法进行声源三维定位的问题。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

相关技术
  • 基于分布式麦阵的声源定位方法、装置、设备及存储介质
  • 基于麦克风阵列的声源定位方法、装置、设备及存储介质
技术分类

06120113271211