发明内容
发明目的:提供一种基于深度学习的肢体语言检测与行为分析方法,以解决现有技术存在的上述不足。进一步目的是提供一种实现上述方法的系统。
技术方案:一种基于深度学习的肢体语言检测与行为分析方法,包括以下步骤:
步骤1、制作训练集:对行为情感逻辑建模,丰富数据集,予以标注后制作成训练集;
步骤2、肢体语言检测及行为分析:通过视频拍摄装置获取目标生物的视频语音片段,将其作为模型的输入,执行分类任务;
步骤3、行为应对指导:抓取网络数据,在前一步检测结果的基础上,根据网络上的最优方案给予指导意见。
在进一步的实施例中,所述步骤1进一步包括:
步骤1-1、对目标的日常行为视频、图片以及语音进行提取,分别获取目标在不同情绪下的面部表情以及四肢行为的图片及视频,获取在相应情绪下的语音数据,丰富数据集,予以标注后制作成训练集;
步骤1-2、使用CNN训练图片及视频帧数据,关键点为面部表情,头部动作,四肢动作,整体动作频率,这4点训练成一个集成模型;
步骤1-3、使用LSTM训练语音数据,最后将两个模型进行集成训练,合成集成模型,最终会产生3个模型,保证模型支持语音或图片单独检测的能力。
在进一步的实施例中,所述步骤1-1进一步包括:
提取出模型特征作为训练样本,计算输入量与输出量之间关联性的估计函数,训练系统对于不同输出量的预测能力:
式中,ω表示广义参数,h表示所预测的函数集的最大训练能力,n为训练样本,η∈[0,1],R(ω)表示期望风险。
在进一步的实施例中,所述步骤1-2进一步包括:
将原图片和视频帧数据转化为Ycbcr图像,提取其亮度通道YL,将该通道YL进行下采样得到单通道图像YL′;对亮度通道YL进行相邻插值运算,得到插值图像YLc,对亮度通道YL进行强度为0.8的锐化得出锐化图像YLR,最终将单通道图像YL′、插值图像YLc、锐化图像YLR以0.8:0.9:1.1的比率混合形成多通道图像Ym;
将图片和视频帧数据通过卷积运算分割为输入层、卷积层、输出层,其中,输入层的大小为n×n,通道数为12;卷积层为两层,分别记为C1层和C2层,其中,C1层的卷积特征图为128个,其尺寸为(n-8+1)×(n-8+1);由每个8×8的卷积核对输入图像进行内卷积,并对卷积结果进行第一次激活:
Fc1=max(0,W1×Ym+B1)
式中,Fc1表示第一层卷积层C1的激活函数,Ym表示多通道图像,B1表示第一层卷积层C1的比率因子,W1表示第一层卷积层C1的放大因子;
C2层的卷积特征图为128个,其尺寸为(n-16)×(n-16),将经过C1层的的输出量作为变量输入到C2层,使用128个卷积核对C2层中的数据进行卷积运算,并对卷积结果进行第二次激活:
式中,Fc2表示第一层卷积层C2的激活函数,B2表示第二层卷积层C2的比率因子,W2表示第二层卷积层C2的放大因子,其余符号含义同上;
构造超分辨重构模型,采用均方误差作为损失函数:
式中,
表示高分辨率图像块,Y
L表示亮度通道,N表示抽取图像块的数量,K
0表示调节系数。
在进一步的实施例中,所述步骤1-3进一步包括:
使用LSTM结构输出序列S:
式中,A表示状态转移概率矩阵,
表示A从状态y
i转移到状态y
i+1所需要的状态转移概率,T*k表示输出矩阵的大小,其中,T表示序列的长度,k表示标签的数量;h
(t)表示深度神经网络上一层时刻t输入数据时的隐藏状态;
采用高斯-伯努利模型对语音数据进行处理,其能量函数定义如下:
式中,v
i表示第i个可视层神经元,h
j表示第j个隐层神经元,w
ij表示连接权值,a
i表示对应于可视层神经元的偏置值,b
j表示对应于第j个隐层神经元的偏置值,σ
i表示高斯噪声标准差,
表示学习率;
对能量函数进行激活概率计算:
式中,p(h,θ)表示可视层神经元的激活概率,p(v,θ)表示隐层神经元的激活概率,其余各符号含义同上;
为求得每层的模型连接参数θ,采用梯度上升法来极大化概率的对数似然函数:
在进一步的实施例中,所述步骤2进一步包括:
通过视频拍摄装置获取目标生物的视频语音片段,视频与语音需要同步输入,针对不同的输入使用不同的模型,将视频拍摄装置获取到的目标生物的视频片段与训练集中的模型比对,对每个像素点上使用差分算子为(-1,0,1)在垂直和水平放行进行运算,计算其梯度值和梯度方向:
梯度方向:
式中,G
x表示图像沿x方向的梯度,G
y表示图像沿y方向的梯度,
表示最大变化率方向上的单位距离增加的量,T表示梯度参数;
梯度值:
式中,f(x+1,y)表示y方向不变,x方向累加一个像素点的图像函数,f(x,y+1)表示x方向不变,y方向累加一个像素点的图像函数,其它含义同上。
在进一步的实施例中,所述步骤3进一步包括:
将步骤2中的结果与步骤1中训练集中的数据集的输出序列进行比对,若插值小于阈值,则判定为属于被比对对象的行为,将结果通过图形界面反馈给用户;若插值大于阈值,则将该输出序列记录在数据集中并做好标记。
一种基于深度学习的肢体语言检测与行为分析方法,包括以下模块:
用于对行为情感逻辑建模,丰富数据集,予以标注后制作成训练集的数据获取模块;
通过视频拍摄装置获取目标生物的视频语音片段,将其作为模型的输入,执行分类任务的数据实时检测模块;
使用CNN训练图片及视频帧数据、使用LSTM训练语音数据,最后将两个模型进行集成训练的结果反馈模块;
抓取网络数据,在CNN训练和LSTM训练的基础上,根据网络上的最优方案给予指导意见的指导意见模块。
在进一步的实施例中,所述数据获取模块进一步对目标的日常行为视频、图片以及语音进行提取,分别获取目标在不同情绪下的面部表情以及四肢行为的图片及视频,获取在相应情绪下的语音数据,丰富数据集,予以标注后制作成训练集;使用CNN训练图片及视频帧数据,关键点为面部表情,头部动作,四肢动作,整体动作频率,这4点训练成一个集成模型;使用LSTM训练语音数据,最后将两个模型进行集成训练,合成集成模型,最终会产生3个模型,保证模型支持语音或图片单独检测的能力;提取出模型特征作为训练样本,计算输入量与输出量之间关联性的估计函数,训练系统对于不同输出量的预测能力:
式中,ω表示广义参数,h表示所预测的函数集的最大训练能力,n为训练样本,η∈[0,1],R(ω)表示期望风险;
所述数据实时检测模块进一步通过视频拍摄装置获取目标生物的视频语音片段,视频与语音需要同步输入,针对不同的输入使用不同的模型,将视频拍摄装置获取到的目标生物的视频片段与训练集中的模型比对,对每个像素点上使用差分算子为(-1,0,1)在垂直和水平放行进行运算,计算其梯度值和梯度方向:
梯度方向:
式中,G
x表示图像沿x方向的梯度,G
y表示图像沿y方向的梯度,
表示最大变化率方向上的单位距离增加的量,T表示梯度参数;
梯度值:
式中,f(x+1,y)表示y方向不变,x方向累加一个像素点的图像函数,f(x,y+1)表示x方向不变,y方向累加一个像素点的图像函数,其它含义同上;
所述结果反馈模块进一步使用CNN训练图片及视频帧数据,关键点为面部表情,头部动作,四肢动作,整体动作频率,这4点训练成一个集成模型:
将原图片和视频帧数据转化为Ycbcr图像,提取其亮度通道YL,将该通道YL进行下采样得到单通道图像YL′;对亮度通道YL进行相邻插值运算,得到插值图像YLc,对亮度通道YL进行强度为0.8的锐化得出锐化图像YLR,最终将单通道图像YL′、插值图像YLc、锐化图像YLR以0.8:0.9:1.1的比率混合形成多通道图像Ym;
将图片和视频帧数据通过卷积运算分割为输入层、卷积层、输出层,其中,输入层的大小为n×n,通道数为12;卷积层为两层,分别记为C1层和C2层,其中,C1层的卷积特征图为128个,其尺寸为(n-8+1)×(n-8+1);由每个8×8的卷积核对输入图像进行内卷积,并对卷积结果进行第一次激活:
Fc1=max(0,W1×Ym+B1)
式中,Fc1表示第一层卷积层C1的激活函数,Ym表示多通道图像,B1表示第一层卷积层C1的比率因子,W1表示第一层卷积层C1的放大因子;
C2层的卷积特征图为128个,其尺寸为(n-16)×(n-16),将经过C1层的的输出量作为变量输入到C2层,使用128个卷积核对C2层中的数据进行卷积运算,并对卷积结果进行第二次激活:
式中,Fc2表示第一层卷积层C2的激活函数,B2表示第二层卷积层C2的比率因子,W2表示第二层卷积层C2的放大因子,其余符号含义同上;
构造超分辨重构模型,采用均方误差作为损失函数:
式中,
表示高分辨率图像块,Y
L表示亮度通道,N表示抽取图像块的数量,K
0表示调节系数;
使用LSTM训练语音数据,最后将两个模型进行集成训练,合成集成模型,最终会产生3个模型,保证模型支持语音或图片单独检测的能力:
使用LSTM结构输出序列S:
式中,A表示状态转移概率矩阵,
表示A从状态y
i转移到状态y
i+1所需要的状态转移概率,T*k表示输出矩阵的大小,其中,T表示序列的长度,k表示标签的数量;h
(t)表示深度神经网络上一层时刻t输入数据时的隐藏状态;
采用高斯-伯努利模型对语音数据进行处理,其能量函数定义如下:
式中,v
i表示第i个可视层神经元,h
j表示第j个隐层神经元,w
ij表示连接权值,a
i表示对应于可视层神经元的偏置值,b
j表示对应于第j个隐层神经元的偏置值,σ
i表示高斯噪声标准差,
表示学习率;
对能量函数进行激活概率计算:
式中,p(h,θ)表示可视层神经元的激活概率,p(v,θ)表示隐层神经元的激活概率,其余各符号含义同上;
为求得每层的模型连接参数θ,采用梯度上升法来极大化概率的对数似然函数:
所述指导意见模块进一步将结果反馈模块的结果与训练集中的数据集的输出序列进行比对,若插值小于阈值,则判定为属于被比对对象的行为,将结果通过图形界面反馈给用户;若插值大于阈值,则将该输出序列记录在数据集中并做好标记。
有益效果:本发明提出了一种基于深度学习的肢体语言检测与行为分析方法及系统。对目标的日常行为视频、图片以及语音进行提取,分别获取目标在不同情绪下的面部表情以及四肢行为的图片及视频,获取在相应情绪下的语音数据,尽量丰富数据集,予以标注后制作成训练集,标注时注意标签对数据的描述要到位,另外标签划分的合理性也十分重要。后使用CNN训练图片及视频帧数据,关键点为面部表情,头部动作,四肢动作,整体动作频率,这4点训练成一个集成模型,其次使用LSTM训练语音数据,最后将两个模型进行集成训练,合成集成模型,最终会产生3个模型,保证模型支持语音或图片单独检测的能力。上述过程使得本发明拥有较强的主动学习能力,并不断优化数据库,使得准确率能够随着识别次数的增加不断提升。
具体实施方式
申请人认为,传统的肢体语言检测通常停留在特征识别的表象阶段,通常需要对象做出明显符合数据库的特征动作才能判断准确,当对象的动作微小或与数据库不明显时,系统无法准确识别,也无法对未能识别的特征进行自我学习优化,导致上述肢体语言检测具有较大的局限性,故无法用于案件侦破,辅助测谎等特殊场景。
为此,本发明提出了一种基于深度学习的肢体语言检测与行为分析方法,对目标的日常行为视频、图片以及语音进行提取,分别获取目标在不同情绪下的面部表情以及四肢行为的图片及视频,获取在相应情绪下的语音数据,尽量丰富数据集,予以标注后制作成训练集,标注时注意标签对数据的描述要到位,另外标签划分的合理性也十分重要。后使用CNN训练图片及视频帧数据,关键点为面部表情,头部动作,四肢动作,整体动作频率,这4点训练成一个集成模型,其次使用LSTM训练语音数据,最后将两个模型进行集成训练,合成集成模型,最终会产生3个模型,保证模型支持语音或图片单独检测的能力。
下面通过实施例,并结合相应附图,对本发明的技术方案做进一步说明。
一种基于深度学习的肢体语言检测与行为分析方法,主要包括制作训练集、肢体语言检测及行为分析、以及行为应对指导三个步骤。为实现上述步骤,本系统提供了以下模块:用于对行为情感逻辑建模,丰富数据集,予以标注后制作成训练集的数据获取模块;通过视频拍摄装置获取目标生物的视频语音片段,将其作为模型的输入,执行分类任务的数据实时检测模块;使用CNN训练图片及视频帧数据、使用LSTM训练语音数据,最后将两个模型进行集成训练的结果反馈模块;以及抓取网络数据,在CNN训练和LSTM训练的基础上,根据网络上的最优方案给予指导意见的指导意见模块。
首先由数据获取模块制作训练集,具体过程如下:数据获取模块对行为情感逻辑建模,丰富数据集,予以标注后制作成训练集。更为具体的,首先对目标的日常行为视频、图片以及语音进行提取,分别获取目标在不同情绪下的面部表情以及四肢行为的图片及视频,获取在相应情绪下的语音数据,丰富数据集,予以标注后制作成训练集;提取出模型特征作为训练样本,计算输入量与输出量之间关联性的估计函数,训练系统对于不同输出量的预测能力:
式中,ω表示广义参数,h表示所预测的函数集的最大训练能力,n为训练样本,η∈[0,1],R(ω)表示期望风险。
随后,结果反馈模块使用CNN训练图片及视频帧数据、使用LSTM训练语音数据,最后将两个模型进行集成训练,具体过程如下:使用CNN训练图片及视频帧数据,关键点为面部表情,头部动作,四肢动作,整体动作频率,这4点训练成一个集成模型;将原图片和视频帧数据转化为Ycbcr图像,提取其亮度通道YL,将该通道YL进行下采样得到单通道图像YL′;对亮度通道YL进行相邻插值运算,得到插值图像YLc,对亮度通道YL进行强度为0.8的锐化得出锐化图像YLR,最终将单通道图像YL′、插值图像YLc、锐化图像YLR以0.8:0.9:1.1的比率混合形成多通道图像Ym;
将图片和视频帧数据通过卷积运算分割为输入层、卷积层、输出层,其中,输入层的大小为n×n,通道数为12;卷积层为两层,分别记为C1层和C2层,其中,C1层的卷积特征图为128个,其尺寸为(n-8+1)×(n-8+1);由每个8×8的卷积核对输入图像进行内卷积,并对卷积结果进行第一次激活:
Fc1=max(0,W1×Ym+B1)
式中,Fc1表示第一层卷积层C1的激活函数,Ym表示多通道图像,B1表示第一层卷积层C1的比率因子,W1表示第一层卷积层C1的放大因子;
C2层的卷积特征图为128个,其尺寸为(n-16)×(n-16),将经过C1层的的输出量作为变量输入到C2层,使用128个卷积核对C2层中的数据进行卷积运算,并对卷积结果进行第二次激活:
式中,Fc2表示第一层卷积层C2的激活函数,B2表示第二层卷积层C2的比率因子,W2表示第二层卷积层C2的放大因子,其余符号含义同上;
构造超分辨重构模型,采用均方误差作为损失函数:
式中,
表示高分辨率图像块,Y
L表示亮度通道,N表示抽取图像块的数量,K
0表示调节系数。
使用LSTM训练语音数据,最后将两个模型进行集成训练,合成集成模型,最终会产生3个模型,保证模型支持语音或图片单独检测的能力。使用LSTM结构输出序列S:
式中,A表示状态转移概率矩阵,
表示A从状态y
i转移到状态y
i+1所需要的状态转移概率,T*k表示输出矩阵的大小,其中,T表示序列的长度,k表示标签的数量;h
(t)表示深度神经网络上一层时刻t输入数据时的隐藏状态;
采用高斯-伯努利模型对语音数据进行处理,其能量函数定义如下:
式中,v
i表示第i个可视层神经元,h
j表示第j个隐层神经元,w
ij表示连接权值,a
i表示对应于可视层神经元的偏置值,b
j表示对应于第j个隐层神经元的偏置值,σ
i表示高斯噪声标准差,
表示学习率;
对能量函数进行激活概率计算:
式中,p(h,θ)表示可视层神经元的激活概率,p(v,θ)表示隐层神经元的激活概率,其余各符号含义同上;
为求得每层的模型连接参数θ,采用梯度上升法来极大化概率的对数似然函数:
接着,实时检测模块对肢体语言进行检测,对行为进行分析,具体如下:通过视频拍摄装置获取目标生物的视频语音片段,将其作为模型的输入,执行分类任务。通过视频拍摄装置获取目标生物的视频语音片段,视频与语音需要同步输入,针对不同的输入使用不同的模型,将视频拍摄装置获取到的目标生物的视频片段与训练集中的模型比对,对每个像素点上使用差分算子为(-1,0,1)在垂直和水平放行进行运算,计算其梯度值和梯度方向:
梯度方向:
式中,G
x表示图像沿x方向的梯度,G
y表示图像沿y方向的梯度,
表示最大变化率方向上的单位距离增加的量,T表示梯度参数;
梯度值:
式中,f(x+1,y)表示y方向不变,x方向累加一个像素点的图像函数,f(x,y+1)表示x方向不变,y方向累加一个像素点的图像函数,其它含义同上。
最后由指导意见模块对行为应对进行指导:指导意见模块抓取网络数据,在前一步检测结果的基础上,根据网络上的最优方案给予指导意见,将结果反馈模块的结果与训练集中的数据集的输出序列进行比对,若插值小于阈值,则判定为属于被比对对象的行为,将结果通过图形界面反馈给用户;若插值大于阈值,则将该输出序列记录在数据集中并做好标记。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。