CN106373576B - 一种基于vq和svm算法的说话人确认方法及其系统 - Google Patents

一种基于vq和svm算法的说话人确认方法及其系统 Download PDF

Info

Publication number
CN106373576B
CN106373576B CN201610807471.2A CN201610807471A CN106373576B CN 106373576 B CN106373576 B CN 106373576B CN 201610807471 A CN201610807471 A CN 201610807471A CN 106373576 B CN106373576 B CN 106373576B
Authority
CN
China
Prior art keywords
codebook
user
svm
target user
speaker
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.)
Active
Application number
CN201610807471.2A
Other languages
English (en)
Other versions
CN106373576A (zh
Inventor
韩云秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TCL Technology Group Co Ltd
Original Assignee
TCL Technology Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by TCL Technology Group Co Ltd filed Critical TCL Technology Group Co Ltd
Priority to CN201610807471.2A priority Critical patent/CN106373576B/zh
Publication of CN106373576A publication Critical patent/CN106373576A/zh
Application granted granted Critical
Publication of CN106373576B publication Critical patent/CN106373576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech 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算法的说话人确认方法及其系统
技术领域
本发明涉及语音技术领域,特别涉及一种基于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、对所述有效语音部分进行分帧并保留有效帧。
本步骤先对有效语音部分进行预加重,即将有效语音部分的语音信号通过一个高通滤波器,滤除声音过大(语音信号的幅值大于预设上限)和过小(语音信号的幅值小于预设下限)的部分。高通滤波器的公式为:
Figure 755062DEST_PATH_IMAGE001
,式中μ的值介于0.9-1.0之间。之后进行分帧,取预设时间20~30ms为一帧,从而获得若干有效帧。
步骤S130、提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分。
本步骤具体包括:先对每一有效帧乘以汉明窗。假设分帧后的信号为S(n), n=0,1…,N/-1, N/为帧的大小,乘上汉明窗后信号为
Figure 203361DEST_PATH_IMAGE002
,其中,
Figure 310994DEST_PATH_IMAGE003
,a为常数(一般情况下a取0.46);n为帧的序号,表示其中的某一帧。
接着对乘以汉明窗后的每一有效帧进行快速傅里叶变换(FFT)。公式为:
Figure 237362DEST_PATH_IMAGE004
,其中,x(n)即是所述S/(n),N表示傅里叶变换的点数,k为0到N之间的某个整数,表示第几个点。
然后对快速傅里叶变换后的每一效帧进行三角带通滤波。三角滤波器的频率响应定义为:
Figure 582893DEST_PATH_IMAGE005
Figure 936514DEST_PATH_IMAGE006
,其中M为常数,表示滤波器组中三角滤波器的个数,通常取22~26,此处为22。f(u)为滤波器的中心频率。
再然后计算每个滤波器组输出的对数能量为:
Figure 6144DEST_PATH_IMAGE007
,其中,u为三角滤波器的序号。
最后将对数能量经离散余弦变换(DCT)即可得到梅尔倒谱系数(MFCC):
Figure 736203DEST_PATH_IMAGE008
其中,L指MFCC系数阶数,通常取12~16。
MFCC的一阶参数的公式为:
Figure 936240DEST_PATH_IMAGE009
其中,
Figure 257500DEST_PATH_IMAGE010
表示第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),即当
Figure 74146DEST_PATH_IMAGE011
时,需满足:
Figure 607896DEST_PATH_IMAGE012
,其中,l为码字序号,1到J之间的一个整数。该公式说明是哪个距离训练集最近的码字的索引。
步骤S230、根据最近的码字、设置的迭代训练参数和初始化值计算总畸变D(m) 、畸变改进量
Figure 928019DEST_PATH_IMAGE013
的相对值
Figure 420180DEST_PATH_IMAGE014
和新码本的码字Y1 (m),Y2 (m),…,YJ (m)
其中,总畸变D(m)的计算公式为:
Figure 192964DEST_PATH_IMAGE015
畸变改进量
Figure 264825DEST_PATH_IMAGE013
的相对值
Figure 439454DEST_PATH_IMAGE014
的计算公式为:
Figure 305779DEST_PATH_IMAGE016
新码本的码字Y1 (m),Y2 (m),…,YJ (m) 的计算公式为:
Figure 565859DEST_PATH_IMAGE017
步骤S240、判断相对值
Figure 441411DEST_PATH_IMAGE014
是否小于起边改进阈值δ,即
Figure 470547DEST_PATH_IMAGE014
<δ?若是,执行步骤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包括:
采集提取单元,用于采集声称是目标用户的待确认用户(或各授权用户)的语音信号,对语音信号进行端点检测,去除静音部分并提取出有效语音部分。
本步骤中使用基于能熵比的语音端点检测算法对语音信号进行端点检测。通过端点检测就能识别出一段语音中哪段时间内用户在说话,哪段时间内没有说话则为静音。去除静音所在的部分,减少外部噪音干扰;剩下的即是在说话的有语音数据的有效部分。
分帧单元,用于对所述有效语音部分进行分帧并保留有效帧。
本步骤先对有效语音部分进行预加重,即将有效语音部分的语音信号通过一个高通滤波器,滤除声音过大(语音信号的幅值大于预设上限)和过小(语音信号的幅值小于预设下限)的部分。高通滤波器的公式为:
Figure 773353DEST_PATH_IMAGE018
,式中μ的值介于0.9-1.0之间。之后进行分帧,取预设时间20~30ms为一帧,从而获得若干有效帧。
系数计算单元,用于提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分及用于将每一有效帧的梅尔倒谱系数及其对应的一阶差分合起来,形成一有效帧语音信号的特征向量,所有有效帧的特征向量构成该待确认用户(或授权用户)的特征向量组。
具体地,先对每一有效帧乘以汉明窗。假设分帧后的信号为S(n), n=0,1…,N/-1,N/为帧的大小,乘上汉明窗后信号为
Figure 255149DEST_PATH_IMAGE019
,其中,
Figure 934392DEST_PATH_IMAGE020
,a为常数(一般情况下a取0.46);n为帧的序号,表示其中的某一帧。
接着对乘以汉明窗后的每一有效帧进行快速傅里叶变换(FFT)。公式为:
Figure 349193DEST_PATH_IMAGE021
,其中,x(n)即是所述S/(n),N表示傅里叶变换的点数,k为0到N之间的某个整数,表示第几个点。
然后对快速傅里叶变换后的每一效帧进行三角带通滤波。三角滤波器的频率响应定义为:
Figure 822900DEST_PATH_IMAGE005
Figure 791993DEST_PATH_IMAGE006
,其中M为常数,表示滤波器组中三角滤波器的个数,通常取22~26,此处为22。f(u)为滤波器的中心频率。
再然后计算每个滤波器组输出的对数能量为:
Figure 9348DEST_PATH_IMAGE007
,其中,u为三角滤波器的序号。
最后将对数能量经离散余弦变换(DCT)即可得到梅尔倒谱系数(MFCC):
Figure 278655DEST_PATH_IMAGE008
其中,L指MFCC系数阶数,通常取12~16。
MFCC的一阶参数的公式为:
Figure 923263DEST_PATH_IMAGE009
其中,
Figure 639372DEST_PATH_IMAGE010
表示第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),即当
Figure 394838DEST_PATH_IMAGE011
时,需满足:
Figure 253073DEST_PATH_IMAGE012
,其中,l为码字序号,1到J之间的一个整数。
总畸变D(m)的计算公式为:
Figure 68582DEST_PATH_IMAGE022
畸变改进量
Figure 12267DEST_PATH_IMAGE013
的相对值
Figure 571425DEST_PATH_IMAGE014
的计算公式为:
Figure 284166DEST_PATH_IMAGE016
新码本的码字Y1 (m),Y2 (m),…,YJ (m) 的计算公式为:
Figure 270576DEST_PATH_IMAGE017
判断单元,用于判断相对值
Figure 967137DEST_PATH_IMAGE014
是否小于起边改进阈值δ:若是,由输出单元进行处理。若不小于,则判断迭代次数变量是否小于最大迭代次数;若是,令迭代次数变量加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 (9)

1.一种基于VQ和SVM算法的说话人确认方法,其特征在于,包括:
步骤A、采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;
步骤B、对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;
步骤C、将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型,将测试样本分别带入SVM说话者模型中,计算测试样本中每帧所对应类别为目标用户的码本的每帧所对应类别的帧数占该测试样本总帧数的比例,各个比例的平均值大于预设值则识别该待确认用户是目标用户;
所述步骤A具体包括:
步骤A1、采集声称是目标用户的待确认用户的语音信号,使用基于能熵比的语音端点检测算法对语音信号进行端点检测,去除静音部分并提取出有效语音部分;
步骤A2、对所述有效语音部分进行分帧并保留若干有效帧;
步骤A3、提取所有有效帧的梅尔倒谱系数和梅尔倒谱系数的一阶差分;
步骤A4、将每一有效帧的梅尔倒谱系数及其对应的一阶差分合起来,形成一有效帧语音信号的特征向量,所有有效帧的特征向量构成该待确认用户的特征向量组。
2.根据权利要求1所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A之前,还包括:
步骤A010、采集各授权用户的语音信号,提取各授权用户的特征向量组;
步骤A020、对各特征向量组分别进行VQ算法计算,生成各授权用户的码本。
3.根据权利要求2所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A2具体包括:对有效语音部分通过一个高通滤波器进行预加重,以每隔预设时间为一帧进行分帧,若得若干有效帧。
4.根据权利要求2所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤A3具体包括:先对每一有效帧乘以汉明窗,再进行快速傅里叶变换,接着通过滤波器组进行三角带通滤波,然后计算滤波器组输出的对数能量,最后将对数能量经离散余弦变换获得梅尔倒谱系数,对梅尔倒谱系数计算其一阶差分。
5.根据权利要求2所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤B具体包括:
步骤B1、对特征向量组使用分裂法得到初始码本,设定迭代训练参数并进行初始化值设置;
步骤B2、求所有码字中与训练集距离最近的码字;
步骤B3、根据最近的码字、设置的迭代训练参数和初始化值计算总畸变、畸变改进量的相对值和新码本的码字;
步骤B4、判断相对值是否小于起边改进阈值:若是,执行步骤B6;否则,执行步骤B5;
步骤B5、判断迭代次数变量是否小于最大迭代次数;若是,令迭代次数变量加1,返回步骤B2;否则,执行步骤B6;
步骤B6、迭代终止;输出新码本的码字作为训练成的待确认用户的码本的码字,将所述码本作为测试样本并输出总畸变。
6.根据权利要求5所述的基于VQ和SVM算法的说话人确认方法,其特征在于,在所述步骤B1中,迭代训练参数包括:设全部训练矢量X的集合为S,设置码本的尺寸为J,设置迭代算法的最大迭代次数为L,设置起边改进阈值为δ;
初始化值设置为:设置J个码字的初始值为Y1 (0),Y2 (0),…,YJ (0);设置畸变初值D(0)为无穷;
设置迭代次数变量的初值m=1。
7.根据权利要求1所述的基于VQ和SVM算法的说话人确认方法,其特征在于,所述步骤C具体包括:
步骤C1、将预存的其他授权用户视为冒认者,对冒认者和目标用户的码本的每帧所对应的类别进行标记;
步骤C2、将目标用户的码本分别与各冒认者的码本一对一进行SVM训练,得到目标用户与每个冒认者的各个SVM说话者模型;
步骤C3、将所述测试样本分别带入目标用户与每个冒认者的各个SVM说话者模型的判别函数中,计算测试样本中每帧所对应类别为目标用户的码本的每帧所对应类别的帧数占该测试样本总帧数的比例;
步骤C4、判断各个比例的平均值是否大于预设值:是则识别该待确认用户是目标用户;否则,该待确认用户不是目标用户。
8.根据权利要求7所述的基于VQ和SVM算法的说话人确认方法,其特征在于,在所述步骤C1中,将预存的其他授权用户视为冒认者,并将其码本的每帧所对应的类别记为“-1”;将目标用户的码本的每帧所对应的类别记为“+1”。
9.一种用于实现权利要求1所述的基于VQ和SVM算法的说话人确认方法的说话人确认系统,其特征在于,包括特征提取模块、码本计算模块、模型建立模块和处理模块;
所述特征提取模块采集声称是目标用户的待确认用户的语音信号、并提取其特征向量组;码本计算模块对所述特征向量组进行VQ算法计算生成该待确认用户的码本,将所述码本作为测试样本;模型建立模块将目标用户的码本与预存的其他授权用户的码本一对一训练一个SVM说话者模型;处理模块将测试样本带入SVM说话者模型当中进行分类,判断所述目标用户的训练数据与分类结果是否匹配,匹配则识别待确认用户为目标用户。
CN201610807471.2A 2016-09-07 2016-09-07 一种基于vq和svm算法的说话人确认方法及其系统 Active CN106373576B (zh)

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 CN106373576A (zh) 2017-02-01
CN106373576B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107068154A (zh) * 2017-03-13 2017-08-18 平安科技(深圳)有限公司 基于声纹识别的身份验证的方法及系统
CN110031552B (zh) * 2019-05-27 2021-10-22 嘉兴博传科技有限公司 一种结构健康监测损伤特征值计算方法

