一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于自监督学习编码器的检测动作单元的方法

2022-11-23 11:25:22 来源:中国专利 TAG:


1.本发明涉及图像处理技术领域,更具体的,涉及一种基于自监督学习编码器的检测动作单元的方法和一种基于自监督学习编码器的动作单元检测装置。


背景技术:

2.面部表情在情绪和社会交流中起着重要的作用,面部动作编码系统实现了面部活动的分类,可以通过解剖动作单元来描述表情,提供了一个客观的衡量来描述所有的面部表情。监督学习识别面部动作单元需要经过训练的编码人员花费大量时间精力手工标记,为了缓解标注的稀缺性和成本问题,半监督和自我监督学习方法被提出利用无标记数据进行面部动作单元识别,在提高计算机视觉应用和视频分析性能方面具有巨大潜力。


技术实现要素:

3.本发明为克服现有的标注的稀缺性和成本问题,提供一种基于基于卷积特征图匹配的人脸识别方法。
4.为解决上述技术问题,本发明的技术方案如下:
5.s1:构建视频匹配数据集,采集视频帧数据
6.s2:筛选视频帧序列
7.s3:构建编码器
8.s4:训练编码器
9.s5:构建动作单元检测器
10.其中,所述步骤s2包括以下步骤:
11.s21:对采集的视频帧数据随机选择时刻t的视频帧作为锚点帧,表示为ia;取ia的下一时刻t 1的视频帧为i0,由i0开始以一定间隔k选取视频帧序列,即{i0,i1,i2,...in},其中in为时刻t 1 k
×
n的视频帧。
12.s22:对锚点帧和视频帧序列使用卷积网络对人脸进行定位、尺寸裁剪以及数据增强。
13.其中,步骤s3包括以下步骤:
14.该编码器是通过自监督训练生成的,其使用的数据集是从社交网络、微博网站以及其他用户生成内容的网站收集到的原始数据,不需要人工进行标注,在训练过程中会通过卷积网络定位人脸并将其裁剪输出。
15.s31:对视频帧构建动作单元特征编码器,假设视频帧为i∈rc×h×w,其中c为视频帧的通道数,(h
×
w)为视频帧的尺寸大小。
16.将视频帧分成多个图块,表示为p∈rc×
p
×
p
,然后将图块转化为向量,即p∈rc·
p
·
p
,由图块构成的视频帧i

可以表示为其中p为图块尺寸大小,n为图块的数量n=h
×
w/p2。
17.s32:建立线性变化矩阵将i

映射到d维向量上,即z0=i

·
e,z0∈rn×d。将位置信息e
pos
∈r1×d拼接到z0,即构成(n 1)
×
d维的矩阵
18.s33:对z
′0进行层标准化,利用z
′0与标准化层计算隐藏层输出a
t
19.a
t
=w
hhht-1
w
xhzt
20.其中z
t
表示第t行向量,z
t
∈r1×d;h
t-1
表示z
t-1
输入到标准化层得到的中间层输出;w
hh
标准化层到标准化层的权重值,w
xh
是由输出到标准化层的权重值
21.标准化层的计算如下:
[0022][0023][0024][0025]
其中b和g定义为与h
t
相同尺寸的偏置和增益参数,最后输出h
t
∈r
(n 1)
×d,并定义层标准化为:
[0026]
h=ln(z
′0)
[0027]
s34:构建注意力网络,具体操作如下:
[0028]
分别建立h
×
3组权重系数w
qi
;w
vi
;w
ki
∈rd×
l
,i∈{1,2,...8},h为注意力子空间数量,此处取h=8。利用三组权重分别与h进行矩阵相乘得到查询矩阵qi;内容矩阵vi;索引矩阵ki,其维度为qi,ki,vi∈r
(n 1)
×
l
,i∈{1,2,...8}
[0029]
将查询矩阵q与索引矩阵k的转置矩阵相乘,得到的结果除以其维度l的平方根得到中间变量m∈r
(n 1)
×
(n 1)
,即
[0030][0031]
将中间变量经过softmax函数后,与内容矩阵v矩阵相乘得到注意力矩阵za∈r
(n 1)
×
l
,具体表示为
[0032]
za=softmax(m)
·v[0033]
由于一共有8组qi,ki,vi矩阵,将会得到8组za,将其表示为z
ai
,i∈{1,2,...8}。将8组za横向拼接得到z
as
={z
a1
:z
a2
:...z
a8
},即z
as
∈r
(n 1)
×
(8
·
l)
。为了融合z
as
的特征信息,建立矩阵ws∈r
(8
·
l)
×d,将z
as
与ws矩阵相乘得到注意力融合特征信息矩阵z∈r
(n 1)
×d[0034]
上述所有操作将以下公式表示
[0035]zas
=attention(h)
[0036]
s35:构建残差层,具体操作如下:
[0037]
zm=zs z
′0[0038]
即该层的输出为层标准化与注意力层的输出与输出相加
[0039]
s36:将zm进行如步骤s33的层标准化,输出结果为h

=ln(zm);将h

输入到多层全连接网络中,多层全连接网络的构成如下:
[0040]
h1=fn1(h

)
[0041]
其中fn1为输入节点数为d,输出节点数为nh的全连接网络
[0042]
hg=gelu(h1)
[0043]
gelu(x)具体计算方式如下:
[0044][0045][0046]
将hg通过输出层:
[0047]ho
=fn2(hg)
[0048]
其中fn2为输入节点数为nh,输出节点数为d的全连接网络,将整个多层全连接网络的操作定义为公式:
[0049]ho
=mlp(h

)
[0050]
其输出的维度为ho∈r
(n 1)
×d,其最后编码器输出为v=ho zm[0051]
编码器的构成由ln;attention;ln;mlp模块组成,其中加入了残差计算,输出与输入的维度相同,为r
(n 1)
×d,可将多个编码器首尾相连构成组合编码器,其编码器数量为s。
[0052]
编码器的作用是从输入的视频帧rc×h×w提取出一种编码面部活动的特征矩阵r
(n 1)
×d,利用提取到的面部活动特征输出到动作单元检测器中检测动作单元。
[0053]
其中,所述步骤s4包括以下步骤:
[0054]
s41:将步骤s2选择的锚点视频帧表示为fa,输入到步骤s3中的编码器中生成特征va;依次将视频帧{i0,i1,i2,...in}输入到编码器中,生成目标视频特征序列{v0,v1,v2,...vn}。
[0055]
面部动作对时间具有内在的依赖性,而面部动作具有时域一致性,并且该一致性可以通过表征学习,对于现存的大部分方法多数使用自编码器,本方法可通过编码器对时域一致性进行表征学习。为了使编码器能够学习到视频帧的时间一致性,本方法采用了一种对时间信息敏感的三联度量学习:采用一种自监督的损失函数使编码器能够从带时序信息的相邻视频帧中学习到顺序序列。
[0056]
步骤s42:以特征vs作为锚点,以v0作为滑动起始样本,此时v0作为正样本,v1作为负样本,通过下述公式计算三联损失,具体计算如下:
[0057][0058]
其中δ作为边界边际确保损失不会达到零,除非从锚点的负样本和正样本之间的距离的差异大于δ当v0作为滑动样本计算完三联损失后,记录损失值,并将v1作为滑动样本;此时v1作为正样本,v2作为负样本计算三联损失,记录损失值;直到将v
n-1
作为滑动样本共n个损失值,将n个损失值组合为顺序三联损失。通过顺序三联损失训练步骤s3中编码器,使其能够学习到锚点和正样本之间的距离要小于锚点和负样本之间的距离,以实现在不需要人工标注的条件下对编码器的自监督训练。
[0059]
其中,所述步骤s5包括以下步骤:
[0060]
s51:构建动作单元检测器,动作单元检测器由层标准化和全连接网络组成,具体操作如下:
[0061][0062][0063][0064][0065]
其中γ和β为待学习的scale和shift参数,用于控制yb的方差和均值;m为批次大小,μb和为该行的均值和方差,∈为防止除零引入的极小量
[0066]
将标准化后的结果yb输入到全连接层,即
[0067]
a=w
·
yb[0068]
其中w为全连接层的系数,w∈rc×
(n 1)
;a为动作单元检测结果
[0069]
步骤s52:对动作单元检测器进行监督训练,在训练过程中使用crossentryloss损失函数进行训练,优化器选择adam,学习率为0.001,b1=0.9,b2=0.999
[0070]
与现有技术相比,本发明技术方案的有益效果是:
[0071]
本发明提供了一种基于自监督学习编码器的检测动作单元的方法,通过构建视频匹配数据集,采集视频帧数据;随机选取锚点帧,根据固定时间间隔筛选视频帧序列,进行视频处理及数据增强;构建编码器;根据损失函数训练编码器;构建动作单元检测器,训练动作单元检测器。本发明还提供一种基于自监督学习编码器的检测动作单元系统,配合人脸定位方法,准确定位当前输入的视频并根据视频帧序列对,实现对视频中的人脸动作单元有效、准确的识别。
附图说明
[0072]
图1为本发明流程示意图;
[0073]
图2为本发明系统模块连接示意图;
[0074]
其中:61、视频采集模块;62、视频处理模块;63、动作单元检测模块;631、单元特征编码子模块,632、动作单元检测子模块。
具体实施方式
[0075]
附图仅用于示例性说明,不能理解为对本专利的限制;
[0076]
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0077]
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0078]
下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0079]
1.一种基于自监督学习编码器的动作单元检测装置,其特征在于:包括视频采集模块(61)、视频处理模块(62)、动作单元检测模块(63);其中:
[0080]
所述视频采集模块(61)用于采集视频数据,并将数据传输给所述视频处理模块(62);
[0081]
所述视频处理模块(62)用于对输入视频选取锚点帧并按固定时间间隔选取视频帧序列,并将处理结果传输给所述视频识别模块(63);
[0082]
所述视频编码模块(63)用于处理结果中的动作单元特征信息
[0083]
2.根据权利要求6所述的一种基于自监督学习编码器的动作单元检测装置,其特征在于:所述视频采集模块(61)的主体为摄像机,用于对环境进行拍摄,获得包含人脸的视频。
[0084]
3.根据权利要求6所述的一种基于自监督学习编码器的动作单元检测装置,其特征在于:所述视频处理模块(62)包括对锚点视频帧的选取;固定间隔选取视频帧序列;人脸定位以及数据增强。
[0085]
4.根据权利要求6所述的一种基于自监督学习编码器的动作单元检测装置,其特征在于:所述视频处理模块(63)包括动作单元特征编码子模块,动作单元检测子模块;其中:
[0086]
所述动作单元特征编码子模块用于对输入的人脸视频帧进行编码,得到动作单元特征;
[0087]
所述动作单元检测子模块用于对动作单元特征进行检测,识别此时视频中的人脸的动作
[0088]
5.一种基于自监督学习编码器的动作单元检测装置,包括处理器和服务器,其特征在于:包括如权利要求6-9所述的一种基于自监督学习编码器的动作单元检测装置,该装置用于实现如权利要求1-5所述的一种基于自监督学习编码器的动作单元检测方法。
[0089]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献