本发明涉及一种基于图像人物面部表情识别的特征提取优化方法,主要利用基于统计特征提取的二维主成分分析法和改进的粒子群算法优化图像矩阵的解,属于图像处理、模式识别和计算机视觉交叉技术应用领域。

背景技术:

特征提取优化方法的目的在于避免在提取主要特征时,过早的陷入早熟收敛而降低了面部表情的精确度。根据图像对人物面部表情的识别,在现在的人工智能的应用中已经成为热点问题,在计算机视觉方面对人物实时的情绪变化分析具有重要作用。对于人脸表情特征的提取主要有以下三种方法:

(1)主成分分析法:最常用的线性降维方法。目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。

(2)粒子群算法:一种基于群体叠代的方法。方法是粒子在解空间中追随最优的粒子进行搜索。其优点在于无需梯度信息、参数少,特别是天然的实数编码特点适合于处理实优化问题。

(3)遗传算法:一种基于进化论自然选择、优胜劣汰、适者生存和物种遗传思想的一种搜索方法。目标是通过模拟生物在自然环境中生存竞争与遗传变异等遗传行为,让问题的解在竞争中得以改进,以求得问题的最优解。

技术实现要素:

技术问题:本发明的目的在于弥补现有对图像面部表情识别中对特征提取的不足,提出了一种基于图像人物面部表情识别的特征提取优化方法。该方法将改进的主成分分析方法与融入了遗传算法的粒子群算法想结合,解决了在对于图像中人物面部表情的细致化提取,又避免了在提取过程中数据量过大和陷入早熟收敛的问题。本发明有效的提取出精确的面部表情特征,具有局部最优化和全局表情多样性的特点。

技术方案:本发明所述一种基于图像人物面部表情识别的特征提取优化方法包括以下步骤:

步骤1):输入m*n的面部图像矩阵A,设置Y=AX,所述m表示图像矩阵的列数,n表示图像矩阵的行数,X是指该图像的投影轴,Y表示图像投影特征向量;

步骤11):设置M和{x1,x2,...,xM},所述M表示训练样本的图像数量,{x1,x2,...,xM}是指训练样本图像中每个图像的集合,设置{Q1,Q2,…,QN}表示训练样本图像来自N种表情Q,其中来自第k种表情的图像数量为Mk,计算所述表示训练样本图像x的均值,计算所述St表示训练样本图像x的总体散布矩阵;

步骤12):设置J(x)=tr(Sx),所述Sx是指训练样本图像x对投影特征向量Y的协方差矩阵,用公式Sx=E(Y-EY)(Y-EY)T表示,tr(Sx)是指Sx的迹,J(x)是指最佳投影方向函数,此公式结合步骤11)中的St表达公式更新最佳投影方向函数得到J(x)=XTStX,当Xopt={X1,X2,…,Xj},图像投影特征向量Yj=AXj组成矩阵B=[Y1,Y2,…,Yj],所述Xopt表示有j个最佳投影方向,即J(x)有j个最大特征值所对应的特征向量,矩阵B表示面部图像矩阵A的主成分特征;

步骤2):优化表示表情特征的矩阵B,具体步骤如下:

步骤21):对Y中每个元素赋予优化权值,权值以矩阵形式表示为W,W*设置为矩阵W的最优解,设置Ci=(ci1,ci2,…,ciD)和Vi=(vi1,vi2,…,viD),所述Ci表示第i个粒子的位置,Vi表示第i个粒子的速度,D表示粒子在搜索空间中的维度,设置pbest表示每个粒子在自身求解过程中得到的最好适应度所对应的位置即局部最优解,设置gbest表示所有粒子在局部最优解中的最高适应度值所对应的解即全局最优解;

步骤22):更新每个粒子的位置和速度

所述t和d分别表示在D中的第t次迭代和第d维度,惯性权重w表示嵌入先前速度的迭代影响,r1和r2表示在[0,1]范围内的随机值,h1和h2是指加速度常数;pid和pgd表示第d维中pbest和gbest的元素;

步骤23):修改粒子的速度:

所述是指在第d维度中,将pbest使用平均搜索,所述是指在第d维度中,将gbest运用高斯分布,φ(o,h)表示高斯分布,o表示h分布的平均值,和表示在d维度中决策向量的上下限;

步骤24):设置粒子的适应度函数Fit(G)=wa*accg+wf*(num_featf)-1,所述accg表示分类性能,num_featf表示所选特征的数量,G表示accg和num_featf组成的标准,其中分类精度分数表示每个表达式的准确性,wa和wf分别表示分类性能和所选特征数量的两个预定权重,wa=1-wf;

步骤25):粒子迭代求解,当迭代没有达到次数,返回步骤2),重新评估每个粒子的适应度;

步骤3):粒子划分成不同的面部表情部分,步骤如下:

步骤31):生成二级群体,设置领导粒子L,表示经过多次迭代中的最佳粒子,设置跟随粒子F,表示与最佳粒子相关度最低的粒子,否则,返回步骤25),重新评估粒子的适应度;

步骤32):将二级群体中的每个粒子分成多个特征子部分,每个子部分由指示特定面部区域的部分维度组成;重复步骤2)中的操作,为特征子部分更新最佳解决方案,更新的最佳解决方案替换二级群体中的粒子,设置表示n个已优化全局最优解W*;

步骤4):特征矩阵B中的每一个元素和每个W*元素相乘聚类,根据输入图像和训练样本的特征矩阵B计算距离并利用人工神经网络分类表情特征。

其中,

所述步骤21)中,粒子数按照经验取30,表示利于粒子群体的再优化。

所述步骤22)中,加速度常数h1=h2=2。

所述步骤24)中,wa按照经验取0.9,wf则取0.1,表示此时粒子的适应度最佳。

所述步骤31)中,按照经验领导粒子取1,跟随粒子F取4,表示可取范围的精确化。

所述步骤32)中,二级群体中的每个粒子按照经验分成5个特征子部分,表示人物面部表情的5个最佳识别部分。

有益效果:本发明提出的一种基于人物面部表情识别的特征提取优化方法,具体有益效果如下:

(1)本发明通过对主成分分析法的改进,改善对图像中主成分的定位和分析,提高了对表情识别的精确度,其二维的提取图像的方法有效的降低了数据计算的数量和维度;

(2)本发明将经过提取主成分后的表情图像矩阵元素赋予优化的权值,利用粒子群算法的思想,把每个优化问题的解看作是搜索空间中的一个粒子,通过改变粒子群的速度、位置等参数优化全局且具有实时性;

(3)本发明又结合改进的遗传算法,解决了表情识别中数据的过早收敛问题,且增强了粒子在搜索空间中的多样性,使得部分有用数据不易流失。

附图说明

图1是对人物面部表情图像的主成分特征提取流程图。

图2是对改进粒子群算法的二次分群的具体描述流程图。

图3是结合了嵌入遗传算法的PSO算法优化主成分的提取特征的过程流程图。

具体实施方式

下面对本发明附图的某些实施例作更加详细的描述。

在具体实施中,图1是对人物面部表情图像的主成分特征提取流程图。首先将输入的大小为30*20的面部图像设定为矩阵A。X是30维表示投影轴的列向量,将Y=AX的线性变化直接投影到X上,得到一个30维表示投影特征的列向量Y,最佳投影轴Xopt可以根据特征向量Y的散度分布情况来决定。用训练样本对投影特征向量Y的协方差矩阵Sx的迹来表示最佳投影方向函数,即J(x)=tr(Sx),其中训练样本图像来自已有图像数据库,用于给定面部图像的映射,协方差矩阵用公式表示为Sx=E(Y-EY)(Y-EY)T。

将M幅大小为30*20的人脸表情图像作为训练样本。这些图像来自N种表情,其中来自第k种表情的图像数量为Mk。计算所有样本均值和总体散布矩阵结合以上所有公式转换得到J(x)=XTStX,最佳投影方向Xopt是此函数最大特征值对应的特征向量。若满足J(x)函数的Xopt有20个,那么Xopt={X1,X2,…,X20},则Y20=AX20组成了图像A的主成分特征矩阵B=[Y1,Y2,…,Y20]。

