Phân tích thành phần chính PCA

Một phần của tài liệu DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA (Trang 61 - 64)

Giả sử tập huấn luyện có Pảnh, khi đó ta sẽ có P vector: T1, T2, …, TP.

Tính vector ảnh trung bình : 1 1 p i i m T p = = ∑

Sự khác biệt giữa những khuôn mặt với ảnh trung bình là những vector:

i i

Ý tưởng của việc phân tích thành phần chính là tìm một tập những vector trực chuẩn uk sao cho những vector này mô tả tốt nhất sự phân bố những vector khuôn mặt trong không gian. Những vector ukđược chọn sao cho:

1 , / 0 , i j ui uj i j = ⎧ − = ⎨ ≠ ⎩ 2 1 / p k k i i u A λ = − =∑ lớn nhất .

Những vector uk và giá trị vô hướng λk chính là những vector riêng và trị riêng tương ứng của ma trận AAT.

/

u v là tích vô hướng giữa hai vector u, v.

1 2... p

A= ⎣⎡A A A ⎤⎦

Ta thấy ma trận A có kích thước M*N × P, còn ma trận AAT có kích thước

M*N×M*N, do kích thước ma trận này quá lớn nên ta không thể tìm được những vector riêng và những trị riêng trực tiếp được, thay vào đó ta sẽ tìm những vector riêng của ma trận ATA có kích thước P×P .

Nếu v là một vector riêng của ATA λ là trị riêng tương ứng, khi đó ta có:

ATA v = λv Ù ATA Av = λAv

tức là Av là một trị riêng của ma trận AAT.

Thông thường ta chỉ lấy một sốQ vector riêng ứng với Q trị riêng có giá trị lớn nhất.

Sau khi có các vector riêng của ma trận AAT, ta sẽ chuẩn hóa chúng để thu được một cơ sở trực chuẩn của không gian khuôn mặt .

Đặt L= ATA , tìm V là tập hợp các vector riêng của L, D là tập hợp các trị riêng tương ứng .

V bao gồm Q vector riêng ứng với những trị riêng lớn hơn một giá trị nào đó hoặc ứng với Q trị riêng lớn nhất trong D.

E = AV là tập các vector riêng của AAT. Do đây là những vector riêng, mà nó lại có dạng khuôn mặt nên còn đuợc gọi là Eigenfaces. E là ma trận M*N×Q, mỗi cột là một vector riêng.

Chuẩn hóa các vector cột trong E (chia mỗi vector cho độ dài của vector đó). Bây giờ, ta có thể coi E là một cơ sở trực chuẩn của không gian khuôn mặt. Với H là bức ảnh có cùng kích thước với những bức ảnh trong tập huấn luyện. Ta sẽ xét nó có phải là bức ảnh khuôn mặt hay không, cũng như tìm bức ảnh giống với nó nhất trong tập huấn luyện .

Hđược xem là một vector trong không gian M*N chiều.

Đặt K= H - m với m là vector ảnh trung bình.

Cho V là một không gian có tích vô hướng hữu hạn chiều và W là một không gian con của V. Giả sử W có một cơ sở trực chuần là {u1, …, uQ}. Khi đó hình chiếu trực giao của vector u bất kỳ lên Wđược xác định như sau:

0 1 / Q w i i i pr u u u u u = = =∑

Độ dài u u− 0 được gọi là khoảng cách từuđến W .

Tập hợp ci = u u/ i , i=1,…, Qđược gọi là tọa độ của u0 trong không gian W. Tìm C=ETK là tọa độ của hình chiếu Kf của K lên không gian khuôn mặt. C là vector cột Q×1 1 Q f i i i K c e = =∑ với ci = C( i , 1) ; ei= E( : , i) .

Với Ai là một cột trong ma trận A (tương ứng với bức ảnh Ti trong tập huấn luyện). Ta tính T

i i

C =E A là tọa độ của hình chiếu Ai f của Ai lên không gian khuôn mặt. Ta tính hai đại lượng sau:

ƒ S = K Kf xem như khoảng cách từ bức ảnh Hđến không gian mặt.

ƒ Si = C Ci xem như khoảng cách từHđến bức ảnh Ti trong tập huấn luyện. Xét αβ là hai ngưỡng nào đó.

ƒsi < β thì Ti là bức ảnh của cùng một người với H ( Hđủ gần với Ti).

Vậy là ta đã có thể tìm bức ảnh trong tập huấn luyện giống với bức ảnh H hay xác

định đó có phải là bức ảnh khuôn mặt hay không. Tuy nhiên ảnh H phải có cùng kích thước với những bức ảnh trong tập huấn luyện. Bây giờ trong một bức ảnh lớn H có nhiều khuôn mặt, ta sẽ xác định vị trí những khuôn mặt trong bức ảnh.

Tại mỗi vị trí (x,y) trong H, đặt H(x,y) là một vùng trong ảnh H có kích thước M×N

tại (x,y), ta xem ảnh con H(x,y) là một vector M*N chiều.

K(x,y) = H(x,y) – m

Tìm Kf(x,y) là hình chiếu của K(x,y) lên không gian khuôn mặt . Tính s x y( , )= K x y( , )−K x yf( , )

Tập hợp các giá trị s(x,y) tạo thành một bản đồ khuôn mặt (face map) của H, từđó ta có thể xác định vị trí những khuôn mặt trong ảnh.

Một phần của tài liệu DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA (Trang 61 - 64)

Tải bản đầy đủ (PDF)

(115 trang)