一种由唇部图像特征到语音编码参数的转换方法与流程

文档序号:15450796发布日期:2018-09-14 23:59阅读:248来源:国知局

本发明涉及计算机视觉、数字图像处理和微电子技术领域,尤其是涉及一种由唇部图像特征到语音编码参数的转换方法



背景技术:

唇语识别是依据嘴唇视频生成对应的文字表达,以下是现有的相关的技术方案:

(1)cn107122646a,发明名称:一种实现唇语解锁的方法。其原理是将实时采集的嘴唇特征与预先存储的嘴唇特征比对,以确定身份,但是只能获取嘴唇特征。

(2)cn107437019a,发明名称:唇语识别的身份验证方法和装置。其原理与(1)类似,差异在于采用了3d图像。

(3)cn106504751a,发明名称:自适应唇语交互方法以及交互装置。其原理依然是将嘴唇识别成文字,然后基于文字进行指令交互,转换步骤繁复。

(4)lipnet,是牛津大学联合deepmind发布的深度学习唇语识别算法,其目的也是将嘴唇识别成文字。与之前技术相比,识别率更高一些,但转换的过程也很复杂。

(5)cn107610703a,发明名称:一种基于唇语采集和语音拾取的多语言翻译器。它利用了现有的语音识别模块来识别成文字,然后再利用现有的语音合成模块将文字转换成语音。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种由唇部图像特征到语音编码参数的转换方法

本发明的目的可以通过以下技术方案来实现:

一种由唇部图像特征到语音编码参数的转换方法,包括以下步骤:

1)构建语音编码参数转换器,包括输入缓存和训练后的预测器,按照时间先后顺序依次接收唇部特征向量,并将其存储在转换器的输入缓存中;

2)每隔一定的时间,将当前时刻缓存的k个最新的唇部特征向量作为一个短时向量序列送入预测器,并获取一个预测结果,该预测结果为一个语音帧的编码参数向量;

3)语音编码参数转换器输出预测结果。

所述的预测器的训练方法具体包括以下步骤:

21)同步采集视频和语音:通过视频和音频采集设备,同步采集视频和对应的语音数据,并从视频中提取唇部图像,包括整个嘴部以及以嘴为中心的一个矩形区域,获取由一系列唇部图像i1,i2,...,in组成的唇部视频,所述的语音数据为语音样值序列s1,s2,...,sm,并使唇部图像和语音数据保持时间对应关系;

22)获取任意时刻t的唇部特征向量短时序列fist,对唇部视频中的每一帧唇部图像i计算其图像特征向量fi,获得一系列唇部特征向量fi1,fi2,...,fin,对给定的任意时刻t,提取k个连续的唇部特征向量作为t时刻的唇部特征向量短时序列fist=(fit-k+1,...,fit-2,ft-1,fit),其中,fit为时间上最接近t的一个唇部特征向量,k为指定参数;

23)获取任意时刻t的语音帧编码参数向量fat,对任意时刻t,提取l个连续语音采样值作为一个语音帧at=(st-l+1,...,st-2,st-1,st),其中st是时间上最接近t的一个语音采样,采用语音分析算法计算该语音帧的编码参数,即为t时刻的语音帧编码参数向量fat,其中,l为固定参数;

24)采用样本训练预测器:任取一时刻t,根据步骤22)和23)得到的训练样本对{fist,at}作为预测器的输入和期望输出,并在有效范围内随机选取多个t值,依据预测器的类型,对预测器进行训练。

所述的步骤22)中,采用对唇部特征向量进行时间插值使其帧率加倍,或采用高速的图像采集设备进行采集的方式提高唇部特征向量的帧率。

所述的预测器采用人工神经网络,所述的人工神经网络由3个lstm层和2个全连接层依次连接组成。

所述的步骤22)中,获取唇部特征向量具体包括以下步骤:

对于每帧唇部图像,提取围绕嘴唇的内边缘和外边缘共20个特征点,获取这20个特征点的中心坐标,并将各个点的坐标都减去该中心坐标,得到40个坐标数据,对40个坐标值进行归一化处理,最终获取一个唇部特征向量。

所述的步骤23)中,所述的语音分析算法为lpc10e算法,所述的编码参数向量为lpc参数,包括1个前半帧清浊音标志、1个后半帧清浊音标志、1个基音周期、1个增益和10个反射系数。

与现有技术相比,本发明具有以下特点:

一、直接转换:本发明采用机器学习技术构造了一个特殊的转换器,它实现从唇部图像特征向量到语音帧编码参数向量的转换。其中的预测器,可用人工神经网络来实现,但并不限于人工神经网络。

