Phương pháp Eigenfaces

Một phần của tài liệu nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android (Trang 57)

Đối với các ảnh khuôn mặt, dù có khác nhau như thế nào đi nữa thì chúng vẫn có chung các “mẫu” (pattern) thông tin nhất định, gọi là các eigenfaces. Các mẫu thông tin này có đóng góp vào các khuôn mặt khác nhau với tỉ lệ khác nhau, mỗi khuôn mặt có thể xấp xỉ thành một tổ hợp tuyến tính các eigenfaces và vector các hệ số là đặc trưng cho khuôn mặt đó trong tập hợp các khuôn mặt hiện tại.

Hình 3.2-1 Một số Eigenface

Việc tính toán eigenfaces được thực hiện sử dụng một công cụ toán học là Principal Component Analysis - PCA. PCA một phương pháp thông kê được trình bày chi tiết ở [11]. Phương pháp này thường được dùng để thu giảm số chiều của một đối tượng dữ liệu nào đó nhằm giảm độ phức tạp tính toán. Trong một tập dữ liệu nhiều chiều phân bố hộn độn, PCA cố gắng tìm ra các vector cơ bản (eigenvector), mỗi eigenvector sẽ tương ứng với một eigenvalue (eigenvalue càng lớn thì sự đóng góp của eigenvector vào sự phân bố dữ liệu càng lớn), sau đó chọn ra các eigenvector có eigenvalue lớn nhất. Các eigenvector này sẽ tạo ra một không gian con (sub space) có số chiều nhỏ hơn nhiều và dữ liệu ban đầu sẽ được chiếu lên và tính toán trên sub space này.

Mattew Turk và Alex Pentland thuộc học viện Massachusetts (Mỹ) đã sử dụng phương pháp này trong một nghiên cứu nhận dạng khuôn mặt và được trình bày ở [12]. Theo bài báo này, việc nhận dạng khuôn mặt đi qua các bước sau:

 Tính toán các eigenfaces từ tập huấn luyện và giữ lại M eigenfaces có eigenvalue lớn nhất, M eigenfaces này định nghĩa “face space” cho việc nhận dạng,

 Chiếu các ảnh khuôn mặt bằng vào trong “face space” ta được các vector đặc trưng cho mỗi khuôn mặt là các vector của các hệ số.

Chiếu khuôn mặt cần được nhận dạng vào “face space” và xác định xem nó phù hợp nhất với khuôn mặt đã biết nào bằng cách so sánh vector hệ số của nó với các vector trong tập huấn luyện.

3.2.2.1 Tính toán eigenfaces

Các eigenfaces là tập các eigenvector của ma trận hiệp phương sai xây dựng từ tập ảnh huấn luyện.

Giả sử ta có tập huấn luyện gồm M ảnh có kích thước h x w = N pixel. Mỗi ảnh Ƭi trong tập này có thể được biểu diễn thành một vector N chiều.

Việc tính toán eigenfaces trải qua các bước sau đây:

 Tính vector “khuôn mặt” trung bình (mean image): = 1

M∑M Ƭi

i=1 (3.1)

 Tính vector sai số cho mỗi vector khuôn mặt

i = Ƭi – (3.2)

 Các vector sai số này được sắp xếp tạo thành một ma trận dữ liệu kích thước N x M

A = [ 1 2… M] (3.3)

 Tạo ma trận hiệp phương sai (covariance matrix) bằng cách nhân ma trận (1.4) với ma trận chuyển vị của nó (transpose matrix)

C =AAT (3.4)

 Tính toán các eigenvector và eigenvalue

Một vector u được gọi là eigenvector của ma trận hiệp phương sai C khi: Cu= u

Trong đó, được gọi là eigenvalue tương ứng với u. Ma trận C có kích thước N2

x N2 sẽ có N2 eigenvectors, mỗi eigenvector tương ứng với một eigenvalue. Tuy nhiên, khi M <<N2 thì chỉ có khoảng M-1 eigenvector có ý nghĩa. Chúng ta sẽ chọn ra M’ eigenvector theo thứ tự eigenvalue giảm dần. M’ eigenvectors (hay eigenfaces) này tạo thành không gian khuôn mặt (face space) phục vụ cho việc nhận dạng

U = [ u1u2 … uM’]

3.2.2.2 Phép chiếu eigenfaces (eigenface projection)

Sau khi tìm được các eigenfaces, các khuôn mặt được biểu diễn theo các eigenfaces này (chiếu lên face space) bằng cách tính tích vô hướng của các vector sai số i với các eigenface:

wi = iui

Như vậy, trong không gian eigenfaces này mỗi khuôn mặt được đặc trưng bởi một vector w = [ w1w2 … wM’ ].

3.2.2.3 Nhận dạng khuôn mặt mới

Việc nhận dạng một khuôn mặt Y được thực hiện bằng cách chiếu ảnh khuôn mặt vào không gian eigenfaces của tập huấn luyện để được vector đặc trưng w’. w’ sẽ được so sánh với các vector đặc trưng của tập huấn luyện, việc so sánh này dựa trên khoảng cách Euclidean. Nếu khoảng cách của w’ với w của khuôn mặt X nào đó là nhỏ nhất và thỏa mãn một ngưỡng Ԑ do người dùng định nghĩa thì kết luận Y với X là của cùng một người, ngược lại nếu khoảng cách này lớn hơn Ԑ thì việc nhận dạng khuôn mặt thất bại. (adsbygoogle = window.adsbygoogle || []).push({});

CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Chương này trình bày về việc phân tích và thiết kế hệ thống, các thành phần của hệ thống, các quá trình sử dụng của hệ thống và các công nghệ được sử dụng.

Một phần của tài liệu nghiên cứu sử dụng giọng nói trong xác thực và mã hóa dữ liệu trên thiết bị di động và xây dựng hệ thống demo trên android (Trang 57)