首页> 中国专利> 基于麦克风阵列的魔镜调整方法、系统及存储介质

基于麦克风阵列的魔镜调整方法、系统及存储介质

摘要

本申请涉及一种基于麦克风阵列的魔镜调整方法、系统及存储介质,其属于信号处理领域,其中方法包括:通过麦克风阵列,获取用户发送的使用请求,使用请求为语音的形式,麦克风阵列包括至少三个普通麦克风;生成与普通麦克风一一对应的语音信息,语音信息包括语音强度;按照语音强度由大到小的顺序,生成子麦克风阵列;按照预设的计算模型,计算生成每个子麦克风阵列对应的初步声源位置信息;将初步声源位置信息整合生成用户位置信息;将用户位置信息与当前预设的目标位置信息进行比对,生成位置比对信息;根据位置比对信息,生成移动指令信息反馈给魔镜终端。本申请具有便于用户使用的效果。

著录项

  • 公开/公告号CN112860067A

    专利类型发明专利

  • 公开/公告日2021-05-28

    原文格式PDF

  • 申请/专利权人 深圳市今视通数码科技有限公司;

    申请/专利号CN202110169552.5

  • 发明设计人 赵满平;

    申请日2021-02-07

  • 分类号G06F3/01(20060101);G06F3/16(20060101);

  • 代理机构11508 北京维正专利代理有限公司;

  • 代理人任志龙

  • 地址 518000 广东省深圳市光明新区公明办事处楼村凤新路新健兴科技工业园A2栋5楼

  • 入库时间 2023-06-19 11:08:20

说明书

技术领域

本申请涉及信号处理的领域,尤其是涉及一种基于麦克风阵列的魔镜调整方法、系统及存储介质。

背景技术

麦克风阵列,从字面上理解,指的就是根据麦克风的排列所组成的阵列,也可以是由一定数目的声学传感器组成,用来对声场的空间特性进行采样并处理的系统。麦克风按照指定要求排列之后,加上相应的算法,就可以解决很多声学问题,例如声源定位、去混响、语音增强和盲源分离等。因此,麦克风阵列在许多地方都有应用,

随着社会经济的发展,各大商场中也越来越多地能看见魔镜的身影。魔镜是一种将娱乐与商务推销结合在一起的产品,人们可以在魔镜前拍照,生成短视频和漫画,或者魔镜可以为人们进行虚拟换装,从而匹配合适的服饰等信息。

上述中的相关技术存在以下缺陷:人们与魔镜发生互动的前提是魔镜能够在规定的位置捕获到用户的图像,但是一般用于捕获用户图像的摄像头固定设置,用户不断调整自身的位置和姿势来寻找合适的位置,否则无法触发魔镜。

发明内容

为了避免用户不断调整自身的位置和姿势来寻找合适的位置,本申请提供一种基于麦克风阵列的魔镜调整方法、系统及存储介质。

第一方面,本申请提供一种基于麦克风阵列的魔镜调整方法,采用如下的技术方案:

一种基于麦克风阵列的魔镜调整方法,包括:

通过所述麦克风阵列,获取用户发送的使用请求,所述使用请求为语音的形式,所述麦克风阵列包括至少三个普通麦克风;

生成与所述普通麦克风一一对应的语音信息,所述语音信息包括语音强度;

按照所述语音强度由大到小的顺序,生成子麦克风阵列;

按照预设的计算模型,计算生成每个所述子麦克风阵列对应的初步声源位置信息;

将所述初步声源位置信息整合生成用户位置信息;

将所述用户位置信息与当前预设的目标位置信息进行比对,生成位置比对信息;

根据所述位置比对信息,生成移动指令信息反馈给魔镜终端。