接下来优化以上提及的主成分特征矩阵B,图2是对改进粒子群算法的二次分群的具体描述流程图。由于粒子在搜索空间中,通过跟随全局最优解来找到最优解决方案。由此初始化具有30个粒子的粒子群,并对Y中每个元素赋予优化权值,令它的矩阵形式是W,而W的最优解为W*。每个粒子Zi的位置为W的一个解,在D维度搜索空间中的位置是Ci=(ci1,ci2,…,ciD)和速度Vi=(vi1,vi2,…,viD)。pbest是每个粒子在自身求解过程中得到的最好适应度所对应的粒子的位置为局部最优解,gbest是所有粒子在局部最优解中的最高适应度值所对应的解为全局最优解。

更新每个粒子的位置和速度t和d分别是D中的第t次迭代和第d维度,惯性权重w用于嵌入先前速度的迭代影响,r1和r2是[0,1]范围内的随机值,h1和h2是加速度常数,通常为2,pid和pgd表示第d维中pbest和gbest的元素。

为了在第d维度中更好的维持搜索多样性的能力,修改粒子的速度:是使用了平均搜索的pbest,是运用高斯分布的gbest。其中的φ(o,h)是高斯分布,o表示h分布的平均值,作为在执行过程中线性下降的标准差,和是决策向量在d维度中的上下限。

然后对每个粒子的适应度进行评估,标准G由分类性能accg和所选特征的数量num_featf组成,其中分类精度分数表示每个表达式的准确性,而不是所有情感类别的组合精度,这有助于避免在优化过程中对特定情绪类别的偏见,使得表情的定位更具体精确化。Fit(G)=wa*accg+wf*(num_featf)-1是粒子的适应度函数。wa和wf分别是分类性能和所选特征数量的两个预定权重,表示其相对重要性,而wa=1-wf。当wa=0.9,wf=0.1时,适应度函数最优。若粒子的迭代没有达到次数,则重新评估每个粒子的适应度,并再次进行对粒子群的速度、局部最优解和全局最优解的更新操作。

粒子群生成二级群体,经过多次迭代得到1个最佳粒子作为二级群体的领导粒子L,并选取4个与最佳粒子相关度最低的跟随粒子F。在搜索领导粒子L和随者粒子F的过程中,依旧不断的更新pbest和gbest,此做法可增强搜索的局部开发和多样性。

最后将二级群体中的每个粒子分成5个特征子部分,每个子部分由指示特定面部区域的部分维度组成,例如鼻子、嘴巴、眼睛、眉毛、脸颊5个表情特征突出的部位,这有利于表情的定位和识别。不断重复对粒子群的更新和修改操作,为相应的特征子部分更新最佳解决方案。每次所得最佳解决方案替换二级群体中的粒子,最终得到优化的全局最优解将特征矩阵B中的每一个元素和每一个W*元素相乘聚类,再根据给定图像和训练样本的特征矩阵计算距离并利用人工神经网络分类表情特征,图3是结合了嵌入遗传算法的PSO算法优化主成分的提取特征的过程流程图,整个方法结束。

