论文部分内容阅读
人脸识别是模式识别研究领域中的一个内容,是一个近年来得到广泛关注的研究热点,和其相关的应用范围也在不断扩展。传统的用于人脸识别的算法都是先将二维图像转化为一维的列向量,再以该列向量作为原始特征进行分析。而图像在向量化后像素之间的空间相关性极有可能遭到破坏;而且由它产生的统计参数的维数极大导致高的计算复杂度和存储代价;最后,通常样本的个数远小于向量的维数,这就会导致协方差矩阵奇异的问题。张量子空间下的人脸识别是从图像本身特性进行考虑,不需要把图像转化为一个一维向量,而是以二阶张量的形式来处理。这样保持了图像像素间的共生关系,降低了协方差矩阵的维数,同时也避免了小样本问题,提高了人脸识别效果。本文研究并实现了张量子空间下的张量主成分分析TensorPCA算法和张量线性判别分析TensorLDA算法;并且对TensorLDA算法中两个投影矩阵不能同时计算,低维特征提取不充分的问题,提出了先用单位矩阵初始化,再利用优化准则求另一个投影矩阵,并进行多次迭代的改进方法。采用ORL和Yale数据库测试算法的性能,在ORL人脸数据库上TensorPCA比PCA的平均识别率高1.713%,It-TensorLDA比TensorLDA的平均识别率高1.88%,比Fisherfaces的平均识别率高3.03%;Yale人脸数据库上TensorPCA比PCA的平均识别率高1.3%,It-TensorLDA比TensorLDA的平均识别率高0.91%,比Fisherfaces高3.14%。本文针对算法实现过程中矩阵乘法和利用Jacobi求特征值和特征向量耗时较多的问题,进行多线程划分和数据分组的并行实现。采用OpenMP和SSE两种技术进行并行化,并比较了算法的运行速度。以Intel CoreTM2双核计算机为平台,结果显示:多线程并行化后TensorPCA提高了1.407倍;数据并行化后TensorPCA提高了1.583倍;同时并行化后TensorPCA提高了1.869倍。多线程并行化后TensorLDA提高了1.572倍;数据并行化后TensorLDA提高了1.167倍;同时并行化后TensorLDA提高了1.856倍。