1.本发明涉及计算机软件技术领域,具体涉及一种身份识别方法、系统及存储介质。
背景技术:2.声纹识别技术即说话人语音的识别技术,是一种通过语音信号提取代表说话人身份的相关特征,例如反映声门开合频率的基频特征、反映口腔大小形状及声道长度的频谱特征等,进而识别出说话人身份等方面的技术。它可以广泛应用于信息安全、电话银行、智能门禁以及娱乐增值等领域。声纹识别所提供的安全性可与其他生物识别技术(指纹、掌形和虹膜)相媲美,且只需电话或麦克风即可,无需特殊的设备,数据采集极为方便,造价低廉,是最为经济、可靠、简便和安全的身份识别方式。在任何时候,只需输入说话者的语音,依靠独特的声纹便可被安全地鉴别。在电话信道中的表现更突出,是唯一可用于远程控制的非接触式生物识别技术。
3.然而,现有的声纹识别技术对用户声音识别的准确度较低,尤其是当用户输入的语音存在噪音干扰时,现有的声纹识别技术在进行声纹识别时存在的误差较大,准确度较低,从而造成现有的声纹识别技术使用场景较为苛刻和单一,实用性有待提高。
技术实现要素:4.针对现有技术中的技术缺陷,本发明实施例的目的在于提供一种身份识别方法、系统及存储介质,通过快速提取用户较完整的声纹特征,识别用户身份。
5.为实现上述目的,第一方面,本发明实施例提供了一种身份识别方法,包括:
6.获取用户的音频数据;
7.对所述音频数据进行预处理;
8.使用声纹识别模型对预处理后的音频数据进行声纹识别,获取用户的声纹信息;
9.将获取的声纹信息与声纹资料库中预存的用户注册声纹信息进行比对,获取对所述用户身份的识别结果;其中,
10.所述声纹识别模型通过以下方法训练得到:
11.获取音频训练样本,所述音频训练样本为标记有说话者id的音频文件;
12.对所述音频训练样本进行前置处理;
13.对前置处理后的所述音频训练样本进行噪音扩充处理;
14.利用扩充处理后的所述音频训练样本对模型进行训练,获取所述声纹识别模型。
15.进一步,所述用户注册声纹信息的获取方法包括:
16.获取用户的音频数据和身份信息;
17.对所述音频数据进行预处理;
18.使用声纹识别模型对预处理后的音频数据进行声纹识别,获取用户的声纹信息;
19.将用户的声纹信息和身份信息进行绑定,获取所述用户注册声纹信息。
20.进一步,对所述音频数据进行预处理,包括:
21.利用vad侦测所述音频数据中实际说话的时间区段;
22.对所述音频数据进行切句处理,滤除所述音频数据中的静音段。
23.进一步,获取所述音频训练样本的方法包括:
24.选取不同说话者的音频资料;
25.对音频资料人工标记说话者id,获取所述音频训练样本。
26.进一步,对所述音频训练样本进行前置处理,包括:
27.利用vad侦测所述音频训练样本中实际说话的时间区段;
28.对所述音频训练样本进行切句处理,滤除所述音频训练样本中的静音段,且切出的每一句音频中只含有一个说话者的声音。
29.进一步,所述对前置处理后的所述音频训练样本进行噪音扩充处理,包括:
30.通过合成和/或模拟的方法对前置处理后的音频训练样本进行不同场景的噪音扩增。
31.进一步,所述利用扩充处理后的所述音频训练样本对模型进行训练,获取所述声纹识别模型,包括:
32.抽取噪音扩充处理后的所述音频训练样本的行特征;
33.将所述行特征和对应的说话者id输入模型中进行分类训练,获取所述声纹识别模型。
34.进一步,所述抽取噪音扩充处理后的所述音频训练样本的行特征,包括:
35.对扩充处理后的所述音频训练样本进行傅立叶变换;
36.使用n组三角滤波器对变换后的所述音频训练样本的频域进行特征计算,并计算每组三角滤波器输出的对数能量;
37.对对数能量经过离散余弦变换后进行加总,得到所述行特征。
38.第二方面,本技术还提供了一种身份识别系统,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面所述的方法。
39.第三方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
40.实施本发明实施例,将具有如下有益效果:
41.本技术的身份识别方法使用的声纹识别模型由噪音扩充处理后的音频训练样本对模型进行训练后得到,能在复杂噪音背景下对用户的声音进行准确识别,其对用户声音识别的准确度高,大大提高了声纹识别的噪音适应能力和实用性,扩展了声纹识别的使用场景。
附图说明
42.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。为了更清楚地说明本技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技
术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
43.图1是本发明实施例提供的一种身份识别方法的方法流程图;
44.图2是本发明实施例提供的一种身份识别设备的结构示意图;
45.图3是本发明实施例提供的一种身份识别系统的结构示意图。
46.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
47.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
48.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本技术不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
49.应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在
……
时"或"当
……
时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、组件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、组件、组件、项目、种类、和/或组的存在、出现或添加。本技术使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:a、b、c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a和b和c”,再如,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a和b和c”。仅当组件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
50.应该理解的是,虽然本技术实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
51.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
52.需要说明的是,在本文中,采用了诸如s1、s2等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行s2后执行s1等,但这些均应在本技术的保护范围之内。
53.在现有的身份识别系统中,主要是利用生物识别来进行,透过人体指纹、人脸、虹膜、声音等生理组织的独特性来进行身份识别,生物识别上每个人都有独一无二的生理或行为特征,且具有不易复制的特性。本技术的身份识别方法通过声音信息对用户进行身份识别,透过声音上的特性:语调、音高、音色等特征,获取用户声音中的重要信息,制作成声纹进行身份验证。
54.本技术中,vad指语音活动检测(voice activity detection,vad),又称语音端点检测或语音边界检测,目的是从声音信号流里识别和消除长时间的静音期。
55.参考图1所示,其示出了一种身份识别方法的方法流程图,应用于通过语音提供身份识别服务的设备、系统或服务器。该身份识别方法可以包括:
56.s1:获取用户的音频数据。
57.可以通过麦克风等设备获取用户的语音信号,并将用户的声音信号存储为音频数据。
58.s2:对所述音频数据进行预处理。
59.获取到用户的音频数据后,由于音频数据中有可能存在不必要的静音段,为加快识别速度,需要将这些静音段切除掉。
60.本实施例中,对所述音频数据进行预处理,包括:
61.利用vad侦测所述音频数据中实际说话的时间区段;
62.对所述音频数据进行切句处理,滤除所述音频数据中的静音段。
63.s3:使用声纹识别模型对预处理后的音频数据进行声纹识别,获取用户的声纹信息。
64.本实施例中,所述声纹识别模型通过以下方法训练得到:
65.s51:获取音频训练样本,所述音频训练样本为标记有说话者id的音频文件。
66.本实施例中,获取所述音频训练样本的方法包括:
67.选取不同说话者的音频资料;对音频资料人工标记说话者id,获取所述音频训练样本。
68.本实施例中,可以选取、收录网络上公开且可免费使用或自己收录的音频资料,并将每个音频资料所属的说话者id进行人工标记。
69.s52:对所述音频训练样本进行前置处理。
70.本实施例中,为了使音频训练样本中只保留人声的部分,去除一些不必要的声音信息,加快训练速度并确保训练数据够干净,还需要对音频训练样本进行前置处理。
71.对所述音频训练样本进行前置处理,可以包括:
72.利用vad侦测所述音频训练样本中实际说话的时间区段;
73.对所述音频训练样本进行切句处理,滤除所述音频训练样本中的静音段,且切出的每一句音频中只含有一个说话者的声音。
74.s53:对前置处理后的所述音频训练样本进行噪音扩充处理。
75.本实施例中,通过合成和/或模拟的方法对前置处理后的音频训练样本进行不同场景的噪音扩增,例如:加入环境噪音、敲击声、马路上车声、模拟远场/扩音状态等,利用不同的声音和状态对前置处理后的音频训练样本进行噪音扩充,从而增加音频训练样本的多样性。
76.s54:利用扩充处理后的所述音频训练样本对模型进行训练,获取所述声纹识别模型。
77.具体的,先抽取噪音扩充处理后的所述音频训练样本的行特征,可以包括:
78.对扩充处理后的所述音频训练样本进行傅立叶变换;
79.使用n组三角滤波器对变换后的所述音频训练样本的频域进行特征计算,并计算每组三角滤波器输出的对数能量;
80.对对数能量经过离散余弦变换后进行加总,得到所述行特征。
81.具体的,在进行傅立叶变换之前,先对切句后的音频训练样本先进行分帧处理,分帧参数设置如下:window size设置为0.25秒,hop length设置为0.15秒。然后再对分帧处理后的音频训练样本进行傅立叶变换。
82.本实施例中,行特征的特征维度共80维,因此n=80,即使用80组三角滤波器对变换后的所述音频训练样本的频域进行特征计算。
83.然后,将所述行特征和对应的说话者id输入模型中进行分类训练,获取所述声纹识别模型。
84.本实施例中,模型采用ecapa
‑
tdnn架构模型,模型在训练的过程中逐渐收敛后,当达到设定的收敛阈值时,可以得到一个能够获取说话者声纹信息的声纹模型。
85.本技术的身份识别方法使用的声纹识别模型由噪音扩充处理后的音频训练样本对模型进行训练后得到,能在复杂噪音背景下对用户的声音进行准确识别,其对用户声音识别的准确度高,大大提高了声纹识别的噪音适应能力和实用性,扩展了声纹识别的使用场景。
86.s4:将获取的声纹信息与声纹资料库中预存的用户注册声纹信息进行比对,获取对所述用户身份的识别结果。
87.本实施例中,所述用户注册声纹信息的获取方法可以包括:
88.s61:获取用户的音频数据和身份信息。
89.用户在第一次注册时,需要获取用户的身份信息和音频数据。身份信息可以通过触摸屏、键盘、摄像头等输入设备进行输入,音频数据可以通过麦克风进行采集。
90.s62:对所述音频数据进行预处理。
91.同样的,获取到用户的音频数据后,由于音频数据中有可能存在不必要的静音段,为加快识别速度,需要将这些静音段切除掉。具体的预处理方法可以参考步骤s2。
92.s63:使用声纹识别模型对预处理后的音频数据进行声纹识别,获取用户的声纹信息。
93.s64:将用户的声纹信息和身份信息进行绑定,获取所述用户注册声纹信息。
94.本实施例中,将获取的声纹信息与声纹资料库中预存的用户注册声纹信息进行比对,若获取的声纹信息与用户注册声纹信息相匹配时,则判定该用户的身份识别通过;否则,则判定该用户的身份识别失败。
95.基于相同的发明构思,本发明实施例还提供了一种身份识别设备。如图2所示,该设备可以包括:
96.音频数据获取模块201,用于获取用户的音频数据;
97.预处理模块202,用于对所述音频数据进行预处理;
98.声纹信息获取模块203,用于使用声纹识别模型对预处理后的音频数据进行声纹识别,获取用户的声纹信息;以及
99.识别结果获取模块204,用于将获取的声纹信息与声纹资料库中预存的用户注册声纹信息进行比对,获取对所述用户身份的识别结果。
100.其中,所述声纹识别模型通过以下方法训练得到:
101.获取音频训练样本,所述音频训练样本为标记有说话者id的音频文件;
102.对所述音频训练样本进行前置处理;
103.对前置处理后的所述音频训练样本进行噪音扩充处理;
104.抽取噪音扩充处理后的所述音频训练样本的行特征,将所述行特征和对应的说话者id输入模型中进行分类训练,获取所述声纹识别模型。
105.本身份识别设备使用的声纹识别模型由噪音扩充处理后的音频训练样本对模型进行训练后得到,能在复杂噪音背景下对用户的声音进行准确识别,其对用户声音识别的准确度高,大大提高了声纹识别的噪音适应能力和实用性,扩展了声纹识别的使用场景。
106.基于相同的发明构思,本发明实施例还提供一种身份识别系统。如图3所示,该系统可以包括:一个或多个处理器101、一个或多个输入设备102、一个或多个输出设备103和存储器104,上述处理器101、输入设备102、输出设备103和存储器104通过总线105相互连接。存储器104用于存储计算机程序,所述计算机程序包括程序指令,所述处理器101被配置用于调用所述程序指令执行上述身份识别方法实施例部分的方法。
107.应当理解,在本发明实施例中,所称处理器101可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field
‑
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
108.输入设备102可以包括键盘等,输出设备103可以包括显示器(lcd等)、扬声器等。
109.该存储器104可以包括只读存储器和随机存取存储器,并向处理器101提供指令和数据。存储器104的一部分还可以包括非易失性随机存取存储器。例如,存储器104还可以存储设备类型的信息。
110.具体实现中,本发明实施例中所描述的处理器101、输入设备102、输出设备103可执行本发明实施例提供的身份识别方法的实施例中所描述的实现方式,在此不再赘述。
111.需要说明的是,关于身份识别系统的具体工作流程,可参考前述方法实施例部分,在此不再赘述。
112.进一步地,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:上述身份识别方法。
113.所述计算机可读存储介质可以是前述实施例所述的后台服务器的内部存储单元,例如系统的硬盘或内存。所述计算机可读存储介质也可以是所述系统的外部存储设备,例如所述系统上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述计算机可读存储介质还可以既包括所述系统的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述系统所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
114.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
115.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
116.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质。
117.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
118.在本技术中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本技术技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
119.在本技术中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
120.本技术技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本技术记载的范围。
121.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。