- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
并行计算机视觉算法
展开查看详情
1 .Parallel computer vision algorithm Parallel face recognition using eigenface
2 .Review Edge detection using Sobel Filter Object recognition using Histogram
3 .application Face recognition Criminal identification User authentication Security systems Surveillance systems
4 .General steps Training Testing
5 .Approaches Template based approach Multiple templates (different viewpoint) of each face Drawback: Huge requirements of memory and inefficient matching Feature based approach Use facial features to form a model (facial landmark) Require less memory Drawback: Fragile and difficult to extend to multiple views Appearance based approach Face images project onto a linear subspace which has lower dimension Require less memory Drawback: high computation cost Eigenface
6 .Parallel computing and GPU Powerful and efficient platform: the modern GPU and SIMD GPGPUs (General Purpose GPUs) CUDA (Compute Unified Device Architecture) API (Application Programming Interface)
7 .Modern GPU architecture
8 .Eigenface Reduced dimension Not correspond to features Take an information theory approach Easy to implement using neural network
9 .Eigenface approach Two phases: Having the initialized system – training Recognize new face – testing
10 .Initial operations 1. Acquire an initial set of face images (the training set) ( gamma ), Same size Object centered Known individuals A number of images for each person Some variation in expression and lighting E.g. four images of ten people, so M = 40
11 .Initial operations 2. Normalize training images Get the average face (psi): Calculate the mean centered faces (phi):
12 .Initial operations 3. Calculate the covariance matrix and eigenvectors Calculate the covariance matrix: Eigen decomposition to get eigenvectors for C
13 .Initial operations 4. Get the eigenfaces Use the set of M eigenvectors which best describes the distribution of data Eigenfaces( ) are constructed by multiplying eigenvectors with the mean centered faces Choose M’ best eigenfaces to form the “face space” Highest corresponding eigenvalues
14 .Seven of the eigenfaces calculated from the sixteen input images
15 .Initial operations 5. Weight space construction M’ weight (omega) per training face By projecting their face images onto the “face space”
16 .Training Face 1 Mean centered Face 1 = Eigenface 1 Eigenface M’ … Training Face M Ω M’ = Weight Vector 1 Weight Vector M
17 .Template database Face space Weight space
18 .Recognize new face images 1. Calculate a set of weights for the input image: Get the projected image: Distance between the input image and the face space: 2. Determine if the image is a face 3. Determine if the face is known or unknown Classify the weight pattern
19 .Parallelize
20 .Parallelize Normalizing training images Construct average image Averaging each pixel of all training images Normalized (mean) image Average pixel value is subtracted from pixel values of all images Strategy: One thread per pixel Find the average
21 .
22 .Parallelize Covariance matrix computation Constructed by multiplying the mean image set with its transpose Strategy: One thread per value in the covariance matrix Each thread multiplies one row and one column
23 .Parallelize Covariance matrix computation Constructed by multiplying the mean image set with its transpose Strategy: One thread per value in the covariance matrix Each thread multiplies one row and one column
24 .Parallelize Eigen decomposition are the eigenvectors of C Strategy: Jacobi method
25 .Parallelize Eigen decomposition are the eigenvectors of C Strategy: Jacobi method
26 .Parallelize Eigenface computation M’ eigenfaces are constructed by eigenvectors multiply mean images Strategy: Pixel of each eigenface is computed independently Number of threads = number of eigenfaces * resolution Mean images and eigenvectors are brought into shared memory
27 .Parallelize Eigenface computation M’ eigenfaces are constructed by eigenvectors multiply mean images Strategy: Pixel of each eigenface is computed independently Number of threads = number of eigenfaces * resolution Mean images and eigenvectors are brought into shared memory
28 .Parallelize Weights computation For all training images Weight space = M’ * M Strategy: One thread per mean image per eigenface Number of threads = M’ * M
29 .Parallelize Weights computation For all training images Weight space = M’ * M Strategy: One thread per mean image per eigenface Number of threads = M’ * M