首页 > 乐器声学 专利正文
一种音视协同的唇语识别方法及系统与流程

时间:2022-02-24 阅读: 作者:专利查询

一种音视协同的唇语识别方法及系统与流程

1.本发明涉及语音识别领域和计算机视觉领域,尤其是视觉语音识别和唇语识别。


背景技术:

2.唇语识别,又称视觉语音识别,是指靠观看说话者说话时的面部与唇部动作,来解读说话者所说的话语内容的技术。该技术可以作为基于音频的语音识别的补充,弥补基于音频的语音识别模型在高噪等环境下的不足,同时该技术也可以独立用于无声等环境,实现所说话语内容的高效传递,因此该技术在人机交互系统中存在有巨大的应用价值;同时,近年来,随着大规模唇语识别数据集的出现和深度学习技术在计算机视觉、自然语言处理等领域中的广泛应用,唇语识别逐渐得到了广泛的关注,并逐渐开始在实际场景中发挥作用。
3.实际场景中的唇语识别通常面临着大词典低资源的问题,其特点在于在通过视觉信息判断说话内容时,所涉及的目标语言内容覆盖较大的词典范围,所涉及的词汇内容范围较广。因而,实际场景中的唇语识别任务通常一方面面临着常规唇语识别任务本身所面临的视觉细粒度特征难以提取、时间维度建模困难、说话人的姿态、表情变化大、外界光照条件复杂多变等挑战,另一方面也面临着该任务所独有的大词典带来的不同词间易混淆、短词较多难以识别等情况。
4.目前,大多数唇语识别方法都是基于大规模有标签数据和深度神经网络框架的视觉单模态强监督识别方法,这些方法在一些公开的数据集上取得了较好的性能,但仍然有许多不足和局限性。一方面,大规模有标签数据的获取是当下需要耗费大量人力物力的难题,准确的唇语识别数据通常需要严格的前后时间戳,这通常需要标注大量唇语识别数据,而这一步是非常繁琐且困难的。另一方面,人在说话的时候,声音和唇动是同步产生的。因此,如何利用语音数据来提高唇语识别模型的性能是非常有价值的事情,但是,目前已有的方法很少利用语音数据去帮助基于视觉的唇语模型的学习。
5.在进行唇语识别领域的研究时发现唇语识别任务和其他视频分类一样,最主要的关键点是提取每个唇读视频最具有判别性特征。然而,唇语识别却面临不同于其他视频分类任务的挑战。
6.首先,唇语识别任务本身就是一件非常有挑战性的事情,我们知道唇部区域是非常有限的,而对应的说话内容多种多样,同时说话过程中所处的客观环境也是复杂多变的,包括外部光线、说话人的姿态等等,这些因素都使得唇语识别是一项非常有挑战性的任务。
7.其次,唇语识别数据的标注也是一件极为繁琐的工作,不但需要获得严格的起始和终止的时间戳,而且还要获得对应的文本标签。最重要的一点是,在大词典的场景下,一些不同词类(如“which”和“while”)的视觉图片样本之间有较为明显的相似性,这对模型的判别能力提出了更高的要求。
8.另外,由于说话速度、说话人外表(包括姿势、年龄、化妆和个人习惯等等)等因素也会导致相同的词类样本间有较大的差异性。这些问题都进一步增加了唇语识别的难度,
因为有限的训练数据很难覆盖所有不同情况的样本。现有的唇语识别方法基本都是基于大规模唇语识别数据集,很少考虑如何在低资源情况下获得一个性能较好的模型来处理唇语识别任务。
9.同时,我们注意到,在我们说话的时候,不仅有唇部动作,还有与之同时产生的音频,而音频特征(如mfcc,fbank等)在很多时候有更好的区分度,同时视觉数据和音频数据也不需要进行额外的对齐。


技术实现要素:

10.本发明的目的是如何让唇语识别模型能够在数据量有限的情况下学到有区分度的表示特征,因此本发明提出了一种基于音视协同训练机制的唇语识别方法。
11.针对现有技术的不足,本发明提出一种音视协同的唇语识别方法,其中包括:
12.步骤1、获取包含说话人脸视频的唇语识别数据集,且各说话人脸视频均具有标签类别;对说话人脸视频进行唇部区域提取,得到视觉模态数据,对说话人脸视频进行音频波形采样和特征提取,得到音频模态数据;将各说话人脸视频的视觉模态数据和音频模态数据绑定,作为一个样本;
13.步骤2、在唇语识别数据集中随机抽取n个不同标签类别,对抽取出来的每个类别的样本数进行随机划分,分别得到每个类别的视觉支持集、视觉查询集、音频支持集和音频查询集作为一批训练数据;
14.步骤3、对于每次迭代训练,将该视觉支持集和该视觉查询集输入至视觉编码器中,将该音频支持集和该音频查询集输入至音频编码器中,分别得到得到视频序列特征x
(v)
和音频序列特征x
(a)
以及每个样本的原型表示;
15.步骤4、分别计算音视两个模态的支持集中各类别原型表示的中心,得到所有支持集类别中心;计算查询集样本分别经过映射函数后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于各类别的概率,以得到音频编码器和视频编码器的跨模态损失函数;
16.步骤5、根据该概率,计算每个查询集样本与每个支持集类别中心表示的距离以及属于类别n的概率,以分别计算音频编码器和视频编码器的单模态损失函数;根据该跨模态损失函数和该单模态损失函数,构建最终损失函数;
17.步骤6、循环执行该步骤2至该步骤5,直到该最终损失函数,保存当前视觉编码器模型参数;在该视觉编码器输出端连接一个由全连接层构建的分类器,形成唇语识别模型,将待唇语识别的视频输入至该唇语识别模型,得到唇语识别结果。
18.所述的音视协同的唇语识别方法,其中该步骤3包括:
[0019][0020]
其中,x表示输入的视频序列数据,θ
(v)
表示视觉编码器参数,θ
(a)
表示音频编码器参数。
[0021]
所述的音视协同的唇语识别方法,其中该步骤4包括:
[0022]
通过下式得到各支持集类别中心的表示:
[0023][0024][0025]
分别表示音视两种模态的支持集中类别n的中心表示,指s
t
中类别n的样本数,π(
·
)表示指示函数,y
x
表示重新定义后的样本类别;
[0026]
计算查询集样本数据分别经过映射函数f
v

a
和g
a

v
后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于类别n的概率,计算方式如下:
[0027][0028][0029]
f
v

a
和g
a

v
分别指代视觉向量映射到音频空间、音频向量映射到视觉空间的映射函数,d(
·
,
·
)指两个向量的距离,这里用欧几里得距离;
[0030]
计算音视跨模态协同训练的优化损失函数,根据上述过程,对于音视两个模态的编码器模型的该跨模态损失函数可以表示为:
[0031][0032][0033]
所述的音视协同的唇语识别方法,其中该步骤5包括:
[0034]
对音视各自单模态的不同类别的原型表示进行度量学习,在得到的基础上,计算每个查询集样本数据与每个类别的支持集中心表示的距离,并计算属于类别n的概率,计算方式如下:
[0035][0036][0037]
分别计算音视两模态的各模态内基于度量学习的优化损失函数,优化目标定义为最大化模型将查询集样本分类为正确类y
q
的可能性:
[0038]
[0039][0040]
该最终损失函数计算方式如下:
[0041]
l
avs

(a)

(v)
)=λ
v
l
v

(v)
)+λ
a
l
a

(a)
)+λ
a

v
l
a

v

(v)
)+λ
v

a
l
v

a

(a)
)
[0042]
其中λ
v
,λ
a
,λ
a

v
,λ
v

a
,均为权值系数。
[0043]
所述的任一种音视协同的唇语识别方法,其中该步骤6还包括:
[0044]
用该唇语识别数据集对该唇语识别模型进行基于交叉熵损失的微调训练,以对该唇语识别模型进行优化。
[0045]
本发明还提出了一种音视协同的唇语识别系统,其中包括:
[0046]
模块1,用于获取包含说话人脸视频的唇语识别数据集,且各说话人脸视频均具有标签类别;对说话人脸视频进行唇部区域提取,得到视觉模态数据,对说话人脸视频进行音频波形采样和特征提取,得到音频模态数据;将各说话人脸视频的视觉模态数据和音频模态数据绑定,作为一个样本;
[0047]
模块2,用于在唇语识别数据集中随机抽取n个不同标签类别,对抽取出来的每个类别的样本数进行随机划分,分别得到每个类别的视觉支持集、视觉查询集、音频支持集和音频查询集作为一批训练数据;
[0048]
模块3,用于对于每次迭代训练,将该视觉支持集和该视觉查询集输入至视觉编码器中,将该音频支持集和该音频查询集输入至音频编码器中,分别得到得到视频序列特征x
(v)
和音频序列特征x
(a)
以及每个样本的原型表示;
[0049]
模块4,用于分别计算音视两个模态的支持集中各类别原型表示的中心,得到所有支持集类别中心;计算查询集样本分别经过映射函数后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于各类别的概率,以得到音频编码器和视频编码器的跨模态损失函数;
[0050]
模块5,用于根据该概率,计算每个查询集样本与每个支持集类别中心表示的距离以及属于类别n的概率,以分别计算音频编码器和视频编码器的单模态损失函数;根据该跨模态损失函数和该单模态损失函数,构建最终损失函数;
[0051]
模块6,用于循环执行该模块2至该模块5,直到该最终损失函数,保存当前视觉编码器模型参数;在该视觉编码器输出端连接一个由全连接层构建的分类器,形成唇语识别模型,将待唇语识别的视频输入至该唇语识别模型,得到唇语识别结果。
[0052]
所述的音视协同的唇语识别系统,其中该模块3包括:
[0053][0054]
其中,x表示输入的视频序列数据,θ
(v)
表示视觉编码器参数,θ
(a)
表示音频编码器参数。
[0055]
所述的音视协同的唇语识别系统,其中该模块4包括:
[0056]
通过下式得到各支持集类别中心的表示:
[0057]
[0058][0059]
分别表示音视两种模态的支持集中类别n的中心表示,指s
t
中类别n的样本数,π(
·
)表示指示函数,y
x
表示重新定义后的样本类别;
[0060]
计算查询集样本数据分别经过映射函数f
v

a
和g
a

v
后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于类别n的概率,计算方式如下:
[0061][0062][0063]
f
v

a
和g
a

v
分别指代视觉向量映射到音频空间、音频向量映射到视觉空间的映射函数,d(
·
,
·
)指两个向量的距离,这里用欧几里得距离;
[0064]
计算音视跨模态协同训练的优化损失函数,根据上述过程,对于音视两个模态的编码器模型的该跨模态损失函数可以表示为:
[0065][0066][0067]
所述的音视协同的唇语识别系统,其中该模块5包括:
[0068]
对音视各自单模态的不同类别的原型表示进行度量学习,在得到的基础上,计算每个查询集样本数据与每个类别的支持集中心表示的距离,并计算属于类别n的概率,计算方式如下:
[0069][0070][0071]
分别计算音视两模态的各模态内基于度量学习的优化损失函数,优化目标定义为最大化模型将查询集样本分类为正确类y
q
的可能性:
[0072][0073][0074]
该最终损失函数计算方式如下:
[0075]
l
avs

(a)

(v)
)=λ
v
l
v

(v)
)+λ
a
l
a

(a)
)+λ
a

v
l
a

v

(v)
)+λ
v

a
l
v

a

(a)
)
[0076]
其中λ
v
,λ
a
,λ
a

v
,λ
v

a
,均为权值系数。
[0077]
所述的任一种音视协同的唇语识别系统,其中该模块6还包括:
[0078]
用该唇语识别数据集对该唇语识别模型进行基于交叉熵损失的微调训练,以对该唇语识别模型进行优化。
[0079]
由以上方案可知,本发明的优点在于:
[0080]
相比于现有技术,本发明基于音视天然的时间同步性和内容一致性,不仅考虑了利用不同层面的度量学习实现以音助视,而且也引入了基于预训练的学习机制,最大可能地提高了视觉模型的特征提取能力,从而能够在唇语识别任务中表现更好,在两个典型的大词典唇语识别数据集(lrw和lrw

1000)都达到最好分类性能。
附图说明
[0081]
图1为本发明的基于音视协同预训练的唇语识别方法的流程图;
[0082]
图2为唇部区域裁剪示意图。
具体实施方式
[0083]
本发明利用音视同步的特性,提出了一种音视协同学习的唇语识别方式,在该方法中,我们设计了视觉

视觉、音频

音频、视觉

音频等三个层面的度量学习,三个度量学习机制的同时进行不仅缩短了训练时间和阶段,还能更好地进行视觉和音频两种模态间的协同学习。通过音频信息的帮助,本发明的视觉模型可以提取更有区分度的特征,从而提升唇语识别模型的性能。本发明包括以下关键技术点:
[0084]
关键点1,本发明提出了一种音视协同学习机制,利用音频来辅助视觉模型学习,同时设计音

音、视

视、音

视三个层面的度量学习方式,使得模型能够同时进行模态内和跨模态间的特征表示学习,这种方式也简化了音视协同学习的方式;
[0085]
关键点2,本发明引入了一种从易到难的学习机制来处理唇语识别任务,首先对模型进行基于音视协同的预训练,使模型可以对不同类别的样本进行充分地区分对比学习,在此基础上,再到最终的识别任务上进行微调;
[0086]
关键点3,本发明将音视协同学习机制与基于预训练的学习机制有机融合起来,不仅实现了音频对视觉模型的帮助,也能够使模型更好地区分不同类样本间的差别,这样就能更好地完成唇语识别任务。
[0087]
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
[0088]
图1是本发明的基于音视协同预训练的唇语识别方法的简要流程图,下面详细给出本发明技术方案中所涉及的各个步骤:
[0089]
步骤1:视觉模态数据处理:
[0090]
(1)利用人脸检测器检测出每一帧中说话人的人脸位置;
[0091]
(2)对所检测到的人脸进行关键点检测;
[0092]
(3)根据检测到的鼻尖、两个嘴角、下巴等人脸关键点,对唇部区域进行裁剪,使裁剪得到的区域完整且有效,如图2所示的虚线框区域;
[0093]
(4)将裁剪得到的每一帧唇部区域图片转换为灰度图片;
[0094]
步骤2:音频模态数据处理
[0095]
(1)用一定的采样率对音频波形进行采样,如可采用16khz的采样率;
[0096]
(2)利用kaldi等库,将采样后的音频数据转换为d维的mfcc特征序列;
[0097]
步骤3:视觉编码器设计
[0098]
(1)设计一个常用的3d卷积层(即由单独一个3d卷积操作构成的一个层)和一个resnet18的模块,将它们级联作为帧级的特征提取器,该帧级的特征提取器作为编码器前端;
[0099]
(2)设计一个3层的transformer结构,作为序列级的特征提取器,用来对编码器前端得到的各帧级特征串联得到的序列特征进行时序建模;
[0100]
(3)上述的帧级结构和序列级结构级联作为视觉编码器
[0101]
步骤4:音频编码器设计
[0102]
和步骤3中(2)类似,设计一个3层的transformer结构作为音频编码器
[0103]
步骤5:训练数据采样:
[0104]
(1)一个视频样本的音视模态对作为一个样本;
[0105]
(2)对于每次模型迭代,在大词典数据集中随机抽取多个不同标签(中文词组或者英文词汇)类别,假设总计抽取到的类别数记为n,对抽取出来的每个类别的样本数进行随机划分,分别构建每个类别的支持集(s
t
,support set)和查询集(q
t
,query set),这里的支持集表示拥有相同标签类的样本来计算该标签类的中心向量,查询集是为了度量的方式实现模型优化,表示样本通过和每个中心向量进行度量,使得其与类别相同的中心向量的距离越近,类别不同的中心向量越远;
[0106]
步骤6:重复执行步骤5产生多个训练数据批次;
[0107]
步骤7:音视跨模态协同预训练;
[0108]
(1)对于每次迭代训练,将经过随机采样得到的视觉支持集音频支持集视觉查询集和音频查询集的数据分别输入到视觉和音频编码器中,分别得到每个样本视觉和音频的原型表示(即每个样本在嵌入空间中的点),并取每个序列经过视觉编码器和音频编码器后的最后一个时间步的输出向量作为对输入的整个序列的表示,即:
[0109][0110]
其中,x表示用作输入的视频序列数据,θ
(v)
表示视觉编码器参数,θ
(a)
表示音频编码器参数,e表示编码器模型;
[0111]
(2)分别计算音视两个模态的支持集中各类别原型表示的中心,得到对应于各类别的中心表示:
[0112][0113]
[0114]
上式中,分别表示音视两种模态的支持集中类别n的中心表示,指s
t
中类别n的样本数,∏(
·
)表示指示函数,y
x
表示重新定义后的样本类别。
[0115]
(3)计算查询集样本数据分别经过映射函数(f
v

a
和g
a

v
)后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于类别n的概率,计算方式如下:
[0116][0117][0118]
上式中,f
v

a
和g
a

v
分别指代视觉向量映射到音频空间、音频向量映射到视觉空间的映射函数,d(
·
,
·
)指两个向量的距离,这里用欧几里得距离。
[0119]
(4)计算音视跨模态协同训练的优化损失函数,根据上述过程,对于音视两个模态的编码器模型的跨模态优化损失函数可以表示为:
[0120][0121][0122]
步骤8:音视单模态度量学习
[0123]
(1)在进行步骤7的同时,对音视各自单模态的不同类别的原型表示也进行度量学习,在得到的基础上,计算每个查询集样本与每个类别的支持集中心表示的距离,并计算属于类别n的概率,计算方式如下:
[0124][0125][0126]
上式中,各字母的含义和上文一致。
[0127]
(2)分别计算音视两模态的各模态内基于度量学习的优化损失函数,优化目标定义为最大化模型将查询集样本分类为正确类y
q
的可能性,计算方式如下:
[0128][0129][0130]
上式中,各字母的含义和上文一致。
[0131]
(3)综合音视跨模态协同训练损失函数和单模态度量学习损失函数,计算最终的音视协同训练阶段的损失函数,计算方式如下:
[0132]
l
avs

(a)

(v)
)=λ
v
l
v

(v)
)+λ
a
l
a

(a)
)+λ
a

v
l
a

v

(v)
)+λ
v

a
l
v

a

(a)
)
[0133]
上式中,λ
v
,λ
a
,λ
a+v
,λ
v

a
,均为权值系数。
[0134]
步骤9:原始大词典数据微调
[0135]
(1)在视觉编码器输出端连接一个由全连接层构建的分类器,进而形成最终的唇语识别模型结构;
[0136]
(2)加载经过步骤7和8的预训练得到的视觉编码器模型参数;
[0137]
(3)用大词典全类视觉数据对新得到的分类模型进行分类微调训练,用交叉熵损失对模型进行优化;
[0138]
步骤10:唇语识别模型测试:
[0139]
经过以上步骤之后,即可得到一个训练好的唇语识别模型,在测试过程中,只需输入视觉模态的序列数据,即可得到最后的识别结果。
[0140]
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
[0141]
本发明还提出了一种音视协同的唇语识别系统,其中包括:
[0142]
模块1,用于获取包含说话人脸视频的唇语识别数据集,且各说话人脸视频均具有标签类别;对说话人脸视频进行唇部区域提取,得到视觉模态数据,对说话人脸视频进行音频波形采样和特征提取,得到音频模态数据;将各说话人脸视频的视觉模态数据和音频模态数据绑定,作为一个样本;
[0143]
模块2,用于在唇语识别数据集中随机抽取n个不同标签类别,对抽取出来的每个类别的样本数进行随机划分,分别得到每个类别的视觉支持集、视觉查询集、音频支持集和音频查询集作为一批训练数据;
[0144]
模块3,用于对于每次迭代训练,将该视觉支持集和该视觉查询集输入至视觉编码器中,将该音频支持集和该音频查询集输入至音频编码器中,分别得到得到视频序列特征x
(v)
和音频序列特征x
(a)
以及每个样本的原型表示;
[0145]
模块4,用于分别计算音视两个模态的支持集中各类别原型表示的中心,得到所有支持集类别中心;计算查询集样本分别经过映射函数后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于各类别的概率,以得到音频编码器和视频编码器的跨模态损失函数;
[0146]
模块5,用于根据该概率,计算每个查询集样本与每个支持集类别中心表示的距离以及属于类别n的概率,以分别计算音频编码器和视频编码器的单模态损失函数;根据该跨模态损失函数和该单模态损失函数,构建最终损失函数;
[0147]
模块6,用于循环执行该模块2至该模块5,直到该最终损失函数,保存当前视觉编码器模型参数;在该视觉编码器输出端连接一个由全连接层构建的分类器,形成唇语识别模型,将待唇语识别的视频输入至该唇语识别模型,得到唇语识别结果。
[0148]
所述的音视协同的唇语识别系统,其中该模块3包括:
[0149]
[0150]
其中,x表示输入的视频序列数据,θ
(v)
表示视觉编码器参数,θ
(a)
表示音频编码器参数。
[0151]
所述的音视协同的唇语识别系统,其中该模块4包括:
[0152]
通过下式得到各支持集类别中心的表示:
[0153][0154][0155]
分别表示音视两种模态的支持集中类别n的中心表示,指s
t
中类别n的样本数,π(
·
)表示指示函数,y
x
表示重新定义后的样本类别;
[0156]
计算查询集样本数据分别经过映射函数f
v

a
和g
a

v
后与各个支持集类别中心的距离,并根据该距离计算该查询集数据属于类别n的概率,计算方式如下:
[0157][0158][0159]
f
v

a
和g
a

v
分别指代视觉向量映射到音频空间、音频向量映射到视觉空间的映射函数,d(
·
,
·
)指两个向量的距离,这里用欧几里得距离;
[0160]
计算音视跨模态协同训练的优化损失函数,根据上述过程,对于音视两个模态的编码器模型的该跨模态损失函数可以表示为:
[0161][0162][0163]
所述的音视协同的唇语识别系统,其中该模块5包括:
[0164]
对音视各自单模态的不同类别的原型表示进行度量学习,在得到的基础上,计算每个查询集样本数据与每个类别的支持集中心表示的距离,并计算属于类别n的概率,计算方式如下:
[0165][0166][0167]
分别计算音视两模态的各模态内基于度量学习的优化损失函数,优化目标定义为
最大化模型将查询集样本分类为正确类y
q
的可能性:
[0168][0169][0170]
该最终损失函数计算方式如下:
[0171]
l
avs

(a)

(v)
)=λ
v
l
v

(v)
)+λ
a
l
a

(a)
)+λ
a

v
l
a

v

(v)
)+λ
v

a
l
v

a

(a)
)
[0172]
其中λ
v
,λ
a
,λ
a

v
,λ
v

a
,均为权值系数。
[0173]
所述的任一种音视协同的唇语识别系统,其中该模块6还包括:
[0174]
用该唇语识别数据集对该唇语识别模型进行基于交叉熵损失的微调训练,以对该唇语识别模型进行优化。