发明名称 基于判别分量分析的人脸表情识别算法
摘要 本发明涉及一种基于判别分量分析的人脸表情识别方法,具体涉及一种基于改进DCA的人脸表情识别方法,该方法首先按照最大类内距离和最小类间距离的准则获得样本子集;然后计算样本子集的投影矩阵;最后将样本与投影矩阵相乘,通过最近邻法判断样本的类别,完成人脸表情识别任务。本发明不但将DCA算法迁移到人脸表情识别领域,而且根据实际情况,提出了基于DCA的改进算法。实验结果证明了算法的有效性,在JAFFE图像库上最终达到了95.71%的平均识别率。
申请公布号 CN102831389B 申请公布日期 2015.03.11
申请号 CN201210224035.4 申请日期 2012.06.28
申请人 北京工业大学 发明人 贾克斌;蒋斌;郭伟
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 刘萍
主权项 一种基于判别分量分析的人脸表情识别方法,其特征在于,步骤如下:步骤(1),样本的初始化步骤(1.1),采用交叉验证中的留一法,将人脸表情图像分为若干组,每次仅测试每组中的一个样本,余下所有样本全部参与训练,然后取实验的平均结果;步骤(1.2),以人眼位置为基准获取人脸范围,对人脸图像进行分割;步骤(1.3)采用直方图均衡降低光照因素对图像造成的影响;步骤(1.4),采用PCA算法对训练样本进行数据降维;步骤(2),采用改进的DCA算法对样本进行特征提取;步骤(3),采用欧氏距离最近邻法实现特征分类;通过留一法,取实验的平均结果为表情识别率,最终完成人脸表情识别;具体的,改进的DCA算法分两部分:获取样本子集、计算投影矩阵;步骤(2.1),生成样本子集算法将样本子集作为数据组织形式,所谓样本子集是指一些小的样本集合,每个子集里面包含的样本都属于同一类,但是类别未知;每一个样本子集代表一类样本;生成样本子集的步骤如下:步骤(2.1.1),将样本按照类别是否相同的准则,两两组合为若干样本对;如样本对属于同一类,则样本对属于集合S;如样本对不属于同一类,则样本对属于集合D;步骤(2.1.2),计算同类样本对集合S中的样本对之间的距离;计算每个样本对元素之间的马氏距离,将这些距离值按照从大到小的顺序排列,然后按照比例选取排列靠前的距离值对应的样本对,按照比例为选择相应比例的样本对得到新的样本对集合S2;步骤(2.1.3),计算不同类样本对集合D中的样本对之间的距离;将这些距离值按照从小到大的顺序排列,然后按照设定的比例选取排列靠前的距离值对应的样本对,得到新的样本对集合D2;步骤(2.1.4),从S2中生成样本子集;首先确定S2中的样本数量;令‑1表示样本还没有被分配到一个样本子集,然后依据条件依次判断每一个样本对中的样本归属哪个样本子集;如一个样本对二者都未分配,所以将该样本对归入同一个样本子集;对一个样本对而言,一个样本已分配而另一个样本未分配,因为二者属于同一个样本对,因此按照一个样本所属的样本子集将另一个样本归入同一个样本子集;对一个样本对而言,二者都未分配,因此将二者归入同一个样本子集;以此类推,最终生成样本子集C1,C2,C3...,Cn,其中n表示子集的数量,即样本的类别数量,每个子集中包含一类样本;若同一个样本对中的两个样本被分配到两个子集,则将标号大的子集归入到标号小的子集;步骤(2.2),计算投影矩阵获取样本子集C1,C2,C3…,Cn后,得到样本子集的投影矩阵;算法通过计算样本子集的类内散度,获得同类样本之间的距离;采用D2计算样本子集的类间散度,获得不同类样本之间的距离;在使同类样本的距离最近,不同类样本的距离最远的约束条件下,得到最佳的投影矩阵,投影矩阵对样本的映射结果就是样本的表情特征;得到表情特征后,采用欧氏距离最近邻法实现特征分类;通过留一法,取实验的平均结果为表情识别率,最终完成人脸表情识别。
地址 100124 北京市朝阳区平乐园100号