python提取人物特征_基于图像人物面部表情识别的特征提取优化方法与流程相关推荐

  1. 大数据标签获取处理步骤_基于大数据的用户深层标签挖掘方法与流程

    本发明涉及大数据应用技术领域,尤其涉及一种基于大数据的用户深层标签挖掘方法. 背景技术: 用户画像建立的过程就是添加相应的标签,在数据挖掘领域称为标签化.标签是通过对用户信息分析而得到的高度精炼的特征 ...

  2. matlab 平面反射,一种基于MatlabGUI平台的反射板型面优化方法与流程

    本发明属于海洋工程领域,尤其是涉及一种反射板型面优化方法. 背景技术: 在灯管安装灯座之后,由于灯管的光线照明方向呈辐射状,使得位于灯座下方的所需照射范围实际上仅能获得部分的照明亮度,其余的照明光线则 ...

  3. python控制小车前进_基于图像处理和tensorflow实现GTA5的车辆自动驾驶——第四节通过Python控制人物前进后退...

    代码已放到码云 一开始想采用PyAutoGUI,然后GTA并不支持,遂采用DirectX的输入模式 这部分的代码看不太懂了,我就Github上搜了一下代码,然后调整了一下. Keys.py文件 键盘映 ...

  4. python提取word参考文献_写作相关 | word中参考文献转化为.bib格式全流程

    因为在latex中编辑不方便修改和审阅,所以一般都会选择在word中编辑文本后,再放入latex中进行排版.但是如果参考文献和引用不是用endnotes等管理好的话,在导入参考文献到latex中就比较 ...

  5. 基于图像的火焰识别调研总结

    转载请注明出处https://blog.csdn.net/Hey_chaoxia/article/details/85054870 简单总结一下近期的调研结果: 一.简介 火焰的图像识别,主要围绕火焰 ...

  6. 水位尺读数识别 python_一种基于人工智能识别水尺水位的方法与流程

    本发明涉及深度学习算法在计算机视觉领域的应用,具体是指基于深度神经网络,自动识别图片中水尺位置及刻度的方法. 背景技术: 水位是河流湖库的基本水文要素之一,由于城市及灌区对于供水量.暴雨及洪水流量.径 ...

  7. matlab血糖预测,一种基于VMD-PACF-BP模型的动态血糖在线预测方法与流程

    本发明属于血糖预测技术领域,尤其涉及一种基于VMD-PACF-BP模型的动态血糖在线预测方法. 背景技术: 目前,中国患有糖尿病人数已成为在世界上拥有糖尿病患者最多的国家.为了降低糖尿病患者长期处于高 ...

  8. python红楼梦人物统计_基于共现使用Python来分析《红楼梦》中贾宝玉与金陵十二钗的关系...

    上一篇,我们使用Python分析了<三国演义>中人物出现次数(罗贯中的<三国演义>中到底谁是主角?我们使用Python来分析一下),文中我们仅仅从人物出现次数,来推断出这部作品 ...

  9. open cv提取图片特征值_基于VGG16网络提取Flicker8K数据集图像特征

    # !/usr/bin/env python3 # -*- coding: utf-8 -*- # @Time : ${20200326} ${18:00} # @Author : ZicoZhou ...

最新文章

  1. 机器学习入门(05)— 使用 NumPy 实现 3 层简单神经网络
  2. 光测力学-栅线投影/面结构光技术
  3. CISP/CISA 每日一题 11
  4. OpenCASCADE:适用于 iOS 的 OCCT 示例
  5. 做最酷的Windows Phone应用
  6. 冒泡排序-----选择排序1-2
  7. 2017.10.16 水管局长水管局长数据加强版 思考记录
  8. python手机版-python做app
  9. 用简单 JS 实现代替 MYBATIS LOG PLUGIN 的功能
  10. 2020.2.22基于L大源码的Lede x86 软路由精简版固件
  11. C++ 遍历json文件
  12. python弹幕拼脸_50行代码帮你搞定!手把手教你把视频弹幕变成想要的形状
  13. 成功,侥幸,以小博大?永远离不开的墨菲定律
  14. 不要把别人对你的好,当作是理所当然
  15. 笔记本电脑开机黑屏没反应怎么办
  16. 各种智能跟随定位技术解剖
  17. 代码格式化工具:pretter
  18. IntelliJ IDEA 2018.3 安装、永久破解及新特性说明
  19. 重磅 !微软官方出了免费 Python 视频教程
  20. OpenFlow——抓包packet_in和packet_out消息

热门文章

  1. Wilbur and Array
  2. 侏儒の言葉---あなたの一生に感動する「三」
  3. NAND Flash硬件原理
  4. 近20万奖金+ 学术会议论文:2021PAKDD异常检测大赛来了!
  5. Pytorch 结合Sobel滤波的卷积操作来提取图像的轮廓图!
  6. 【爸耕田去】专辑的原唱
  7. 词云中去重复的词_为什么要避免标题关键词重复?
  8. Spring Data Neo4j解除两个节点之间的关系
  9. 正在通过app store进行鉴定解决方案
  10. CMS 执行的七个阶段