一种由唇部视频直接生成语音的方法与流程

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

本发明涉及计算机视觉、数字图像处理、微电子技术和残疾人辅助技术领域,尤其是涉及一种由唇部视频直接生成语音的方法。



背景技术:

本发明与唇语识别领域相关。“唇语识别”是依据嘴唇视频生成对应的文字表达,以下是目前能查到的最相关的技术方案信息:

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

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

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

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

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



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种由唇部视频直接生成语音的方法。

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

一种由唇部视频直接生成语音的方法,包括以下步骤:

1)获取唇部视频:采用摄像装置采集包含嘴唇的视频,并提取嘴唇区域,得到嘴唇部分的视频;

2)获取唇部部特征向量:对嘴唇部分的视频中每一帧图像,围绕嘴唇的内唇边缘和外唇边缘提取多个用以描述嘴唇形状的特征点,获取特征点的x,y坐标并做归一化处理后得到当前帧图像的唇部特征向量,以此获取一系列的唇部特征向量;

3)唇音转换:将得到的唇部特征向量输入到唇音转换器中,唇音转换器将唇部特征向量进行短时缓存,每间隔一定的时间δt,唇音转换器将最新缓存的k个唇部特征向量进行一次语音帧参数向量的转换,并输出该语音帧参数向量;

4)语音合成:根据从唇音转换器输出的语音帧参数向量进行语音合成,将语音帧参数向量合成为语音帧,还原音频采样并输出语音。

所述的步骤2)中,围绕嘴唇的内唇边缘和外唇边缘提取20个用以描述嘴唇形状的特征点,并对这些特征点坐标值依据人脸参数进行姿态矫正和归一化处理。

所述的步骤3)中,所述的唇音转换器的参数包括δt和k,所述的一定的时间δt为一个语音帧的时间。

所述的一定的时间δt取值为22.5ms,k设置为0.5秒钟的图像数,对于每秒50帧的视频帧率,k优选取值为25。

所述的步骤3)中,采用lpc10e算法进行语音帧参数向量的转换。

所述的语音帧参数向量包括2个清浊音标志、1个基因周期、1个增益和10个反射系数。

合成的一帧语音帧a包含180个音频采样。

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

本发明利用一个唇音转换器,将唇部特征向量序列直接转换为语音帧编码参数向量序列,进而采用语音合成技术得到语音帧序列,并由语音帧特征数据合成语音,而不需要经过“文字”这一中间环节,提高了转换效率,并且唇音转换器易于训练。

附图说明

图1为本发明的方法原理图。

图2为唇音转换器的构成。

具体实施方式

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

本发明设计了一种由唇部视频生成语音的方法。该生成过程的步骤依次为:视频采集、提取唇部视频、计算唇部特征、预测语音帧编码参数、语音合成、语音播放。按照时间先后顺序,具体技术过程描述如下:

(1)通过视频采集设备采集包含唇部的视频(不需要采集音频),并从采集的视频中提取嘴唇部分(包含嘴唇在内的一个矩形区域)的视频v。v是由一系列图像i1,i2,...,in按时间顺序组成的。

(2)对唇部视频v中的每一帧唇部图像i计算一个唇部特征向量fi,可得到一系列唇部特征向量fi1,fi2,...,fin,他们蕴含了唇部图像的运动变化信息。

(3)fi1,fi2,...,fin依次被送入唇音转换器p,唇音转换器p会按照一定的时间间隔(即一个语音帧所占的时间)将最新缓存的k个唇部特征向量转换输出为一个语音帧的编码参数向量,依次可得到语音帧编码参数序列fa1,fa2,...,fam。这里n和m分别代表视频帧和语音帧的当前帧号,他们不一定相等,因为他们的帧率可能不同。

(4)根据转换出来的语音帧编码参数向量序列,采用语音合成的方法重建每一个语音帧a。每一个编码参数向量fa被重建为一个语音帧a。每一个语音帧都是可以直接播放的音频数据。

(5)通过播放设备播放出语音帧序列a1,a2,...,am,即可听到声音。或者将他们予以存储。

上述步骤中使用的“唇音转换器p”是一个独立的功能单元,它能将唇部特征向量序列fi1,fi2,...,fin转换成语音帧的编码参数向量序列fa1,fa2,...,fam。

实施例:

如图1所示,本发明首先通过视频采集设备采集包含唇部的视频,并提取嘴唇部分图像得到唇部的视频v,v是由一系列图像i1,i2,...,in按顺序组成的。然后对每一副图像i都提取唇部特征fi,得到唇部特征序列fi1,fi2,...,fin。该唇部特征序列被依次送入唇音转换器p,从唇音转换器p的输出端可得到语音编码参数序列fa1,fa2,...,fam。采用语音合成技术,将语音帧编码参数序列合成为语音帧序列a1,a2,...,am。

本实施例中转换方法具体过程描述如下。

(1)第一步,获取唇部视频:利用摄像装置采集包含嘴唇的视频(不需要采集音频),并提取出嘴唇区域,得到嘴唇部分的视频v。可以采用现有的嘴唇图像检测技术来检测和切割出唇部视频;

(2)第二步,计算唇部部特征向量:对于嘴唇部分视频v中的每一帧图像,围绕嘴唇的内唇边缘和外唇边缘,共提取20个特征点,以描述当前嘴唇的形状。每个点有x和y两个坐标值,20个点共有40个坐标数据。依据人脸坐标对40个坐标值进行姿态矫正和归一化处理后,作为一个唇部特征向量fi。从连续的视频图像中可以得到一系列的唇部特征向量fi1,fi2,...,fin。鉴于图像帧率通常不高,可对唇部特征向量进行插值,以提高帧率。

(3)第三步,唇音转换:将计算得到的每一个唇部特征向量立刻输入到转换器中,这些唇部特征向量会在转换器中进行一个短时间的缓存。每间隔一定的时间间隔δt(一个语音帧的时间),转换器会利用最新缓存的k个唇部特征向量进行一次语音帧参数向量fa的计算,并将该fa其输出。k和δt是唇音转换器的参数。按照一般的做法,音频采样率设置为8000hz,δt设置为22.5ms,也就是一个语音帧含180个采样。k可设置为0.5秒钟的图像数,视频特征插值后的帧率为每秒50帧,于是k可设置为0.5x50=25。

(4)第四步,语音合成:根据从唇音转换器得到的语音帧参数向量fa,利用语音合成技术,将fa合成为语音帧a,即还原出音频采样。这里采用lpc10e算法,fa是14个数值的lpc参数向量(2个清浊音标志、1个基因周期、1个增益、10个反射系数),合成的一帧音频a包含180个音频采样。

(5)按照上述配置,视频特征经过插值后,帧率为50帧每秒,转换后的音频帧为44.4帧每秒。以上步骤连续处理,可以得到连续的转换结果。可以根据需要将其播放和存储。

如图2所示,唇音转换器p由输入缓存、预测器和配置参数组成。

唇音转换器接收一系列唇部特征向量,并将其存储在输入缓存中。每隔一定的时间间隔δt,将缓存的k个最新的唇部特征向量送入预测器,并由测器得到一个预测结果,并将该结果从输出口输出。该预测结果是一个语音帧的编码参数。配置参数主要存储了预测器的配置参数。k是一个参数,其值近似等于一个待识别的字、词和短语所占的最大视频帧数,如果进行单字的识别,正常语速下k=25左右,如果以词语或短语为单位,则k值大致按照字数倍增。

转换器的核心是一个预测器,该预测器是一个机器学习模型,能够利用训练样本对它进行训练。预测器可采用人工神经网络来实现,作为一个实例,该神经网络由3个lstm层+2个全连接层依次连接组成。每两层之间以及lstm的内部反馈层之间都添加dropout层。预测器的训练方法为:

①样本生成:取任意时刻t的连续k个唇部特征向量组成一个短时序列fist=(fit-k+1,...,fit-2,fit-1,fit)作为预测器的输入样本,其中fit为时间上最接近t的一个唇部特征向量。提取对应时刻的l个连续语音采样值作为一个语音帧at=(st-l+1,...,st-2,st-1,st),其中st是时间上最接近t的一个语音采样,并采用语音分析算法lpc10e对该语音帧计算其编码参数,作为t时刻的语音帧编码参数向量fat。其中l=180,是一个固定的参数。不同时刻t,可得到大量训练样本对{fist,fat}。

②利用大量样本对{fist,fat},按照深度人工神经网络的一般训练方法对预测器进行训练(即采用误差反向传播的方法逐步调整网络权值),并采用均方误差mse来计算预测误差。

训练完成后,预测器每间隔一定的时间间隔δt,从缓存中获取k个最新唇部特征向量fit-k+1,...,fit-2,fit-1,fit作为输入,并预测输出一个语音帧的编码参数向量fat。例如,对于k=25的情况:

t=t0+δt时,由fi1,fi2,...,fi25预测得到fa1(t0为起始时间)

t=t0+2δt时,由fi2,fi3,...,fi26预测得到fa2

t=t0+3δt时,由fi3,fi4,...,fi27预测得到fa3

......

这样不断处理下去,由唇部特征向量序列fi1,fi2,...,fin(n≥k)转换得到语音帧的编码参数向量序列fa1,fa2,...,fam。

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