Mỗi ảnh có kích thước WxH sẽ được chuyển th{nh một vector cột có độ d{i W*H (gọi l{ c|c vector xi).
34
Ở bước training, một vector trung bình của tất cả c|c ảnh training sẽ được tính.
Sau đó mỗi vector thuộc tập training sẽ bị mean-subtracted:
Ma trận hiệp phương sai được tính bằng: C = A’*A
A’ l{ ma trận chuyển vị của A. A sẽ có kích thước l{ (W*H)xM, còn ma trận C sẽ có kích thước l{ MxM, do M nhỏ hơn W*H rất nhiều nên việc tính M vector riêng (eigenvectors) v{ gi| trị riêng tương ứng (eigenvalues) của C l{ dễ.
Ta sẽ tìm được M gi| trị riêng tương ứng với Mvector riêng của C. C|c vector riêng được sắp xếp theo thứ tự giảm dần của c|c gi| trị riêng tương ứng, việc sử dụng tất cả c|c vector riêng l{ không cần thiết nên chỉ có k gi| trị riêng đầu tiên tương ứng với k vector riêng được sử dụng (chính về thế nên phương ph|p n{y được gọi l{ phân tích thành phần chính-Principal
Component Analysis). K vector riêng n{y sẽ tạo th{nh một ma trận có kích
thước (W*H)*K l{ ma trận của không gian con nhận được (ta gọi ma trận n{y l{ Cp). Tiếp đến c|c ảnh thuộc tập training sẽ được chiếu v{o không gian con bằng phép nh}n: Ap = Cp’ * A. Ap sẽ có kích thước tương ứng l{ kxNoTrain
35
(NoTrain l{ số ảnh training, tức l{ bẳng M), nghĩa l{ mỗi ảnh tương ứng được biểu diễn bẳng một vector cột.
Ở bước ph}n lớp, mỗi ảnh đầu v{ota tìm ảnh thuộc tập training gần với nó nhất. Ở bước n{y c|c hàm khoảng cách: euclidean, mahalanobis, cosine angle distance đều có thể sử dụng.
Thực chất, ở nguyên bản của phương ph|p PCA ma trận C = A*A’, v{ có kích thước l{ (W*H)x(W*H), tức l{ một ma trận rất, rất lớn nên Mathew A. Turk and Alex P. Pentland[16] (t|c giả của phương ph|p eigenface) đ~ sử dụng một thủ thuật l{ tìm M vector riêng vi (i=1..M) v{ gi| trị riêng của ma trận L=A’*A (dễ hơn do ma trận có kích thước nhỏ hơn) sau đó tính k vector riêng của C=A*A’ bằng công thức ui=A*vi.