通过采用上述技术方案,每次在用户输入语音形式的使用请求之后,可根据语音信息中的语音强度,将麦克风阵列划分为若干个子阵列,并由子阵列通过麦克风的声源技术确定用户的位置,再将魔镜移动到对应的位置点,为魔镜上的摄像头捕获人像进行换装等操作做好定位基础,使得用户即使位于摄像头拍摄不到的位置,也能触发魔镜,解决了用户需要不断调整自己位置和姿势来适应魔镜的问题,改善了用户体验。

可选的,通过所述麦克风阵列,获取用户发送的使用请求之前还包括:

获取用户发送的挑选请求,所述挑选请求为语音的形式,所述挑选请求包括挑选关键词;

根据所述挑选关键词,获取与所述挑选关键词对应预设的目标位置信息。

通过采用上述技术方案,在魔镜对用户进行定位操作之间,用户还可通过麦克风阵列向魔镜发送挑选的请求,从而选择不同的魔镜功能或者拍摄模板,提高了用户的选择自由度。

可选的,预设的所述计算模型为TDOA定位算法模型。

通过采用上述技术方案,TDOA定位算法模型为一种利于实时使用的,计算复杂度较低的声源定位算法,其计算较为简单,响应速度较快,有利于较快得到声源位置,且多个子阵列同时使用该算法可提高定位精度。

可选的,所述按照所述语音强度由大到小的顺序,生成子麦克风阵列具体包括:

按照所述语音强度由强到弱的顺序,将所述语音信息进行排序,生成语音信息列表;

从所述语音信息列表中,依次将所述语音信息对应的语音强度与预设为零的强度总和累加;

判断所述强度总和是否大于等于预设的划分强度阈值;

若所述强度总和小于预设的划分强度阈值,则继续将所述语音强度与所述强度总和相加;若所述强度总和大于等于预设的划分强度阈值,则将所述强度总和包含的语音强度对应的普通麦克风组成子麦克风阵列,并根据当前所述强度总和生成与所述子麦克风阵列绑定的阵列强度。

通过采用上述技术方案,按照预设的强度阈值,将麦克风阵列划分为若干个子麦克风阵列,对于语音强度较低的语音信息通过增加个数来弥补计算出来的声源位置精度,以此尽可能保证每个子麦克风阵列的划分合理,根据子麦克风阵列计算得到的用户位置准确性高。

可选的,所述将所述初步声源位置信息整合生成用户位置信息具体包括:

获取各个所述初步声源位置信息对应的子麦克风阵列;

根据所述子麦克风阵列的普通麦克风个数和对应的阵列强度,计算生成平均强度;

根据所述平均强度生成与所述子麦克风阵列一一对应的加权系数,所述加权系数的总和为1;

根据所述加权系数与对应所述子麦克风阵列的初步声源位置信息,生成用户位置信息。

通过采用上述技术方案,通常语音强度较低的语音信息距离声源位置较远,因此在获取语音信息时存在偏差的可能性较大,在根据所有初步声源位置信息整合生成用户位置信息时,降低对该语言信息的信任程度,从而提高计算准确性。

可选的,所述获取各个所述初步声源位置信息对应的子麦克风阵列具体包括:

计算所述初步声源位置信息与其他所述初步声源位置信息之间的声源位置差值;

判断所述声源位置差值是否满足预设的差值异常条件;

若所述声源位置差值满足预设的差值异常条件,则将所述初步声源位置信息定义为异常声源位置,并将对应的普通麦克风定义为问题麦克风。

通过采用上述技术方案,不使用偏差较大的初步声源位置信息计算用户位置,保证用户位置的准确性,并且将对应的麦克风从普通麦克风中分离,便于处理。

可选的,所述将所述初步声源位置信息整合生成用户位置信息之后还包括:

根据所述用户位置信息和所述问题麦克风的位置,模拟生成与所述问题麦克风一一对应的模拟语音信息;

根据所述模拟语音信息和对应的语音信息,生成检验声差时间;

判断所述检验声差时间是否大于预设的声差阈值;

若所述检验声差时间大于预设的声差阈值,则将当前问题麦克风定义为异常麦克风,并将所述异常麦克风反馈给管理员;若所述检验声差时间小于等于预设的声差阈值,则将当前问题麦克风重新定义为普通麦克风。

通过采用上述技术方案,根据最终生成的用户位置,模拟反推问题麦克风生成的语音信息并判断是否合理,从而缩小实际有问题的麦克风范围,将判断得到的异常麦克风反馈给管理员,便于管理员及时进行维修。

第二方面,本申请提供一种基于麦克风阵列的魔镜调整系统,采用如下的技术方案:

一种基于麦克风阵列的魔镜调整系统,包括:

信息获取模块,用于通过所述麦克风阵列,获取用户发送的使用请求,所述使用请求为语音的形式,所述麦克风阵列包括至少三个普通麦克风;生成与所述普通麦克风一一对应的语音信息,所述语音信息包括语音强度;

位置生成模块,用于按照所述语音强度由大到小的顺序,生成子麦克风阵列;按照预设的计算模型,计算生成每个所述子麦克风阵列对应的初步声源位置信息;将所述初步声源位置信息整合生成用户位置信息;

对比移动模块,用于将所述用户位置信息与当前预设的目标位置信息进行比对,生成位置比对信息;根据所述位置比对信息,生成移动指令信息反馈给魔镜终端。

通过采用上述技术方案,通过将麦克风阵列划分为子麦克风阵列,多方面对声源进行定位,从而能准确定位用户的位置,并将调整指令发送给魔镜,使得魔镜能自动移动到合适的位置上,以此使得用户无需不断调整自身的位置,改善了用户体验。

第三方面,本申请提供一种智能终端,采用如下的技术方案:

一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如第一方面所述方法的计算机程序。

通过采用上述技术方案,通过子麦克风阵列对声源进行准确定位,并根据得到的用户位置移动魔镜的位置,无需用户不断进行自我调整,改善了用户体验。

第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:

一种计算机可读存储介质,包括存储有能够被处理器加载并执行如第一方面所述方法的计算机程序。

通过采用上述技术方案,能够对声源进行准确定位,以此调整魔镜位置,便于用户触发魔镜的功能。

综上所述,本申请包括以下至少一种有益技术效果:

1.通过子麦克风阵列对声源进行定位,并且最终进行整合得到用户位置,以此来调整魔镜的位置,使得用户在摄像头无法拍摄到的位置也可以启动魔镜,并且用户无需再进行自我调整,优化了用户体验;

2.不使用偏差过大的初步声源位置信息,并且根据用户位置进行反推,对生成偏差较大的麦克风进行进一步判断,将最终异常的麦克风反馈给管理员,管理员可对其进行及时的维修。

附图说明

图1是本申请实施例的基于麦克风阵列的魔镜调整方法的流程示意图。

图2是本申请实施例的用于生成子麦克风阵列的流程示意图。

图3是本申请实施例的用于将初步声源位置信息整合生成用户位置信息的流程示意图。

图4是本申请实施例的用于定义生成异常声源位置和问题麦克风的流程示意图。

图5是本申请实施例的用于生成异常麦克风的流程示意图。

图6是本申请实施例的基于麦克风阵列的魔镜调整系统的结构框图。

附图标记说明:1、信息获取模块;2、位置生成模块;3、对比移动模块;4、异常确认模块。

具体实施方式

以下结合附图1-6对本申请作进一步详细说明。

本申请实施例公开一种基于麦克风阵列的魔镜调整方法,该方法应用于一种魔镜,该魔镜具备在水平和竖直方向上调整的功能,此外,魔镜上还具有一个麦克风阵列。在本实施例中,该麦克风阵列是由八个普通麦克风组成的4*2阵列。魔镜可以对麦克风阵列获取到的信息进行数据处理,并且根据数据处理得到的信息内容对魔镜进行水平方向和竖直方向的调节,从而实现魔镜的调整。

参照图1,基于麦克风阵列的魔镜调整方法包括:

S100:获取用户发送的挑选请求。

其中,挑选请求包括挑选关键词,且挑选请求为语音的形式。用户在距离魔镜一定距离的位置时,可直接说出包含例如“拍摄”、“录像”等挑选关键词的挑选请求。

S200:生成与关键词对应的模板。

其中,模板包括预设的目标位置信息。在预设的库中,每个关键词均对应有一个模板,每个模板具有不同的拍摄主题,不同的拍摄主题可能需要用户相对于魔镜站在不同的位置上,因此具有不同的目标位置信息。

S300:获取用户发送的使用请求。

其中,使用请求包括预设的使用关键词,且同样为语音的形式。具体的,通过由八个普通麦克风组成的麦克风阵列捕获周围的声音,当通过语音识别识别到关键词时,即获取了使用请求。

S400:根据使用请求,生成语音信息。

其中,语音信息与麦克风阵列中的普通麦克风一一对应,语音信息包括语音强度和声达时间。语音强度为对应麦克风接收到的使用请求的峰值,声达时间为使用请求到达对应麦克风的客观时间,声达时间精确到微秒。

S500:按照语音强度由大到小的顺序,生成子麦克风阵列。

其中,麦克风阵列中的所有普通麦克风均会被分配到子麦克风阵列中,同时,某些对应语音强度较大的普通麦克风有可能会被分配到不止一个子麦克风阵列中。具体来说,结合图2,S500包括以下子步骤。

S501:按照语音强度由大到小的顺序,生成语音信息列表。

具体的,将所有语音信息按照语音强度由大到小的顺序排序,生成语音信息列表。语音信息列表为首尾相接的循环列表,即在语音信息列表中,语音强度越大的语音信息,排列得越前,并且在语音强度最小的语音信息之后排列有语音强度最大的语音信息。

S502:根据语音信息列表,将语音强度累加生成强度总和。

具体的,按照语音信息在语音信息列表中的排列顺序,依次将各个语音信息的语音强度与预设为0的强度总和相加。系统中有预设为0的累加信息个数,强度总和每与一个语音强度相加,即将累加信息个数加1,并且将当前的语音信息移动到临时语音信息列表中,当累加信息个数达到N时,N≥3,执行S503。

S503:判断强度总和是否大于等于预设的划分强度阈值。

具体的,若强度总和小于预设的划分强度阈值,则将返回S502,将当前的强度总和与下一个语音强度相加,并且将该语音强度对应的语音信息移动到临时语音信息列表中;若强度总和大于等于预设的划分强度阈值,则将临时语音信息列表中的语音信息对应的普通麦克风组成一个子麦克风阵列,并且根据当前的强度总和生成一个阵列强度,当前的强度总和与阵列强度的具体数值相等。将强度总和、累加信息个数以及临时语音信息列表清零,进行下一个子麦克风阵列的生成。

当所有的普通麦克风均分配完成之后,跳转至S600。

S600:根据预设的计算模型,生成每个子麦克风阵列的初步声源位置信息。

其中,预设的计算模型为TDOA定位算法模型。此外,每个普通麦克风均预设有一个阵列编号,阵列编号与普通麦克风一一对应,阵列编号可用于体现对应的普通麦克风在阵列中的位置。例如,阵列编号12代表该麦克风在阵列的第一列第二个,阵列编号41代表该麦克风在阵列的第四列第一个。

TDOA定位算法模型为基于声达时间差的定位技术,该算法模型根据S500中声的子麦克风阵列中每个普通麦克风的声达时间,计算生成声达时间差,并结合由阵列编号可得的普通麦克风的空间位置,进一步确定声源的位置,即初步声源位置信息,初步声源位置信息与子麦克风阵列一一对应。最终初步声源位置信息映射在以魔镜的中心处为原点,魔镜所在的平面为xy平面,垂直于魔镜所在平面的方向为z轴建立的直角坐标系中,并以三维坐标的形式表示。

S700:将初步声源位置信息整合生成用户位置信息。

具体来说,结合图3,S700包括以下子步骤。

S701:计算生成子麦克风阵列的平均强度。

具体的,获取S600中生成各个初步声源位置信息的子麦克风阵列,计算每个子麦克风阵列中的普通麦克风个数,用子麦克风阵列对应的阵列强度除以对应的普通麦克风个数,生成平均强度,平均强度与子麦克风阵列一一对应。

S702:根据子麦克风阵列的平均强度,生成加权系数。

具体的,将各个平均强度的具体数值归一化生成对应子麦克风阵列的加权系数,所有加权系数的总和为1。举例来说,若共分有三个子麦克风阵列,其中第一个子麦克风阵列的平均强度为A,第二个子麦克风阵列的平均强度为B,第三个子麦克风阵列的平均强度为C,则将平均强度归一化,即将每个子麦克风阵列的平均强度除以所有平均强度之和,最终生成第一个子麦克风阵列的加权系数为

S703:将初步声源位置信息按照加权系数整合成用户位置信息。

具体的,将初步声源位置信息中的三维坐标值乘以对应子麦克风阵列的加权系数,并将相乘之后的结果对应相加,得到最终的用户位置信息。例如,延续S702中的例子,若第一个子麦克风阵列的初步声源位置信息为(x1,y1,z1),第二个子麦克风阵列的初步声源位置信息为(x2,y2,z2),第三个子麦克风阵列的初步声源位置信息为(x3,y3,z3),则根据对应的加权系数,最终生成的用户位置信息为(

S800:将用户位置信息与目标位置信息进行对比,生成位置比对信息。

其中,目标位置信息具体为二维的表示形式,具体的,将用户位置信息垂直投射到魔镜上,即仅使用用户位置信息中的x坐标和y坐标,将该坐标与S200中获取到的目标位置信息对应相减,得到位置对比信息,位置对比信息包括横向移动距离和竖直移动距离。

S900:根据位置对比信息,生成移动指令反馈给魔镜终端。

具体的,根据位置对比信息中的横向移动距离和竖直移动距离,生成移动指令发送给魔镜终端,使得魔镜根据横向移动距离和竖直移动距离进行调整,从而便于魔镜直接获取合适的用户人像,无需用户移动。

为了便于及时对麦克风阵列进行维护,结合图4,在S701计算生成子麦克风阵列的平均强度之前,方法还包括:

S11:计算各初步声源位置与其他初步声源位置之间的声源位置差值。

具体的,获取所有初步声源位置,并依次以其中某一个初步声源位置为被减数,与其他初步声源位置对应相减,得到若干声源位置差值,每个声源位置差值均包括x差值、y差值和z差值三个数。

S12:判断各初步声源位置的声源位置差值是否满足预设的差值异常条件。

其中,满足预设的差值异常条件即该初步声源位置存在一半以上的声源位置差值中的x差值、y差值和z差值三个数中任意一个大于预设的差值阈值。具体的,将某一初步声源位置的所有声源位置差值与预设的差值阈值进行逐一比对,若某一声源位置差值大于等于预设的差值阈值,则将预设为0的累计比对数加1,若某一声源位置差值小于预设的差值阈值,则继续进行下一个声源位置差值的比较。

若某一初步声源位置的累计比对数大于该初步声源位置对应麦克风阵列中的普通麦克风个数的一半,则判断为满足预设的差值异常条件,跳转至S13;若累计比对数小于等于对应的普通麦克风个数的一半,则判断为不满足预设的差值异常条件,维持在S12中进行下一个声源位置差值的判断。

S13:定义生成异常声源位置和问题麦克风。

具体的,将当前的初步声源位置定义为异常声源位置,使得在执行S701计算平均强度时,不使用该初步声源位置,并且,将该初步声源位置对应的麦克风阵列中的所有普通麦克风定义为问题麦克风。

为了进一步确定存在问题的麦克风,结合图5,在S700将初步声源位置信息整合生成用户位置信息之后还包括:

S21:根据用户位置信息和问题麦克风,模拟生成与问题麦克风一一对应的模拟语音信息。

具体的,通过仿真,从用户位置信息向各个问题麦克风和一个普通麦克风模拟发送语音信息,生成与问题麦克风和一个普通麦克风一一对应的模拟语音信息。模拟语音信息包括模拟声达时间,将问题麦克风与普通麦克风的模拟声达时间相减,得到模拟声差时间。

S22:根据问题麦克风的模拟语音信息和语音信息,生成检验声差时间。

具体的,将问题麦克风语音信息中的声达时间与同一普通麦克风语音信息中的声达时间相减,生成与问题麦克风一一对应的声差时间,将声差时间与模拟声差时间相减,生成与问题麦克风一一对应的检验声差时间。在生成所有问题麦克风的检验声差时间之后,跳转至S23。

S23:判断当前问题麦克风的检验声差时间是否大于预设的声差阈值。

具体的,依次获取各个问题麦克风的检验声差时间,每获取到一个问题麦克风,即将该问题麦克风定义为当前问题麦克风。若当前问题麦克风的检验声差时间大于预设的声差阈值,则将当前的问题麦克风定义为异常麦克风,并将对应的阵列编号反馈到管理员的手机终端,之后进入下一个问题麦克风的判断;若当前问题麦克风的检验声差时间小于等于预设的声差阈值,则将当前的问题麦克风重新定义为普通麦克风,随后进入下一个问题麦克风的判断。

实施原理:通过麦克风阵列获取用户发送的语音形式的使用请求,生成与普通麦克风一一对应的语音信息,并将所有的普通麦克风划分进各自的子麦克风阵列中。根据TDOA定位算法模型,以子麦克风阵列为计算基础,计算生成初步声源位置信息。根据子麦克风阵列的平均强度为初步声源位置信息分配加权系数,并且根据加权系数最终生成用户位置信息。将用户位置信息与预设的目标位置信息进行比对,生成移动指令反馈给魔镜终端使得魔镜移动到合适的位置上,避免用户需要自身不断进行调整来找到合适的位置。

基于上述方法,本申请实施例还公开一种基于麦克风阵列的魔镜调整系统。参照图6,基于麦克风阵列的魔镜调整系统包括信息获取模块1、位置生成模块2、对比移动模块3和异常确认模块4。

信息获取模块1,用于通过麦克风阵列,获取用户发送的使用请求和挑选请求,并且根据挑选请求,确定目标位置信息。

位置生成模块2,用于按照语音强度由大到小的顺序,生成子麦克风阵列,根据TDOA定位算法模型计算每个子麦克风阵列的初步声源位置信息,根据初步声源位置信息的平均强度,将初步声源位置信息整合生成用户位置信息。

对比移动模块3,用于将计算生成的用户位置信息与得到的目标位置信息进行比对,生成位置对比信息,以位置对比信息为基础生成移动指令信息反馈给魔镜终端。

异常确认模块4,用于将计算生成的偏差较大的子麦克风阵列中的麦克风定义为问题麦克风,之后以最终计算生成的用户位置信息为基准,生成模拟语音信息,对问题麦克风进行检验。

本申请实施例还公开一种智能终端包括存储器和处理器,存储器上存储有能够被处理器加载并执行如上述的基于麦克风阵列的魔镜调整方法的计算机程序。

本申请实施例还公开一种计算机可读存储介质,其存储有能够被处理器加载并执行如上述的基于麦克风阵列的魔镜调整方法的计算机程序,该计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用以说明本申请的技术方案,而非对申请的保护范围进行限制。显然,所描述的实施例仅仅是本申请部分实施例,而不是全部实施例。基于这些实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所要保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号