Citations (4)

* Cited by examiner, † Cited by third party
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 清华大学 基于多坐标序列内核的说话人识别方法和系统
CN102664011A (zh) * 2012-05-17 2012-09-12 吉林大学 一种快速说话人识别方法
CN104167208A (zh) * 2014-08-08 2014-11-26 中国科学院深圳先进技术研究院 一种说话人识别方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174539A1 (en) * 2009-01-06 2010-07-08 Qualcomm Incorporated Method and apparatus for vector quantization codebook search

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 清华大学 基于多坐标序列内核的说话人识别方法和系统
CN102664011A (zh) * 2012-05-17 2012-09-12 吉林大学 一种快速说话人识别方法
CN104167208A (zh) * 2014-08-08 2014-11-26 中国科学院深圳先进技术研究院 一种说话人识别方法和装置

Also Published As

Publication number Publication date
CN106373576A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
US11508381B2 (en) Voiceprint recognition method, model training method, and server
AU2021277642B2 (en) Method and apparatus for detecting spoofing conditions
CN109584884B (zh) 一种语音身份特征提取器、分类器训练方法及相关设备
WO2020181824A1 (zh) 声纹识别方法、装置、设备以及计算机可读存储介质
CN108694949B (zh) 基于重排序超向量和残差网络的说话人识别方法及其装置
CN111524527A (zh) 话者分离方法、装置、电子设备和存储介质
EP3989217B1 (en) Method for detecting an audio adversarial attack with respect to a voice input processed by an automatic speech recognition system, corresponding device, computer program product and computer-readable carrier medium
CN108922543B (zh) 模型库建立方法、语音识别方法、装置、设备及介质
Liu et al. A Spearman correlation coefficient ranking for matching-score fusion on speaker recognition
CN110390948B (zh) 一种快速语音识别的方法及系统
CN113628612A (zh) 语音识别方法、装置、电子设备及计算机可读存储介质
CN110634492A (zh) 登录验证方法、装置、电子设备及计算机可读存储介质
CN111508505A (zh) 一种说话人识别方法、装置、设备及存储介质
US11081115B2 (en) Speaker recognition
Chen et al. SEC4SR: a security analysis platform for speaker recognition
CN106373576B (zh) 一种基于vq和svm算法的说话人确认方法及其系统
CN111667839A (zh) 注册方法和设备、说话者识别方法和设备
CN110570871A (zh) 一种基于TristouNet的声纹识别方法、装置及设备
CN115547345A (zh) 声纹识别模型训练及相关识别方法、电子设备和存储介质
EP4105796A1 (en) Methods for improving the performance of neural networks used for biometric authentication
Shi et al. Speaker re-identification with speaker dependent speech enhancement
CN113593579A (zh) 一种声纹识别方法、装置和电子设备
Komlen et al. Text independent speaker recognition using LBG vector quantization
Zhang et al. Improving robustness of speech anti-spoofing system using resnext with neighbor filters
Farhood et al. Investigation on model selection criteria for speaker identification

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
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.

GR01 Patent grant
GR01 Patent grant