CN110188706B - 基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法 - Google Patents

基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法 Download PDF

Info

Publication number
CN110188706B
CN110188706B CN201910474503.5A CN201910474503A CN110188706B CN 110188706 B CN110188706 B CN 110188706B CN 201910474503 A CN201910474503 A CN 201910474503A CN 110188706 B CN110188706 B CN 110188706B
Authority
CN
China
Prior art keywords
layer
function
network
neural network
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910474503.5A
Other languages
English (en)
Other versions
CN110188706A (zh
Inventor
吉如海
陈志�
岳文静
谢世杰
马伊涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201910474503.5A priority Critical patent/CN110188706B/zh
Publication of CN110188706A publication Critical patent/CN110188706A/zh
Application granted granted Critical
Publication of CN110188706B publication Critical patent/CN110188706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法,该方法首先读入一个分辨率为m×n,帧数p为的视频vreal,该视频以人物的一种表情作为主要部分;接着通过主要由5层3D卷积层组成的3D卷积神经网络处理计算出其特征函数f;然后将一种可能的表情yi与之前的特征函数f通过主要由5层3D反卷积层组成的3D反卷积神经网络,得到与表情yi相匹配的,计算机生成的人物视频
Figure DDA0002081757890000011
最后将vreal
Figure DDA0002081757890000012
通过主要由16个卷积层组成的3D卷积神经网络,得到两者的匹配程度si;通过改变yi以得到不同的si,使用si中最大的所对应的yi作为判断输出。本发明可以有效得解决了通常提取视频中人物表情数据时容易遇到的不准确问题,有着较好的鲁棒性。

Description

基于生成对抗网络的视频中人物表情的神经网络训练方法及 检测方法
技术领域
本发明涉及一种基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法,属于博弈论、表情识别、机器学习等交叉技术领域。
背景技术
随着近年来计算机计算能力的不断提高,原先止步于数学领域的机器学习算法得以走向实际应用,像特征提取、行为识别原先难以实现的技术在机器学习工具的帮助下变得可行。
人类的脸部表情是反应一个人心情的重要数据,将人类的脸部表情的识别变得更加快速、精确已经成为许多领域关注的目标。人类的表情数据在智慧城市建设、顾客需求分析、生命健康等领域都有着广泛的应用。与传统的对静态图像进行的人物表情识别相比,视频中连续的动作、背景的变化增加了数据处理的复杂程度,因此具有更大的挑战性。
对视频中人物的表情识别主要分为两个部分,一是需要排除人物的不同面部特征、视频中不同的背景等与表情无关信息的干扰,并将与表情有关的信息提取出来;二是需要将每一个视频帧中的静态表情特征与连贯的动态表情特征结合起来,如何确定两者的权重关系是需要确定的。
目前对连续图像中的人物表情处理大多是将其作为一个个单个图像进行处理,最后将单个图像的结果进行整合得到识别结果,这种方法减弱了系统对人物表情的连贯性变化的反应,识别结果并不是非常可靠。简单地使用神经网络直接提取人物表情需要解决大规模的监督学习问题,其十分依赖于数据库的规模,并不是非常地理想。
时至今日,对于视频中的人物表情识别依然需要大量的研究工作。
发明内容
发明目的:本发明所要解决的技术问题是完成对视频中人物表情的动态特征与静态特征的提取,并较为有效得完成利用这两种特征对人物的表情进行识别。同时利用生成对抗网络解决常规神经网络方法对训练素材的需求量大以及识别成功率不高的问题。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于生成对抗网络的对视频中人物表情的神经网络训练方法,包括以下步骤:
步骤1,准备一个人物表情视频数据库,其中人脸为视频的主要部分,保持这些数据的分辨率为m×n,帧数为p一致,方便神经网络的读取、训练;
步骤2,将这些视频按照表情分成n类,其中n根据用户需求自定义,使用yi表示第i种表情,其中1≤i≤n,保证步骤1中每一个表情均有yi与其相对应;
步骤3,训练一个3D卷积神经网络,其包含1个硬链接层,5个卷积层,1个池化层。该网络将步骤1中的任意一个原始素材——使用vreal表示,按照灰度、横坐标梯度、纵坐标梯度、x光流、y光流进行分类后,经过神经网络处理在输出层输出该素材的特征函数f,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤4,训练一个3D反卷积神经网络,其包含1个全连接层,5个反卷积层,1个输出层。该网络将特征函数f与一种表情分类yi使用全连接层进行综合后,利用反卷积网络生成与f与yi相匹配的视频的特征参数,并经过输出层将不同参数整合后生成相匹配的视频数据vfake,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤5,训练一个由4层全连接层组成的神经网络,使用步骤3的特征函数f对先验概率函数Prior(f)进行随机抽样,最终生成对特征函数f是否足够平滑的判断,使用损失函数体现,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤6,训练一个3D卷积神经网络,其包含1个全连接层,1个硬链接层,4个3D卷积层,1个池化层和1个输出层,该网络将步骤4生成的vfake与步骤3vreal分别输入,使用全连接层根据该次训练素材的表情分类yi约束该神经网络,最终输出该网络对目前vfake真实性的判断,该判断使用损失函数体现,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤7,训练一个3D卷积神经网络,其包含1个硬链接层,16个卷积层与3个全连接层。该网络将步骤4生成的虚假视频vfake与真实的视频vreal分别输入,与步骤6不同的是不使用该次训练素材的表情分类yi进行约束,最终输出该网络对虚假视频vfake与真实视频vreal相似度的比较,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤8,计算4个损失函数,用于优化神经网络,4个主要损失值分别为
Figure BDA0002081757870000021
lossC,其前三个计算公式如下:
Figure BDA0002081757870000022
Figure BDA0002081757870000023
Figure BDA0002081757870000024
剩余的带有不同下标的loss均使用tensorflow中的reduce_mean函数使用不同的参数计算得到的损失值,即该步骤中不同神经网络所对应的损失值;
lossEG为步骤3中3D卷积神经网络自身的损失;
Figure BDA0002081757870000031
为步骤3中3D卷积神经网络对vreal的损失;
Figure BDA0002081757870000032
为步骤4中3D反卷积神经网络在对特征函数f的损失;
lossprior为步骤5中的多层全连接层组成的网络在对先验概率函数Prior(f)的损失;
Figure BDA0002081757870000033
为步骤5中的多层全连接层组成的网络对特征函数f的损失;
Figure BDA0002081757870000034
为步骤6中多层3D卷积神经网络对vreal的损失;
Figure BDA0002081757870000035
为步骤6中多层3D卷积神经网络对vfake的损失;
lossC为步骤7中对vreal的损失;
步骤9,调用tensorflow中的exponential_decay函数根据步骤8中计算得到的损失函数的值计算目前模型的学习率ratel。如果ratel的值大于设定的阈值,则训练结束;否则使用损失函数值优化各神经网络,随后跳转至步骤3。
所述步骤3具体如下:
步骤3.1,从步骤1的数据库中随机选取一段视频作为输入层大小为m×n×p,表示为v1(x,y,t),x、y为横纵坐标,t为时间坐标;硬链接层的作用为使用算法从输入层提取如下数据:灰度v21(x,y,t)、横坐标梯度v22(x,y,t)、纵坐标梯度v23(x,y,t)、x光流v24(x,y,t)、y光流v25(x,y,t),其中前三个可以从每一帧中提取,后两个从互相间隔的两帧中提取。使用vij(x,y,t)表示这些数据,j表示这是第j种特征的数据,在此处j为1到5;
灰度计算使用心理学公式H=0.30R+0.59G+0.11B,其中R、G、B为图像在坐标x,y上的红、绿、蓝三色的值,H表示图像在坐标x,y的灰度值;
梯度计算使用如下公式:
Gx(x,y)=H(x+1,y)-H(x-1,y)、Gy(x+y)=H(x,y+1)-H(x,y-1)
光流计算可以使用经典的Lucas-Kanade光流算法,其计算公式如下:
Figure BDA0002081757870000036
步骤3.2,将硬链接层的数据导入到5层3D卷积层,3D卷积层与2D卷积层的计算稍有不同,其计算公式如下:
Figure BDA0002081757870000037
其中各项参数表示如下:
bij为该层网络的偏移参数,wijm(p,q,r)为该层网络的权重数据,这两个参数均通过多次的训练找到最佳值;参数Pi、Qi、Ri用于描述该层网络的卷积核大小,可以根据用户的要求进行定义,tanh作为卷积层的激活函数使用,3D卷积操作使用tensorflow中的conv函数实现;
步骤3.3,对卷积神经网络最后一层的输出数据v7j(x,y,t)使用全局最大池化算法对各类特征进行降采样,从而将不同的特征进行整合,最后经过得到vk的特征函数f,池化算法使用tensorflow中的pooling函数实现。
所述步骤4具体如下:
步骤4.1,使用一层全连接层将步骤3的f与yi进行整合,使接下来的神经网络受到yi的约束,全连接层的权重参数通过训练得到,该全连接层使用tensorflow中的dense函数实现,全连接层输出数据为v1
步骤4.2,v1导入到5层3D反卷积层,每一层的卷积核大小Pi、Qi、Ri均与步骤3.2中的大小反向一一对应,保证最终输出视频分辨率以及帧数与输入一致;但其权重wijm(p,q,r)及偏移量数据bij均通过重新训练得到,该反卷积层调用tensorflow中的deconv函数实现,最后一层反卷积层输出为v6j
步骤4.3,将v6j按照不同的数据类型输入至输出层,该输出层将灰度、横坐标梯度、纵坐标梯度、x光流、y光流数据按照不同的比重合成为该人在该表情下的虚假视频vfake,这些参数的权重通过训练得到;输出层使用tensorflow中的softmax函数实现。
所述步骤5具体如下:
步骤5.1,将步骤3的f代入先验概率函数得到Prior(f),先验概率使用tensorflow中placeholder实现,并将Prior(f)代入由4层全连接层组成的神经网络,全连接层的权值参数w通过训练进行优化,全连接层可以调用tensorflow中的dense函数实现;
步骤5.2,将步骤3的f代入由4层全连接层组成的神经网络。从最后一层的输出得到f进行降维后的特征,全连接层可以调用tensorflow中的dense函数实现;
步骤5.3,该网络输出对步骤3中得到的特征函数真实性的判别,并通过神经网络的两个损失函数表现,损失函数通过tensorflow中的reduce_mean函数计算得到。
所述步骤6具体如下:
步骤6.1,使用一层硬链接层对vreal进行处理,将灰度、横坐标梯度、纵坐标梯度、x光流、y光流视频中提取出来,提取方法与步骤3.1相同,提取后数据为v2j(x,y,t);
步骤6.2,将v2j(x,y,t)和与vreal对应的表情分类yi使用一层全连接层进行整合,起到使用yi对神经网络进行约束的效果,全连接层使用tensorflow中的dense函数实现,其权值参数通过训练得到,全连接层输出为v3j(x,y,t);
步骤6.3,将v3j(x,y,t)经过4层3D卷积层的处理,各层权重wijm(p,q,r)与偏移量bij通过训练得到,3D卷积层调用tensorflow中的conv函数实现,最后一层卷积层输出为v7j(x,y,t);
步骤6.4,对v7j(x,y,t)使用全局最大池化算法进行降采样,将不同的特征进行整合,得到与vreal相对应的特征表示f1,池化算法使用tensorflow中的pooling函数实现;
步骤6.5,将步骤6.1中的vreal替换为vfake,重复步骤6.1到6.4,最终得到与vfake相对的特征表示f2
步骤6.6,使用一层全连接层对f1、f2进行比较,最终输出对虚假视频vfake的真实性的判别,该判别通过损失函数体现,全连接层使用tensorflow中的dense函数实现,该层权值参数w通过训练得到,其损失函数通过tensorflow中的reduce_mean函数计算得到;
所述步骤7具体如下:
步骤7.1,使用一层硬链接层对vreal进行处理,将灰度、横坐标梯度、纵坐标梯度、x光流、y光流从两段视频中中提取出来,其实现与步骤3.1相同,提取后数据为v2j(x,y,t);
步骤7.2,将v2j(x,y,t)经过16层3D卷积层的处理,各层权重wijm(p,q,r)与偏移量bij通过训练得到,各个卷积核的大小Pi、Qi、Ri用户自定义,卷积层调用tensorflow中的conv函数实现,最后一层卷积层输出为v18j(x,y,t);
步骤7.3,将步骤7.1中的vreal替换为vfake,重复步骤7.1-7.2,得到最后一层卷积层输出v′18j(x,y,t);
步骤7.4,将v18j(x,y,t)与v′18j(x,y,t)作为一个全连接层网络的输入,比较两者的区别,该网络共包含3个全连接层,其权重参数w通过训练得到,最后输出该全连接层网络对v18j(x,y,t)与v′18j(x,y,t)的相似度的判断,全连接层使用tensorflow中的dense函数实现。
一种基于生成对抗网络的视频中人物表情的检测方法,包括以下步骤:
步骤10,从摄像头或者本地文件得到视频数据,裁剪视频数据使人脸作为其主要部分,得到分辨率为m×n,帧数为p的视频数据,标记其为vreal
步骤11,使用步骤3中完成训练的3D卷积神经网络,其包含1个硬链接层,5个卷积层,1个池化层。该网络将步骤10中的vreal按照灰度、横坐标梯度、纵坐标梯度、x光流、y光流进行分类后,在输出层输出该素材的特征函数f;
步骤12,选取一种目前视频中人物可能的表情yi
步骤13,使用步骤4中完成训练的3D反卷积神经网络,其包含1个全连接层,5个反卷积层,1个输出层,该网络将特征函数f与一种表情分类yi综合后,利用反卷积生成与f与yi相匹配的视频
Figure BDA0002081757870000061
步骤14,使用步骤7中训练完成的3D卷积神经网络,其包含1个硬链接层,16个卷积层与3个全连接层,该网络将步骤13的
Figure BDA0002081757870000062
与步骤(10)的vreal分别输入,最终输出该网络对两者相似度的比较Pi
步骤15,如果仍有未被选择的表情,则使用未被选中的另一种表情yj替代步骤12中的yi,重复步骤13、14,得到步骤14的输出Pj
步骤16,比较所有的Pi,选取其最大的对应的yi作为对最终表情的判断,即完成了对表情的判断。
所述步骤11具体如下:
步骤11.1,获取步骤10的视频数据库中作为输入层,该层大小为m×n×p,其数据表示为v1(x,y,z),x、y为横纵坐标,t为时间坐标;硬链接层的作用为使用相应的算法从输入层提取如下数据:灰度v21(x,y,t)、横坐标梯度v22(x,y,t)、纵坐标梯度v23(x,y,t)、x光流v24(x,y,t)、y光流v25(x,y,t),其中前三个可以从每一帧中提取,后两个从互相间隔的两帧中提取;使用vij(x,y,t)表示这些数据,j表示这是第j种特征的数据,在此处j为1到5;
灰度计算使用心理学公式H=0.30R+0.59G+0.11B,其中R、G、B为图像在坐标x,y上的红、绿、蓝三色的值,H表示图像在坐标x,y的灰度值;
图像的梯度信息计算使用如下公式:
Gx(x,y)=H(x+1,y)-H(x-1,y)、Gy(x+y)=H(x,y+1)-H(x,y-1)
光流计算使用经典的Lucas-Kanade光流算法,其计算公式如下:
Figure BDA0002081757870000071
步骤11.2,将v2j(x,y,t)导入到5层3D卷积层,3D卷积层与2D卷积层的计算稍有不同,其计算公式如下:
Figure BDA0002081757870000072
其中各项参数表示如下:
bij为该层网络的偏移参数,wijm(p,q,r)为该层网络的权重数据,这两个参数直接使用训练过程3.2训练完成后的数据;参数Pi、Qi、Ri用于描述该层网络的卷积核大小,与训练过程3.2保持一致,tanh作为卷积层的激活函数使用,3D卷积操作使用tensorflow中的conv函数实现;
步骤11.3,对卷积神经网络最后一层的输出数据v7j(x,y,t)使用全局最大池化算法对各类特征进行降采样,将不同的特征进行整合,最后得到vk的特征函数f,池化算法使用tensorflow中的pooling函数实现。
所述步骤13具体如下:
步骤13.1,使用一层全连接层将f与yi进行整合,全连接层的权重数据w使用训练完成后4.2的权重数据,该全连接层调用tensorflow中的dense函数实现,其数据输出为v1
步骤13.2,将v1导入到5层3D反卷积层,每一层的卷积核大小Pi、Qi、Ri使用训练过程4.2的数据,反卷积层的偏移bij与权重wijm(p,q,r)数据使用训练过程4.2训练完成后的结果,该反卷积层调用tensorflow中的deconv函数实现,其最后一层反卷积层输出为v6j(x,y,t);
步骤13.3,将v6j(x,y,t)输入至输出层,输出层将灰度、横坐标梯度、纵坐标梯度、x光流、y光流数据按照不同的比重wj合成为该人在该表情下的虚假视频
Figure BDA0002081757870000073
该输出层使用tensorflow中的softmax函数实现。
所述步骤14具体如下:
步骤14.1,使用一层硬链接层对vreal进行处理,将灰度、横坐标梯度、纵坐标梯度、x光流、y光流从视频中提取出来,其实现方法参考步骤11.1,硬链接层输出为v1j(x,y,t);
步骤14.2,将v1j(x,y,t)经过163D卷积层的处理,各层权重wijm(p,q,r)、偏移量bij以及卷积核大小Pi、Qi、Ri使用训练过程7.2训练完成后的参数,卷积操作使用tensorflow中的conv函数实现,其最后一层卷积层输出为v17j(x,y,t);
步骤14.3,将步骤14.1中的vreal替换为vfake,重复步骤14.1-14.2,得到v′17j(x,y,t);
步骤14.4,将v17j(x,y,t)与v′17j(x,y,t)作为一个全连接层网络的输入,比较两者的区别,该网络共包含3个全连接层,其权值参数w使用步骤7.4训练完成的参数,最后输出该全连接层网络对v17j(x,y,t)与v′17j(x,y,t)相似度的判断,全连接层使用tensorflow中的dense函数实现。
本发明相比现有技术,具有以下有益效果:
本发明使用生成对抗网络GAN的方法来进行神经网络的训练,并使用3D卷积神经网络解决了对视频中静态与动态特征的提取、判别的问题。通过这些方法可以对视频中人物表情进行准确识别,具体来说:
1、本发明使用的3D卷积神经网络解决了传统将视频中每一帧进行分别处理导致的动态特征的大量丢失问题,增加了对人物表情判断的准确性。
2、本发明将生成对抗网络GAN的框架结构用于训练神经网络,解决了常规训练方法所需要的大量素材以及需要人工干预的问题。此外,由于GAN框架给了神经网络大量的自由度,可以训练出超出目前人类常规思维的模型。
3、本发明在原先生成对抗网络GAN的基础上加入了表情分类的约束,形成了条件生成对抗网络CGAN。该方法可以解决由于视频中数据量过大和原有GAN对神经网络缺乏约束所容易导致的训练过程停滞、难以收敛的问题,极大减少了训练过程的计算量。
附图说明
图1是基于生成对抗网络的对视频中人物表情的神经网络训练方法;
图2是基于生成对抗网络的视频中人物表情的检测方法。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
在具体实施中,一种基于生成对抗网络的视频中人物表情的检测方法,该方法首先读入一段视频;接着将其裁剪、缩放以符合神经网络对数据的要求——即人脸成为视频的主要部分,其分辨率m×n与帧数p保持与训练时的一致,成为数据vreal;接着通过训练完成的3D卷积神经网络生成其特征函数f,接着遍历所有可能表情yi,共n种;使用训练完成的3D反卷积神经网络遍历f与所有yi的组合,生成n种对应不同表情下人脸的数据
Figure BDA0002081757870000091
最后使用训练完成的3D卷积神经网络遍历所有
Figure BDA0002081757870000092
与vreal的组合,生成n种相似度判断Pi,选取Pi最大的对应的yi作为判断结果。本发明可以有效得提高判断的准确程度,具体如下:
首先读入一段视频,裁剪、缩放到分辨率为m×n,帧数为p,成为数据vreal
接着使用训练完成的一个3D卷积神经网络,其包括1个硬链接层,5个卷积层,1个池化层,神经网络使用tanh作为激活函数;将该神经网络应用到vreal上,得到该网络生成的与vreal相对应的函数f,该函数反应了vreal中人的面部特征。
遍历所有可能的表情,将每一种可能的表情yi与f应用到一个完成训练的3D反卷积神经网络,其包含1个全连接层,5个反卷积层,1个输出层;全连接层将一种yi与f进行整合后交由反卷积层生成受yi约束的关于f的5个特征——灰度、横坐标梯度、纵坐标梯度、x光流、y光流,最后经由输出层将其转换为与vreal具有相同分辨率m×n,帧数p的
Figure BDA0002081757870000093
遍历所有vreal
Figure BDA0002081757870000094
的可能组合,将每种组合分别输入训练完成的一个3D卷积神经网络,其包含1个硬链接层,16个卷积层与3个全连接层,该网络使用tanh作为激活函数,先通过硬链接层、卷积层分别得到vreal
Figure BDA0002081757870000095
相对应的特征函数freal
Figure BDA0002081757870000096
最后通过全连接层得到对两个特征函数相似度的判断Pi
最后,选取最大的Pi所对应的yi作为判断结果输出。
接着在合适的显著性检测数据集上训练一个全卷积神经网络即FCN神经网络,该FCN神经网络包括16层卷积层和一个归一化指数模型即softmax模型的输出层,线性整流函数即ReLU函数作为激活函数;将此FCN神经网络应用到所输入的图像I,从中检索到显著性特征后从FCN中的softmax层输出显著度值;输出的显著度图表示为g(I),即为一个表示每个像素点的显著度值的矩阵。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于生成对抗网络的对视频中人物表情的神经网络训练方法,其特征在于,包括以下步骤:
步骤1,准备一个人物表情视频数据库,保持这些数据的分辨率为m×n,帧数为p一致,方便神经网络的读取、训练;
步骤2,将这些视频按照表情分成n类,其中n根据用户需求自定义,使用yi表示第i种表情,其中1≤i≤n,保证步骤1中每一个表情均有yi与其相对应;
步骤3,训练一个3D卷积神经网络,其包含1个链接层,5个卷积层,1个池化层;该网络将步骤1中的任意一个原始素材使用vreal表示,按照灰度、横坐标梯度、纵坐标梯度、x光流、y光流进行分类后,经过神经网络处理在输出层输出该素材的特征函数f,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤4,训练一个3D反卷积神经网络,其包含1个全连接层,5个反卷积层,1个输出层;该网络将特征函数f与一种表情分类yi使用全连接层进行综合后,利用反卷积网络生成与f与yi相匹配的视频的特征参数,并经过输出层将不同参数整合后生成相匹配的视频数据vfake,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤5,训练一个由4层全连接层组成的神经网络,使用步骤3的特征函数f对先验概率函数Prior(f)进行随机抽样,最终生成对特征函数f是否足够平滑的判断,使用损失函数体现,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤6,训练一个3D卷积神经网络,其包含1个全连接层,1个链接层,4个3D卷积层,1个池化层和1个输出层,该网络将步骤4生成的vfake与步骤3vreal分别输入,使用全连接层根据该次训练素材的表情分类yi约束该神经网络,最终输出该网络对目前vfake真实性的判断,该判断使用损失函数体现,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤7,训练一个3D卷积神经网络,其包含1个链接层,16个卷积层与3个全连接层;该网络将步骤4生成的虚假视频vfake与真实的视频vreal分别输入,与步骤6不同的是不使用该次训练素材的表情分类yi进行约束,最终输出该网络对虚假视频vfake与真实视频vreal相似度的比较,训练使用tensorflow中的AdamOptimizer优化方法并配合损失函数实现;
步骤8,计算4个损失函数,用于优化神经网络,4个损失值分别为lossG
Figure FDA0003527590090000012
lossC,其前三个计算公式如下:
Figure FDA0003527590090000011
Figure FDA0003527590090000021
Figure FDA0003527590090000022
lossC使用tensorflow中的reduce_mean函数使用不同的参数计算得到的损失值,即该步骤中不同神经网络所对应的损失值;
lossEG为步骤3中3D卷积神经网络自身的损失;
Figure FDA0003527590090000023
为步骤3中3D卷积神经网络对vreal的损失;
Figure FDA0003527590090000024
为步骤4中3D反卷积神经网络在对特征函数f的损失;
lossprior为步骤5中的多层全连接层组成的网络在对先验概率函数Prior(f)的损失;
Figure FDA0003527590090000025
为步骤5中的多层全连接层组成的网络对特征函数f的损失;
Figure FDA0003527590090000026
为步骤6中多层3D卷积神经网络对vreal的损失;
Figure FDA0003527590090000027
为步骤6中多层3D卷积神经网络对vfake的损失;
lossC为步骤7中对vreal的损失;
步骤9,调用tensorflow中的exponential_decay函数根据步骤8中计算得到的损失函数的值计算目前模型的学习率ratel;如果ratel的值大于设定的阈值,则训练结束;否则使用损失函数值执行各网络的优化,随后跳转至步骤3。
2.根据权利要求1所述基于生成对抗网络的对视频中人物表情的神经网络训练方法,其特征在于:所述步骤3具体如下:
步骤3.1,从步骤1的数据库中随机选取一段视频作为输入层大小为m×n×p,表示为v1(x,y,t),x、y为横纵坐标,t为时间坐标;链接层的作用为使用算法从输入层提取如下数据:灰度v21(x,y,t)、横坐标梯度v22(x,y,t)、纵坐标梯度v23(x,y,t)、x光流v24(x,y,t)、y光流v25(x,y,t),其中前三个可以从每一帧中提取,后两个从互相间隔的两帧中提取;使用vij(x,y,t)表示这些数据,j表示这是第j种特征的数据,在此处j为1到5;
灰度计算使用心理学公式H=0.30R+0.59G+0.11B,其中R、G、B为图像在坐标x,y上的红、绿、蓝三色的值,H表示图像在坐标x,y的灰度值;
梯度计算使用如下公式:
Gx(x,y)=H(x+1,y)-H(x-1,y)、Gy(x+y)=H(x,y+1)-H(x,y-1)
光流计算可以使用经典的Lucas-Kanade光流算法,其计算公式如下:
Figure FDA0003527590090000031
步骤3.2,将链接层的数据导入到5层3D卷积层,3D卷积层与2D卷积层的计算稍有不同,其计算公式如下:
Figure FDA0003527590090000032
其中各项参数表示如下:
bij为该层网络的偏移参数,wijm(p,q,r)为该层网络的权重数据,这两个参数均通过多次的训练找到最佳值;参数Pi、Qi、Ri用于描述该层网络的卷积核大小,可以根据用户的要求进行定义,tanh作为卷积层的激活函数使用,3D卷积操作使用tensorflow中的conv函数实现;
步骤3.3,对卷积神经网络最后一层的输出数据v7j(x,y,t)使用全局最大池化算法对各类特征进行降采样,从而将不同的特征进行整合,最后经过得到vk的特征函数f,池化算法使用tensorflow中的pooling函数实现。
3.根据权利要求2所述基于生成对抗网络的对视频中人物表情的神经网络训练方法,其特征在于:所述步骤4具体如下:
步骤4.1,使用一层全连接层将步骤3的f与yi进行整合,使接下来的神经网络受到yi的约束,全连接层的权重参数通过训练得到,该全连接层使用tensorflow中的dense函数实现,全连接层输出数据为v1
步骤4.2,v1导入到5层3D反卷积层,每一层的卷积核大小Pi、Qi、Ri均与步骤3.2中的大小反向一一对应,保证最终输出视频分辨率以及帧数与输入一致;但其权重wijm(p,q,r)及偏移量数据bij均通过重新训练得到,该反卷积层调用tensorflow中的deconv函数实现,最后一层反卷积层输出为v6j
步骤4.3,将v6j按照不同的数据类型输入至输出层,该输出层将灰度、横坐标梯度、纵坐标梯度、x光流、y光流数据按照不同的比重合成为该人在该表情下的虚假视频vfake,这些参数的权重通过训练得到;输出层使用tensorflow中的softmax函数实现。
4.根据权利要求1所述基于生成对抗网络的对视频中人物表情的神经网络训练方法,其特征在于:所述步骤5具体如下:
步骤5.1,将步骤3的f代入先验概率函数得到Prior(f),先验概率使用tensorflow中placeholder实现,并将Prior(f)代入由4层全连接层组成的神经网络,全连接层的权值参数w通过训练进行优化,全连接层可以调用tensorflow中的dense函数实现;
步骤5.2,将步骤3的f代入由4层全连接层组成的神经网络;从最后一层的输出得到f进行降维后的特征,全连接层可以调用tensorflow中的dense函数实现;
步骤5.3,该网络输出对步骤3中得到的特征函数真实性的判别,并通过神经网络的两个损失函数表现,损失函数通过tensorflow中的reduce_mean函数计算得到。
5.根据权利要求2所述基于生成对抗网络的对视频中人物表情的神经网络训练方法,其特征在于:所述步骤6具体如下:
步骤6.1,使用一层链接层对vreal进行处理,将灰度、横坐标梯度、纵坐标梯度、x光流、y光流视频中提取出来,提取方法与步骤3.1相同,提取后数据为v2j(x,y,t);
步骤6.2,将v2j(x,y,t)和与vreal对应的表情分类yi使用一层全连接层进行整合,起到使用yi对神经网络进行约束的效果,全连接层使用tensorflow中的dense函数实现,其权值参数通过训练得到,全连接层输出为v3j(x,y,t);
步骤6.3,将v3j(x,y,t)经过4层3D卷积层的处理,各层权重wijm(p,q,r)与偏移量bij通过训练得到,3D卷积层调用tensorflow中的conv函数实现,最后一层卷积层输出为v7j(x,y,t);
步骤6.4,对v7j(x,y,t)使用全局最大池化算法进行降采样,将不同的特征进行整合,得到与vreal相对应的特征表示f1,池化算法使用tensorflow中的pooling函数实现;
步骤6.5,将步骤6.1中的vreal替换为vfake,重复步骤6.1到6.4,最终得到与vfake相对的特征表示f2
步骤6.6,使用一层全连接层对f1、f2进行比较,最终输出对虚假视频vfake的真实性的判别,该判别通过损失函数体现,全连接层使用tensorflow中的dense函数实现,该层权值参数w通过训练得到,其损失函数通过tensorflow中的reduce_mean函数计算得到。
6.根据权利要求3所述基于生成对抗网络的对视频中人物表情的神经网络训练方法,其特征在于:所述步骤7具体如下:
步骤7.1,使用一层链接层对vreal进行处理,将灰度、横坐标梯度、纵坐标梯度、x光流、y光流从两段视频中中提取出来,其实现与步骤3.1相同,提取后数据为v2j(x,y,t);
步骤7.2,将v2j(x,y,t)经过16层3D卷积层的处理,各层权重wijm(p,q,r)与偏移量bij通过训练得到,各个卷积核的大小Pi、Qi、Ri用户自定义,卷积层调用tensorflow中的conv函数实现,最后一层卷积层输出为v18j(x,y,t);
步骤7.3,将步骤7.1中的vreal替换为vfake,重复步骤7.1-7.2,得到最后一层卷积层输出v′18j(x,y,t);
步骤7.4,将v18j(x,y,t)与v′18j(x,y,t)作为一个全连接层网络的输入,比较两者的区别,该网络共包含3个全连接层,其权重参数w通过训练得到,最后输出该全连接层网络对v18j(x,y,t)与v′18j(x,y,t)的相似度的判断,全连接层使用tensorflow中的dense函数实现。
7.基于权利要求6所述神经网络训练方法的视频中人物表情的检测方法,其特征在于,包括以下步骤:
步骤10,从摄像头或者本地文件得到视频数据,裁剪视频数据得到分辨率为m×n,帧数为p的视频数据,标记其为vreal
步骤11,使用步骤3中完成训练的3D卷积神经网络,其包含1个链接层,5个卷积层,1个池化层;该网络将步骤10中的vreal按照灰度、横坐标梯度、纵坐标梯度、x光流、y光流进行分类后,在输出层输出该素材的特征函数f;
步骤12,选取一种目前视频中人物可能的表情yi
步骤13,使用步骤4中完成训练的3D反卷积神经网络,其包含1个全连接层,5个反卷积层,1个输出层,该网络将特征函数f与一种表情分类yi综合后,利用反卷积生成与f与yi相匹配的视频
Figure FDA0003527590090000051
步骤14,使用步骤7中训练完成的3D卷积神经网络,其包含1个链接层,16个卷积层与3个全连接层,该网络将步骤13的
Figure FDA0003527590090000052
与步骤10的vreal分别输入,最终输出该网络对两者相似度的比较Pi
步骤15,如果仍有未被选择的表情,则使用未被选中的另一种表情yj替代步骤12中的yi,重复步骤13、14,得到步骤14的输出Pj
步骤16,比较所有的Pi,选取其最大的对应的yi作为对最终表情的判断,即完成了对表情的判断。
8.根据权利要求7所述基于生成对抗网络的视频中人物表情的检测方法,其特征在于:所述步骤11具体如下:
步骤11.1,获取步骤10的视频数据库中作为输入层,该层大小为m×n×p,其数据表示为v1(x,y,z),x、y为横纵坐标,t为时间坐标;链接层的作用为使用相应的算法从输入层提取如下数据:灰度v21(x,y,t)、横坐标梯度v22(x,y,t)、纵坐标梯度v23(x,y,t)、x光流v24(x,y,t)、y光流v25(x,y,t),其中前三个可以从每一帧中提取,后两个从互相间隔的两帧中提取;使用vij(x,y,t)表示这些数据,j表示这是第j种特征的数据,在此处j为1到5;
灰度计算使用心理学公式H=0.30R+0.59G+0.11B,其中R、G、B为图像在坐标x,y上的红、绿、蓝三色的值,H表示图像在坐标x,y的灰度值;
图像的梯度信息计算使用如下公式:
Gx(x,y)=H(x+1,y)-H(x-1,y)、Gy(x+y)=H(x,y+1)-H(x,y-1)
光流计算使用经典的Lucas-Kanade光流算法,其计算公式如下:
Figure FDA0003527590090000061
步骤11.2,将v2j(x,y,t)导入到5层3D卷积层,3D卷积层与2D卷积层的计算不同,其计算公式如下:
Figure FDA0003527590090000062
其中各项参数表示如下:
bij为该层网络的偏移参数,wijm(p,q,r)为该层网络的权重数据,这两个参数直接使用训练过程3.2训练完成后的数据;参数Pi、Qi、Ri用于描述该层网络的卷积核大小,与训练过程3.2保持一致,tanh作为卷积层的激活函数使用,3D卷积操作使用tensorflow中的conv函数实现;
步骤11.3,对卷积神经网络最后一层的输出数据v7j(x,y,t)使用全局最大池化算法对各类特征进行降采样,将不同的特征进行整合,最后得到vk的特征函数f,池化算法使用tensorflow中的pooling函数实现。
9.根据权利要求7所述基于生成对抗网络的视频中人物表情的检测方法,其特征在于:所述步骤13具体如下:
步骤13.1,使用一层全连接层将f与yi进行整合,全连接层的权重数据w使用训练完成后4.2的权重数据,该全连接层调用tensorflow中的dense函数实现,其数据输出为v1
步骤13.2,将v1导入到5层3D反卷积层,每一层的卷积核大小Pi、Qi、Ri使用训练过程4.2的数据,反卷积层的偏移bij与权重wijm(p,q,r)数据使用训练过程4.2训练完成后的数据,该反卷积层调用tensorflow中的deconv函数实现,其最后一层反卷积层输出为v6j(x,y,t);
步骤13.3,将v6j(x,y,t)输入至输出层,输出层将灰度、横坐标梯度、纵坐标梯度、x光流、y光流数据按照不同的比重wj合成为该人在该表情下的虚假视频
Figure FDA0003527590090000071
该输出层使用tensorflow中的softmax函数实现。
10.根据权利要求8所述基于生成对抗网络的视频中人物表情的检测方法,其特征在于:所述步骤14具体如下:
步骤14.1,使用一层链接层对vreal进行处理,将灰度、横坐标梯度、纵坐标梯度、x光流、y光流从视频中提取出来,其实现方法参考步骤11.1,链接层输出为v1j(x,y,t);
步骤14.2,将v1j(x,y,t)经过16层3D卷积层的处理,各层权重wijm(p,q,r)、偏移量bij以及卷积核大小Pi、Qi、Ri使用训练过程7.2训练完成后的参数,卷积操作使用tensorflow中的conv函数实现,其最后一层卷积层输出为v17j(x,y,t);
步骤14.3,将步骤14.1中的vreal替换为vfake,重复步骤14.1-14.2,得到v′17j(x,y,t);
步骤14.4,将v17j(x,y,t)与v′17j(x,y,t)作为一个全连接层网络的输入,比较两者的区别,该网络共包含3个全连接层,其权值参数w使用步骤7.4训练完成的参数,最后输出该全连接层网络对v17j(x,y,t)与v′17j(x,y,t)相似度的判断,全连接层使用tensorflow中的dense函数实现。
CN201910474503.5A 2019-06-03 2019-06-03 基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法 Active CN110188706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910474503.5A CN110188706B (zh) 2019-06-03 2019-06-03 基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910474503.5A CN110188706B (zh) 2019-06-03 2019-06-03 基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法

Publications (2)

Publication Number Publication Date
CN110188706A CN110188706A (zh) 2019-08-30
CN110188706B true CN110188706B (zh) 2022-04-19

Family

ID=67719709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910474503.5A Active CN110188706B (zh) 2019-06-03 2019-06-03 基于生成对抗网络的视频中人物表情的神经网络训练方法及检测方法

Country Status (1)

Country Link
CN (1) CN110188706B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570474A (zh) * 2016-10-27 2017-04-19 南京邮电大学 一种基于3d卷积神经网络的微表情识别方法
CN108446609A (zh) * 2018-03-02 2018-08-24 南京邮电大学 一种基于生成对抗网络的多角度面部表情识别方法
CN108446667A (zh) * 2018-04-04 2018-08-24 北京航空航天大学 基于生成对抗网络数据增强的人脸表情识别方法和装置
CN108596039A (zh) * 2018-03-29 2018-09-28 南京邮电大学 一种基于3d卷积神经网络的双模态情感识别方法及系统
CN109376611A (zh) * 2018-09-27 2019-02-22 方玉明 一种基于3d卷积神经网络的视频显著性检测方法
CN109508669A (zh) * 2018-11-09 2019-03-22 厦门大学 一种基于生成式对抗网络的人脸表情识别方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110338840B (zh) * 2015-02-16 2022-06-21 深圳迈瑞生物医疗电子股份有限公司 三维成像数据的显示处理方法和三维超声成像方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106570474A (zh) * 2016-10-27 2017-04-19 南京邮电大学 一种基于3d卷积神经网络的微表情识别方法
CN108446609A (zh) * 2018-03-02 2018-08-24 南京邮电大学 一种基于生成对抗网络的多角度面部表情识别方法
CN108596039A (zh) * 2018-03-29 2018-09-28 南京邮电大学 一种基于3d卷积神经网络的双模态情感识别方法及系统
CN108446667A (zh) * 2018-04-04 2018-08-24 北京航空航天大学 基于生成对抗网络数据增强的人脸表情识别方法和装置
CN109376611A (zh) * 2018-09-27 2019-02-22 方玉明 一种基于3d卷积神经网络的视频显著性检测方法
CN109508669A (zh) * 2018-11-09 2019-03-22 厦门大学 一种基于生成式对抗网络的人脸表情识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Shape Inpainting using 3D Generative Adversarial Network and Recurrent Convolutional Networks;Weiyue Wang等;《2017 IEEE International Conference on Computer Vision》;20171225;第2317-2325页 *
生成式对抗网络研究综述;罗佳等;《仪器仪表学报》;20190331;第40卷(第3期);第74-84页 *

Also Published As

Publication number Publication date
CN110188706A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN108537743B (zh) 一种基于生成对抗网络的面部图像增强方法
CN108717568B (zh) 一种基于三维卷积神经网络的图像特征提取与训练方法
WO2020108362A1 (zh) 人体姿态检测方法、装置、设备及存储介质
CN107506740A (zh) 一种基于三维卷积神经网络和迁移学习模型的人体行为识别方法
CN112149504A (zh) 混合卷积的残差网络与注意力结合的动作视频识别方法
CN110188795A (zh) 图像分类方法、数据处理方法和装置
CN108427920A (zh) 一种基于深度学习的边海防目标检测方法
CN107977932A (zh) 一种基于可鉴别属性约束生成对抗网络的人脸图像超分辨率重建方法
CN110348376A (zh) 一种基于神经网络的行人实时检测方法
CN109740572B (zh) 一种基于局部彩色纹理特征的人脸活体检测方法
CN108491849A (zh) 基于三维稠密连接卷积神经网络的高光谱图像分类方法
WO2019227479A1 (zh) 人脸旋转图像的生成方法及装置
CN110399821B (zh) 基于人脸表情识别的顾客满意度获取方法
CN112818862A (zh) 基于多源线索与混合注意力的人脸篡改检测方法与系统
CN106650617A (zh) 一种基于概率潜在语义分析的行人异常识别方法
CN106909887A (zh) 一种基于cnn和svm的动作识别方法
CN109657582A (zh) 人脸情绪的识别方法、装置、计算机设备及存储介质
CN111986180A (zh) 基于多相关帧注意力机制的人脸伪造视频检测方法
CN114360067A (zh) 一种基于深度学习的动态手势识别方法
CN109886281A (zh) 一种基于四元数超限学习机彩色图像识别方法
CN113378949A (zh) 一种基于胶囊网络和混合注意力的双重生成对抗学习方法
CN109977963A (zh) 图像处理方法、设备、装置以及计算机可读介质
CN114492634A (zh) 一种细粒度装备图片分类识别方法及系统
CN113420703B (zh) 基于多尺度特征提取和多注意力机制建模的动态面部表情识别方法
CN112800979B (zh) 一种基于表征流嵌入网络的动态表情识别方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant