báo cáo bài tập lớn phương pháp pca và ứng dụng của pca trong nhận diện gương mặt

18 11 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo bài tập lớn phương pháp pca và ứng dụng của pca trong nhận diện gương mặt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Để giải quyết vấn đề này, phương pháp PCA phân tích thành phần chính đã được sử dụng rộng rãi trong các ngành nghiên cứu khác nhau.Phương pháp PCA là một công cụ hữu ích giúp tìm ra nhữn

Trang 1

Môn học:

ĐẠI SỐ TUYẾN TÍNH

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

Báo cáo bài tập lớn

PHƯƠNG PHÁP PCA VÀ ỨNG DỤNG CỦA PCATRONG NHẬN DIỆN GƯƠNG MẶT

Nhóm 8-L20:

Giảng viên phụ trách:

Đặng Văn Vinh

05/2023

Trang 3

1.3 Một số lý thuyết của đại số tuyến tính. -3

1.4 Cơ sở lý thuyết của phương pháp PCA. -4

1.5 Các bước phân tích PCA. -6

1.6 Ưu điểm, nhược điểm và ứng dụng của phương pháp PCA. -8

2 Ứng dụng của phương pháp PCA trong nhận diện gương mặt. -9

2.1 Tại sao lại cần đến nhận diện gương mặt? -9

2.2 PCA trong nhận diện gương mặt. -11

2.3 PCA trong Matlab. -12

3 Kết luận. -14

Trang 4

1 Cơ sở lý thuyết của phương pháp phân tích thành phần chính PCA (principle component analysis).

Trong thế giới hiện đại, vấn đề đảm bảo an toàn thông tin và tài sản trở nên ngày càng quan trọng và khó khăn hơn bao giờ hết Các vụ xâm nhập và đánh cắp thông tin cá nhân đã gây ra thiệt hại vô cùng nghiêm trọng, làm mất niềm tin của người dùng vào các hệ thống thông tin Trong lĩnh vực khoa học, kĩ thuật và thống kê, việc phân tích những tập dữ liệu phức tạp để thu được thông tin quan trọng cũng đặt ra một thách thức lớn Để giải quyết vấn đề này, phương pháp PCA (phân tích thành phần chính) đã được sử dụng rộng rãi trong các ngành nghiên cứu khác nhau.

Phương pháp PCA là một công cụ hữu ích giúp tìm ra những đặc trưng quan trọng của tập dữ liệu và giảm số chiều của dữ liệu một cách hiệu quả, từ đó giúp đơn giản hóa và tăng tính toán trên các dữ liệu phức tạp Trong công tác nghiên cứu, chúng ta thường thu thập được các bộ dữ liệu phức tạp có nhiều chiều và giá trị khác nhau Phương pháp PCA cho phép chúng ta tìm ra những liên kết ẩn giữa các chiều dữ liệu, giảm thiểu các sự khác biệt không cần thiết và tập trung vào các đặc trưng quan trọng của dữ liệu Điều này giúp cho việc phân tích và xử lý dữ liệu trở nên dễ dàng hơn và hiệu quả hơn trong các ngành khoa học, kĩ thuật, thống kê, kinh tế và nhiều lĩnh vực khác.

1.1 Lịch sử của phương pháp PCA.

PCA được phát minh vào năm 1901 bởi Karl Pearson, sau đó nó được phát triển độc lập và được đặt tên bởi Harold Hotelling vào những năm 1930.

Tùy thuộc vào lĩnh vực ứng dụng mà PCA có nhiều tên gọi khác nhau:

1956).

Trang 5

 Phân hủy chức năng riêng thực nghiệm (Sirovich, 1987)

1.2 PCA là gì.

Phân tích thành phần chính (PCA - Principal Component Analysis) là một phương pháp giảm chiều dữ liệu trong phân tích đa biến PCA giúp tìm ra các thành phần chính (principal components) của dữ liệu từ các biến ban đầu, các thành phần chính này có thể giải thích được phần lớn sự biến động của dữ liệu Thông qua quá trình này, dữ liệu được biểu diễn dưới dạng các thành phần chính, giúp giảm số chiều dữ liệu, tăng hiệu quả tính toán và giảm độ phức tạp của các mô hình.

