一种唇部语音活动检测和结果纠错的语音识别系统和方法

文档序号:170840 发布日期:2021-10-29 浏览:31次 >En<

阅读说明:本技术 一种唇部语音活动检测和结果纠错的语音识别系统和方法 (Voice recognition system and method for lip voice activity detection and result error correction ) 是由 冯伟 史鹏 高丽清 刘泽康 刘之谏 于 2021-06-11 设计创作,主要内容包括:本发明涉及一种唇部语音活动检测和结果纠错的语音识别系统及识别方法,其特征在于,包括音视频处理模块、语音活动检测器、语音识别器、专有名词数据库、识别结果纠错器。其中,所述音视频处理模块,用于将采集好的包含人脸的视频进行处理,划分成视频片段,提取出含有音频的视频片段;所述语音活动检测器,用于对含有音频的视频片段进行语音活动检测,判断出所述的含有音频的视频片段是否为含有语音的视频片段;所述语音识别器,用于对被检测为含有语音的视频片段中提取出的音频进行语音识别,得到语音识别的原始结果。所述识别结果纠错器,用于对语音识别器的识别结果进行纠错。(The invention relates to a voice recognition system and a voice recognition method for lip voice activity detection and result error correction. The audio and video processing module is used for processing the collected videos containing the human faces, dividing the videos into video segments and extracting the video segments containing the audio; the voice activity detector is used for detecting voice activity of the video clip containing the audio and judging whether the video clip containing the audio is the video clip containing the voice; and the voice recognizer is used for performing voice recognition on the audio extracted from the video clip detected as containing the voice to obtain an original result of the voice recognition. And the recognition result error corrector is used for correcting the recognition result of the voice recognizer.)

一种唇部语音活动检测和结果纠错的语音识别系统和方法

技术领域

本发明属于人工智能、计算机视觉、语音识别领域,具体涉及一种唇部语音活动检测和结果纠错的语音识别系统和方法。

背景技术

随着计算机技术的发展,人与机器之间的交互越发频繁。在各种人机交互方式中,语音是不容忽视的一种重要方式。语音识别技术在智能家居、手机语音助手等应用中大放异彩。2017年3月,根据Mary Meeker年度互联网报告,Google以机器学习为背景的语音识别系统,在英文领域取得了95%的字准确率,此结果逼近人类语音识别的准确率。由此可见,目前的语音识别技术,在安静场景下的识别准确率已经达到了较高水平。然而在噪声场景下,其准确率受到极大影响,造成语音识别在噪声环境下存在误差的原因有很多。语音活动检测(Voice Activity Detection,VAD)的效果不好是一个原因,语音活动检测是语音信号处理领域的一项技术,根据输入的信号,判断用户是否在说话,截取出有效的语音片段,以供后续的语音识别使用。语音活动检测可以减少语音识别的计算量,减少噪声情况下的误识别。语音活动检测的效果不好,会导致在对音频进行句子切分的时候,句子不能被准确切分,导致语音识别的内置语言模型无法进行上下文的搜索,使得识别的精度下降。

目前国内外对于语音活动检测的实现主要分为基于音频信号和基于视频信号两种方式。(中国,201810864097)使用后验概率计算,判断音频帧是否为语音帧。(中国,202011332443.2)使用深度学习算法识别音频帧,将达到预设的长静音阈值的帧作为切分点将持续语音信号切分为多个有效语音段。由于依赖于音频信号的语音活动检测很容易受到背景噪音的影响,而在语音识别的实际应用场景中,大量的电子设备可以同时采集用户的音频和用户的面部视频,因此,本专利使用视频信号,根据用户的唇部动作进行语音活动检测,以提升噪音环境下语音识别的精确度。

纽约州立大学石溪分校提出的LPN模型(Landmark Pooling Network)和传统的利用音频作为静音检测的方法不同,通过将人脸信息融入深度神经网络进行特征学习,实现了基于视频信号的语音活动检测,在公开的LSW数据集上达到了79.9%的准确率。然而LPN模型要求输入的图像只包括唇部区域。帝国理工学院提出的开源人脸检测算法RetinaFace在多个数据集上都有良好的精度,在检测人脸的同时,还可以预测人脸的关键点。

