一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于卷积神经网络的语音命令识别方法与流程

2022-12-06 23:30:55 来源:中国专利 TAG:


1.本发明涉及语音识别技术领域,特别是一种基于卷积神经网络的语音命令识别方法。


背景技术:

2.语音信号是人们现实中沟通最主要形式。随着科技发展高速发展,语音信号逐步变成人机交互重要的形式,与手动操作相比较,语音交互释放了我们的双手,极大方便了我们的日常生活。
3.随着基于传统隐马尔科夫模型(hmm)声学建模难以满足实用化的需求,语音识别达到瓶颈期,需要在算法层面上进行革新,寻求新的理论突破
1.,神经网络的兴起,打破了这一瓶颈。其中卷积神经网络(cnn)凭借其独特的优势出现在人们视野中,研究人员陆续开始将cnn应用到语音识别的研究中,进行了不同层次的探索。它可以对语音特征参数抽取部分信息,按照语音特征数据的空间分布情况高效地建模,在经过池化层时进行采样操作加强其对输入特征在时频域的稳定性,对于提高模型训练的鲁棒性至关重要
2.。
4.伴随着人工智能的兴起,语音识别不管在日常生活或者是服务业领域都有特定应用场景,既体现在手机上、手环、智能手表上,也体现在家庭的独立消费设备与上网引擎中。
5.一般情形下,语音识别都是在时域和频域解析后的波形基础上实现的。为了提升语音识别的准确率,就是必须要解决影响语音信号的各种外接因素,例如,不同谈话的人,环境的影响等。由于卷积神经网络能够进行不变性卷积在时间和空间上发生变化时,将此思想运用于到声学建模中,就能够凭借卷积的这一特性来解决语音信号本身的多样所造成的影响。
6.从应用层面出发,卷积神经网络更适合运用于大规模计算。但在卷积运算中多为的规模小的矩阵运算,这极大减慢了网络的运算速度。


技术实现要素:

7.有鉴于此,本发明的目的在于提供一种基于卷积神经网络的语音命令识别方法,实现克服语音信号本身的多样,提高模型训练的精准度。
8.为实现上述目的,本发明采用如下技术方案:一种基于卷积神经网络的语音命令识别方法,包括以下步骤:
9.语音前端处理;
10.通过卷积神经网络;
11.模型性能评估;
12.其中,语音前端处理包括语音信号预处理、时频信号转换。
13.在一较佳的实施例中,通过语音信号预处理获得体现语音信号主要信息的特性参数,对采集的信号进行一定的处理即预加重及分帧加窗;
14.预加重具体为:在语音信号处理时要先采用预加重,让高频段与低频段的衔接段
变得平坦,才能够以相同信噪比求解信号频谱;采用为一阶数字滤波器进行此操作,见公式(2-1):
15.h(z)=1-μz-1
(2-1)
16.上式中μ为常数;
17.分帧加窗具体为:要把语音信号分为一段段小的时间区间,信号的幅度变化取决于窗口长度。
18.在一较佳的实施例中,时频信号转换具体包括形成语谱图以及在信号做傅里叶变换之前乘一个窗函数g(t),并假定非稳定信号在分析窗一定时间内是相对稳定的,在窗函数g(t)随时间变化时,对信号逐段分析获得信号的部分谱图;
19.输入信号为s(t),则具体计算见公式(2-2):
[0020][0021]
其中g(τ-t)为窗函数,s(t)与窗函数g(τ-t)乘积的结果相当于从在信号时频分析的某一时间点左右取出一段;当时间t固定时,代表着此时的频谱。
[0022]
在一较佳的实施例中,卷积神经网络包括神经元、卷积层、批归一化层、池化层、relu激活函数及优化器;
[0023]
整个网络以神经元为基础,用来传递网络中的信息;x
1....n
代表n个信号输入神经元j,w
1j.....nj
代表信号xi与神经元j之间的权重值,bj代表神经元的偏置值,f代表神经元的激活函数,输入与输出两者的关系见公式(2-3):
[0024]
yj=f(bj ∑(xi×wij
))(2-3);
[0025]
卷积层的输入的尺寸为5
×5×
3,pad=1,边界填充后,变为7
×7×
3,filter尺寸大小为3
×3×
3,卷积核输入层上按距离2滑动计算,从原图左上角开始从左至右移动进行卷积运算,卷积操作是从原始图像的左上角从左向右移动;本行处理完成后,进入下一行;继续向右滑动,直到覆盖所有区域,共得到9个运算结果,得到大小为3
×
3二维矩阵,称为特征图;见公式(2-4):
[0026]
y(x)=∑λ
i,j
×
x
i,j
b(2-4);
[0027]
在公式(2-4)中,y(x)表示输出,λ
i,j
代表第i行j列的卷积核元素大小,x
i,j
代表第i行j列元素大小,b为偏置项;
[0028]
进行批归一化处理bn,bn算法使用小批次统计数据来进行归一化;给定小批次β={x
1......m
},可学习的参数增益γ和偏置β,通过公式(2-5)、(2-6)计算均值、方差来进行归一化和线性变化;
[0029][0030][0031]
从以上两式结果代入公式(2-7),
[0032][0033]
进行归一化处理,结果带入公式(2-8)线性变换,
[0034][0035]
在实验中参数增益γ和偏置β取γ=1,β=0;
[0036]
池化层采用一个尺寸大小为2
×
2的卷积核,stride取2,padding取零;最大池化选择2
×
2的区域中中最大值作为需要的特征像素点;均值池化则是求每一个2
×
2的区域中的平均值作为需要的特征像素点;
[0037]
relu激活函数表达式见公式(2-9)所示:
[0038]
f(x)=max(0,x)(2-9)。
[0039]
在一较佳的实施例中,采用混淆矩阵来评估模型性能;
[0040]
混淆矩阵分为二元分类混淆矩阵和多类别分类混淆矩阵;二元混淆矩阵包括四个指标分别是,tp:样本本身为正,实际识别结果为正;fn:样本本身为正,实际识别结果为负;fp:样本本身为负,实际识别结果为正;tn:样本本身为负,实际识别结果为负;
[0041]
通过以上四个指标,求得到下列指标:精准度acc、查准率prec、召回率rec;
[0042]
精确率acc:正确预测的样本数与总样本数之比,模型的性能与该值成正比,计算公式见(2-10):
[0043][0044]
查准率prec:正确预测的样本数与类别为positive的样本数之比,计算公式见(2-11):
[0045][0046]
召回率rec,所以实际为正的样本中被分类为正的样本的概率,计算公式见公式(2-12):
[0047][0048]
与现有技术相比,本发明具有以下有益效果:实现克服语音信号本身的多样,提高模型训练的精准度。
附图说明
[0049]
图1为本发明优选实施例的“0011”对应语谱图;
[0050]
图2为本发明优选实施例的神经元模型示意图;
[0051]
图3为本发明优选实施例的卷积核运算过程示意图;
[0052]
图4为本发明优选实施例的池化操作示意图;
[0053]
图5为本发明优选实施例的relu函数图像;
[0054]
图6为本发明优选实施例的二元分类混淆矩阵示意图;
[0055]
图7为本发明优选实施例的dfcnn网络框架示意图;
[0056]
图8为本发明优选实施例的标准神经网络示意图;
[0057]
图9为本发明优选实施例的添加dropout算法后神经网络示意图;
[0058]
图10为本发明优选实施例的总体框架图
[0059]
图11为本发明优选实施例的rk3399prod硬件资源图;
[0060]
图12为本发明优选实施例的音频信号预处理流程图;
[0061]
图13为本发明优选实施例的神经网络模型训练流程图;
[0062]
图14为本发明优选实施例的rknn转换流程图;
[0063]
图15为本发明优选实施例的rknn推理流程图;
[0064]
图16为本发明优选实施例的麦克风输入检测示意图;
[0065]
图17为本发明优选实施例的“down”命令测试结果示意图;
[0066]
图18为本发明优选实施例的“go”命令测试结果示意图;
[0067]
图19为本发明优选实施例的“left”命令测试结果示意图。
具体实施方式
[0068]
下面结合附图及实施例对本发明做进一步说明。
[0069]
应该指出,以下详细说明都是例示性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
[0070]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式;如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0071]
一种基于卷积神经网络的语音命令识别方法,包括以下步骤:语音前端处理;
[0072]
通过卷积神经网络;模型性能评估;其中,语音前端处理包括语音信号预处理、时频信号转换。
[0073]
语音前端处理基础知识
[0074]
语音信号预处理
[0075]
语音信号的预处理对于语音识别系统十分关键,通过预处理操作可以获得体现语音信号主要信息的特性参数,通过这部分参数才能够让识别结果更准确
[6]
。所以,为了有效地提取特征需要对采集的信号进行一定的处理即:预加重、分帧加窗。
[0076]
(1)预加重
[0077]
由于在人体发音过程中,声口激励以及口鼻辐射会对信号平均功率谱产生影响,当频率大于800hz时,功率会以大约6db/倍频幅度降低,因此在频谱计算时,信号高频部分的分量会变小,相对高频的频谱相对低频会更难计算。为了增强信号的高频部分,在语音信号处理时要先采用预加重,让高频段与低频段的衔接段变得平坦,才能够以相同信噪比求解信号频谱,让分析更加快速便利
[7]
。一般都是采用为一阶数字滤波器进行此操作,见公式2-1:
[0078]
h(z)=1-μz-1
(2-1);
[0079]
上式中μ取值约为1,一般取0.94。
[0080]
(2)分帧加窗
[0081]
因为语音信号实时变动,并不稳定。但人用来发音的器官的肌肉的运动速度快又较巧,使得语音信号在短时间可以看做相对平稳,所以一般在语音信号的分析之前进行信
号分帧操作
[7]
。加窗就是要把语音信号分为一段段小的时间区间,信号的幅度变化取决于窗口长度,窗口长度过长,等同于一个低通滤波器,不能细微的表征信号;窗口长度过短,虽能充分的表现信号细节,但起伏大。因此窗口长度的选择就显得极为重要。
[0082]
时频信号转换
[0083]
(1)语谱图
[0084]
因为人在发音过程中,声道不是静止的,当时间发生改变,其共振峰特征参数也随之发生变化。但是该过程相比于振动要慢得多,因此我们可以假设在相对时间内它是处于平稳的。通过对每个波段(大概15ms)进行语音分析得到的二维频谱称为语谱图。语谱图可以以更直观的形式展示出语音的许多特征,将语音频谱的特征采用二维方式表现出三维信息的方式,即横轴为时间轴,纵轴代表频率轴,某段频带能量的高低由颜色的深浅可以看出。如图1显示了“0011”所对应的语谱图,能够清晰明了的分辨出两种不同发音各自共振峰的位置。
[0085]
在语谱图类型中,窄带频带宽度小,则脉冲宽度大,宽带反之。由于宽带语谱图时间分辨率高,能更好的观测共振峰变化,但频率分辨率比较差,窄带语谱图反之。由于语谱图具有可视性,共振峰特征能够从图中清晰明了的看出,同样能够从图中看到信号的基音频率。
[0086]
(2)时频信号转换理论
[0087]
传统语音特征经过傅里叶变换后,应用各种人为设计的滤波器组提取特征,导致频域,尤其是高频区域的信息丢失。考虑到必须使用非常大的移帧,在说语速较快的情况下,时域的信息丢失是不可避免的。
[0088]
短时傅立叶变换是一种广泛使用的数学分析方法,可用于分析信号频域特性。基本原理是采用时间窗内的一段信号来表征某一时刻的信号特征。一般过程为:在信号做傅里叶变换之前乘一个窗函数g(t),并假定非稳定信号在分析窗一定时间内是相对稳定的,在窗函数g(t)随时间变化时,对信号逐段分析获得信号的部分谱图。
[0089]
假设输入信号为s(t),则具体计算见公式2-2:
[0090][0091]
其中g(τ-t)为窗函数,s(t)与窗函数g(τ-t)乘积的结果相当于从在信号时频分析的某一时间点左右取出一段。当时间t固定时,代表着此时的频谱。
[0092]
卷积神经网络理论基础
[0093]
神经元
[0094]
神经元模型是应用于人工神经网络中有类似于生物神经元的结构,整个网络以其为基础,用来传递网络中的信息,结构模型如图2所示。x
1....n
代表n个信号输入神经元j,w
1j.....nj
代表信号xi与神经元j之间的权重值,bj代表神经元的偏置值,f代表神经元的激活函数,主要的激活函数有relu、sigmoid和tanh输入与输出两者的关系见公式2-3:
[0095]
yj=f(bj ∑(xi×wij
))(2-3);
[0096]
卷积层
[0097]
在网络结构中卷积层主要作用是提取的特性参数,内含多个卷积核,以反向传播算法改进每个卷积单元的参数。输入图像通过卷积核有规律地移动,与对应矩阵进行卷积,
运算得到的结果即为提取的特征参数。
[0098]
卷积层输出图像尺寸大小取决于卷积核尺寸、步长、填充等因素。卷积核大小能够是任何比输入图像尺寸小的值,所提取的输入特征的复杂程度与卷积核大小成正比。步长是卷积核每两次扫过特征图时间隔的长度。填充是特征图通过卷积核之前增大其尺寸以抵消运算中尺寸的缩减的操作。
[0099]
具体步骤如图3所示,输入的尺寸为5
×5×
3,pad=1,边界填充后,变为7
×7×
3,filter尺寸大小为3
×3×
3,卷积核输入层上按距离2滑动计算,从原图左上角开始从左至右移动进行卷积运算,卷积操作是从原始图像的左上角从左向右移动。本行处理完成后,进入下一行。继续向右滑动,直到覆盖所有区域,共得到9个运算结果,得到大小为3
×
3二维矩阵,称为特征图。见公式2-4:
[0100]
y(x)=∑λ
i,j
×
x
i,j
b(2-4);
[0101]
在公式2-4中,y(x)表示输出,λ
i,j
代表第i行j列的卷积核元素大小,x
i,j
代表第i行j列元素大小,b为偏置项。卷积层通过参数共享,更易于神经网络模型训练。
[0102]
批归一化层
[0103]
在网络结构中除了input层外,其它层会由于低层在训练后参数发生变化,而导致后面层数据参数更新。一般情况下,由于模型参数往前递送的时候不断修改,导致各层的输入数据分布也随着更新,这种现象称之为内部协方差变化(ics),这要求模型训练时必须使用较小的学习率,且需要慎重地选择权重初值
[13]
。ics会降低训练速度,引起时梯度消失的现象。
[0104]
为了针对ics这一问题,就要进行批归一化处理(bn),bn算法使用小批次统计数据来进行归一化。给定小批次β={x
1......m
},可学习的参数增益γ和偏置β,我们可以通过公式2-5、2-6计算均值、方差来进行归一化和线性变化。
[0105][0106][0107]
从以上两式结果代入公式2-7,
[0108][0109]
进行归一化处理,结果带入公式2-8线性变换,
[0110][0111]
在实验中参数增益γ和偏置β一般取γ=1,β=0。
[0112]
池化层
[0113]
池化层由多个特征面组成,普遍应用在卷积层与卷积层之间,上下层相邻的特征面唯一相对,且特征面的数量保持不变。池化层用来降低模型运算量的,主要采取缩减卷积层间的连接数量来实现。池化的分类如图2-4所示。
[0114]
图4中,采用一个尺寸大小为2
×
2的卷积核,stride取2,padding取零。最大池化选择2
×
2的区域中中最大值作为需要的特征像素点;均值池化则是求每一个2
×
2的区域中的
平均值作为需要的特征像素点。池化操作会降低特征图维度,尽管一定程度会影响模型的准确率,但可以通过增大网络深度来改善。
[0115]
relu激活函数
[0116]
在cnn中,非线性的激励函数主要为sigmoid系激活函数,包含logistic和tanh函数。两者均具有软饱和性
[15]
:在定义域内处处可导,当输入极大或极小时,其图像的斜率趋近于0,即导数逐渐趋近于0。正因为该性质,导致梯度消失现象的发生,使得神经网络难以高效训练。
[0117]
针对梯度消失现象这一问题,relu激活函数被提出,很好的处理了非线性的sigmoid系函数的梯度消失现象,函数表达式见公式2-9所示:
[0118]
f(x)=max(0,x)(2-9);
[0119]
函数图像如图5所示。
[0120]
由图像可得,relu函数x取值在区间[0,∞)时,不会出现饱和现象,让梯度没有一直衰减的趋势,克服了梯度消失问题。由于训练次数的增多,局部输入会慢慢进入硬饱和区,使得权值不能够正常更新。relu函数也同样会发生偏置,原因是输出的平均值大于零。
[0121]
adam优化器
[0122]
adam优化器具备了adagrad和rmsprop两种算法的长处综合考虑了梯度的均值和梯度的未中心化的方差,计算得出最新的步长。能够自动调整学习率,在目标函数不稳定情况下能够收敛得很好,对于梯度稀疏或大规模数据优化的问题有较好的效果。
[0123]
性能评估指标
[0124]
为了能够更好地体现分类模型的分类效率,改进分类模型训练过程,本文使用混淆矩阵来评估模型性能。
[0125]
混淆矩阵可分为二元分类混淆矩阵和多类别分类混淆矩阵。以二元混淆矩阵为例,如图6所示,二维矩阵的两行和两列的标签分别为正向和负向。行标签代表真实值标签,而列标签代表预测值标签。
[0126]
如图6所示的四个指标分别是:
[0127]
tp:样本本身为正,实际识别结果为正。
[0128]
fn:样本本身为正,实际识别结果为负。
[0129]
fp:样本本身为负,实际识别结果为正。
[0130]
tn:样本本身为负,实际识别结果为负。
[0131]
通过以上四个指标,可以求得到下列指标:acc(精准度)、prec(查准率)、rec(召回率)等。
[0132]
(1)精确率:正确预测的样本数与总样本数之比,模型的性能与该值成正比,计算公式见2-10:
[0133][0134]
(2)查准率:正确预测的样本数与类别为positive的样本数之比,计算公式见2-11:
[0135]
[0136]
(3)召回率又称查全率,所以实际为正的样本中被分类为正的样本的概率,计算公式见公式2-12:
[0137][0138]
神经网络模型算法改进
[0139]
google数据库介绍
[0140]
语音命令识别系统,所采用的语音信号是由google收集的,音频内容包含35个英文单词,105000个音频文件,为了简化训练所需时间,选取其中20个单词构成实验所需数据集。每个wave文件都包含时间序列数据,每秒具有一定数量的样本,每个样本代表该特定时间的音频信号的幅度,采样率为16khz。
[0141]
dfcnn网络框架及改进
[0142]
(1)dfcnn网络框架介绍
[0143]
本文以全序列卷积神经网络(dfcnn)网络框架为基础进行改进。首先对dfcnn网络框架进行介绍,其结构如图7所示。
[0144]
该框架输入是对每帧音频进行短时傅里叶变换得到分别以时间和频率为轴的频谱图像,然后以卷积层和池化层的组合进行模型搭建,输出直接与模型识别结果相比对。以下分别从输入、结构、输出分析其优势所在:
[0145]
从输入端来看,该网络框架将频谱图像作为输入,区别于传统的提取特征方法,减少了高频区域信息的损失,更可以完好的保留信息;从模型框架来看,它参考了图片识别领域中较主流的网络框架,将池化层加在卷积层与卷积层之间,极大提高了cnn的学习能力,通过这种大量的卷积-池化对累积,模型能够看到较长的过去和将来的相关信息,让模型具有出色的长时相关性,更好的鲁棒性;从输出端来看,dfcnn相对比较灵活使其更好更容易地结合其他建模方法。
[0146]
(2)改进方法
[0147]
在模型训练过程中,出现了过拟合现象。过拟合定义:当使用深度反向传播神经网络训练小批量数据集时,相比于训练集,测试数据的准确度中有很差的体现。针对此问题,采取在每次训练中上任意隐藏一半的特征检测器来降低。为了抑制过拟合现象,提升神经网络的性能,因此使用dropout算法对原先的算法进行改进。
[0148]
接下来介绍dropout算法基本原理:dropout算法是让某个神经元按照概率p让它的激活值暂时变为0,暂时不工作,以此增强模型泛化性,因为它对某些局部的特征依赖性不强
[20]
。假定标准神经网络如图8所示,添加dropout算法后神经网络如图9所示。
[0149]
假设输入为i,输出为j,标准神经网络的一般步骤是:让输入i进行前向传播,然后将误差进行反向传播来决定以什么样的方式更新参数以供神经网络的学习。
[0150]
应用dropout算法后过程是首先将隐藏神经元暂时随机删除掉一半,保持输入和输出神经元数量不发生变化,接下来步骤与标准神经网络工作的一般步骤相同。对小批量的训练样本执行此步骤后,由未删除的神经元根据随机梯度下降法更新相应的参数,并不断进行上述过程。
[0151]
基于dfcnn网络框架进行改进,将dropout层添加在池化层和全连接层后并设置参数为0.5,抑制过拟合现象。
[0152]
实验结果对比分析
[0153]
本文基于矩池云运算服务器进行模型训练实验,将google所收集的音频数据集分类。通过比较改进前后验证数据集的损失函数和准确率大小,采用测试集准确率来评估模型的性能好坏,实验结果如表3-1所示。
[0154]
表3-1实验结果示意图
[0155][0156]
由图表所示,在dfcnn加入dropout算法后,神经网络模型在损失函数上有了明显的降低,准确率有了3.00%的相对增加。
[0157]
系统总体设计
[0158]
系统总体框架
[0159]
本设计基于tensorflow在rk3399硬件平台上构建可以识别20个字词的基本语音识别系统,系统框架如图10所示。
[0160]
第一部分是在矩池云gpu运算服务器上,基于其所配置的运行环境进行模型搭建,将音频数据集预处理后,转化为频谱图输入模型进行训练,将训练好的模型保存为h5py模型后转换为pb模型。
[0161]
第二部分是在rk3399prod上将pb模型转化为rknn模型,用外接的麦克风录音输入进行推理,通过显示屏打印出推理结果。
[0162]
系统硬件平台
[0163]
本设计所使用的rk3399prod开发板提供丰富的多媒体接口和外围接口,在人工智能系列产品的硬件开发有广泛的运用。开发板集成了usb wifi/bt模组,提供wifi 2.4g和bt4.2;可使用tensorflow、tensorflow lite、pytorch、caffe等模型。神经网络处理器运算性能达到3.0tops。针对本设计有音频输入的需求,它提供板载麦克风mic输入、speaker和耳机双向通道多种方法。硬件资源图如图11所示。
[0164]
系统软件设计
[0165]
云服务器软件设计
[0166]
本文基于矩池云运算服务器所搭建的环境框架,进行数据集分类、音频预处理、特征提取、模型搭建及训练。
[0167]
数据集分类
[0168]
在模型训练前将数据集按照比例8:1:1分成训练集、验证集和测试集,使用训练数据集进行训练,使用验证数据集体现训练期间的准确性,训练完成后的准确性用测试数据集用来体现。
[0169]
音频信号预处理
[0170]
根据上文,将数据集分类后,前处理数据集内的音频文件,具体流程如图12所示。
[0171]
解码音频文件得到波形文件并读取音频标签,之后对波形文件进行短时傅里叶变
换得到频谱图像,将频谱图和标签打包成dataset,为训练模型输入做好准备。神经网络模型训练
[0172]
基于改进后的网络框架,在云运算服务器上进行模型训练,具体流程如图13所示。首先,将打包压缩的数据集和相关程序上传到云服务器上,解压数据集;其次通过运行程序对数据集进行预处理,模型搭建,将迭代一次的样本数设置为64,每次训练训练集重复训练40次;最后,通过多次训练后,记录效果最好的参数,并保存导出h5py模型。
[0173]
rk3399prod平台软件设计
[0174]
rknn模型转换
[0175]
为了将云运算服务器上训练得到的pb模型,能够在rk3399平台上进行推理和预测,要进行rknn模型的转换,具体流程如下图14所示。首先进行rknn执行对象创建,并配置参数,用于作为npu对数据输入的预处理之后加载待转换的tensorflow模型,指定模型的输入节点、输出节点、模型输入的尺寸大小,然后创建解析pb模型,指定不进行量化以防精度的丢失,最后导出并保存rknn模型文件。
[0176]
rknn模型推理
[0177]
在rknn模型转换操作之后,进行rknn模型推理,流程如图15所示。对api进行初始化,进入循环检测键值输入,当检测到键值0x20时麦克风录音,预处理录音输入的wav文件,提取频谱图,保存特征参数为npy文件,之后加载转换后的rknn模型,进行模型的推理,最后后处理推理结果输出。
[0178]
系统测试
[0179]
命令识别结果测试
[0180]
(1)麦克风语音输入测试
[0181]
测试本系统在rk3399prod硬件平台终端上进行系统测试,首先进行麦克风输入检测,如图16所示。当外接键盘按空格键进行麦克风语音输入,释放空格麦克风语音输入完毕。
[0182]
(2)命令识别测试
[0183]
本系统可以识别“one”“down”“three”“forward”“up”“yes”“stop”“seven”“left”“eight”“two”“right”“no”“happy”“nine”“zero”“four”“go”“six”“house”20个英文单词,通过对麦克风输入的音频进行前处理,然后进行rknn模型推理,通过显示屏输出推理结果。接下来分别对“down”“go”“left”的命令识别结果进行展示,分别如图17、18、19所示。
[0184]
对推理结果的可能性大小进行后处理,得出3个可能性最大的测试结果。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献