网站首页  词典首页

请输入您要查询的论文:

 

标题 基于卷积神经网络的微表情识别
范文

    薛天坤

    摘 要:卷积神经网络(CNN)是一类人工神经网络,对于处理复杂的人工智能问题展现了高效的特性,而对于微表情这类持续时间短,动作幅度小的模式识别提供了新契机。本文阐述了CNN在微表情模式识别上的应用,进行了不同构建模型对该任务的特性分析,并开展了CNN在CPU下的优化形式的特征分析。这包括了对整个网络结构的见解、卷积内在算法的强度、不同的训练方式对于网络影响、其可扩展的特性以及运行的动态特性。在特征分析中,我们给出了自动网络架构优化,这包括了高效的并行执行和两个卷积核传播器,并且利用了此种卷积网络在微表情应用上展现了较好的结果。

    关键词:卷积神经网络;深度学习;微表情识别

    中图分类号:TP391 文献标志码:A

    0 引言

    微表情是当人受到某种情绪影响时做出的一种下意识动作,它反映了人最真实的感情,常常使人在不知不觉中暴露自己的内在想法,从而让谎言无处可逃,它是一种非常有效的非语言线索.一些了解测谎原理的人有可能很容易就能经过测谎仪的考验,但他们在经过微表情检测时,往往束手无策。

    传统方法对微表情识别率低,图片预处理复杂。而深度学习能够完成对数据的抽象,将底层特征组合映射到高层特征,在满足可分性的同时具有更强的表征能力; CNN作为一种常见的深度学习结构,是前沿的识别任务中常用的一种方法。随着大量训练数据的应用以及计算机运算能力的提高,CNN处理问题的结果显得十分理想。CNN能自主进行特征提取以及识别精确性高且速度快,可以满足实时性的要求。

    CNN计算是密集的,特别是面对具有挑战性任务。例如我们每次计算会有数以亿计的浮点数计算,给我们带来极大计算量,每次训练需要迭代多次,因而可能完成整个过程需要几天或者一周。本文通过不同的计算方式计算,不同的训练模式测试,寻找最高效的网络拓扑结构;并且采取了并行CPU运行方式,Stencil-核和Sparse-核分析CNNs高性能的执行方式,比较分析CNN的可扩展性能、输出特性、计算强度特性。

    1 传统方法

    目前已经提出了多种应用于微表情识别的有效方法,如光流法,SVM、BP、CNN等。BP算法是一种局部搜索的优化算法,但它要解决复杂函数的全局最优解,因此效率低;Vapnik等人在多年研究统计学习理论的基础上对线性分类器提出了一种新设计准则,支持向量机。支持向量机具有很好的推广能力。但是SVM计算量过大,分类时间越长。而一张表情图像的样本数量常常数以万计,因此它一般不能满足实时性的要求;光流法应用于微表情识别,该方法能够成功地捕获微小表情变化、探测和区分宏表情和微表情。但值得注意的是,基于光流的方法需要一个恒定的光照条件,光流法计算量大,耗时长,在对实时性要求苛刻的情况下并不适用。总之传统神经网络缺陷在于它们是基于启发式特征提取的方法,需要设计者具备足够的先验知识,提取的特征往往是提取在研究对象中比较感兴趣的部分,具有片面性,损失了大量的信息。

    2 卷积神经网络

    传统的神经网络,是對于输入的浮点数据阵列传递到每一层之中,层与层之间通过全连接权值相乘累加,再通过相应的非线性函数得到输出结果。卷积神经网络建立在传统神经网络基础上。其与传统神经网络不同之处在于,CNN每一层只和小区域相连接,被分为一组一组特征图,所有特征图对应相同输入。由于使用该网络不需要对原始图像进行复杂的预处理,所以目前已在字符识别、图像识别、表情分类等领域广泛应用。它通过3种方式使网络学习到的特征更具有鲁棒性:局部感受野、权值共享和下采样。

    3 实验设计

    3.1 BP与SGD

    在反向传播算法提出之前人们应该想到了使用SGD学习模型,也想到了一些办法求解网络模型的偏导数,但这些算法求解效率比较低,所以提出反向传播算法来更高效的计算偏导数。反向传播利用链式法则,极大地加速了学习速度。

    梯度下降(GD)是最小化损失函数的一种常用方法。随机梯度下降(SGD)通过每个样本来迭代更新一次。如果是样本量很大的情况(例如几十万),对比批量梯度下降,迭代一次需要用到十几万训练样本,一次迭代不可能最优,如果迭代10次的话就需要遍历训练样本10次。

    3.2 对每层特征的分析

    下面通过对一张微表情图像通过不同数量卷积池化层得到的输出图像进行特征分析与对比分析。经过多次卷积、池化,得到了高级特征要点。这说明卷积池化结构对微表情特征提取是有效的,成功测试了卷积神经网络应用于微表情特征提取时的高效性。

    3.3 交叉训练与非交叉训练

    在利用反向传播对CNN的卷积核权重等进行训练时,一般基于两种方法,交叉训练与非交叉训练。非交叉训练即在反向训练时,一部分数据只用来训练,另一部分数据只用来测试;而交叉训练则是数据中有一部分既用来训练,又用来测试。下面通过图像来展示交叉训练的优势。

    3.4 卷积神经网络最佳层数寻找

    对于一般的卷积神经网络,随着卷积层数的增加,网络复杂度增大,意味着最终提取出的数据会更加抽象和高级,能够完成更大规模的学习,对原始图像识别的准确率更高。若要增加层数使网络更复杂,增加隐层的数目和单纯的增加隐层神经元的个数都可达到目的,但增加隐层的数目比增加隐层神经元数目更加有效,因为增加隐层数目不仅增加了拥有激活函数的神经元个数,还增加了激活函数嵌套的层数;但是,随着层数增加,所需的卷积核权重,也就是所需的训练参数变多,这需要更长训练时间,甚至会使计算复杂化,降低正确率。针对这个矛盾的问题,下面进行实验,通过比较随层数增多,识别错误率的变化情况以及所需训练时间长短,试图寻找最优层数方案。

    表1设计了四组实验对照,分别代表4种复杂程度不同的网络结构,前两组都有3个卷积层和3个池化层,但两组每层卷积核幅数不同;后两组都有两个卷积层和两个池化层,两组每层卷积核幅数也不同。对比各组实验结果不难看出,最优的神经网络模型是第一组。而且也可以发现:过于简单的模型,因为参数较少,无法拟合训练数据;过于复杂的模型,因为参数太多,容易过度拟合训练数据,降低泛化能力。

    我们再看下一个小实验的结果,如图1所示,虚线代表了出现错误的个数,通过观察其走势,我们发现,当层数达到5层~10层中某一层时,随着训练时间增加,识别错误的概率减小得越来越慢,最后甚至不再减小。说明层数增加到这一层时,已经达到了较高正确率,且该正确率几乎不再随层数增加而变化,那么这时再试图通过增加层数来提高正确率,就没有意义了。

    4.5 卷积加速

    通过了GEMM-IN-Parallel,通过多核提高了卷积计算在硬件上的可扩展特性,实现了多工作单线程工作,实现了并行的运算方式,每个核心之间是相互独立的。我们分析了每个核心数的并行特性,增加了核的数量,观察计算伸缩性能的变化。表明了随着核增加计算性能的变化,表明了随着核增加计算加速情况。图1是没加速地随着核增加计算性能比较。

    结语

    本文首先比较了深度学习中卷积神经网络相对于传统神经网络在微表情识别特征提取的优势,即通过权值共享、局部感受野、下采样过程使特征提取有更高的鲁棒性和正确率。

    利用了基础的卷积神经网络结构,对深度学习在微表情识别领域进行了探索和实验,主要基于4个方面对算法进行讨论和认知:(1)BP和SGD算法优势简述;(2)通过比较交叉训练和非交叉训练,展示了交叉训练的优势;(3)构建不同规模、不同复杂程度的CNN模型进行训练;(4)实验通过加入两个不同的计算核提高了计算速率并保证了计算正确率。实验结果表明,相比于传统算法,本文的方法对微表情识别这一任务有更优秀的表现。本文中CNN模型高度适用于一帧帧图像的识别,但对于较长的视频识别能力弱,也就是说,CNN对于短至几微秒的微表情识别水平高,但遇到持续时间较长的微表情或动作则表现不优秀。

    参考文献

    [1]刘宇灏.微表情识别的理论和方法研究[D].江苏:东南大学,2016.

    [2]贲晛烨,杨明强,张鹏,等.微表情自动识别综述[J].计算机辅助设计与图形学学报,2014,26(9):1385-1395.

    [3]施徐敢.基于深度学习的人脸表情识别[D].浙江:浙江理工大学,2015.

    [4]牛新亚.基于深度学习的人脸表情识别研究[D].广东:华南理工大学,2016.

    [5]陶勤勤.基于卷积神经网络和改进支持向量机的人脸检测[D].安徽:合肥工业大学,2016.

    [6]唐爽.基于深度神經网络的微表情识别[J].电子技术与软件工程,2017(3):93-95.

    [7]罗翔云,周晓慧,付克博.基于深度学习的人脸表情识别[J].工业控制计算机,2017,30(5):92-93.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/6 7:08:33