此外,特定领域的专有名词也对语音识别有很大的难度。(中国,201710952988)提出一种基于领域识别的对语音识别后文本纠错的方法,根据编辑距离计算相似度得分进行纠错。

发明内容

本发明的目的是提供对噪声具有良好鲁棒性的语音识别系统和方法,本专利通过对RetinaFace的人脸关键点预测模块进行修改,并使用包含唇部关键点的数据集进行训练,使其能够输出唇部区域图像,再通过LPN完成语音活动检测,此外本发明还基于最长公共子序列的方法,建立特定领域的专有名词数据库,在指定了语音识别的特定领域后,对语音识别结果进行纠错,纠正语音识别结果中对专有名词的识别错误。技术方案如下:

一种唇部语音活动检测和结果纠错的语音识别系统,其特征在于,包括音视频处理模块、语音活动检测器、语音识别器、专有名词数据库、识别结果纠错器。其中,

所述音视频处理模块,用于将采集好的包含人脸的视频进行处理,划分成视频片段,提取出含有音频的视频片段;

所述语音活动检测器,用于对含有音频的视频片段进行语音活动检测,判断出所述的含有音频的视频片段是否为含有语音的视频片段;方法如下:分为唇部区域提取器和唇部语音活动检测器两部分;所述唇部区域提取器,使用RetinaFace模型实现,通过检测含有音频的视频片段中的人脸,得到唇部关键点和唇部区域图片;所述唇部语音活动检测器,使用LPN模型实现,通过视频片段中视频帧的唇部关键点和唇部区域图片,判断视频片段是否为含有语音的视频片段;

所述语音识别器,用于对被检测为含有语音的视频片段中提取出的音频进行语音识别,得到语音识别的原始结果。

所述专有名词数据库,用于存储特定领域的专有名词和词对应的拼音序列。

所述识别结果纠错器,用于对语音识别器的识别结果进行纠错,方法如下:将语音识别器的原始识别结果转为拼音序列,计算原始识别结果的拼音序列和专有名词数据库中专有名词的拼音序列的最长公共子序列,对原始识别结果进行纠错。

进一步地,使用最长公共子序列的方法对原始结果进行纠错,包括以下步骤:

(1)将语音识别的原始结果转化为拼音序列;

(2)计算得到语音识别原始结果的拼音序列和词库中每个词的拼音序列之间的最长公共子序列;

(3)根据最长公共子序列的首尾字符获取语音识别原始结果中的待替换部分;

(4)根据最长公共子序列、语音识别原始结果的拼音序列、词库中每个词的拼音序列的数值,按照一组规则,选择出替换词;

(5)对语音识别原始结果中的待替换部分进行替换。

本发明同时提供的语音识别方法,其特征在于,包括以下步骤:

准备阶段,搜集特定领域的专有名词,并将专有名词转化为拼音序列,建立专有名词数据库;

训练阶段,训练语音活动检测器,分别训练唇部区域提取器和唇部语音活动检测器;

预测阶段:

步骤一,音视频处理模块将采集好的视频划分视频片段,并提取出视频中的音频;

步骤二,语音活动检测器对视频片段进行语音活动检测;

步骤三,语音识别器对被检测为语音的视频片段中提取出的音频进行语音识别,得到语音识别的原始结果;

步骤四,识别结果纠错器对语音识别的原始结果进行纠错,使用基于最长公共子序列的纠错方法,当语音识别的原始结果中存在专有名词识别错误时,进行纠错。

进一步地,唇部区域提取器使用RetinaFace模型,对RetinaFace的模型结构进行修改,将原本的脸部关键点预测从预测5个脸部关键点再增加预测18个唇部关键点。

进一步地,RetinaFace模型的骨干网络MobileNetV1-0.25,优化器Adam,学习率0.001,weight_decay=5e-4,每经过一轮训练,学习率缩小到0.92倍。

进一步地,,唇部语音活动检测器使用LPN模型,训练方法为:使用LSW数据集训练,优化器Adagrad,初始学习率0.0001,每经过50000次迭代,学习率缩小10倍,momentum0.9,衰减系数0.0005,在200000次迭代之后结束训练。

进一步地,使用最长公共子序列的方法对原始结果进行纠错,包括以下步骤:

(1)将语音识别的原始结果转化为拼音序列;

(2)计算得到语音识别原始结果的拼音序列和词库中每个词的拼音序列之间的最长公共子序列;

(3)根据最长公共子序列的首尾字符获取语音识别原始结果中的待替换部分;

(4)根据最长公共子序列、语音识别原始结果的拼音序列、词库中每个词的拼音序列的数值,按照一组规则,选择出替换词;

(5)对语音识别原始结果中的待替换部分进行替换。

本发明运用深度学习方法,利用人脸视频信息,通过唇部的动作检测实现语音活动检测,以提高语音识别对噪音环境的鲁棒性,并通过最大公共子序列的方法对语音识别的结果纠错,提高语音识别的准确率。

附图说明

图1系统原理图

图2 WFLW数据集中的图片示例

图3语音活动检测模型图

图4实验结果

具体实施方式

为使本发明的技术方案更加清楚,下面结合附图对本发明做进一步阐述。

请见图1,本发明提供了一种语音识别系统,包括音视频处理模块、语音活动检测器、语音识别器、专有名词数据库、识别结果纠错器。

音视频处理模块,用于将采集好的包含人脸的视频进行处理,划分成视频片段,提取出其中的含有音频的视频片段。语音活动检测器,用于对含有音频的视频片段进行语音活动检测,判断出该视频片段是否为语音视频片段。语音识别器,用于对被检测为语音的视频片段中提取出的音频进行语音识别,得到语音识别的原始结果。专有名词数据库,用于存储特定领域的专有名词和所述的专有名词对应的拼音序列。识别结果纠错器,用于对语音识别器的识别结果进行纠错。

本实施例中,语音活动检测器,分为唇部区域提取器和唇部语音活动检测器两部分。唇部区域提取器,使用RetinaFace模型实现,通过检测视频帧中的人脸,得到唇部关键点和唇部区域图片;唇部语音活动检测器,使用LPN模型实现,通过多个视频帧的唇部关键点和唇部区域图片,判断视频片段是否为语音。

本发明提供了一种语音识别方法,通过分析视频片段中唇部的动作,区分出音频片段是语音还是非语音(噪音、静音),对检测为语音的音频片段进行语音识别,并根据专有词库内容对语音识别结果进行纠错,提升了噪音环境下语音识别的精确度。

准备阶段

采集特定领域的专有名词,建立专有名词数据库。本实施例中,采集了包含北京朝阳区、西城区和东城区关于酒店、餐馆和景点的相关信息的专有名词,包括名称、酒店类型、地址、电话、设施、推荐菜等。使用Python的Pypinyin库将专有名词转化为拼音序列。

训练阶段

训练语音活动检测器,分别训练唇部区域提取器和唇部语音活动检测器。

本实施例中,唇部区域提取器使用RetinaFace模型。

(1)对RetinaFace模型的结构进行修改:RetinaFace模型的人脸关键点回归模块,通过一个输出通道数为anchor数*10的卷积层,预测出5个人脸关键点的x、y坐标,包括左眼、右眼、鼻尖、唇部左侧、唇部右侧,本实施例将关键点数目进行扩展,将人脸关键点回归模块的卷积层的输出通道数从anchor数*10改为anchor数*46,使人脸关键点回归模块预测出23个关键点的x、y坐标,在保留了原本的5个关键点的基础上,新增了18个唇部关键点。

(2)RetinaFace模型的训练方法为:使用WFLW数据集训练,该数据集由包含了98个人脸关键点的图片组成,如图2所示。选取其中编号为96(左眼)、97(右眼)、54(鼻尖)、76-95(唇部)的关键点,作为RetinaFace模型的关键点回归模块的训练样本,训练修改后的RetinaFace模型。RetinaFace模型的骨干网络MobileNetV1-0.25,优化器Adam,学习率0.001,weight_decay=5e-4,每经过一轮训练,学习率缩小到0.92倍。

