55、语音一次性密码认证系统的设计与开发

语音一次性密码认证系统的设计与开发

1 引言

随着全球业务的发展,远程工作和分布式团队的兴起,远程认证系统的开发和部署变得至关重要。语音一次性密码认证(VOA)系统就是这样一种提供两级认证的系统,它既验证说话者的身份,又验证所说的一次性密码(OTP)。虽然说话者识别(SR)和数字识别(DR)技术已经相当成熟,但在VOA系统开发方面的探索还比较有限。

1.1 VOA系统的优势

  • 增强安全性 :利用个人语音的独特性,使未经授权的用户难以冒充他人。
  • 易用性 :对于残疾用户或难以使用传统认证方法的用户特别有益。
  • 广泛应用 :可应用于在线银行、远程工作站登录、考勤系统等多个领域。

1.2 本文的贡献

本文提出了一个基于说话者和语音表示的VOA系统框架,使用ECAPA - TDNN基于说话者的表示和wav2vec conformer基于数字的表示来执行VOA。同时,还对该系统在边缘设备上的部署进行了全面的性能分析。

2 语音识别技术的发展

在早期,SR和DR主要通过各种特征提取和建模技术进行探索。

2.1 特征提取技术

  • 感知机制相关特征 :如Mel频率倒谱系数(MFCC)和感知线性预测(PLP),是基于语音的感知机制提出的。
  • 生成机制相关特征 :线性预测倒谱系数(LPCC)、残差LPC和基于残差相位的特征,是针对语音的生成机制提出的。

在这些特征中,MFCC在数字和说话者识别任务中表现最为出色。

2.2 建模技术

  • 说话者识别 :使用矢量量化(VQ)、高斯混合模型(GMM)和i - 向量进行建模。
  • 数字识别 :主要使用GMM - 隐马尔可夫模型(GMM - HMM)。

然而,由于声学特征对设备和环境变化敏感,这些系统通常在受控环境中构建。

2.3 深度学习的应用

近年来,深度学习在语音识别领域得到了广泛应用。一些现有的工作包括使用深度神经网络 - 隐马尔可夫模型(DNN - HMM)、Deepspeech2、wav2vec - transformer和wav2vec - conformer模型进行语音识别任务。在说话者识别方面,提出了基于DNN - i - 向量系统、d - 向量、x - 向量和强调通道注意力、传播和聚合(ECAPA - TDNN)的x - 向量方法。

使用预训练的开源特定任务深度学习模型,放松了传统系统对特定录音设备和环境的限制。这些模型使用大量语音数据进行训练,即使在短语音时长的情况下,也能在说话者识别任务中取得较好的性能。

3 使用说话者和数字表示的动机

为了确定是否可以使用说话者和数字表示来执行VOA任务,我们进行了t - 分布式随机邻域嵌入(t - SNE)分布研究。

3.1 说话者表示

我们使用来自10个说话者的语音,每个说话者100个语音样本。通过提取滤波器组特征,并将其输入到在Voxceleb数据上训练的ECAPA - TDNN模型中,得到192维的说话者表示。将这些表示投影到二维平面上,发现说话者表示形成了明显的聚类,重叠较少。这表明可以使用ECAPA - TDNN基于说话者的表示来执行说话者识别任务。

3.2 数字表示

对于数字表示,我们使用在700小时印度英语数据上微调的W2V模型。将语音直接输入该模型,每20毫秒获得一次语音表示。对于每个数字语音,对这些表示进行统计池化得到数字表示。同样将数字表示投影到二维平面上,发现数字表示也形成了明显的聚类。这表明可以使用数字表示来执行OTP识别任务。

4 数据集详情

本文使用了两个数据库来开发VOA系统。

4.1 内部数据集

  • 数据来源 :从印度理工学院达尔瓦德分校的学生中收集,共有50名说话者,其中47名男性和3名女性,平均年龄为20岁。
  • 数据收集方式 :每个说话者提供4个会话,每个会话中说出数字0 - 9,每个数字后有停顿。收集后的数据被手动分割为每个数字对应的语音,称为DigitUtter - IITDH数据集。
  • 数据可用性 :可在https://github.com/mcqueen444/DigitUtter - IITDH - dataset获取。

