声纹识别背景学习
REFERENCE
1.Voiceprint Recognition System — Not Just a Powerful Authentication Tool
2.Voice Biometrics for Speaker Verification and Identification
3.Voiceprint Identification
4.Voice recognition: is it really as secure as it sounds?
5.Speaker Recognition: A Tutoria, JOSEPH P. CAMPBELL, JR.,
6.Voiceprint Recognition Systems for Remote Authentication-A Survey
前言
声纹, voiceprint,这个词听上去很神秘,可能主要使用因为虽然这个词汇来自于指纹,但是它真正长什么样是无法直观获取的原因吧,加之一些一知半解的玄幻广告,把这个词汇吹得神乎其神,其实可以理解为从人类声音提取的一组生物学特征,只是这个特征真的不如指纹那么直观,不仅仅决定于某个人发声器官的特性(没有两个人长得一模一样,也没有人的发声器官长得一幕一眼),而且受到了年龄、健康状况、心理状态、环境等等因素共同影响的。
浏览了一些网站,对声纹特征应用介绍的比较一目了然的是文献【1】提供的这个表,尤其实时的价格很低这点很诱人,我可以理解为这项技术需要的外部条件都可以从一个系统平台现有的设备复用(麦克风和语音数据采集系统),其他都交给软件和算法来解决的,不像指纹和视网膜识别等等需要专用的外部传感器。事实上也的确如此,将语音识别的模型略微改动,就能轻松的训练出说话者的分类模型。但是本身的应用场景和安全级别要求对声纹识别提出了很大的挑战,真正能项目实施,可能付出的努力要远超普通的语音识别。
基础:Verification vs Identification
声纹识别,也有成为语者识别(Speaker recognition),最初需要的两个属于就是Verification 和 Identification,很多地方介绍的花里胡哨,最后还是发现wikipedia上言简意赅,原文贴在下面,然后简单翻译一下。
the speaker claims to be of a certain identity and the voice is used to verify this claim, this is called verification or authentication. On the other hand, identification is the task of determining an unknown speaker's identity. In a sense, speaker verification is a 1:1 match where one speaker's voice is matched to a particular template whereas speaker identification is a 1:N match where the voice is compared against multiple templates.
From a security perspective, identification is different from verification. Speaker verification is usually employed as a "gatekeeper" in order to provide access to a secure system. These systems operate with the users' knowledge and typically require their cooperation. Speaker identification systems can also be implemented covertly without the user's knowledge to identify talkers in a discussion, alert automated systems of speaker changes, check if a user is already enrolled in a system, etc.
In forensic applications, it is common to first perform a speaker identification process to create a list of "best matches" and then perform a series of verification processes to determine a conclusive match.
Verification可以理解为审核,就是你说你是谁,问问机器同不同意。Identification就是身份辨别,机器“不动声色”的从你的声音中猜出来你是谁(听上去可怕吧)。Verification应用场景往往是1:1的,也就是你告诉机器,调出要审核的id特征,然后和你讲出来的声纹特征做比较,最后鉴权出yes:no的游戏,有点像门禁或者电话授权,而不用说出密码的场景。Identification是机器预先不知道说话者的身份(id),在本身的数据库或者模型中进行运算搜索,查找是否有匹配你声纹的身份。上文还提到一种(法律?)场景,就是首先利用Identification识别出一组id,然后运用审核来决定这个说话人的最后身份。
方法:Enrollment and verification
声纹识别的方法无外乎两个阶段,Enrollment和Verification,这很好理解,你需要先告知系统你的声纹特征,完成Enrollment,然后系统才能verify以后采集的声音是不是你的声音。
Text-Dependent vs Text-Independent
这也很好理解,文本相关的经常用于Verification,因为这不仅要求语者的声纹特征匹配,也可以要求语者的声音内容匹配(密码,预设问题等等),验证更加严谨;文本无关的更倾向于从语者的语音特征来推断语者的身份,对算法的泛化能力有非常高的要求,同时也对准确性带来了很大的挑战。
技术分水岭
很显然,深度神经网络的应用给传统的语者识别带来了颠覆的改变,参考文献【5】对传统的语者识别系统,包括声纹的一些基础都做了非常详尽的介绍,推荐有兴趣的人去读一读。虽然传统方法,数学模型清晰,问题回溯方便,但是和神经网络的简单粗暴比起来,还是慢慢的走向了衰亡,本文开始也提到了,一个非常简单的卷积模型可以轻松的分辨出100个所有的人声,所以融合深度神经网络,与语音识别配合,实现一个语者Verification方案是相对容易,并且实施成本几乎可以忽略的。很有诱惑力吧!
全民智能终端的冲击
参考文献【6】是2011年的一篇文章,对声纹技术的应用和背景做了很详细的调查,但是时至今日回顾这篇文章介绍的一些应用场景,大都已经时过境迁。如今的智能终端大都集成了指纹识别和高清摄像头,由于两者的普及以及准确性的保证,几乎统治了在Verification领域,所以现在反而对声纹识别的需求没有曾经的那种热度了,这项技术本身的难点也限制了它的迅速普及。也许未来IoT技术在门禁对讲,以及网络监控的一些领域,声纹识别可以起到一些辅助判别的作用,但面对如火如荼的视觉处理,其直观性和准确性终究不能和视觉应用分庭抗礼,希望能找到属于自己独领风骚的领域吧。
迁移学习
因为迁移学习在小数据集中的良好表现,所以在speaker recognition中被广泛研究和采用
Speaker Clustering
一般很多情形下,无法获取speaker的语音,例如网络摄像头的或者公共监控,这样可以通过聚类的方法,将录取的一段语流进行分析和切割,强同一语者的声音提取出来。
Speaker Diarization
直译为语者日记,一般理解为从连续语流中分辨谁在什么时刻说了什么,其中有三个为止变量,谁(who/speaker identification-clustering),什么时间(when/speech segmentation),说了什么(what/speech recognition),这是一项融合技术,《FULLY SUPERVISED SPEAKER DIARIZATION》对此做了非常详细的论述。
有用的链接
Wei Rao does research in speaker, language, and emotion recognition, speech signal processing, machine learning
isca-speech Online Archive
The Speaker and Language Recognition Workshop
声纹识别算法、资源与应用