唇部语音活动检测器使用LPN模型(Landmark Pooling Network)。LPN模型的训练方法为:使用LSW数据集训练。优化器Adagrad,初始学习率为0.0001,每经过50000次迭代,学习率缩小10倍,momentum0.9,衰减系数0.0005,在200000次迭代之后结束训练。

语音活动检测器的模型图如图3所示。

预测阶段

步骤一,音视频处理模块将采集好的视频分为长度为0.4秒的视频片段,并提取出含有音频的视频片段;

步骤二,语音活动检测器对视频片段进行语音活动检测,唇部区域提取器RetinaFace的输入为视频帧,输出为20个唇部关键点和视频帧的唇部区域图片。唇部语音活动检测器LPN的输入为视频片段每一帧的20个唇部关键点和唇部区域图片,输出为当前视频片段是否为语音。

步骤三,语音识别器对被检测为语音的视频片段中提取出的音频进行语音识别,得到语音识别的原始结果;

步骤四,识别结果纠错器对语音识别的原始结果进行纠错。使用基于最长公共子序列的纠错方法。基于最长公共子序列的纠错方法,可以纠正专有名词的识别错误,在给定了语音识别的专有名词词库的前提下,可对语音识别原始结果中识别错误的专有名词进行纠正。其步骤如下:

(1)根据特定领域的专有名词词库,对词库中的每个词进行标号,将整个词库用Term表示。

Term=[term1,term2,…termn]

其中termi表示词库中的第i个词。

(2)将词库中的每个词都转为带声调的拼音序列。对于词个数为N的词库,可以得到词库的拼音序列集合,用Word表示:

Word=[word1,word2,…,wordn]

其中,wordi是一个序列,其中的每一个元素都是带声调的拼音,例如,对于词“北京烤鸭”,其对应的wordi为[['běi'],['jīng'],['kǎo'],['yā']]。

(3)将语音识别的原始结果转为带声调的拼音序列,用Result表示。

(4)遍历词库的拼音序列集合Word,计算词库中每个词的拼音序列wordi和语音识别原始结果的拼音Result的最长公共子序列,最长公共子序列用lcsi表示,得到词库和语音识别原始结果的最长公共子序列集合,用LCS表示。

LCS=[lcs1,lcs2,…,lcsi,…,lcsn]

其中lcsi代表词库中第i个词的拼音和语音识别原始结果的拼音的最长公共子序列。

(5)遍历LCS,对于每个lcsi,得到它的第一个字符fi和最后一个字符li,在Result中截取以fi为第一个字符,li为最后一个字符的子序列,作为待替换部分,用replacei表示。Replace表示replacei的集合。

Replace=[replace1,replace2,…,replacen]

(6)遍历LCS、Word和Replace,计算出Li、Si、Pi。其中,Li为lcsi的长度;Si为lcsi的长度与wordi的长度的比;Pi为replacei的长度与wordi的长度中较小的一方与较大的一方的比。通过实验,可以确定一组规则,根据Li、Si、Pi的数值选择出当前词库中的最适合替换的词。在该实施例中,确定的规则如下:Li大于1,Si大于等于0.6,Pi大于0.66,在此基础上,选择使得以上三者相乘最大的i,将termi作为替换项,并且要求待替换部分replacei的长度与wordi的长度相差小于等于1。

argmaxi(Li*Si*Pi)

(7)使用termi替换replacei对应的文本。

下面结合具体实例对本发明方法进行可行性验证:

利用训练好的语音识别模型在收集的音视频数据上进行了测试,通过利用视频中的唇部动作信息准确地进行语音活动检测,较大地提升了语音识别在噪声环境下的效果。实验数据是100句人为录制的对话,并且使用算法为其添加上固定信噪比的babble噪声。具体的实验结果如图4所示,测试了在不同信噪比下语音的识别效果,在环境信噪比小于15dB的情况下,语音识别准确率有明显的提升。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种噪声提取及指令识别方法和电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!