1.一种基于改进胶囊网络的人脸表情识别方法,其特征在于:包括:将样本图片输入到改进胶囊网络中进行训练;
将现场实景图片输入到改进胶囊网络中进行识别,提取出实景图片中的人脸表情;
样本图片输入到改进胶囊网络中训练具体包括:S1.通过多任务卷积神经网络从图片中提取出人脸区域;
S2.对提取出的人脸区域进行标记处理,得到人脸区域的表情以及头部姿态;
S3.将人脸区域的表情以及头部姿态输入到生成对抗网络中,对生成对抗网络生成具有表情的人脸区域;
S4.将具有表情的人脸区域输入到改进胶囊网络中对改进胶囊网络进行训练;
步骤S3中,所述生成对抗网络生成具有表情的人脸区域具体包括:所述生成对抗网络包括编码器和解码器;
将人脸区域的表情以及头部姿态输入到编码器中进行处理,并由编码器输出人脸图片特征、表情以及姿态;
将人脸图片特征、表情以及姿态输入到解码器中进行处理,并由解码器输出具有表情的人脸图片;
构建生成对抗网络的目标函数:
其中,x为人脸区域,y为表情标签和姿态标签,D(x,y)为判别器的表达式,输出为真或假;G(x,y)为生成器的表达式,输出为生成的人脸图片;D(G(x,y),y)为判别器D判断生成器G生成人脸图片的结果;pd(x,y)为x和y的联合概率;Ex,y~pd(x,y)为关于pd(x,y)的期望;
采用生成对抗网络的目标函数对解码器输出的具有表情的人脸图片进行判别,并输出判别结果为真的具有表情的人脸图片;
步骤S4中具体包括:
改进胶囊网络具有relu卷积层、初始胶囊层prim_cap、第一卷积胶囊层conv_cap1、第二卷积胶囊层conv_cap2和分类胶囊层class_cap;
将生成对抗网络的具有人脸表情的人脸图片时输入至relu卷积层进行处理,输出人脸图片的局部特征;
初始胶囊层prim_cap对relu卷积层输出的人脸图片的局部特征进行处理,输出32个胶囊;
第一胶囊卷积层conv_cap1对初始胶囊层进行处理,输出32个胶囊;
第二胶囊卷积层conv_cap2对第一胶囊卷积层conv_cap1输出的32个胶囊进行处理并输出32个胶囊;
分类胶囊层class_cap对第二胶囊卷积层conv_cap2输出的32个胶囊进行处理,并输出
7个胶囊,该7个胶囊对应于7中人脸表情;
初始胶囊层prim_cap输出的32个胶囊依次由第一胶囊卷积层conv_cap1、第二胶囊卷积层conv_cap2到分类胶囊层class_cap通过T‑EM路由实现,具体包括:确定较低层胶囊i到较高层胶囊j的投票矩阵Vij:Vij=Pi·Wij;
其中,Pi为较低层胶囊i的姿态矩阵,Wij为较低层胶囊i到较高层胶囊j的视角不变矩阵;
其中,投票矩阵Vij中的第k个元素 属于较高层胶囊j通过T分布确定:其中,Γ(·)为伽玛函数, 为元素 到均值μj的马氏距离; 为T分布的期望,为T分布的自由度, 为T分布的方差,π为圆周率;
其中,
将I个较低层胶囊分类到第J个较高层胶囊的损失函数C为:其中,Rij为第i个胶囊属于第j个
胶囊的权重;
对于较高层胶囊的姿态矩阵Pj和激活矩阵aj通过较低层胶囊的投票矩阵pi和激活矩阵ai通过T‑EM路由过程最小化式(3)获得,具体为:初始化参数:
其中,J为较高层胶囊的个数;
M步骤:
Rij=Rij×ai,i=[1,I];
βa和βv表示可训练变量,λ为
温度系数;
自由度 通过计算下式的解或得:
其中, 为前次计算时的T分布的自由度;
E步骤:基于M步骤中计算的参数确定基于t分布的路由:Πk为求积算子;
通过迭代M步骤和E步骤设定次数后,得到较高层胶囊的姿态矩阵Pj,且姿态矩阵Pj的各个元素为投票矩阵Vij的元素 的均值。
2.根据权利要求1所述基于改进胶囊网络的人脸表情识别方法,其特征在于:通过传播损失函数对胶囊网络进行训练,其中,较低层胶囊激活较高层胶囊中第t个胶囊的传播损失函数为:2
L=∑i≠t(max(0,m‑(at‑ai))) ;其中,m为可变间隙,初始值为0.2,最大值为0.9,at为激活父胶囊的激活值,ai为非激活的父胶囊的激活值。