在这个移动互联网大行其道的年代,人们不用互相见面就可以完成很多事情,比如社交、购物、网上开店、金融交易等等,但是如何验证身份变成了人和人在不见面的情况下最难的事情。传统的解决方案就是密码或者秘钥,它需要你记住或者存起来,容易忘又容易丢,还容易被黑客利用各种手段攻击。有多少人使用“123456“这种简单密码在网络上行走,他们就是黑客们最喜欢的目标;你家的路由器是不是还在用”admin”这种默认密码,这就是物联网领域中安全最薄弱的环节。不过,好在我们每个人身上都长满了“活密码”,指纹、脸、声音、眼睛等等,都是人和人之间相互区分的独一无二的标识,我们称之为“生物特征”。声音就是这种一种可以反映人身份的生物特征,参考“指纹”的命名方式,我们可以叫它“声纹”。

各种生物特征比较

声纹是指人类语音中携带言语信息的声波频谱,它同指纹一样,具备独特的生物学特征,具有身份识别的作用,不仅具有特定性,而且具有相对的稳定性。声音信号是一维连续信号,将它进行离散化后,就可以得到我们现在常见的计算机可以处理的声音信号。

计算机可以处理的离散声音信号

声纹识别(也称说话人识别)技术也如同现在在智能手机上应用十分广泛的指纹识别技术一样,从说话人发出的语音信号中提取语音特征,并据此对说话人进行身份验证的生物识别技术。每个人都具有独一无二的声纹,这是由我们的发声器官在成长过程中逐渐形成的特征。无论别人对我们的说话模仿的多么相似,声纹其实都是具有显著区别的。

现实生活中的“未见其人,先闻其声”就是人类通过声音去识别另一个人身份的真实描述,你妈甚至通过你电话里的一个“喂”字就知道是你,而不是隔壁老王家的儿子打的电话,这是我们人类经过长期进化所获得到的超常的能力。虽然目前计算机还做不到通过一个字就判断出人的身份,但是利用大量的训练语音数据,可以学出一个“智商”还不错的“声纹”大脑,它在你说出8-10个字的情况下可以判断出是不是你在说话,或者在你说1分钟以上的话后,就可以准确地判断出你是否是给定的1000人中的一员。这里面其实包含了大部分生物识别系统都适用的重要概念:1:1 和 1:N,同时也包含了只有在声纹识别技术中存在的独特的概念:内容相关和内容无关。

工作原理

对于一个生物识别系统而言,如果它的工作模式是需要你提供自己的身份(账号)以及生物特征,然后跟之前保存好的你本人的生物特征进行比对,确认两者是否一致(即你是不是你),那么它是一个1:1的识别系统(也可以叫说话人确认,Speaker Verification);如果它只需要你提供生物特征,然后从后台多条生物特征记录中搜寻出哪个是你(即你是谁),或者哪个都不是你,那么它是一个1:N的识别系统(也可以叫辨认,Speaker Identification),见图1。技术上,简单的声纹识别的系统工作流程图来见图2。

图1 说话人确认和说话人辨认

图2 声纹识别工作流程图

对于声纹识别系统而言,如果从用户所说语音内容的角度出发,则可以分为内容相关和内容无关两大类技术。顾名思义,“内容相关”就是指系统假定用户只说系统提示内容或者小范围内允许的内容,而“内容无关”则并不限定用户所说内容。前者只需要识别系统能够在较小的范围内处理不同用户之间的声音特性的差异就可以,由于内容大致类似,只需要考虑声音本身的差异,难度相对较小;而后者由于不限定内容,识别系统不仅需要考虑用户声音之间的特定差异,还需要处理内容不同而引起的语音差异,难度较大。

目前有一种介于两者之间的技术,可以称之为“有限内容相关”,系统会随机搭配一些数字或符号,用户需正确念出对应的内容才可识别声纹,这种随机性的引入使得文本相关识别中每一次采集到的声纹都有内容时序上的差异,这种特性正好与互联网上广泛存在的短随机数字串(如数字验证码)相契合,可以用来校验身份,或者和其他人脸等生物特征结合起来组成多因子认证手段。

具体到声纹识别算法的技术细节,在特征层面,经典的梅尔倒谱系数MFCC,感知线性预测系数PLP、深度特征Deep Feature、以及能量规整谱系数PNCC 等,都可以作为优秀的声学特征用于模型学习的输入,但使用最多的还是MFCC特征,也可以将多种特征在特征层面或者模型层面进行组合使用。在机器学习模型层面,目前还是N.Dehak在2009年提出的iVector框架一统天下,虽然在深度学习大红大紫的今天,声纹领域也难免被影响,在传统的UBM-iVector框架下衍化出了DNN-iVector,也仅仅是使用DNN(或者BN)提取特征代替MFCC或者作为MFCC的补充,后端学习框架依然是iVector。

图3示出了一个完整的声纹识别系统的训练和测试流程,可以看到在其中iVector模型的训练以及随后的信道补偿模型训练是最重要的环节。在特征阶段,可以使用BottleNeck特征取代或者补充MFCC特征,输入到iVector框架中训练模型,如图4所示。

图3 声纹识别算法的完整训练和识别框架

图4 使用BottleNeck特征训练iVector模型

在系统层面,不同的特征及模型,可以从不同的维度刻画说话人的声音特征,加上有效的分数规整,将各子系统融合能有效的提高系统的整体性能。

在此次的阿里聚安全攻防挑战赛,参赛选手便可以真实的感受这一过程。由阿里巴巴集团安全部主办的“阿里聚安全攻防挑战赛”即日起在天池平台开始报名。据了解此类比赛已成功举办过两届,并逐渐成为安全行业经典赛事品牌,主要是让参赛选手真实的挑战阿里巴巴移动安全和业务安全的防御。

本届挑战赛的最大亮点之一就是声纹身份验证攻防。参赛者可以尝试用声音攻击一套声纹验证系统,通过设计攻击用的音频骗过声纹验证系统,让系统验证成功。

赛事官方网址:https://tianchi.shuju.aliyun.com/mini/aliJuActivity.htm

作者:王炎@阿里聚安全,更多安全类技术文章,请访问阿里聚安全博客

探秘身份认证利器——声纹识别!相关推荐

  1. 从《人民的名义》看声纹识别技术在案件侦查中的应用

    被号称为"史上最大尺度反腐剧"的<人民的名义>即将收官,播出期间,该剧一直备受好评.除了曲折的故事情节之外,该剧最大的看点就是公安机关曲折的案件侦查过程,只不过因为剧中 ...

  2. 声纹识别技术助力远程身份认证

    作者简介: 李通旭,清华大学博士后,主要从事说话人识别方向的研究.现于清华大学与得意音通声纹识别联合实验室. 刘乐,得意音通研发部经理,主攻声纹识别及语音识别算法研究.有丰富的模式识别算法研发和工程实 ...

  3. “刷脸”之后 声纹识别有望成为新秀

    同属于生物识别技术,与火爆的人脸识别相比,声纹识别表现得很低调,然而并不影响这一黑科技魅力的散发:巴克莱银行.汇丰银行.哈利法克斯银行等多家英国银行目前都支持声纹识别:我国公安部已面向全国推广声纹技术 ...

  4. AI领域「听风者」:声纹识别5大核心知识点!

    https://www.toutiao.com/a6691897670778225160/ 在移动互联网大行其道的时代,人们不用出门不用见面就可以完成很多事情,比如购物.生活缴费.投资理财等,在享受着 ...

  5. 全球权威声纹识别竞赛斩获双料冠军 网易AI Lab智能技术领先国际

    允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI 中国力量,又双叒夺冠了. 这一次,是在全球规模最大.最全面的语音顶会INTERSPEECH 2020上. 挑战比拼内容,则是当前语音研究领域 ...

  6. 同盾“声纹识别建模大赛”首榜揭晓,成绩已达工业级一流水平!

    近期,由同盾科技主办,同盾大学.科赛网承办的"声纹识别建模大赛"自8月1日正式启动初赛以来,在高校以及社会各界得到热烈关注,目前大赛已经取得了阶段性成果.截止到当前,已有320多人 ...

  7. 长虹声纹识别技术推动家电产业向高阶形态发展

    科技的进步推动了家电产业的发展,从主打语音识别功能的全球第一台人工智能电视推出到声纹识别人工智能电视的落地,仅仅用了一年时间. 近日,由长虹研发和生产,搭载着远场语音.声纹识别技术的人工智能电视Q5K ...

  8. 声纹识别开源工具 ASV-Subtools

    今天非常荣幸有机会在Speechhome语音技术研讨会上分享我们团队在开源项目上的一些工作.今天我分享的主题是声纹识别开源工具ASV-Subtools. 今天我分享的主要有5个部分的内容,分别是背景介 ...

  9. 声纹识别概述(3)声纹识别系统

    文章目录 1. 声纹识别系统框架 1.0 声纹识别系统 1.0.1 不太清晰的两个阶段:训练阶段和测试阶段 1.0.2 只讲了一个阶段:测试/应用阶段(包括注册和验证) 1.0.3 声纹识别系统的三个 ...

最新文章

  1. 寻找数组中的重复数字(java,可执行程序)
  2. JS中调用本地Winform程序并传递参数
  3. 转载:工程师笔记|STM32F030在低温下无法启动
  4. Apollo核心概念
  5. 关闭linux终端,查看、关闭登录到linux的终端
  6. Spring自学日志02(对象的创建,依赖注入)
  7. document.cookie 获取不到_意想不到,王者荣耀中不用花钱就可以获得的皮肤有哪
  8. 1进程 ppid_Python每日3题什么是僵尸进程和孤儿进程?
  9. linux基本命令操作(二)
  10. java实现扫雷小游戏【完整版】
  11. Java开发手册、帮助文档
  12. html 规定输入框必须输入
  13. 全国首个兆瓦级地铁光伏项目投产
  14. 设计一个长方形的类,成员的变量有长与宽,成员函数要求周长与面积,然后进行测试。
  15. mysql match 中文_Mysql全文搜索match against的用法
  16. Arduino最便宜的模拟量采集
  17. 基于DeepFace模型设计的人脸识别软件
  18. 「NOIP2009」潜伏者
  19. RT-thread之RTC时间的获取
  20. tensor二维矩阵计算相似度

热门文章

  1. 用gnuplot画出c产生数据的波形图
  2. 使用tensorflow出现 ImportError: DLL load failed: 找不到指定的程序
  3. Python:错误FileNotFoundError: [Errno 2] No such file or directory: 'objects/epsilon.pkl
  4. linux库函数mmap()原理及用法详解
  5. 利用matlab画混淆矩阵(confusion matrix)
  6. 科大星云诗社动态20210210
  7. 如何让奇异值分解(SVD)变得不“奇异”?
  8. VTK修炼之道14:图像处理_创建
  9. 仔细想了想支持向量机(Support Vector Mechine)
  10. 图像中的灰度共生矩阵