二、无需文字转换:该转换器采用唇部图像特征向量序列作为输入,语音帧编码参数向量作为输出。其输出的语音帧编码参数向量,可以由语音合成技术直接合成为语音采样帧,而不需要经过“文字”这一中间环节。

三、便于构造训练:本发明还提供了所设计预测器的训练方法,以及训练样本的构造方法。

附图说明

图1为转换器的组成和接口结构图。

图2为预测器的训练流程图。

图3为预测器的人工神经网络结构。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。

本发明设计了一种由唇部图像特征到语音编码参数转换的转换器,它能够将接收唇部图像的特征向量序列,并将它们转换成语音帧编码参数向量序列、并予以输出。

该转换器主要包括输入缓存、预测器、和配置参数。其核心是一个预测器,该预测器是一个机器学习模型,能够利用训练样本对它进行训练。训练完成后的预测器,能够将唇部特征向量的一个短时序列预测输出为一个对应的语音编码参数向量。

如图1所示,该转换器主要包括输入缓存、预测器、和配置参数,以及输入和输出接口。转换器接收一个个唇部特征向量,并将其存储在输入缓存中。每隔一定的时间间隔δt,将缓存的k个最新的唇部特征向量送入预测器,并由测器得到一个预测结果,并将该结果从输出口输出。该预测结果是一个语音帧的编码参数。配置参数主要存储了预测器的配置参数。

转换器的工作过程描述如下:

(1)转换器接收一系列唇部特征向量fi1,fi2,...,fin,并将其存储在输入缓存中。这些唇部特征向量按照时间先后顺序依次输入。

(2)每隔一定的时间δt,转换器就将当前时刻缓存的k个最新的唇部特征向量作为一个短时向量序列fist=(fit-k+1,...,fit-2,fit-1,fit)送入预测器,并得到一个预测结果fat。该预测结果是一个语音帧的编码参数向量。其中δt等于一个语音帧所占的时长,k是一个固定的参数。

(3)得到一个预测结果fat后,随即将其从输出接口输出。

以上步骤持续循环运行,从而将唇部图像特征向量序列fi1,fi2,...,fin转换成语音帧的编码参数向量序列fa1,fa2,...,fam。由于语音帧的频率和视频帧的频率并不一定相等,因此这里输入的图像特征向量fi的个数n和输出的语音帧参数向量fa个数m也不一定相等。

本专利描述的转换器中,涉及一个预测器,该预测器用一种具有数据预测能力的机器学习模型来实现,例如用一个人工神经网络来实现,但不限于人工神经网络。在应用之前,需要对其进行训练(即让预测器进行学习)。下面是训练的方法,其原理如图2所示,分别从唇部视频中提取唇部图像特征向量、从对应的语音中提取语音编码参数向量。唇部图像特征向量的一个短时序列序列fist=(fit-k+1,...,fit-2,fit-1,fit)作为训练的输入样本;与fist对应的语音帧的编码参数向量fat作为期望输出,即标签。由此获取大量的训练样本和标签对{fist,fat},实现对预测器的训练,其中t为随机的任意有效时刻。

训练预测器具体包括以下步骤:

(1)同步采集视频和语音。通过视频和音频采集设备,同步采集视频和对应的语音数据。视频中需要包含嘴唇部分。从视频中提取嘴唇部分,即包含整个嘴部、以觜为中心的一个矩形区域。最终的唇部视频是由一系列唇部图像i1,i2,...,in组成。语音数据则表现为语音样值序列s1,s2,...,sm(这里m为大写,表示采样数。语音帧数表示为小写m)。图像和语音保持时间对应关系。

(2)任意时刻t的唇部特征向量短时序列fist。对唇部视频中的每一帧唇部图像i计算其图像特征向量fi,于是得到一系列唇部特征向量fi1,fi2,...,fin。对给定的任意时刻t,提取k个连续的唇部特征向量作为t时刻的唇部特征向量短时序列fist=(fit-k+1,...,fit-2,ft-1,fit),其中fit为时间上最接近t的一个唇部特征向量,k是一个指定的参数。为了提高唇部特征向量的帧率,可对唇部特征向量进行时间插值使其帧率加倍,或者直接采用高速的图像采集设备。

(3)任意时刻t的语音帧编码参数向量fat。对任意时刻t,提取l个连续语音采样值作为一个语音帧at=(st-l+1,...,st-2,st-1,st),其中st是时间上最接近t的一个语音采样。采用语音分析算法,对该语音帧计算其编码参数,即为t时刻的语音帧编码参数向量fat。其中l是一个固定的参数。

(4)用样本训练预测器。任取一时刻t,根据(2)和(3)得到一个训练样本对{fist,at},其中fist为预测器的输入,at为预测器的期望输出,即标签。在有效范围内随机选取大量t值,可得到大量的样本。用这些样本,依据预测器的类型,采用相应的方法对预测器进行训练。

