线性判别分析人脸识别系统的研究与实现
【摘要】:人脸识别技术是模式识别领域非常热门的研究课题之一,具有直接、方便、友好、易于被用户接受等优点,在海关、公安、银行等部门有着广泛的应用前景。它涉及到图像处理、模式识别、生理学、机器视觉等多个领域。广义的人脸识别通常包括人脸检测、图像预处理、特征提取和识别等技术,其中人脸检测和特征提取是人脸识别系统中非常关键的组成部分。
本文详细分析了AdaBoost算法、主元分析法(PCA)、Fisher线性鉴别分析法(Fisher LDA, LDA).基于最大散度差线性鉴别分析法(MSLDA)和二维线性鉴别分析法(2DLDA)的基本原理。在这些研究工作的基础上,本文提出了如下三个创新算法。
(1)提出一种结合肤色检测和AdaBoost算法的自动调焦实时人脸检测方法。该方法首先采用肤色信息定位皮肤区域,然后统计肤色区域像素数,再根据像素数进行调焦,最后采用AdaBoost算法进行人脸检测。实验结果表明该方法在传统AdaBoost算法的基础上缩短了检测时间,同时,由于消除了非肤色区域检测出人脸的可能性并改善了远距离人脸检测的缺陷,检测率提高了2.26%,误检率降低了2.56%。
(2)提出了一种新的基于半偶图像的分块LDA方法(BHELDA)。该方法采用半偶图像作为样本,对样本进行分块、并对各分块采用LDA方法提取特征,最后融合各分块特征进行分类识别。采用MATLAB对上述方法进行仿真,实验结果表明BHELDA方法降低了样本维数,削弱了姿态、表情的影响,兼顾了图像的局部特征,其识别率达100%。
(3)提出了一种基于半偶图像的2DLDA方法(HE2DLDA)。该方法采用2DLDA算法直接提取半偶图像的人脸特征。和LDA方法相比,2DLDA方法不仅解决了LDA算法的小样本问题,而且得到的离散度矩阵更加精确,其维数也大大降低,从而使得特征提取时间大为减少。在2DLDA方法的基础上,HE2DLDA算法采用半偶图像作为样本,进一步降低了离散度矩阵的维数,使得其特征提取时间更为优化。实验结果表明,HE2DLDA方法特征提取时间优于LDA方法和2DLDA方法,并且具有同等的识别性能。
最后,在Visual C++6.0和OPenCVl.0平台上开发了整个人脸识别系统,并取得了比较满意的识别效果。实现了人脸识别技术的实际应用价值。