以圖形處理器加速臉部辨識
No Thumbnail Available
Date
2013
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
臉部辨識(Face Recognition)是一種生物辨識,透過臉部特徵進行身分辨識。其中主成分分析法(Principle Component Analysis, PCA)被廣泛運用在臉部辨識,因為此法可以保留臉部特徵的主要成分,以降低資料維度及計算複雜度。運用主成分分析法進行臉部辨識分為訓練與辨識兩步驟。在訓練步驟,傳統的主成分分析法先計算訓練樣本的共變異矩陣並求得主成分的特徵向量。在辨識步驟,則透過計算訓練樣本與測試樣本投影在主成分特徵向量上投影量,決定辨識結果。
主成分分析法在針對高資料維度,計算共變異矩陣的特徵向量所花費的時間與所需記憶體空間都相當可觀。本研究提出以圖形處理器(Graphical Processing Units, GPU)分別加速臉部辨識的訓練與辨識步驟,其中訓練步驟以GPU加速NIPALS和GS於計算訓練樣本的的主成分,辨識步驟則以GPU加速測試樣本對特徵向量的投影計算。實驗結果顯示相較於OpenCV的Eigenface,訓練部分NIPALS GPU在得到5.9倍的加速,GS GPU則有5.25倍的加速,辨識方面能夠有1.57倍的加速效果。
Face Recognition is one of biometric recognitions used to identify a person by facial features. Principle Component Analysis(PCA) has been widely used in face recognition because it can retain the main component of facial features, and therefore reduce the data dimension and computing complexity. Using PCA for face recognition has two phases:training and recognition. In the training phase, the traditional PCA calculates the covariance matrix of training samples and obtains the principal component eigenvectors. In the recognition phase, testing images are first projected to the principal component eigenvectors and then the recognition results are determined by calculating the projection distance of the testing images with the training samples. For high-dimensional data, the computing time and required memory for PCA to calculate eigenvectors of the covariance matrix is quite considerable. In this thesis, we propose to accelerate PCA using graphical processing units (GPU) both in training and recognition phases. In the training phase, NIPALS and GS algorithms are accelerated while in the recognition phase, the projection to the eigenvectors of training and testing samples are accelerated. Experimental results show that the proposed NIPALS GPU approach achieves 5.9 times faster and GS GPU approach achieves 5.25 times faster in the training phase and 1.57 times faster in the recognition phase than the Eigenface implementation of OpenCV.
Face Recognition is one of biometric recognitions used to identify a person by facial features. Principle Component Analysis(PCA) has been widely used in face recognition because it can retain the main component of facial features, and therefore reduce the data dimension and computing complexity. Using PCA for face recognition has two phases:training and recognition. In the training phase, the traditional PCA calculates the covariance matrix of training samples and obtains the principal component eigenvectors. In the recognition phase, testing images are first projected to the principal component eigenvectors and then the recognition results are determined by calculating the projection distance of the testing images with the training samples. For high-dimensional data, the computing time and required memory for PCA to calculate eigenvectors of the covariance matrix is quite considerable. In this thesis, we propose to accelerate PCA using graphical processing units (GPU) both in training and recognition phases. In the training phase, NIPALS and GS algorithms are accelerated while in the recognition phase, the projection to the eigenvectors of training and testing samples are accelerated. Experimental results show that the proposed NIPALS GPU approach achieves 5.9 times faster and GS GPU approach achieves 5.25 times faster in the training phase and 1.57 times faster in the recognition phase than the Eigenface implementation of OpenCV.
Description
Keywords
臉部辨識, 主成分分析法, 非線性迭代偏最小二乘法, Gram-Schmidt 重正交法, 圖形處理器, face recognition, principle component analysis, non-linear iterative partial least squares, Gram-Schmidt reorthogonalization, graphical processing units