Cụ thể, PCA sử dụng ma trận hiệp phương sai (covariance matrix) của dữ liệu để tìm ra các thành phần chính, các thành phần này là các vectơ riêng (eigenvectors) của ma trận hiệp phương sai Các giá trị riêng (eigenvalues) của ma trận hiệp phương sai cũng cho biết độ lớn của các thành phần chính tương ứng Các thành phần chính được sắp xếp theo độ quan trọng giảm dần của độ lớn của giá trị riêng tương ứng.

Khi đã tìm được các thành phần chính, dữ liệu ban đầu có thể được chiếu vào không gian mới được xây dựng bởi các thành phần chính để giảm số chiều của dữ liệu Việc này giúp đơn giản hóa việc xử lý dữ liệu và giảm thiểu các vấn đề như overfitting trong các mô hình dự đoán.

1.3 Một số lý thuyết của đại số tuyến tính.

Mean (kỳ vọng): Giá trị mong muốn, biểu diễn giá trị trung bình của một biến.

X =x1+x2+…+ xnN

Standard deviation (độ lệch chuẩn): Sự chênh lệch về giá trị của từng thời điểm đánh giá so với trung bình.

X =X − ´X

Variance (Đại lượng đặc trưng cho độ phân tán các dữ liệu so với giá trị trung bình của nó) Từ đó chúng ta dễ dàng hình dung được dữ liệu chúng ta dang xét, phương

Trang 6

sai càng nhỏ thì các điểm dữ liệu càng gần với kỳ vọng, tức các điểm dữ liệu càng giống nhau Phương sai càng lớn thì ta nói dữ liệu càng có tính phân tán.

σ2=(X − ´X)2

Convariance (Hiệp phương sai) đại lượng đo sự biến thiên cùng nhau của hai biến ngẫu nhiên (phân biệt với phương sai– đo mức độ biến thiên của một biến) Nếu 2 biến có xu hướng thay đổi cùng nhau (nghĩa là, khi một biến có giá trị cao hơn giá trị kỳ vọng thì biến kia có xu hướng cũng cao hơn giá trị kỳ vọng), thì hiệp phương sai giữa hai biến này có giá trị dương Mặt khác, nếu một biến nằm trên giá trị kỳ vọng còn biến kia có xu hướng nằm dưới giá trị kỳ vọng, thì hiệp phương sai của hai biến này có giá trị âm Nếu hai biến này độc lập với nhau thì giá trị bằng 0.

cov ( X , Y )=(X − ´X )(Y − ´Y )

Ma trận hiệp phương sai: Trong thống kê, ta cần một thuật ngữ để thể hiện đầy đủ phương sai và hiệp phương sai của các biến với nhau Từ đó, ta tạo ra ma trận hiệp phương sai của tập hợp m biến ngẫu nhiên là một ma trận vuông hạng (m × m), trong đó các phần tử nằm trên đường chéo (từ trái sang phải, từ trên xuống dưới) lần lượt là phương sai tương ứng của các biến này, trong khi các phần tử còn lại (không nằm trên đường chéo) là các hiệp phương sai của đôi một hai biến ngẫu nhiên khác nhau trong tập hợp.

1.4 Cơ sở lý thuyết của phương pháp PCA.

Xét một bộ dữ liệu gồm n điểm dữ liệu, mỗi điểm dữ liệu có m tính trạng Đối với bài toán PCA, biểu diễn mỗi điểm dữ liệu thành một vector m chiều, mỗi chiều sẽ ứng

Trang 7

nhất Và để xác định độ phân tán cần dùng đến phương sai Như vậy, chiều quan trọng nhất sẽ được định nghĩa là chiều mà trên đó phương sai của bộ dữ liệu là lớn nhất.

Công thức phương sai:

Sau khi đã có thành phần quan trọng nhất, ta sẽ tiếp tục đi tìm các thành phần còn lại, biến đổi tương tự như đối với chiều thứ nhất:

Trang 8

Đặt A=^X ^XT∈ℝm ×m, A là một ma trận đối xứng có m vector riêng ⃗v1, ⃗v2, ⃗v3, … , ⃗vm

ứng với m trị riêng C , λ2, λ3, … , λm Các điều kiệu:

Đẳng thức xảy ra khi và chỉ khi c1,1=1 và c1 ,i=0∀ i ≠1, hay ⃗w1≠ ⃗v1

Giải lần lượt các bài toán này một cách tương tự như chiều thứ nhất, ta tìm ra được m chiều quan trọng của bộ dữ liệu, tương đương m vector riêng ứng với m trị riêng của ma trận A Ở đây giá trị riêng càng lớn thì chiều của vector riêng đó càng quan trọng.

1.5 Các bước phân tích PCA.

Bước 1: Tính giá trị trung bình X´ của X

*Chú thích: Chuẩn hóa dữ liệu, tìm tọa độ mới của dữ liệu

Trang 9

*Chú thích: Khi biểu diễn ma trận X trong không gian Rm, ta nhận thấy rằng các điểm dữ liệu sẽ phân tán xung quanh điểm giá trị trung bình Để thuận tiện cho việc tính toán, ta tiến hành chuẩn hóa ma trận ban đầu về quanh gốc tọa độ Việc thay đổi này không ảnh hướng đến bản chất của hệ dữ liệu ban đầu Khi này độ phân tán giữ hệ

liệu ban đầu X quanh điểm giá trị trung bình.

Bước 3: Tìm trị riêng của S và sắp xếp theo giá trị giảm giần và tìm các vectorriêng đơn vị ứng với các trị riêng

*Chú thích: Theo từng điểm dừng của hàm Lagrange, phương sai lớn nhất theo một chiều u1 nào đó là trị tiêng Việc sắp xếp các trị riêng theo giá trị giảm dần giúp ta hiệu quả trong việc so sánh và chọn ra các vector có phương sai đáng kể (mức độ quan trọng lớn).

Bước 4: Chọn K trị riêng ban đầu và vector riêng đơn vị ứng với các trị riêngnày Lập ma trận A có các cột là các vector riêng đã chọn Ma trận A là phépbiến đổi cần tìm

*Chú thích: Chọn ra K trị riêng có giá trị đáng kể để tạo ra không gian mới có K chiều thể hiện tố nhất độ phân tán của dữ liệu X trên không gian mới

Bước 5:

Tính ảnh AT^XT của vecto ^X

của ma trận P (P là ma trận trực giao).

Chú thích: Diễn đạt dữ liệu X trên chiều không gian mới, dấu xấp xỉ là do chúng ta đã lược bớt các chiều có phương sai không đáng kể nên dữ liệu X vẫn được thể hiện tốt nhất nhưng trên chiều dữ liệu nhỏ hơn.

Trang 10

Hình 1.1: Tóm tắt phương pháp PCA.

1.6 Ưu điểm, nhược điểm và ứng dụng của phương pháp PCA.

Ưu điểm:

gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ.

phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn Nhược điểm:

Giả thiết về độ quan trọng của chiều dữ liệu: Mô hình PCA dựa trên giả

thiết rằng chiều quan trọng dữ liệu là chiều có phương sai độ dữ liệu lớn.

Trang 11

Tuy vậy trong thực tế, không phải lúc nào chiều phân bố dữ liệu lớn nhất cũng mang lại hiệu quả tốt nhất cho việc phân tích dữ liệu

PCA rất nhạy cảm với nhiễu: Vẫn do giả thiết là phương sai của dữ liệu

ảnh hưởng đến việc chọn ra chiều mới Khi nhiễu xuất hiện, do độ lệch của điểm nhiễu này mà chiều có phương sai của dữ liệu lớn cũng bị ảnh hưởng rất đáng kể.

Thiếu sót thông tin: Mặc dù phân tích PCA sẽ giữ lại những chiều quan

trọng nhất đối với bộ dữ liệu, tuy vậy nếu xuất hiện sai sót trong việc chọn số chiều giữ lại thì lượng thông tin mà ta đánh mất sau quá trình phân tích này sẽ rất đáng kể

Ứng dụng:

tế bào thần kinh ứng với các chức năng của não, phân tích sự phối hợp hoạt động của các tế bào thần kinh nhằm phát hiện một số chứng bất thường của các bệnh thần kinh và đo chỉ số IQ.

hiện các mô hình lãi suất, phân tích rủi ro của các danh mục đầu tư chứng khoáng, dự báo lợi nhuận đầu tư, thuật toán phân bổ tài sản,…

tính địa chất của một khu vực nhằm dự báo động đất.

di truyền quần thể, phân bố dân cư,… và nhiều lĩnh vực khác.

Trang 12

2 Ứng dụng của phương pháp PCA trong nhận diện gương mặt.2.1 Tại sao lại cần đến nhận diện gương mặt?

