一种船舶机电虚拟仿真系统的语音识别方法与流程
2021-01-28 13:01:35|355|起点商标网
本发明涉及船舶仿真工程
技术领域:
,具体而言,尤其涉及一种基于gmm-hmm和轮机语音语料库的船舶机电虚拟仿真系统的语音识别方法。
背景技术:
:机电虚拟仿真系统能够模拟船舶机舱中机电设备操作,能够体现船舶机舱中的实际操作情况。在一定程度上能够克服实际中存在的缺陷,进行针对性地操作训练。近些年在stcw公约马尼拉修正案的标准约束下,轮机仿真系统的交互方式也一直在发生着变化。在应用了vr技术后的虚拟船舶机舱中,语音识别可以使操作者摆脱键盘与鼠标的复杂交互方式,在虚拟船舶机舱中的交互更加便捷。但作为最自然的交互方式,语音识别在智能家居的语音控制系统以及车载语音识别系统中已经十分成熟,但在船舶机电系统虚拟仿真中却还不常见。在船舶航海虚拟仿真系统研发领域,研究者通过dsp芯片设计出了航行信号灯的语音控制,但该方案只能针对孤立词进行识别,不具有扩展性。还有学者采用灵云语音sdk实现了船舶导航系统的孤立词小词汇量的识别,但是基于sdk开发的识别功能的识别范围有限,缺乏灵活性。技术实现要素:本发明提供了一种船舶机电虚拟仿真系统的语音识别方法、装置及存储介质。解决了基于语音识别技术的船舶机电虚拟仿真系统的操作问题,提高专业技能熟练程度,减少人为失误,确保生命财产和航行安全,同时为无人船和智能船的发展奠定基础。本发明采用的技术手段如下:一种船舶机电虚拟仿真系统的语音识别方法,包括:s1、构建船舶机电系统语音库,所述船舶机电系统语音库包括多人多次关于船舶机电主机系统、辅助系统和电力系统的全任务冷船和变工况启动语音指令数据,以及特定任务的模块化操作语音指令数据;s2、提取所述船舶机电系统语音库中的语音指令数据的声学特征,所述声学特征为所述语音指令数据的梅尔频率倒谱系数;s3、构建船舶机电系统的声学模型,所述声学模型根据所述声学特征识别语音指令,所述声学模型为gmm-hmm模型;s4、构建船舶机电系统语料库,所述船舶机电系统语料库中包含轮机领域相关语料;s5、构建船舶机电系统的语言模型,所述语言模型基于所述船舶机电系统语料库,根据声学特征识别的语音指令完成船舶机电系统的语音合成,所述语言模型为tri-gram语言模型。较现有技术相比,本发明具有以下优点:1、本发明通过声学模型提取语音指令,并根据声学特征识别指令内容,并通过语言模型转化为语音输出,解决了因船舶机电虚拟仿真系统结构庞大、专业性强、涵盖面广和人机交互复杂,操作时会出现过程长、记不住或频繁忘记、易出错等现象,导致疲劳和情绪烦躁的问题。2、本发明能够提高学习效率,缩短操作周期,为实船机电系统远程语音操作提供了借鉴和参考,也有助于智能船和无人船的发展。基于上述理由本发明可在船舶仿真工程等领域广泛推广。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明船舶机电虚拟仿真系统的语音识别方法流程图。图2为实施例中发电机关闭状态下仿真系统操作界面。图3为实施例中发电机启动状态下仿真系统操作界面。具体实施方式为了使本
技术领域:
的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。如图1所示,本发明提供了一种船舶机电虚拟仿真系统的语音识别方法,包括:s1、构建船舶机电系统语音库,所述船舶机电系统语音库包括多人多次关于船舶机电主机系统、辅助系统和电力系统的全任务冷船和变工况启动语音指令数据,以及特定任务的模块化操作语音指令数据。s2、提取上述语音库中样本语音信号的梅尔频率倒谱系数(mel-frequencycepstralcoefficients,mfcc)作为语音指令数据的声学特征。s3、构建船舶机电系统的声学模型。声学模型利用提取的音频信号特征进行模型训练,得到声学模型,以及该音频对应的文字发音序列,的模型。具体包括:(1)建立gmm-hmm模型,使其最终转换成和一个发音序列到输出文字序列的字典。这里的发音序列通常是音素。模型的输入音频信号特征,输出是发音序列(音素)到观测语音序列模型的参数,包括初始状态分布πi1≤i≤n,n是状态个数,隐藏状态跳转概率aij,1≤i,j≤n和跳转时输出观测语音序列的概率bj(ot),1≤t≤m,m是语音观测序列个数。声学模型是从语音到音素状态的一个描述,为词典里面的每一个词建立了由五元组参数λ={n,m,π,a,b}来描述的gmm-hmm原型,a={aij},b={bj(ot)},π={πi}。基于隐马尔可夫模型(hiddenmarkovmodel,hmm)建立声学特征序列模型,基于混合高斯(gaussianofmixture,gmm)方法对hmm每个状态的输出概率进行建模。(2)对gmm-hmm模型参数寻优根据baum-welch学习算法以求取整体概率p(o|λ)极大化为目标,对gmm-hmm模型进行的反馈训练,得到hmm参数λ的最优解,以此建立船舶机电系统的声学模型。具体地:p(o|λ)是指在给定参数λ时输出语音特征序列o时的概率。其中,s是hmm中的各个隐藏状态。进一步地,对gmm-hmm模型进行的反馈训练,通过采集语音数据重新估计参数λ:其中,其中,bj(ot):在t时刻hmm中状态观测符号的概率分布,wjm:混合系数,表示不同高斯之间的比重,m:高斯个数;p:o的维度,∑jm:表示p*p的协方差矩阵,|∑jm|为该协方差行列式的值,μjm:高斯分布的均值向量,n(oj,μjm,∑jm)是每个高斯成分,将上述3个式子带入即可求出p(o|λ)的极大值。s4、构建船舶机电系统语料库,所述船舶机电系统语料库中包含轮机领域相关语料。具体地,从中国船务周刊和现代汉语语料库等报刊与语料库中选取轮机领域相关语料72910句,再进行补充和完善,共计844100句,作为本实验训练语言模型的语料。s5、构建船舶机电系统的语言模型。语言模型用于把声学模型和字典模型输出的单个字词组合成一个完整的句子。语言模型的输入是单个字词,输出成一个完整的句子,即:c(wi-2,wi-1,wi)为词条{wi-2,wi-1,wi}在语料库中出现的频数。具体地,包括:(1)建立n-gram语言模型基于统计语言模型建立n-gram语言模型。为了得到性能更优的语言模型,使用srilm工具分别对uni-gram、bi-gram和tri-gram三种语言模型进行训练和测试,对比三者困惑度,确定选用tri-gram的语言模型。(2)稀疏语料的激活基于kneser-ney平滑算法处理语言模型,将一部分出现的词序列概率分给未出现的词序列,然后以此建立语言模型并以arpaformat形式存储。具体地:其中,0≤d≤1;同时出现词wi-n+1,…wi的频数;词后面出现不同词的数目。s6、基于解码搜索完成船舶机电系统的语音合成。解码搜索就是结合声学模型和语言模型的打分(p(o|λ)和p(w)),在识别网络中检索一条似然值最高的词序列作为识别结果。声学模型解码是基于viterbi算法策略进行的,在hmm模型上搜索生成给定观测值序列(待识别语音的声学特征)概率最大的hmm状态序列,再由hmm状态序列获取对应的词序列结果。具体地:ot:t时刻的语音序列观测值;sn:hmm中不可见的内部状态;ψt(j):t时刻,部分观测序列处于状态j时的局部最大输出概率;qt(j):保存使ψt(j)值最大的路径q1,q2…qt。1、初始化ψ1(j)=πjbj(o1),1≤j≤n,qt(1)=02、根据t时刻输出的观察符号qt,有迭代式ψt(j)为:3、当t=t,跳转到4,否则回到24、t=t时,有最优路径为使用讯飞sdk提供的接口进行封装调用,完成语音合成功能。具体地,1、创建speechsynthesizer对象;2、通过setparameter()方法设置语调、语速和音量等参数;3、调用startspeaking方法,读取文本,开始合成。下面通过具体的应用实例,对本发明的方案和效果做进一步说明。本实施例以kaldi平台中实现了一个与发电机实现语音交互的流程,具体包括:1、声学模型建立和导入船舶机电虚拟仿真系统操作的音频采集与标注:在实验室环境下,采集15人(男性10人,女性5人)音频,每人录制40句,总共600句,保存为.wav类型的音频文件并命名;准备拟进行训练的数据,包括utt2spk、text、wav.scp三个文件,分别为声学训练样本说话人id、600句语音库标注文件、音频文件的路径:utt2spk文件如:by1_011by1,by1_012by1;text文件如:by1_011对主机盘车至少盘一圈以上,by1_012分油机的转速是一万一千转每分钟;wav.scp文件如:by1_011/home/speech/kaldi/data/train/audio/by1_011.wav,by1_012/home/speech/kaldi/data/train/audio/by1_012.wav。2、语言模型文件建立和导入1)语料库的建设对收集到的生语料使用ictclas工具进行分词,将不同词性的词语进行划分,并对句子起始使用<s>、句子结尾使用</s>进行标注,如:<s>活动底盘不能上下移动</s>,<s>在油水分界面的外围要用水封水密封/s>,并以“utf-8”的ngine.txt格式保存。2)语言模型的训练及平滑处理(1)采用语言模型训练工具srilm进行训练集tri-gram类型频率统计ngram-count-textengine.txt-order3-writeengine.count(2)采用kneser-ney平滑法训练语言模型,最后将语言模型以arpa格式.lm文件输出和存储ngram-count-readengine.en.count-order3-lmengine.en.lm-kndiscount(3)将上步engine.en.lm文件导入到语音识别系统目录下。3、发音词典建立和导入准备两个文件phones.txt和words.txt,其内容分别为声学建模音素和单词的索引号。phones.txt如“<uw0>6”,words.txt如“起7”,导入到系统目录下。4、语音信号特征提取和导入利用系统集成的compute-mfcc-feats指令提取每个音频的13维语音信号mfcc特征,保存为.ark类型的文件,并用copy-feats创建该ark文件的路径文件.scp,如:by1_011/home/speech/kaldi/data/train/mfcc/by1_011.ark,by1_012/home/speech/kaldi/data/train/mfcc/by1_012.ark。5、gmm-hmm模型训练设定hmm隐藏状态6,初始转移概率aij为和观测序列分布概率bi(ot)为对gmm-hmm中的参数进行重估。6、基于上述模型的机电虚拟仿真系统语音识别测试(1)语音系统输出测试在完成声学模型和语言模型的建模后,基于kaldi的onlinefasterdecoder解码器进行解码,用以测试该语音识别系统。为了满足在轮机模拟器上的使用,由瘫船启动的流程操作指令构成测试使用的待识别语言,让8个测试者各进行30次语音识别测试实验。实验结果如下表1所示。表1语音识别系统测试结果测试者测试次数识别正确次数识别准确率/%1302893.32302996.63302893.34302996.65302996.66302686.67302996.68302790.0平均3028.193.7在测试中平均识别准确率为93.7%,可以满足在轮机模拟器中对轮机设备日常操作的使用需求。该语音识别系统的测试通过也为语音识别系统应用于船舶机舱或无人船中打下了基础。(2)船舶发电机仿真系统操作测试为了在现有轮机模拟器中展示语音交互的效果,使用讯飞sdk提供的接口进行封装调用,完成语音合成功能。在windows平台下设计船舶发电机启动的语音交互流程。交互流程如下:a.启动语音识别程序,语音识别系统进入监听状态;b.通过麦克风讲话,识别指令“启动预润滑油泵”,轮机模拟器启动预润滑油泵并通过语音播报“预润滑油泵已开启”;c.识别“启动轻油泵”指令,轮机模拟器启动轻油泵并播报“轻油泵已启动”;d.识别“打开空气截止阀”指令,轮机模拟器打开空气截止阀并播报“空气截止阀已打开”;e.识别“启动发电机”指令,轮机模拟器启动发电机并播报“发电机已启动”。本发明将建立的机电系统语音识别模型应用到船舶机电仿真系统,可以实现设备的启停、逻辑等监控。图2和图3是机电系统发电机部分的仿真可视化图。图左上侧是气缸废气排气温度柱状图,左中是燃油和空气系统及其流量和压力等参数,左下是预润滑控制面板;中上分别是高低温冷却水温度、发电机原动机转速和滑油压力参数表,中间装置是发电机,中下是滑油管系及其流量和压力等参数;右上是缸套冷却水温度柱状图,右中是冷却水管系及其温度和流量等参数,右下角是安全保护控制面板。图2是启动前的系统仿真界面,从柱状图可以看出废气排气和缸套冷却水温度都是36℃,发动机转速0r/min,滑油压力是0bar;图3是语音启动后的系统仿真界面,从柱状图可以看出废气排气和缸套冷却水温度分别是290℃和45℃,发动机转速503.5r/min,滑油压力是6.61bar。可以看出,利用本方法搭建的语音识别模型有效完成了机电系统的监控。通过测试表明,该交互系统表现良好,识别率高,行动执行准确。本方法通过对船舶机电虚拟仿真系统语音信号的特征提取、声学模型的建模、多元语言模型的对比试验,完成搭建语音识别系统,实现发电机的语音交互。实验表明语音识别系统的识别率能够满足应用,对船舶轮机仿真系统的智能化具有促进意义,也为实际船舶机舱与无人船中语音识别的应用打下了基础。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。当前第1页1 2 3 
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips