本发明涉及人工智能领域,尤其涉及一种基于维纳滤波与pca的人脸识别方法及系统。
背景技术:
人脸识别技术是一种生物识别技术,应用于基于人脸特征自动识别人物,综合了数字图像、视频处理、模式识别等多种技术。自20世纪90年代以来,人脸识别逐渐成为模式识别和人工智能领域的研究热点。随着人脸识别技术的快速发展,基于学习的统计识别方法成为人脸识别的主流方法,由于其高特征维度,在计算过程中增加了时间复杂度和空间复杂度。估计高维特征空间的参数很困难,因此通过特征提取或特征变换在原始高维特征图像上获得的有效人脸识别特征是必要的。
技术实现要素:
本发明的目的是解决现有技术的不足,提供一种基于维纳滤波与pca的人脸识别方法及系统,能够通过维纳滤波的方式对人脸图像进行去噪,并通过pca对降噪后的人脸图像进行降维提取有效特征,最后通过rbf-svm的方式进行人脸识别,可以有效提高人脸识别的速度还有鲁棒性。
为了实现上述目的,本发明采用以下的技术方案:
提出一种基于维纳滤波与pca的人脸识别系统,包括:
图像获取单元,所述图像获取单元用于获取用户的图像信息得到第一图像;
图像预处理单元,所述图像预处理单元用于对所述第一图像进行预处理得到第二图像;
人脸区域获取单元,所述人脸区域获取单元用于对所述第二图像进行人脸检测,缩减所述第二图像的感兴趣区域得到第三图像;
人脸识别单元,所述人脸识别单元用于对所述第三图像通过pca的方式进行特征提取,并根据提取的特征通过rbf-svm分类器完成人脸识别。
本发明还提出一种基于维纳滤波与pca的人脸识别方法,包括以下:
步骤201、获取用户的图像信息作为第一图像;
步骤202、对所述第一图像进行预处理操作得到第二图像;
步骤203、对所述第二图像进行人脸检测,缩减所述第二图像的感兴趣区域得到第三图像;
步骤204、对所述第三图像通过pca的方式进行特征提取,并根据提取的特征通过rbf-svm分类器完成人脸识别。
进一步,上述步骤202中对所述第一图像进行预处理操作得到第二图像的操作具体为,通过调用matlab中的wiener2函数的方式对所述第一图像进行滤波处理得到第二图像,其中所述wiener2函数具体包括以下:
h=wiener2(j,[mn],noise),[h,noise]=wiener2(j,[mn]),h=wiener2(j,[mn],noise),其中m和n的默认值均为3,noise为图像中的噪声,j为所述第一图像,h为所述第二图像。
进一步,上述步骤203所述缩减所述第二图像的感兴趣区域得到第三图像具体包括以下:
步骤401、获取第二图像的首地址,第二图像的高和宽;
步骤402、开辟一块内存缓冲区,将所述内存缓冲区初始化为255;
步骤403、将第二图像进行二值化处理,后通过opencv获得人脸区域;
步骤404、在人脸区域内,跟踪人脸区域的边界点,找到一个二值化值为1的边界点,将内存缓冲区中该点的r、g、b设为255;
步骤405、重复步骤404,直到回到跟踪初始点;
步骤406、将内存缓冲区的内容复制到第二图像中得到第三图像。
进一步,上述步骤204中所采用的pca方式的协方差矩阵g具体为下述式子,
而训练上述样本xi的矩阵a如下式所示,
采用的pca方式在降维后的特征向量矩阵g如下式所示,
采用的pca方式的每一个训练样本的特征向量νi的投影空间构造ui如下式所示,
进一步,上述步骤204中的rbf-svm分类器的rbf核函数krbf如下式所示:
所述rbf-svm分类器的分类超平面的获取如下式所示:
f(xi)=sgn{∑htyt[krbf(νi,νj)+b]}
其中ht与yt分别代表分类超平面,b为常数。
本发明的有益效果为:
本发明在采用上述的系统以及方法时能够获得以下有益效果:
本发明通过维纳滤波的方式对人脸图像进行去噪,并通过pca对降噪后的人脸图像进行降维提取有效特征,最后通过rbf-svm的方式进行人脸识别,可以有效提高人脸识别的速度还有鲁棒性。
附图说明
图1所示为本发明一种基于维纳滤波与pca的人脸识别方法流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
参照图1,本发明提出一种基于维纳滤波与pca的人脸识别系统,包括:
图像获取单元,所述图像获取单元用于获取用户的图像信息得到第一图像;
图像预处理单元,所述图像预处理单元用于对所述第一图像进行预处理得到第二图像;
人脸区域获取单元,所述人脸区域获取单元用于对所述第二图像进行人脸检测,缩减所述第二图像的感兴趣区域得到第三图像;
人脸识别单元,所述人脸识别单元用于对所述第三图像通过pca的方式进行特征提取,并根据提取的特征通过rbf-svm分类器完成人脸识别。
本发明还提出一种基于维纳滤波与pca的人脸识别方法,包括以下:
步骤201、获取用户的图像信息作为第一图像;
步骤202、对所述第一图像进行预处理操作得到第二图像;
步骤203、对所述第二图像进行人脸检测,缩减所述第二图像的感兴趣区域得到第三图像;
步骤204、对所述第三图像通过pca的方式进行特征提取,并根据提取的特征通过rbf-svm分类器完成人脸识别。
其中pca是可以从高维特征集中提取有效特征的方法,其目的是在最小均方误差的意义上找到能够最好地表示原始数据的投影。pca不仅可以有效地减少人脸图像的尺寸,还可以保留人脸图像的主要识别信息。开发过程中,sirovich和kirby首先提出了k-l变换,以实现人脸图像的最佳表示。turk和pentland进一步提出了“面部特征”概念,后来,gao提出了efld人脸识别方法,该方法对人脸特征子空间的投影应用不同的判断基础,以实现识别率的提高。
信号滤波的实质为从观测信号中提取有效信号,随着数学理论的发展与实际应用的需求,基于不同原理的滤波方法被不断的提出来,虽然依据的准则,推导的过程各有差异,但最终的目的均是减小信号估计的误差,使滤波系统的输出信号尽可能的接近实际信号。维纳滤波是在第二次世界大战中为了解决火力控制系统精确跟踪问题,winer相继提出了平稳随机过程的最优线性滤波理论,首次将数理统计知识和线性系统理论联系起来,形成了对随机信号作平滑,滤波和预测的最新估计理论。在此后的发展中,winer滤波被应用于更多的领域,并沿用至今。
支持向量机(svm)由corinnacortes和vapnik于1995年提出,其主要思想是建立一个决策超平面,它不仅可以分离两个采样点而不会出现错误而且还要使两个类别的分类间隙最大,以达到分类目的,确定这个决策平面的点称为支持向量。由于人脸图像样本分布复杂,使用简单的svm分类超平面很难获得良好的分类效果。因此,通过非线性变换将人脸样本转化为高维空间,构造出更精确,更复杂的超平面,从而获得更理想的分类效果。此转换过程中使用的函数称为内核函数。本文选择的rbf核函数是局部核函数,可以快速学习实际样本的分类。
pca是可以从高维特征集中提取有效特征的方法,其目的是在最小均方误差的意义上找到能够最好地表示原始数据的投影。pca不仅可以有效地减少人脸图像的尺寸,还可以保留人脸图像的主要识别信息。但是传统的pca识别方法只能在控制的环境中识别脸部,当面部图像受到不同的光照,表情和姿势的影响时,识别率大大降低。因此本文提出了基于维纳滤波和pca的人脸识别方法,一方面,维纳滤波变换用于预处理原始面部图像。另一方面,pca用于提取面部图像的主要成分特征。最后,pca提取的特征由rbf-svm进行学习和分类完成人脸识别。无论是识别速度和鲁棒性,识别效率均优于基于pca和svm方法。
作为本发明的优选实施方式,上述步骤202中对所述第一图像进行预处理操作得到第二图像的操作具体为,通过调用matlab中的wiener2函数的方式对所述第一图像进行滤波处理得到第二图像,其中所述wiener2函数具体包括以下:
h=wiener2(j,[mn],noise),[h,noise]=wiener2(j,[mn]),h=wiener2(j,[mn],noise),其中m和n的默认值均为3,noise为图像中的噪声,j为所述第一图像,h为所述第二图像。
作为本发明的优选实施方式,上述步骤203所述缩减所述第二图像的感兴趣区域得到第三图像具体包括以下:
步骤401、获取第二图像的首地址,第二图像的高和宽;
步骤402、开辟一块内存缓冲区,将所述内存缓冲区初始化为255;
步骤403、将第二图像进行二值化处理,后通过opencv获得人脸区域;
步骤404、在人脸区域内,跟踪人脸区域的边界点,找到一个二值化值为1的边界点,将内存缓冲区中该点的r、g、b设为255;
步骤405、重复步骤404,直到回到跟踪初始点;
步骤406、将内存缓冲区的内容复制到第二图像中得到第三图像。
作为本发明的优选实施方式,上述步骤204中所采用的pca方式的协方差矩阵g具体为下述式子,
而训练上述样本xi的矩阵a如下式所示,
采用的pca方式在降维后的特征向量矩阵g如下式所示,根据按降序排序的协方差矩阵的特征值更新相应的特征向量矩阵。因为矩阵尺寸太大,因此用奇异值分解(svd)来降维,
在由g得到特征值λi以及特征向量νi后,采用的pca方式的每一个训练样本的特征向量νi的投影空间构造ui如下式所示,
作为本发明的优选实施方式,上述步骤204中的rbf-svm分类器的rbf核函数krbf如下式所示:
所述rbf-svm分类器的分类超平面的获取如下式所示:
f(xi)=sgn{∑htyt[krbf(νi,νj)+b]}
其中ht与yt分别代表分类超平面,b为常数。
由于人脸图像样本分布复杂,使用简单的svm分类超平面很难获得良好的分类效果。因此,通过非线性变换将人脸样本转化为高维空间,构造出更精确,更复杂的超平面,从而获得更理想的分类效果。此转换过程中使用的函数称为内核函数。本文选择的rbf核函数是局部核函数,可以快速学习实际样本的分类。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储的介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。