180 likes | 416 Views
Yüz Tanıma ve Uygulamaları. Prof.Dr. Muhittin Gökmen İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü. Yüz Tanıma. Resim alma. Sayısallaştırma. Yüz yerini bulma. Yüz tanıma. Zorluklar. Poz değişimleri Aydınlatma değişimleri Yüz ifadesindeki değişimler Ölçek değişimleri
E N D
Yüz Tanıma ve Uygulamaları Prof.Dr. Muhittin Gökmen İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü
Yüz Tanıma Resim alma Sayısallaştırma Yüz yerini bulma Yüz tanıma
Zorluklar • Poz değişimleri • Aydınlatma değişimleri • Yüz ifadesindeki değişimler • Ölçek değişimleri • Zamanla yüzde oluşan değişimler • Tanınacak kişi sayısının çokluğu • Hesaplama hızı
Yüz tanıma yöntemleri • 1. Şablon eşleme • Representing a whole face using templates like a 2-D array of intensity • Combine with some features like eyes, nose and mouth. • Simple but large memory and inefficient matching algorithm • 2. Özniteliklere dayalı yöntemler • Geometric features, position/width of eyes, noses, mouth, face breadth, etc • Small memory, higher recog speed but hard feature extraction • 3. Özyüzlere dayalı yöntemler • Project face images into a linear subspace with low dimensions • Eigenface
original face mean face caricature face w1 w2 w3 w4 u1 u2 u3 u4 Alper YILMAZ M.Sc. Thesis I.T.U. CVIP Lab. November, 1999 EigenFaces Eigenfaces Each face is a linear composition of the maximum eigenvalued eigenvectors (eigenfaces),
EigenFaces • 0. Initialization: acquire the training set of face images and calculate the eigenfaces, which define the face space • Each image is N by N • Set of training images Γ1, Γ2, … , Γm, (Γi is a column vector of size N2 *1 ) • 150 images of 15 individuals
EigenFaces • 0. Initialization: acquire the training set of face images and calculate the eigenfaces, which define the face space • Each image is N by N • Average face of the training Set • Ψ = ( Σ Γi)/M
EigenFaces • 0. Initialization: acquire the training set of face images and calculate the eigenfaces, which define the face space Each training image differs from the average face by: Φi = Γi – Ψ A total number of N2 pairs of eigenvectors μi and eigenvalues λi of the covariance matrix C = (ΣΦiΦi T)/M = AAT (C: N2 * N2 matrix) Eq. (1) where A = [Φ1 Φ2 Φ3 … ΦM] (A: N2 * M matrix) ?? It is Computationally Intractable
EigenFaces • 0. Initialization: acquire the training set of face images and calculate the eigenfaces, which define the face space For Computational Feasibility -- Only M-1 eigenvectors are meaningful M< N2 eigenvectors νi and eigenvalues λi of the covariance matrix L = ATA ATA νi = λi νi A ATA νi = λi Aνi Therefore, Aνi are the eigenvalues of C = A AT , λi are the associated eigenvalues μi = A νi The associated eigenvalues allow us to rank the eigenvectors according to their usefulness in characterizing the variation among the images
EigenFaces • 0. Initialization: acquire the training set of face images and calculate the eigenfaces, which define the face space The first 15 eigenfaces corresponding to the 15 largest eigenvalues.
EigenFaces Construction of Known Individuals’ Face Classes -- Each image Γi of known individuals is projected onto “face space” by a simple operation ωk = μkT * ( Γi - Ψ ) , where i=1, 2, ……, M represents the ith individual, The pattern vector of the ith individual is Ωi = [ω1 … ωM’ ] -- If an individual has more than one image, take the average of the pattern vectors of this person
EigenFaces • 0. Initialization: acquire the training set of face images and calculate the eigenfaces, which define the face space Γ1 Γf =ω1μ1 +… + ωM’ μM ’
EigenFaces • 1. Calculate a set of weights based on the input image and M’ eignefaces by projecting the input image onto each of the eigenfaces Input Γ ωk = μkT * ( Γ - Ψ ) Ω = [ω1 … ωM’ ] Γf =ω1μ1 +… + ωM’ μM ’
EigenFaces • 2. Determine if the image is a face at all by checking to see if the image is sufficiently close to face space. Input Γ ωk = μkT * ( Γ - Ψ ) Ω = [ω1 … ωM’ ] Γf =ω1μ1 +… + ωM’ μM ’ Φ = Γ - Ψ ε2 = |Φ- Γf |2 If ε < θ ( θ is a threshold) Then Γ is a face Else Γ is not a face
EigenFaces • 3. If it is a face, classify the weight pattern as either a know person or as unknown. Input Γ ωk = μkT * ( Γ - Ψ ) Ω = [ω1 … ωM’ ] Γf =ω1μ1 +… + ωM’ μM ’ Ωi is a vector for an existing face class ε = | Ω - Ωi |2 If ε < θ ( θ is a threshold) Then Γ is a known face Else Γ is not a known face