(5)将训练完成后的预测器,作为一个组件用于构建唇音转换器。

实施例1:

下面是一种具体的实施方法,但本发明所述的方法和原理并不限于其中所给出的具体数字。

(1)预测器,可采用人工神经网络来实现。亦可采用其他机器学习技术对预测器进行构建。下面的过程中,预测器采用人工神经网络,即预测器等同于一个人工神经网络。

在本实施例中,该神经网络由3个lstm层+2个全连接层dense依次连接组成。每两层之间以及lstm的内部反馈层之间都添加dropout层,为了架构清晰,这些在图中没有画出。如图3所示:

其中,三层lstm都各有80个神经元,前两层采用“return_sequences”模式。两个dense层分别有100个神经元和14个神经元。

第一个lstm层接收唇部特征序列的输入,输入的格式是一个3维数组(batches,steps,lip_dim)。最后一个全连接层是神经网络的输出层,输出格式是一个2维数组(batches,lpc_dim)。这些格式中,batches指定每次送入神经网络的样本数目(习惯地称为批数),训练时batches通常为大于1的数值,而应用时batches=1;一个输入样本的形状由steps,lip_dim指定,steps指定一个唇部特征短时序列的长度(习惯地称为步数),也就是fist=(fit-k+1,...,fit-2,ft-1,fit)中的k值,即steps=k;lip_dim指定一个唇部特征向量fi的维度,对于由40个坐标数据构成的唇部特征向量,则lip_dim=40。输出格式中,lpc_dim是一个语音编码参数向量的维度,对于lpc10e来说,lpc_dim=14。

神经元的数目和层数,依据应用场景的不同做适当调整。词汇量大的应用情景中,神经元数目和层数相可以设置得较多些。

(2)k的值的确定。k值需要根据应用情景来确定。对于简单的应用场景,可能只需要进行逐个汉字的识别,由于一个汉字的发音大约0.5秒,如果视频为50帧/秒,则k为0.5秒所包含的视频帧数,即k=50x0.5=25。对于用字较多的情景,则需要以词汇甚至短句作为一个整体来识别,这时k的数值相应倍增。例如“大小”和“卡车”两个词中,由于“大”和“卡”的口型近似,难以单字区分,则需要对“大小”和“卡车”进行整词识别,k至少需要等于2x25=50左右

(3)唇部特征向量的计算。对于每帧图像,围绕嘴唇的内边缘和外边缘,共提取20个特征点,以描述嘴唇的当前形状。计算这20点的中心坐标,并将各个点的坐标都减去该中心坐标。每个点有x和y两个坐标值,20个点共有40个坐标数据。对40个坐标值进行归一化处理后,作为一个唇部特征向量fi。由连续的视频图像可以得到一系列的唇部特征向量fi1,fi2,...,fin。鉴于图像帧率通常不高,可对唇部特征向量进行插值,以提高帧率。连续k个唇部特征向量组成一个短时序列fist=(fit-k+1,...,fit-2,fit-1,fit)作为预测器的输入样本,其中fit为时间上最接近t的一个唇部特征向量。

(4)语音帧编码参数向量的计算。t时刻的语音帧为at=(st-l+1,...,st-2,st-1,st),其中st是时间上最接近t的一个语音采样,t为任意的有效时刻。这里,语音可采用8000hz的采样率,l设为180,即每180个样值作为一个音频帧,占22.5ms的时间。语音编码可采用lpc10e算法。用此算法对一个语音帧at进行分析,可得到该帧的编码参数向量fat,即14个数值的lpc参数,包括1个前半帧清浊音标志、1个后半帧清浊音标志、1个基音周期、1个增益、和10个反射系数。这样,可计算任意有效时刻的语音帧编码参数向量fat。不同的语音帧可以有重叠。这种音帧编码参数向量,在对预测器训练时作为期望输出格式,在应用时作为预测器的实际输出格式。

(5)预测器的训练:由上述唇部特征向量的一个短时序列fist作为输入样本,对应时刻的语音帧编码参数向量fat作为其标签(即预测目标),组成一个样本对{fist,fat},由于t可取任意有效时间内的值,因此可得到大量的训练样本,用于对预测器的训练。训练时,采用均方误差mse来计算预测误差,并采用误差反向传播的方法逐步调整网络权值。最终提供一个可用的预测器。

(6)预测器训练完成后,作为一个模块用于转换器中。预测器结构描述数据和权值数据、以及其他参数,都存储在“配置参数”中,当转换器启动时将配置参数读取出来,并依据这些参数重建预测器。

(7)本文所述的方法可采用软件手段实现,亦可部分或全部地采用硬件手段实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1