CN106373576A - 一种基于vq和svm算法的说话人确认方法及其*** - Google Patents
一种基于vq和svm算法的说话人确认方法及其*** Download PDFInfo
- Publication number
- CN106373576A CN106373576A CN201610807471.2A CN201610807471A CN106373576A CN 106373576 A CN106373576 A CN 106373576A CN 201610807471 A CN201610807471 A CN 201610807471A CN 106373576 A CN106373576 A CN 106373576A
- Authority
- CN
- China
- Prior art keywords
- code book
- user
- svm
- targeted customer
- confirmed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012790 confirmation Methods 0.000 title abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 16
- 230000003252 repetitive effect Effects 0.000 claims description 12
- 238000009432 framing Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 8
- 238000010168 coupling process Methods 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 206010008118 cerebral infarction Diseases 0.000 claims description 7
- 208000026106 cerebrovascular disease Diseases 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 230000006872 improvement Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000012706 support-vector machine Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/24—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明公开了一种基于VQ和SVM算法的说话人确认方法及其***,说话人确认方法包括:步骤A、采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;步骤B、对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;步骤C、将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本带入SVM说话者模型当中进行分类,然后判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。本发明针对家用***不使用背景模型,而采用“一对一”训练方式训练SVM说话者模型,可一定程度上提高说话人确认的准确性。
Description
技术领域
本发明涉及语音技术领域,特别涉及一种基于VQ和SVM算法的说话人确认方法及其***。
背景技术
说话者确认***是从发出的声音中确认说话者声称的身份,现有技术中的说话者确认***如图1所示,其表示已知有用户S1,S2,…,Si…,Sn,有一段声称是属于用户Si的语音,现要确认该段语音是否属于用户Si。
支持向量机(SVM,Support Vector Machine)是一种区分性训练模型,其需要正反两类数据,分别是目标说话人(声称的用户)和冒认说话人的训练语音数据。基于矢量量化(VQ,vector quantizization)的确认***采用经验值进行确认,但是经验值是从海量的数据中得出的统计值;而且当***为不同用户使用时,该经验值是一个固定值,不具有鲁棒性。基于SVM具有二分类的效果,故这里采用基于VQ与SVM的算法来实现确认***。传统的说话人确认***采用基于VQ与SVM的算法来实现;且需建立说话人背景模型, 用来与登记的说话人进行训练 , 并在识别时给出输出值以供判断。但是,背景模型的建立需要大量的数据,计算量大、操作较为复杂。
因而现有技术还有待改进和提高。
发明内容
本发明的目的在于提供一种基于VQ和SVM算法的说话人确认方法及其***,以解决现有背景模型的建立需要大量的数据,计算量大、操作较为复杂的问题。
为了达到上述目的,本发明采取了以下技术方案:
一种基于VQ和SVM算法的说话人确认方法,其包括:
步骤A、采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;
步骤B、对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;
步骤C、将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
所述的基于VQ和SVM算法的说话人确认方法中,所述步骤A之前,还包括:
步骤A010、采集各授权用户的语音信号,提取各授权用户的特征向量组;
步骤A020、对各特征向量组分别进行VQ算法计算,生成各授权用户的码本。
所述的基于VQ和SVM算法的说话人确认方法中,所述步骤A010具体包括:
步骤A1、采集声称是目标用户的待确认用户的语音信号,对语音信号进行端点检测,去除静音部分并提取出有效语音部分;
步骤A2、对所述有效语音部分进行分帧并保留有效帧;
步骤A3、提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分;
步骤A4、将每一有效帧的梅尔倒谱系数及其对应的一阶差分合起来,形成一有效帧语音信号的特征向量,所有有效帧的特征向量构成该待确认用户的特征向量组。
所述的基于VQ和SVM算法的说话人确认方法中,所述步骤A2具体包括:对有效语音部分通过一个高通滤波器进行预加重,以每隔预设时间为一帧进行分帧,若得若干有效帧。
所述的基于VQ和SVM算法的说话人确认方法中,所述步骤A3具体包括:先对每一有效帧乘以汉明窗,再进行快速傅里叶变换,接着通过滤波器组进行三角带通滤波,然后计算滤波器组输出的对数能量,最后将对数能量经离散余弦变换获得梅尔倒谱系数,对梅尔倒谱系数计算其一阶差分。
所述的基于VQ和SVM算法的说话人确认方法中,所述步骤B具体包括:
步骤B1、对特征向量组使用***法得到初始码本,设定迭代训练参数并进行初始化值设置;
步骤B2、求所***字中与训练集距离最近的码字;
步骤B3、根据最近的码字、设置的迭代训练参数和初始化值计算总畸变、畸变改进量的相对值和新码本的码字;
步骤B4、判断相对值是否小于起边改进阈值:若是,执行步骤B6;否则,执行步骤B5;
步骤B5、判断迭代次数变量是否小于最大迭代次数:若是,令迭代次数变量加1,返回步骤B2;否则,执行步骤B6;
步骤B6、迭代终止;输出新码本的码字作为训练成的待确认用户的码本的码字,将所述码本作为测试样本并输出总畸变。
所述的基于VQ和SVM算法的说话人确认方法中,在所述步骤B1中,迭代训练参数包括:设全部训练矢量X的集合为S,设置码本的尺寸为J,设置迭代算法的最大迭代次数为L,设置起边改进阈值为δ;
初始化值设置为:设置J个码字的初始值为Y1 (0),Y2 (0),…,YJ (0);设置畸变初值D(0)为无穷;设置迭代次数变量的初值m=1。
所述的基于VQ和SVM算法的说话人确认方法中,所述步骤C具体包括:
步骤C1、将预存的其他授权用户视为冒认者,对冒认者和目标用户的码本的每帧所对应的类别进行标记;
步骤C2、将目标用户的码本分别与各冒认者的码本一对一进行SVM训练,得到目标用户与每个冒认者的各个SVM说话者模型;
步骤C3、将所述测试样本分别带入目标用户与每个冒认者的各个SVM说话者模型的判别函数中,计算测试样本中每帧所对应类别为目标用户的码本的每帧所对应类别的帧数占该测试样本总帧数的比例;
步骤C4、判断各个比例的平均值是否大于预设值:是则识别该待确认用户是目标用户;否则,该待确认用户不是目标用户。
所述的基于VQ和SVM算法的说话人确认方法中,在所述步骤C1中,将预存的其他授权用户视为冒认者,并将其码本的每帧所对应的类别记为“-1”;将目标用户的码本的每帧所对应的类别记为“+1”。
一种用于实现所述的基于VQ和SVM算法的说话人确认方法的说话人确认***,其包括特征提取模块、码本计算模块、模型建立模块和处理模块;
所述特征提取模块采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;码本计算模块对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;模型建立模块将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型;处理模块将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
相较于现有技术,本发明提供的基于VQ和SVM算法的说话人确认方法及其***,通过采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本带入SVM说话者模型当中进行分类,然后判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。传统的VQ与SVM说话人确认***需要大量的数据来建立说话人背景模型,本发明针对家用***不使用背景模型,而采用“一对一”训练方式训练SVM说话者模型,可一定程度上提高说话人确认的准确性。
附图说明
图1为现有说话者确认***的示意图。
图2为本发明提供的基于VQ和SVM算法的说话人确认方法实施例一的方法流程图。
图3为本发明提供的基于VQ和SVM算法的说话人确认方法实施例二的方法流程图。
图4为本发明提供的基于VQ和SVM算法的说话人确认方法中步骤S100的方法流程图。
图5为本发明提供的基于VQ和SVM算法的说话人确认方法中步骤S200的方法流程图。
图6为本发明提供的基于VQ和SVM算法的说话人确认方法中步骤S300的方法流程图。
图7为本发明提供的基于VQ和SVM算法的说话人确认***的结构框图。
具体实施方式
本发明提供一种基于VQ和SVM算法的说话人确认方法及其***,本***适用于家庭、或用户数量不多的应用场合。通过将种聚类算法(矢量量化算法,简称VQ)和支持向量机(SVM)算法相结合,组成了一种与文本无关的适合家用的说话人确认***。以通过用户语音信号来分辨用户身份,从而给用户提供个性化的推荐业务。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图2,其为本发明提供的基于VQ和SVM算法的说话人确认方法流程图。本发明提供的说话人确认方法包括:
S100、采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;
S200、对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;
S300、将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
本实施例提供的说话人确认***包括训练阶段和确认阶段。SVM说话者模型使用的用户的码本在训练阶段(即用户的设置过程中)已预先计算并存储。以家用的电视机为例,用户在设置家庭账户时(即训练阶段),电视机采集各家庭成员的语音信号,采用与步骤S100~步骤S200相似的方法计算出对应的码本。这些家庭成员被授予使用电视机的权限,同时电视机根据各家庭成员的信息、观看历史提供个性化的推荐,满足各家庭成员不同的观看需求。电视机下次使用时进入确认阶段,某用户向电视机输入其语音并声称自己是目标用户Si(即具体是家庭成员中哪一位),电视机的确认***识别出说话人声称是目标用户(这是说话人确认***的前提)。通过上述步骤S100~S300判断该用户是否真的是其所声称的目标用户Si。传统的VQ与SVM说话人确认***需要大量的数据来建立说话人背景模型。本发明针对家用***(确认***)不使用背景模型,在确认阶段中,训练SVM说话者模型时采用“一对一”训练方式,可一定程度上提高说话人确认的准确性。
请一并参阅图3,在所述步骤S100之前、还包括步骤:
S010、采集各授权用户的语音信号,提取各授权用户的特征向量组。
S020、对各特征向量组分别进行VQ算法计算,生成各授权用户的码本。
需要理解的是,训练阶段的步骤S010~ S020与确认阶段的步骤S100~S200的计算过程相同,仅计算的对象(各授权用户——待确认用户)不同。此处以S100~ S200为例来具体产生特征向量组的提取方法和码本生成方法。
请一并参阅图4,所述步骤S100具体包括:
步骤S110、采集声称是目标用户的待确认用户的语音信号,对语音信号进行端点检测,去除静音部分并提取出有效语音部分。
本步骤中使用基于能熵比的语音端点检测算法对语音信号进行端点检测。通过端点检测就能识别出一段语音中哪段时间内用户在说话,哪段时间内没有说话则为静音。去除静音所在的部分,减少外部噪音干扰;剩下的即是在说话的有语音数据的有效部分。
步骤S120、对所述有效语音部分进行分帧并保留有效帧。
本步骤先对有效语音部分进行预加重,即将有效语音部分的语音信号通过一个高通滤波器,滤除声音过大(语音信号的幅值大于预设上限)和过小(语音信号的幅值小于预设下限)的部分。高通滤波器的公式为:,式中μ的值介于0.9-1.0之间。之后进行分帧,取预设时间20~30ms为一帧,从而获得若干有效帧。
步骤S130、提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分。
本步骤具体包括:先对每一有效帧乘以汉明窗。假设分帧后的信号为S(n), n=0,1…,N/-1, N/为帧的大小,乘上汉明窗后信号为,其中,,a为常数(一般情况下a取0.46);n为帧的序号,表示其中的某一帧。
接着对乘以汉明窗后的每一有效帧进行快速傅里叶变换(FFT)。公式为:
,
其中,x(n)即是所述S/(n),N表示傅里叶变换的点数,k为0到N之间的某个整数,表示第几个点。
然后对快速傅里叶变换后的每一效帧进行三角带通滤波。三角滤波器的频率响应定义为:
,
,
其中M为常数,表示滤波器组中三角滤波器的个数,通常取22~26,此处为22。f(u)为滤波器的中心频率。
再然后计算每个滤波器组输出的对数能量为:
,
其中,u为三角滤波器的序号。
最后将对数能量经离散余弦变换(DCT)即可得到梅尔倒谱系数(MFCC):
其中,L指MFCC系数阶数,通常取12~16。
MFCC的一阶参数的公式为:
其中,表示第t+1个倒谱系数。
步骤S140、将每一有效帧的梅尔倒谱系数及其对应的一阶差分合起来,形成一有效帧语音信号的特征向量,所有有效帧的特征向量构成该待确认用户的特征向量组。
需要理解的是,每位授权用户的语音信号执行的步骤S010也分为4个步骤S011~S014,除了对象不同(S011中采集的是各授权用户的语音信号,S014中所有有效帧的特征向量构成的是该授权用户的特征向量组),其他步骤与上述步骤S110~S140相同。
所述步骤S200是通过VQ算法对待确认用户(步骤S020是对每一个授权用户)的特征向量组(由MFCC和MFCC一阶差分组成)进行聚类压缩生成该待确认用户的码本。此时需获取步骤S020采集到的所有授权用户的码本,并保存起来作为码本库。假设有N//个K维特征矢量X={X1,X2,…,XN},X在欧几里德空间里, 其中第i个矢量可记为Xi={x1,x2,…,xk} i=1,2,…,N//。把K维的欧几里德空间无遗漏地划分成J个互不相交的子空间R1,R2, …,RJ。在每一个子空间RJ找一个矢量Yj,则J个代表矢量可以组成矢量集Y={Y1,Y2,…,YJ},这样就组成了一个矢量量化器。在矢量量化里Y叫做码本;Yj称为码字;Y内矢量的个数J叫做码本长度。请一并参阅图5,所述步骤S200具体包括:
步骤S210、对特征向量组使用***法得到初始码本,设定迭代训练参数并进行初始化值设置。
迭代训练参数包括:设全部训练矢量X的集合为S,设置码本的尺寸(即码本长度)为J,设置迭代算法的最大迭代次数为L,设置起边改进阈值为δ。初始化值设置为:设置J个码字的初始值为Y1 (0),Y2 (0),…,YJ (0);设置畸变初值D(0)为无穷;设置迭代次数变量的初值m=1。
步骤S220、求所***字中与训练集距离最近的码字;
经过m次迭代、根据最近邻准则将集合S分成J个子集S1 (m),S2 (m),…,SJ (m),即当时,需满足:,其中,l为码字序号,1到J之间的一个整数。该公式说明是哪个距离训练集最近的码字的索引。
步骤S230、根据最近的码字、设置的迭代训练参数和初始化值计算总畸变D(m) 、畸变改进量的相对值和新码本的码字Y1 (m),Y2 (m),…,YJ (m)。
其中,总畸变D(m)的计算公式为: 。
畸变改进量的相对值的计算公式为:。
新码本的码字Y1 (m),Y2 (m),…,YJ (m) 的计算公式为:。
步骤S240、判断相对值是否小于起边改进阈值δ,即<δ?若是,执行步骤S260;否则,执行步骤S250。
步骤S250、判断迭代次数变量m是否小于最大迭代次数L:若是,令迭代次数变量m加1(m=m+1),返回步骤S220;否则,执行步骤S260。
步骤S260、迭代终止;输出新码本的码字Y1 (m),Y2 (m),…,YJ (m)作为训练成的待确认用户的码本的码字,将所述码本作为测试样本并输出总畸变D(m)。
需要理解的是,在确认阶段,每位授权用户的语音信号执行的步骤S020也分为6个步骤S021~S026,除了步骤S026是输出新码本的码字作为训练成的码本的码字,并且输出总畸变),其他步骤与上述步骤S210~S260相同。
所述步骤S300用于确定测试样本是否属于目标用户Si。确定过程分为两部分,SVM训练和判决过程。
训练过程:选择径向基函数(RBF)作为核函数,将训练样本映射到高维特征空间。然后,利用SVM在样本特征空间找出一类特征样本与另一类特征样本的最优分类超平面,得到代表各样本特征的支持向量,从而形成判断各特征类别的判别函数。
判决过程:将测试样本通过核函数映射到特征空间,作为判别函数的输入,利用判决函数即可得出测试样本的每一帧属于哪个类别。
请一并参阅图6,所述步骤S300中,所述训练数据为所述目标用户的码本与预存的其他授权用户的码本进行一对一训练对应的数据类型。则所述步骤S300具体包括确认过程具体步骤如下:
步骤S310、将预存的其他授权用户视为冒认者,对冒认者和目标用户的码本的每帧所对应的类别进行标记。
本步骤将预存的其他授权用户视为冒认者,并将其码本的每帧所对应的类别记为“-1”;将目标用户的码本的每帧所对应的类别记为“+1”。基于支持向量机(SVM)的训练模型需要正反两类数据,因此本步骤进行类别标记以示区分,***中类别标记是输入的是数字,可认为“+1”表示X类,“-1”表示Y类。
需要理解的是,由于SVM的训练模型必须要正反两类数据,则本步骤中还需判断***中一共有多少个授权用户,若授权用户小于等于2:具体在只有1个时,则待确认用户只能声称其为该授权用户,不能形成正反两类数据构建训练模型;若只有2个,则可比较范围太少。此时需添加两个默认的冒认者的码本。若授权用户大于2,按照上述方法标记类别。
步骤S320、将目标用户的码本分别与各冒认者的码本一对一进行SVM训练,得到目标用户与每个冒认者的各个SVM说话者模型。SVM训练为现有技术,此处不作详述。
步骤S330、将所述测试样本分别带入目标用户与每个冒认者的各个SVM说话者模型的判别函数中,计算测试样本中每帧所对应类别为“+1”的帧数占该测试样本总帧数的比例。
当授权用户的数量小于等于2时,将测试样本分别带入到目标用户Si与2个默认的冒认者训练成的SVM说话者模型里的判别函数中,计算测试样本中每帧所对应类别为“+1”的帧数占该测试样本总帧数的比例。
当授权用户数量大于2时,将测试样本分别带入到目标用户Si与其他用户训练形成的SVM说话者模型里的判别函数中,计算测试样本中每帧所对应类别为“+1”的帧数占该测试样本总帧数的比例。
步骤S340、判断各个比例的平均值是否大于预设值:是则识别该待确认用户是目标用户;否则,该待确认用户不是目标用户。
例如,假设库中有A、B、C三个用户,现在某人自称是用户A,则将用户A视为目标用户,用户B、用户C视为冒认者。先分别将用户A与用户B,用户A与用户C进行SVM训练,记用户A的码本每帧是X类,用户B、用户C的码本每帧是Y类。训练完成后分别得到用户A与用户B、以及用户A与用户C的SVM模型。然后将测试样本的码本分别带入到用户A与用户B、以及用户A与用户C的SVM模型中。记测试样本码本代入到用户A与用户B的SVM模型中后,得到测试样本码本的帧类别为X类的帧数占其总帧数的比例为P1;记测试样本码本代入到用户A与用户C的SVM模型中后,得到测试样本码本的帧类别为X类的帧数占其总帧数的比例为P2,最后若P1、P2的均值大于预设值(如80%),则认为刚才说话的某人的确是用户A;否则认为不是用户A。
通过上述方法,针对不同的用户数量,为目标说话人与冒认者单独训练一个SVM说话者模型。这种“一对一”的训练方式只需要少量数据,计算非常简单,且判断准确度高。
基于上述的基于VQ和SVM算法的说话人确认方法,本发明还相应提供一种说话人确认***(见图7),其可以设置在所有需要进行说话人确认的设备中,本实施例应用在电视机中进行用户确认。所述说话人确认***包括特征提取模块10、码本计算模块20、模型建立模块30和处理模块40;所述特征提取模块10采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;码本计算模块20对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;模型建立模块30将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型;处理模块40将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
其中,所述特征提取模块10还采集各授权用户的语音信号,提取各授权用户的特征向量组。所述码本计算模块20还对各特征向量组分别进行VQ算法计算,生成各授权用户的码本。
在具体实施时,所述特征提取模块10包括:
采集提取单元,用于采集声称是目标用户的待确认用户(或各授权用户)的语音信号,对语音信号进行端点检测,去除静音部分并提取出有效语音部分。
本步骤中使用基于能熵比的语音端点检测算法对语音信号进行端点检测。通过端点检测就能识别出一段语音中哪段时间内用户在说话,哪段时间内没有说话则为静音。去除静音所在的部分,减少外部噪音干扰;剩下的即是在说话的有语音数据的有效部分。
分帧单元,用于对所述有效语音部分进行分帧并保留有效帧。
本步骤先对有效语音部分进行预加重,即将有效语音部分的语音信号通过一个高通滤波器,滤除声音过大(语音信号的幅值大于预设上限)和过小(语音信号的幅值小于预设下限)的部分。高通滤波器的公式为:,式中μ的值介于0.9-1.0之间。之后进行分帧,取预设时间20~30ms为一帧,从而获得若干有效帧。
系数计算单元,用于提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分及用于将每一有效帧的梅尔倒谱系数及其对应的一阶差分合起来,形成一有效帧语音信号的特征向量,所有有效帧的特征向量构成该待确认用户(或授权用户)的特征向量组。
具体地,先对每一有效帧乘以汉明窗。假设分帧后的信号为S(n), n=0,1…,N/-1, N/为帧的大小,乘上汉明窗后信号为,其中,,a为常数(一般情况下a取0.46);n为帧的序号,表示其中的某一帧。
接着对乘以汉明窗后的每一有效帧进行快速傅里叶变换(FFT)。公式为:,其中,x(n)即是所述S/(n),N表示傅里叶变换的点数,k为0到N之间的某个整数,表示第几个点。
然后对快速傅里叶变换后的每一效帧进行三角带通滤波。三角滤波器的频率响应定义为:
,
,
其中M为常数,表示滤波器组中三角滤波器的个数,通常取22~26,此处为22。f(u)为滤波器的中心频率。
再然后计算每个滤波器组输出的对数能量为:
,
其中,u为三角滤波器的序号。
最后将对数能量经离散余弦变换(DCT)即可得到梅尔倒谱系数(MFCC):
其中,L指MFCC系数阶数,通常取12~16。
MFCC的一阶参数的公式为:
其中,表示第t+1个倒谱系数。
优选地,本实施例中,所述码本计算模块20包括:
初始化单元,用于对特征向量组使用***法得到初始码本,设定迭代训练参数并进行初始化值设置。
其中,迭代训练参数包括:设全部训练矢量X的集合为S,设置码本的尺寸为J,设置迭代算法的最大迭代次数为L,设置起边改进阈值为δ。
初始化值设置为:设置J个码字的初始值为Y1 (0),Y2 (0),…,YJ (0);设置畸变初值D(0)为无穷;设置迭代次数变量的初值m=1。码字计算单元,用于求所***字中与训练集距离最近的码字;根据最近的码字、设置的迭代训练参数和初始化值计算总畸变、畸变改进量的相对值和新码本的码字。
具体地,经过m次迭代、根据最近邻准则将集合S分成J个子集S1 (m),S2 (m),…,SJ (m),即当时,需满足:,其中,l为码字序号,1到J之间的一个整数。
总畸变D(m)的计算公式为: 。
畸变改进量的相对值的计算公式为:。
新码本的码字Y1 (m),Y2 (m),…,YJ (m) 的计算公式为:。
判断单元,用于判断相对值是否小于起边改进阈值δ:若是,由输出单元进行处理。若不小于,则判断迭代次数变量是否小于最大迭代次数;若是,令迭代次数变量加1,返回码字计算单元再次处理;否则,由输出单元进行处理。
本步骤根据迭代次数变量来判断是返回继续计算码字还是迭代终止。迭代终止即可输出最终的码本。
输出单元,用于迭代终止;输出新码本的码字作为训练成的待确认用户的码本的码字,将所述码本作为测试样本并输出总畸变。输出测试样本后,即可训练SVM说话者模型,将测试样本带入SVM说话者模型当中,然后判断其结果与目标用户的训练数据是否匹配。
优选地,本实施例中,所述模型建立模块30包括:
标记单元,用于将预存的其他授权用户视为冒认者,对冒认者和目标用户的码本的每帧所对应的类别进行标记。其中,将预存的其他授权用户视为冒认者,并将其码本的每帧所对应的类别记为“-1”;将目标用户的码本的每帧所对应的类别记为“+1”。
模型训练单元,用于将目标用户的码本分别与各冒认者的码本一对一进行SVM训练,得到目标用户与每个冒认者的各个SVM说话者模型。
获得SVM说话者模型后,即可将测试样本带入SVM说话者模型当中,然后判断其结果与目标用户的训练数据是否匹配,从而分析出该待确认用户是不是目标用户。
优选地,本实施例中,所述处理模块40包括:
帧数计算单元,用于将所述测试样本分别带入目标用户与每个冒认者的各个SVM说话者模型的判别函数中,计算测试样本中每帧所对应类别为目标用户的码本的每帧所对应类别的帧数占该测试样本总帧数的比例。
其中,当授权用户的数量小于等于2时,将测试样本分别带入到目标用户Si与2个默认的冒认者训练成的SVM说话者模型里的判别函数中,计算测试样本中每帧所对应类别为“+1”的帧数占该测试样本总帧数的比例。
当授权用户数量大于2时,将测试样本分别带入到目标用户Si与其他用户训练形成的SVM说话者模型里的判别函数中,计算测试样本中每帧所对应类别为“+1”的帧数占该测试样本总帧数的比例。
确认单元,用于判断各个比例的平均值是否大于预设值:是则识别该待确认用户是目标用户;否则,该待确认用户不是目标用户。
通过将VQ算法和SVM算法相结合,生成待确认用户的码本;将所述码本作为测试样本;将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本带入SVM说话者模型当中,然后判断其结果与目标用户的训练数据是否匹配,匹配则识别待确认用户为目标用户。这样即组成了一种与文本无关的适合家用的说话人确认***。以用户语音信号来分辨用户身份,从而给用户提供个性化的推荐业务。
综上所述,本发明在训练SVM说话者模型时,采用“一对一”策略;当用户数量小于等于2个,添加两个默认的冒认者语音,然后将目标说话人分别与每个默认的冒认者单独训练一个SVM说话者模型;当用户数量大于2个时,为目标说话人与每个冒认者(即其他用户)单独训练一个SVM说话者模型。这样只需要少量数据,计算简单,判断准确度高、同时***也具有较好的性能。
上述功能模块的划分仅用以举例说明,在实际应用中,可以根据需要将上述功能分配由不同的功能模块来完成,即划分成不同的功能模块,来完成上述描述的全部或部分功能。
本领域普通技术人员可以理解上述实施例方法中的全部或部分流程,是可以通过计算机(移动终端)程序来指令相关的硬件完成,所述的计算机(移动终端)程序可存储于一计算机(移动终端)可读取存储介质中,程序在执行时,可包括上述各方法的实施例的流程。其中的存储介质可以为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种基于VQ和SVM算法的说话人确认方法,其特征在于,包括:
步骤A、采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;
步骤B、对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;
步骤C、将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
2.根据权利要求1所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A之前,还包括:
步骤A010、采集各授权用户的语音信号,提取各授权用户的特征向量组;
步骤A020、对各特征向量组分别进行VQ算法计算,生成各授权用户的码本。
3.根据权利要求2所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A具体包括:
步骤A1、采集声称是目标用户的待确认用户的语音信号,对语音信号进行端点检测,去除静音部分并提取出有效语音部分;
步骤A2、对所述有效语音部分进行分帧并保留有效帧;
步骤A3、提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分;
步骤A4、将每一有效帧的梅尔倒谱系数及其对应的一阶差分合起来,形成一有效帧语音信号的特征向量,所有有效帧的特征向量构成该待确认用户的特征向量组。
4.根据权利要求3所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A2具体包括:对有效语音部分通过一个高通滤波器进行预加重,以每隔预设时间为一帧进行分帧,若得若干有效帧。
5.根据权利要求3所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A3具体包括:先对每一有效帧乘以汉明窗,再进行快速傅里叶变换,接着通过滤波器组进行三角带通滤波,然后计算滤波器组输出的对数能量,最后将对数能量经离散余弦变换获得梅尔倒谱系数,对梅尔倒谱系数计算其一阶差分。
6.根据权利要求2所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤B具体包括:
步骤B1、对特征向量组使用***法得到初始码本,设定迭代训练参数并进行初始化值设置;
步骤B2、求所***字中与训练集距离最近的码字;
步骤B3、根据最近的码字、设置的迭代训练参数和初始化值计算总畸变、畸变改进量的相对值和新码本的码字;
步骤B4、判断相对值是否小于起边改进阈值:若是,执行步骤B6;否则,执行步骤B5;
步骤B5、判断迭代次数变量是否小于最大迭代次数;若是,令迭代次数变量加1,返回步骤B2;否则,执行步骤B6;
步骤B6、迭代终止;输出新码本的码字作为训练成的待确认用户的码本的码字,将所述码本作为测试样本并输出总畸变。
7.根据权利要求6所述的基于VQ和SVM算法的说话人确认方法,其特征在于,在所述步骤B1中,迭代训练参数包括:设全部训练矢量X的集合为S,设置码本的尺寸为J,设置迭代算法的最大迭代次数为L,设置起边改进阈值为δ;
初始化值设置为:设置J个码字的初始值为Y1 (0),Y2 (0),…,YJ (0);设置畸变初值D(0)为无穷;设置迭代次数变量的初值m=1。
8.根据权利要求1所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤C具体包括:
步骤C1、将预存的其他授权用户视为冒认者,对冒认者和目标用户的码本的每帧所对应的类别进行标记;
步骤C2、将目标用户的码本分别与各冒认者的码本一对一进行SVM训练,得到目标用户与每个冒认者的各个SVM说话者模型;
步骤C3、将所述测试样本分别带入目标用户与每个冒认者的各个SVM说话者模型的判别函数中,计算测试样本中每帧所对应类别为目标用户的码本的每帧所对应类别的帧数占该测试样本总帧数的比例;
步骤C4、判断各个比例的平均值是否大于预设值:是则识别该待确认用户是目标用户;否则,该待确认用户不是目标用户。
9.根据权利要求8所述的基于VQ和SVM算法的说话人确认方法,其特征在于,在所述步骤C1中,将预存的其他授权用户视为冒认者,并将其码本的每帧所对应的类别记为“-1”;将目标用户的码本的每帧所对应的类别记为“+1”。
10.一种用于实现权利要求1所述的基于VQ和SVM算法的说话人确认方法的说话人确认***,其特征在于,包括特征提取模块、码本计算模块、模型建立模块和处理模块;
所述特征提取模块采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;码本计算模块对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;模型建立模块将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型;处理模块将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610807471.2A CN106373576B (zh) | 2016-09-07 | 2016-09-07 | 一种基于vq和svm算法的说话人确认方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610807471.2A CN106373576B (zh) | 2016-09-07 | 2016-09-07 | 一种基于vq和svm算法的说话人确认方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106373576A true CN106373576A (zh) | 2017-02-01 |
CN106373576B CN106373576B (zh) | 2020-07-21 |
Family
ID=57900336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610807471.2A Active CN106373576B (zh) | 2016-09-07 | 2016-09-07 | 一种基于vq和svm算法的说话人确认方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106373576B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018166187A1 (zh) * | 2017-03-13 | 2018-09-20 | 平安科技(深圳)有限公司 | 服务器、身份验证方法、***及计算机可读存储介质 |
CN110031552A (zh) * | 2019-05-27 | 2019-07-19 | 嘉兴博感科技有限公司 | 一种结构健康监测损伤特征值计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787075A (zh) * | 2005-12-13 | 2006-06-14 | 浙江大学 | 基于内嵌gmm核的支持向量机模型的说话人识别方法 |
CN101640043A (zh) * | 2009-09-01 | 2010-02-03 | 清华大学 | 基于多坐标序列内核的说话人识别方法和*** |
US20100174539A1 (en) * | 2009-01-06 | 2010-07-08 | Qualcomm Incorporated | Method and apparatus for vector quantization codebook search |
CN102664011A (zh) * | 2012-05-17 | 2012-09-12 | 吉林大学 | 一种快速说话人识别方法 |
CN104167208A (zh) * | 2014-08-08 | 2014-11-26 | 中国科学院深圳先进技术研究院 | 一种说话人识别方法和装置 |
-
2016
- 2016-09-07 CN CN201610807471.2A patent/CN106373576B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787075A (zh) * | 2005-12-13 | 2006-06-14 | 浙江大学 | 基于内嵌gmm核的支持向量机模型的说话人识别方法 |
US20100174539A1 (en) * | 2009-01-06 | 2010-07-08 | Qualcomm Incorporated | Method and apparatus for vector quantization codebook search |
CN101640043A (zh) * | 2009-09-01 | 2010-02-03 | 清华大学 | 基于多坐标序列内核的说话人识别方法和*** |
CN102664011A (zh) * | 2012-05-17 | 2012-09-12 | 吉林大学 | 一种快速说话人识别方法 |
CN104167208A (zh) * | 2014-08-08 | 2014-11-26 | 中国科学院深圳先进技术研究院 | 一种说话人识别方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018166187A1 (zh) * | 2017-03-13 | 2018-09-20 | 平安科技(深圳)有限公司 | 服务器、身份验证方法、***及计算机可读存储介质 |
CN110031552A (zh) * | 2019-05-27 | 2019-07-19 | 嘉兴博感科技有限公司 | 一种结构健康监测损伤特征值计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106373576B (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103221996B (zh) | 用于验证说话人的口令建模的设备和方法、以及说话人验证*** | |
CN104167208B (zh) | 一种说话人识别方法和装置 | |
Sun et al. | Speaker Diarization with Enhancing Speech for the First DIHARD Challenge. | |
CN108281137A (zh) | 一种全音素框架下的通用语音唤醒识别方法及*** | |
CN105096955B (zh) | 一种基于模型生长聚类的说话人快速识别方法及*** | |
CN107886943A (zh) | 一种声纹识别方法及装置 | |
CN108694949B (zh) | 基于重排序超向量和残差网络的说话人识别方法及其装置 | |
CN105261367B (zh) | 一种说话人识别方法 | |
CN104538035B (zh) | 一种基于Fisher超向量的说话人识别方法及*** | |
CN110047504B (zh) | 身份矢量x-vector线性变换下的说话人识别方法 | |
CN109637545A (zh) | 基于一维卷积非对称双向长短时记忆网络的声纹识别方法 | |
CN113223536B (zh) | 声纹识别方法、装置及终端设备 | |
CN103794207A (zh) | 一种双模语音身份识别方法 | |
CN111048097B (zh) | 一种基于3d卷积的孪生网络声纹识别方法 | |
CN111091809B (zh) | 一种深度特征融合的地域性口音识别方法及装置 | |
CN109308912A (zh) | 音乐风格识别方法、装置、计算机设备及存储介质 | |
CN109378014A (zh) | 一种基于卷积神经网络的移动设备源识别方法及*** | |
CN102789779A (zh) | 一种语音识别***及其识别方法 | |
CN106991312A (zh) | 基于声纹识别的互联网反欺诈认证方法 | |
CN111508524A (zh) | 语音来源设备的识别方法和*** | |
CN113763966B (zh) | 一种端到端的文本无关声纹识别方法及*** | |
CN106373576A (zh) | 一种基于vq和svm算法的说话人确认方法及其*** | |
CN113593579B (zh) | 一种声纹识别方法、装置和电子设备 | |
CN114333840A (zh) | 语音鉴别方法及相关装置、电子设备和存储介质 | |
TWI778234B (zh) | 語者驗證系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 516006 TCL technology building, No.17, Huifeng Third Road, Zhongkai high tech Zone, Huizhou City, Guangdong Province Applicant after: TCL Technology Group Co.,Ltd. Address before: 516006 Guangdong province Huizhou Zhongkai hi tech Development Zone No. nineteen District Applicant before: TCL RESEARCH AMERICA Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |