一种基于面试中微表情的说谎检测方法
技术领域
本发明涉及一种基于面试中微表情的说谎检测方法,属于图像信息处理技术领域。
背景技术
面试过程中说谎与欺骗现象时常发生,如何有效的识别谎言显得非常重要。虽然说谎是一种司空见惯的现象,但是,说谎时人的微表情与正常交谈时是有所不同的,一些微小的表情变化和脸部微妙的肌肉跳动很容易在无意识间暴露真实的想法,专业的微表情专家能够捕捉这些微表情,进而判断面试过程中是否存在说谎与欺骗。
然而面试过程中因为容易受到各种因素干扰,这种依赖人工探测是否说谎的准确性经常会大打折扣,而传统的机器人脸识别因为没有对微表情进行特殊优化,容易收到面部其它特征的干扰,无法直接运用在微表情判断上。
发明内容
发明目的:提供一种基于面试中微表情的说谎检测方法,解决了现有技术存在的上述问题。
技术方案:一种基于面试中微表情的说谎检测方法,包括以下步骤:
步骤1、制作数据标签:模型以皱眉、抬眉毛、抿嘴、嘟嘴、歪头五种表情进行训练,对每一类表情数据打上标签;
步骤2、特征提取:输入脸部微表情的图像到预训练好的以VGG16作为骨干的SSD网络中,让图片经过卷积神经网络提取特征,并生成特征图;
步骤3、评估边界:对每个特征图都执行卷积操作来评估默认边界框,对每个边界框预测偏移量和分类概率;
步骤4、重生边界:将不同特征图获得的边界框结合起来,执行非极大值抑制的方法过滤一部分重叠或者不正确的边框,生成最终的边界框集合,即检测结果;
步骤5、结果分类:对检测结果用分类器分类。
在进一步的实施例中,所述步骤1进一步为:
步骤1-1、模型提取皱眉、抬眉毛、抿嘴、嘟嘴、歪头五种人脸图像的特征向量,对人脸图像中每个ground truth,找到与其IOU最大的先验框,该先验框与其匹配,对于剩余的未匹配先验框,若某个ground truth的大于阈值0.5,则该先验框也与这个ground truth进行匹配;
步骤1-2、将人脸图像裁剪为尺寸256×256像素,对像素内的人脸图像进行肤色识别,将单位像素的RGB色彩空间转换为YCrCb色彩空间,将32×32像素的区域定义为一个Block,为每个Block分别建立肤色特征向量;对该图像进行梯度运算,对于连续的图像函数f(x,y),其在任意像素点(x,y)处的梯度值为矢量:
式中,Gx表示图像沿x方向的梯度,Gy表示图像沿y方向的梯度,梯度幅值是f(x,y)在其最大变化率方向上的单位距离增加的量;
式中,f(x+1,y)表示y方向不变,x方向累加一个像素点的图像函数,f(x,y+1)表示x方向不变,y方向累加一个像素点的图像函数,其它含义同上;
式中,各符号含义同上;
步骤1-3、根据提取出的模型特征作为训练样本,计算输入量与输出量之间关联性的估计函数,训练系统对于不同输出量的预测能力,在函数{f(x,ω)}中求得最优函数f(x,ω0)对变量y与x的关联性估计,并使得期望风险R(ω)为最小值:
式中,f(x,ω)表示预测函数,{f(x,ω)}表示预测函数的集合,ω表示广义参数,L(y,f(x,ω))表示使用函数f(x,ω)对输出量y进行预测与实际输出相比所造成的损失,h表示所预测的函数集的最大训练能力,n为训练样本,η∈[0,1]。通过本算法将样本训练成经验风险,通过函数集和样本数量为参数的置信区间,在样本有限的情况下通过自我学习能够使得期望风险R(ω)降低为最小值。
在进一步的实施例中,所述步骤2进一步为:
步骤2-1、选择重要的特征子集,使用压缩搜索空间的启发式算法逼近最优解,该最优解作为特征子集,保留该特征子集并删除其余特征,对特征子集进行降维处理:
式中,
表示在高维数据中第i个样本分布在样本j周围的概率,
表示在低维数据中第i个样本分布在样本j周围的概率,x
i表示在高维数据中第i个样本,x
j表示在高维数据中第j个样本,x
k表示在高维数据中第k个样本,y
i表示在低维数据中第i个样本,y
j表示在低维数据中第j个样本,y
k表示在低维数据中第k个样本,W
i表示第i个输入单元和隐藏单元相关联的权值向量,b
i表示与隐藏单元相关联的偏置向量,a
i-1表示网络中隐藏层的输入量,f(∑W
ia
i-1+b
i)表示以权值向量、偏置向量、输入量作为变量产生的非线性输入映射函数;
步骤2-2、对每个人脸图像的位置误差和置信度误差加权,得出损失函数:
式中,N表示先验框的正样本数量,c表示类别置信度预测值,l表示先验框所对应边界框的位置预测值,g表示ground truth的位置参数,W表示训练时得到的参数,y是样本真实标签值,m表示训练样本的数量,λ为正则化系数;
其中,αLloc(x,l,g)]的定义如下:
式中,xij k=1时表示第i个先验框与第j个ground truth的类别为p;
Lconf(x,c)可表示为预测框的损失函数与真实框的损失函数之和再取相反数,公式如下:
式中,前项
表示预测框i与真实框j关于类别p匹配的预测值,后项
表示预测框没有真实物体时的背景预测值;
步骤2-3、以卷积核大小3×3、步长为1建立第一层卷积,卷积后得到30×30的特征图;将特征图的输入池化层进行化核大小为2×2、步长为2的最大池化之后,得到大小为15×15的特征图,将得到的15×15的特征图输入到第二层卷积层中,经过卷积核大小为4×4、步长为1的卷积操作之后,输出大小为12×12的特征图:
其中,第一层卷积池的计算步骤如下:
pool1:xl 1,j(1≤j≤15)=g(down(xl 1,j(1≤j≤30)))
第一层向量卷积运算如下:
conv1:xl 1=f(xl·W1,j+b1,j)
第二层卷积池的计算步骤如下:
pool1:xl 2,j(1≤j≤1)=g(down(xl 2,j(1≤j≤15)))
第二层向量卷积运算如下:
conv1:xl 2=f(xl·W2,j+b2,j)
式中,xl 1,j表示第1层的第l个输入样本,xl 2,j表示第2层的第l个输入样本,down(xl 1,j(1≤j≤30)表示在第1层的第l个输入样本中的下采样函数,down(xl 2,j(1≤j≤15)表示在第2层的第l个输入样本中的下采样函数,W1,j表示第1层卷积核的权值,b1,j表示第1层卷积核的偏置,W2,j表示第2层卷积核的权值,b2,j表示第2层卷积核的偏置。通过该算法,对输入的训练样本经过多次交替的卷积层和池化层处理,自动提取出具有特征的样本数据,进而对该样本经过全连接层进行数据处理,并输出至输出层中,在输出层计算分类概率,将差异情况输入损失函数转化为损失值,并通过不断调节权重促使优化器不断向损失较小的方向调节,在优化的过程中更新参数值,最终反馈至全连接层,经过多次迭代。
在进一步的实施例中,所述步骤3进一步为:
步骤3-1、采用边框预测公式预测偏移量:
步骤3-2、在步骤3-1的基础上继续计算分类概率:
式中,cx、cy表示grid cell的左上角坐标,tx和ty表示预测的坐标偏移值,dx、dy表示grid cell的右下角坐标,tw和th表示缩放尺度,pw和ph表示预设的anchor box的在feature map上的宽和高,Gw、Gh表示grid cell的左下角坐标。用sigmoid将tx和ty压缩到[0,1]区间,确保目标中心处于执行预测的网格单元中,防止偏移过多。
在进一步的实施例中,所述步骤4进一步为:
步骤4-1、根据检测框与预选取检测框的loU值与阈值T对比:
式中,μi表示检测框i的比例惩罚因子,IoU(Pm·Pi)表示检测框Pi与置信度分度最大检测框Pm的IoU值,当IoU值小于给定阈值T时,检测框的比例惩罚因子为1。该算法相比于传统的算法,能够减小对阈值的影响,稳定度更高。
在进一步的实施例中,所述步骤5进一步为:
步骤5-1、利用高斯核SVM构造出k个独立二元分类器k类数据进行分类,第m个二元分类器通过使用第m类的数据作为正训练样本,其余k-1个数据为负训练样本,对于训练数据xi和对应标签yi,判定函数为:
式中,ω
T+b表示分离超平面,ω表示与分离超平面垂直的权向量,b表示超平面的偏置向量,W
i表示第i个输入单元和隐藏单元相关联的权值向量,b
i表示与隐藏单元相关联的偏置向量,a
i-1表示网络中隐藏层的输入量,m表示训练样本的数量,
表不超平面之间的边缘带;
步骤5-2、添加一个全卷积层,以生成位置敏感分数图的score bank,运行一个全卷积RPN网络,以生成感兴趣区域;
步骤5-3、对于步骤5-2中的感兴趣区域,检查其中的score bank值,判断感兴趣区域是否匹配具体目标的对应位置,一旦每个k2感兴趣区域都具备目标匹配值,则求感兴趣区域的平均值,得到每个类的分数:
式中,wk T表示感兴趣区域k的权重矩阵,xi表示第i个训练样本,b表示超平面的偏置向量;
将分数转化为概率值:
式中,m表示模型的采样数,
表示第i个训练样本的第k次迭代;
步骤5-4、对剩下C+1个维度向量进行softmax回归,完成分类。
有益效果:本发明涉及一种基于面试中微表情的说谎检测方法,与现有技术相比,本发明具有以下优点:同时使用高层次和低层次的视觉特征,与人类相比,在预测欺骗方面明显更好;比人类的肉眼的判断不仅速度更快,技术精准度更高。相比于传统的人脸检测算法,本发明针对面部微表情优化,通过机器学习不断优化识别率,对输入的训练样本经过多次交替的卷积层和池化层处理,自动提取出具有特征的样本数据,进而对该样本数据处理,将差异情况输入损失函数转化为损失值,并通过不断调节权重而不断向损失较小的方向调节;将样本训练成经验风险,通过函数集和样本数量为参数的置信区间,在样本有限的情况下通过自我学习能够使得期望风险R(ω)降低为最小值。
附图说明
图1为本发明的流程图。
图2为本发明步骤3中边框预测的示意图。
图3为本发明步骤2的流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案做进一步具体说明。
如图1所示,本发明公开了一种基于面试中微表情的说谎检测方法,包括制作数据标签、特征提取、评估边界、重生边界、结果分类五个步骤。下面分别对上述五个步骤做具体阐述:
步骤一、制作数据标签:
首先,模型以皱眉、抬眉毛、抿嘴、嘟嘴、歪头五种表情进行训练,对每一类表情数据打上标签。模型提取皱眉、抬眉毛、抿嘴、嘟嘴、歪头五种人脸图像的特征向量,对人脸图像中每个ground truth,找到与其IOU最大的先验框,该先验框与其匹配,对于剩余的未匹配先验框,若某个ground truth的大于阈值0.5,则该先验框也与这个ground truth进行匹配。将人脸图像裁剪为尺寸256×256像素,对像素内的人脸图像进行肤色识别,将单位像素的RGB色彩空间转换为YCrCb色彩空间,将32×32像素的区域定义为一个Block,为每个Block分别建立肤色特征向量;对该图像进行梯度运算,对于连续的图像函数f(x,y),其在任意像素点(x,y)处的梯度值为矢量:
式中,Gx表示图像沿x方向的梯度,Gy表示图像沿y方向的梯度,梯度幅值是f(x,y)在其最大变化率方向上的单位距离增加的量;
式中,f(x+1,y)表示y方向不变,x方向累加一个像素点的图像函数,f(x,y+1)表示x方向不变,y方向累加一个像素点的图像函数,其它含义同上;
式中,各符号含义同上。
根据提取出的模型特征作为训练样本,计算输入量与输出量之间关联性的估计函数,训练系统对于不同输出量的预测能力,在函数{f(x,ω)}中求得最优函数f(x,ω0)对变量y与x的关联性估计,并使得期望风险R(ω)为最小值:
式中,f(x,ω)表示预测函数,{f(x,ω)}表示预测函数的集合,ω表示广义参数,L(y,f(x,ω))表示使用函数f(x,ω)对输出量y进行预测与实际输出相比所造成的损失,h表示所预测的函数集的最大训练能力,n为训练样本,η∈[0,1]。
步骤二、特征提取:
输入脸部微表情的图像到预训练好的以VGG16作为骨干的SSD网络中,让图片经过卷积神经网络提取特征,并生成特征图。选择重要的特征子集,使用压缩搜索空间的启发式算法逼近最优解,该最优解作为特征子集,保留该特征子集并删除其余特征,对特征子集进行降维处理:
式中,
表示在高维数据中第i个样本分布在样本j周围的概率,
表示在低维数据中第i个样本分布在样本j周围的概率,x
i表示在高维数据中第i个样本,x
j表示在高维数据中第j个样本,x
k表示在高维数据中第k个样本,y
i表示在低维数据中第i个样本,y
j表示在低维数据中第j个样本,y
k表示在低维数据中第k个样本,W
i表示第i个输入单元和隐藏单元相关联的权值向量,b
i表示与隐藏单元相关联的偏置向量,a
i-1表示网络中隐藏层的输入量,f(∑W
ia
i-1+b
i)表示以权值向量、偏置向量、输入量作为变量产生的非线性输入映射函数。
对每个人脸图像的位置误差和置信度误差加权,得出损失函数:
式中,N表示先验框的正样本数量,c表示类别置信度预测值,l表示先验框所对应边界框的位置预测值,g表示ground truth的位置参数,W表示训练时得到的参数,y是样本真实标签值,m表示训练样本的数量,λ为正则化系数;
其中,αLloc(x,l,g)]的定义如下:
式中,xij k=1时表示第i个先验框与第j个ground truth的类别为p;
Lconf(x,c)可表示为预测框的损失函数与真实框的损失函数之和再取相反数,公式如下:
式中,前项
表示预测框i与真实框j关于类别p匹配的预测值,后项
表示预测框没有真实物体时的背景预测值。
以卷积核大小3×3、步长为1建立第一层卷积,卷积后得到30×30的特征图;将特征图的输入池化层进行化核大小为2×2、步长为2的最大池化之后,得到大小为15×15的特征图,将得到的15×15的特征图输入到第二层卷积层中,经过卷积核大小为4×4、步长为1的卷积操作之后,输出大小为12×12的特征图:
其中,第一层卷积池的计算步骤如下:
pool1:xl 1,j(1≤j≤1)=g(down(xl 1,j(1≤j≤30)))
第一层向量卷积运算如下:
conv1:xl 1=f(xl·W1,j+b1,j)
第二层卷积池的计算步骤如下:
pool1:xl 2,j(1≤j≤1)=g(down(xl 2,j(1≤j≤15)))
第二层向量卷积运算如下:
conv1:xl 2=f(xl·W2,j+b2,j)
式中,xl 1,j表示第1层的第l个输入样本,xl 2,j表示第2层的第l个输入样本,down(xl 1,j(1≤j≤3)表示在第1层的第l个输入样本中的下采样函数,down(xl 2,j(1≤j≤15)表示在第2层的第l个输入样本中的下采样函数,W1,j表示第1层卷积核的权值,b1,j表示第1层卷积核的偏置,W2,j表示第2层卷积核的权值,b2,j表示第2层卷积核的偏置。
步骤三、评估边界:
对每个特征图都执行卷积操作来评估默认边界框,对每个边界框预测偏移量和分类概率。采用边框预测公式预测偏移量:
计算分类概率:
式中,cx、cy表示grid cell的左上角坐标,tx和ty表示预测的坐标偏移值,dx、dy表示grid cell的右下角坐标,tw和th表示缩放尺度,pw和ph表示预设的anchor box的在feature map上的宽和高,Gw、Gh表示grid cell的左下角坐标。
步骤四、重生边界:
将不同特征图获得的边界框结合起来,执行非极大值抑制的方法过滤一部分重叠或者不正确的边框,生成最终的边界框集合,即检测结果。根据检测框与预选取检测框的loU值与阈值T对比:
式中,μi表示检测框i的比例惩罚因子,IoU(Pm·Pi)表示检测框Pi与置信度分度最大检测框Pm的IoU值,当IoU值小于给定阈值T时,检测框的比例惩罚因子为1。
步骤五、结果分类:
对检测结果用分类器分类。利用高斯核SVM构造出k个独立二元分类器k类数据进行分类,第m个二元分类器通过使用第m类的数据作为正训练样本,其余k-1个数据为负训练样本,对于训练数据xi和对应标签yi,判定函数为:
式中,ω
T+b表示分离超平面,ω表示与分离超平面垂直的权向量,b表示超平面的偏置向量,W
i表示第i个输入单元和隐藏单元相关联的权值向量,b
i表示与隐藏单元相关联的偏置向量,a
i-1表示网络中隐藏层的输入量,m表示训练样本的数量,
表示超平面之间的边缘带。添加一个全卷积层,以生成位置敏感分数图的score bank,运行一个全卷积RPN网络,以生成感兴趣区域。对于感兴趣区域,检查其中的score bank值,判断感兴趣区域是否匹配具体目标的对应位置,一旦每个k
2感兴趣区域都具备目标匹配值,则求感兴趣区域的平均值,得到每个类的分数。最好,对剩下C+1个维度向量进行softmax回归,完成分类。
如上所述,尽管参照特定的优选实施例已经表示和表述了本发明,但其不得解释为对本发明自身的限制。在不脱离所附权利要求定义的本发明的精神和范围前提下,可对其在形式上和细节上做出各种变化。