4.2 Kaggle MNIST数字数据集

  • 数据来源 :包含60名说话者的语音记录,其中48名男性和12名女性,均为美国口音。
  • 数据收集方式 :每个说话者贡献50个会话,用于发音数字0 - 9。

数据集详情总结如下表:
| 数据集 | 说话者数量 | 会话数量 | 数字范围 |
| ---- | ---- | ---- | ---- |
| 内部数据 | 50 | 4 | 0 - 9 |
| Kaggle数据 | 60 | 50 | 0 - 9 |

5 提出的VOA系统框架

提出的VOA系统由四个模块组成:OTP生成、说话者识别、OTP识别和决策逻辑。

5.1 OTP生成

使用DigitUtter - IITDH和Kaggle数据集生成1 - 4位不同长度的OTP。
- DigitUtter - IITDH数据集 :对于固定长度为N位的OTP,生成所有可能的组合(即10^N)作为不同的OTP。将分割后的特定数字语音拼接在一起形成OTP语音。前三个会话的OTP语音用于训练,第四个会话用于测试。
- Kaggle数据集 :为了使训练和测试语音的数量与DigitUtter - IITDH数据相同,从会话1 - 40中随机采样数字用于训练,从会话41 - 50中采样用于测试。

生成的OTP数据集总结如下表:
| OTP中的数字数量(N) | 每个说话者每个会话的语音数量 | 每个说话者的总训练语音数量 | 每个说话者的总测试语音数量 |
| ---- | ---- | ---- | ---- |
| 1 | 10 | 30 | 10 |
| 2 | 100 | 300 | 100 |
| 3 | 1000 | 3000 | 1000 |
| 4 | 10000 | 30000 | 10000 |

5.2 说话者识别

在生成OTP语音后,从ECAPA - TDNN模型中提取说话者表示。
- ECAPA - TDNN模型 :以从语音信号中提取的滤波器组特征(帧大小为0.025秒,帧移为0.01秒)为输入,经过多个TDNN层、一个时间池化层和一些全连接层进行训练,用于对说话者进行分类。训练后,分离分类器层,将其用作说话者表示提取器。
- 说话者表示的应用 :提取的说话者表示被称为x - 向量,通过两种方式用于说话者识别任务:
- 基于模型的方法 :训练分类器,如逻辑回归(LR)和支持向量机(SVM)。
- 无模型的方法 :使用简单的余弦距离(CD)进行比较。

mermaid流程图如下:

graph LR
    A[语音信号] --> B[提取滤波器组特征]
    B --> C[ECAPA - TDNN模型]
    C --> D[提取说话者表示(x - 向量)]
    D --> E[基于模型方法(LR、SVM)]
    D --> F[无模型方法(CD)]

以上就是VOA系统的上半部分内容,包括系统的背景、语音识别技术的发展、使用说话者和数字表示的动机、数据集详情以及提出的VOA系统框架中的OTP生成和说话者识别模块。在下半部分,将继续介绍OTP识别、决策逻辑以及实验结果等内容。

6 OTP识别

OTP识别模块负责将用户说出的语音转换为对应的数字序列。在本系统中,使用了基于wav2vec的conformer模型来完成这一任务。

6.1 wav2vec conformer模型

wav2vec conformer模型是基于信号级别的语音处理模型,它可以直接处理语音信号。在本工作中,使用了在700小时印度英语数据上微调的该模型。将用户说出的OTP语音直接输入到该模型中,模型会在每20毫秒输出语音表示。对于每个数字语音,对这些表示进行统计池化,从而得到对应的数字表示。

6.2 规则包装算法

为了提高OTP识别的准确性,还使用了一个规则包装算法对模型的输出进行后处理。这个算法会根据一些预设的规则,对模型识别出的数字序列进行修正和优化。例如,如果模型识别出的数字序列中出现了不合理的组合,算法会尝试进行调整。

mermaid流程图如下:

graph LR
    A[OTP语音] --> B[wav2vec conformer模型]
    B --> C[输出语音表示]
    C --> D[统计池化]
    D --> E[得到数字表示]
    E --> F[规则包装算法]
    F --> G[最终OTP识别结果]

7 决策逻辑

决策逻辑模块根据说话者识别和OTP识别的结果,决定是否给予用户访问权限。具体逻辑如下:
- 如果说话者识别正确,并且OTP识别也正确,那么系统给予用户访问权限。
- 如果说话者识别错误,或者OTP识别错误,那么系统拒绝用户访问,并要求用户再次尝试。

mermaid流程图如下:

graph LR
    A[说话者识别结果] --> C{判断}
    B[OTP识别结果] --> C
    C -- 两者都正确 --> D[给予访问权限]
    C -- 有一个错误 --> E[拒绝访问,要求再次尝试]

8 实验结果

为了评估所提出的VOA系统的性能,进行了一系列实验。实验使用了DigitUtter - IITDH数据集,评估指标为识别准确率。

8.1 说话者识别准确率

使用ECAPA - TDNN基于说话者的表示进行说话者识别,在DigitUtter - IITDH数据集上的识别准确率达到了96.75%。

8.2 OTP识别准确率

使用wav2vec conformer基于数字的表示进行OTP识别,在DigitUtter - IITDH数据集上的识别准确率为83.25%。

8.3 组合VOA系统准确率

将说话者识别和OTP识别结合起来,整个VOA系统在DigitUtter - IITDH数据集上的识别准确率为78.92%。

实验结果总结如下表:
| 任务 | 识别准确率 |
| ---- | ---- |
| 说话者识别 | 96.75% |
| OTP识别 | 83.25% |
| 组合VOA系统 | 78.92% |

8.4 边缘设备部署性能分析

为了将VOA系统部署在边缘设备上,还进行了全面的性能分析。将系统从高端服务器类机器部署到嵌入式边缘设备上,实验结果表明:
- 在服务器类系统上,一次OTP认证的平均推理时间为0.05秒。
- 在边缘设备上,一次OTP认证的平均推理时间为3.14秒。

9 总结与展望

9.1 总结

本文提出了一个基于说话者和语音表示的VOA系统框架,使用ECAPA - TDNN基于说话者的表示和wav2vec conformer基于数字的表示来执行VOA。通过在DigitUtter - IITDH数据集上的实验,验证了该系统在说话者识别、OTP识别和组合VOA系统方面都取得了较好的性能。同时,对系统在边缘设备上的部署进行了性能分析,为实际应用提供了参考。

9.2 展望

虽然本文的VOA系统取得了一定的成果,但仍有一些方面可以进一步改进和研究:
- 提高识别准确率 :可以探索更先进的模型和算法,进一步提高说话者识别和OTP识别的准确率。
- 优化边缘设备性能 :研究如何优化系统在边缘设备上的性能,减少推理时间,提高系统的实时性。
- 拓展应用场景 :将VOA系统应用到更多的领域,如智能家居、移动支付等,进一步发挥其优势。

一种基于有效视角点方法的相机位姿估计MATLAB实现方案 该算法通过建立三维空间点二维图像点之间的几何对应关系,实现相机外部参数的精确求解。其核心原理在于将三维控制点表示为四个虚拟基点的加权组合,从而将非线性优化问题转化为线性方程组的求解过程。 具体实现步骤包含以下关键环节:首先对输入的三维世界坐标点进行归一化预处理,以提升数值计算的稳定性。随后构建包含四个虚拟基点的参考坐标系,并通过奇异值分解确定各三维点在该基坐标系下的齐次坐标表示。接下来建立二维图像点三维基坐标之间的投影方程,形成线性约束系统。通过求解该线性系统获得虚拟基点在相机坐标系下的初步坐标估计。 在获得基础解后,需执行高斯-牛顿迭代优化以进一步提高估计精度。该过程通过最小化重投影误差来优化相机旋转矩阵和平移向量。最终输出包含完整的相机外参矩阵,其中旋转部分采用正交化处理确保满足旋转矩阵的约束条件。 该实现方案特别注重数值稳定性处理,包括适当的坐标缩放、矩阵条件数检测以及迭代收敛判断机制。算法能够有效处理噪声干扰下的位姿估计问题,为计算机视觉中的三维重建、目标跟踪等应用提供可靠的技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值