Trong thế giới ngày nay với sự phát triển mạnh mẽ của kỹ thuật số và mạng toàn cầu, vấn đề đảm bảo an toàn về thông tin cũng như vật chất trở nên ngày càng quan trọng và khó khăn Thỉnh thoảng chúng ta lại nghe nói đến những vụ đánh cắp thẻ tín dụng, đột nhập trái phép vào các hệ thống máy tính hay toà nhà của cơ quan nhà nước, chính phủ Bởi các hệ thống nhận diện cũ không thực hiện quyền truy cập của người sử dụng dựa vào thông tin “chúng ta là ai” mà chỉ dựa vào “chúng ta có gì (mật khẩu, chìa khóa, thẻ căn cước)” Bởi vậy, giả sử khi ta bị đánh cắp chiếc chìa khóa, rất có khả năng tên trộm có thể dừng chiếc chìa khóa ấy để lách qua sự bảo vệ của các hệ thống an ninh.

Sinh trắc ra đời từ đó, những công nghệ hiện đại đã cho phép việc xác thực dựa vào “bản chất” của từng cá nhân Kiểm soát bằng sinh trắc học là những phương pháp tự động cho phép xác thực hay nhận dạng một cá nhân dựa vào các đặc trưng sinh lý học của người đó như đặc điểm vân tay, gương mặt, gen, hoặc dựa trên những đặc điểm liên quan đến đặc trưng hành vi như dạng chữ viết, cách gõ phím, giọng nói Vì những hệ thống nhận dạng bằng sinh trắc học sử dụng thông tin sinh học của con người nên kết quả chính xác và đặc biệt là rất khó bị giả mạo.

Nhận dạng gương mặt là một trong số ít các phương pháp nhận dạng dựa vào đặc trưng sinh lý cho kết quả chính xác cao đồng thời rất thuận tiện khi sử dụng Hơn nữa, trong số các đặc trưng sinh lý học, gương mặt của mỗi người là yếu tố đầu tiên và quan trọng nhất cho việc nhận biết lẫn nhau cũng như biểu đạt cảm xúc Khả năng nhận dạng nói chung và khả năng nhận biết gương mặt người nói riêng của con người thật đáng kinh ngạc Chúng ta có khả năng nhận ra hàng ngàn gương mặt của những người mình đã gặp, đã giao tiếp trong cuộc sống chỉ bằng một cái nhìn thoáng qua, thậm chí sau nhiều năm không gặp cũng như những sự thay đôi trên gương mặt do tuổi tác, cảm xúc, trang phục, màu tóc, Do đó, việc nghiên cứu các đặc tính của gương mặt người đã thu hút rất nhiều nhà triết học, nhà khoa học qua nhiều thế kỷ, chính vì những lý do trên, từ những năm 1970, nhận dạng mặt người đã thu hút sự

Trang 13

quan tâm của nhiều nhà nghiên cứu trong các lĩnh vực như bảo mật, tâm lý học, xử lý ảnh và thị giác máy tính Ngày nay các chương trình máy tính về nhận dạng

Một số ứng dụng nhận diện gương mặt:

vào trong các hệ thống kiểm soát sân bay và được sử dụng để tìm kiếm và nhận diện những tên khủng bố hay bọn buôn bán ma tuý.

Việc kiểm tra đăng nhập vào các hệ thống máy PC được kết hợp giữa thông tin mật mã và / hoặc nhận dạng mặt người Điều này giúp người làm việc không cảm thấy bị rối bời trong các thủ tục truy cập phức tạp đồng thời vẫn đảm bảo được độ tin cậy đối với thông tin khách hàng và các bí mật trong kinh doanh.

truy cập vào các máy rút tiền tự động và các dịch vụ khác của ngân hàng được kiểm soát bởi các thông tin như số tín dụng (PIN), giọng nói, tròng mắt kết hợp với nhận diện gương mặt

2.2 PCA trong nhận diện gương mặt.

Trong bài toán nhận diện gương mặt, chúng ta thường sử dụng một tập dữ liệu lớn chứa các ảnh khuôn mặt của nhiều người khác nhau Với mỗi ảnh trong tập dữ liệu đó, chúng ta cần phải rút trích ra một số đặc trưng (hoặc gọi là vector đặc trưng) để biểu diễn khuôn mặt đó.

Tuy nhiên, số chiều của vector đặc trưng thường rất lớn (ví dụ như 128 hoặc 256 chiều), gây khó khăn trong việc xử lý và phân loại dữ liệu Đó là lý do tại sao chúng ta cần sử dụng PCA để giảm số chiều của vector đặc trưng.

PCA giúp chúng ta tìm ra các thành phần chính của dữ liệu, đó là các thành phần có đóng góp lớn nhất vào sự biến động của dữ liệu Thông qua việc lựa chọn một số thành phần chính này, chúng ta có thể giảm số chiều của dữ liệu mà vẫn giữ được thông tin quan trọng.

Trang 14

Trong nhận diện gương mặt, PCA được sử dụng để giảm số chiều của vector đặc trưng của các ảnh khuôn mặt, từ đó tạo ra một ma trận các vector đặc trưng có số chiều nhỏ hơn Sau đó, chúng ta có thể sử dụng các phương pháp nhận diện khuôn mặt khác như SVM (Support Vector Machine) hoặc Neural Network để phân loại và nhận diện các khuôn mặt trong tập dữ liệu.

Tóm lại, PCA có vai trò quan trọng trong nhận diện gương mặt bởi nó giúp giảm số chiều của vector đặc trưng, giúp dữ liệu dễ dàng xử lý hơn và tăng độ chính xác của các phương pháp nhận diện khuôn mặt Mục tiêu của phương pháp PCA là “giảm số chiều” của 1 tập vector sao cho vẫn đảm bảo được “tối đa những thông tin quan trọng nhất” Tức Feature Extraction chứ không phải Fearure Selection (Giữ k thuộc tính mới chứ không phải nguyên gốc)

Ứng dụng cụ thể:

các khuôn mặt cần tìm và chức năng trích chọn đặc trưng sẽ sử dụng các ảnh được tách ra này

trưng này hình thành các vector đặc trưng, các vector này sẽ được sử dụng để đối sánh sự giống nhau giữa ảnh mặt cần tìm và ảnh mặt trong CSDL

tương tự giữa ảnh cần tìm và ảnh trong CSDL.

Nhược điểm: Trong những trường hợp sau, PCA Eigenfaces có khả năng cho ra kết quả sai lệch:

Trang 15

2.3 PCA trong Matlab.

m = input('Nhap so hang cua mang: '); n = input('Nhap so cot cua mang: ');

Trang 16

 Tính ma trận hiệp phương sai C bằng hàm cov.

xếp các trị riêng theo thứ tự giảm dần và lấy K trị riêng lớn nhất Tạo ma trận mới Ak bằng cách nhân ma trận ban đầu A với K vector riêng này.

Các hàm và từ khóa được sử dụng:

chỉ định.

biến đếm được sử dụng để lặp lại từng phần tử của mảng.

hoặc giảm dần.

3 Kết luận.

Mục đích của phân tích thành phần chính là rút ra thông tin chủ yếu chứa trong bảng số liệu bằng cách xây dựng một biểu diễn đơn giản hơn sao cho đám mấy số liệu được thể hiện rõ nhất Cụ thể hơn, phân tích thành phần chính tức là đi tìm những trục hay mặt phẳng “phản ánh” tốt nhất, trung thực nhất đám mây điểm -biến, điểm - cá thể Nhận diện khuôn mặt bằng PCA là một trong ứng dụng tuyệt vời với những giá trị mà nó mang lại Nhờ có những ứng dụng ấy và sự tiến bộ trong khoa học công nghệ, cuộc sống con người đã nâng cấp lên và không còn khó khăn như trước kia.

Trang 18

TÀI LIỆU THAM KHẢO

[1] Principal Component Analysis, Wikipedia, Internet:

https://en.wikipedia.org/wiki/Principal_component_analysis - Computing_PCA_using_the_covariance_method

[2] Applications of Principal Component Analysis (PCA), Internet:

[3] Trần Thanh Bình, Lê Quang Kỳ, Võ Thục Khánh Huyền, Đỗ Nhật Hoàng Projects in Mathematics and Applications, PRINCIPAL COMPONENT ANALYSIS, 2018,

[4] Giảm chiều dữ liệu để tăng hiệu quả của mô hình AI, Internet:

https://blog.vinbigdata.org/giam-chieu-du-lieu-de-tang-hieu-qua-cua-mo-hinh-ai

Ngày đăng: 25/04/2024, 05:54

Tài liệu liên quan