1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn nêu cơ sở lý thuyết của pca Ứng dụng của pca vào nhận dạng khuôn mặt

16 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Nêu Cơ Sở Lý Thuyết Của PCA Và Ứng Dụng Của PCA Vào Nhận Dạng Khuôn Mặt
Tác giả Nguyễn Khánh Quỳnh, Nguyễn Thanh Sang, Trần Qúy Tài, Trần Lê Quân
Người hướng dẫn Nguyễn Xuân Mỹ
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh, Trường Đại Học Bách Khoa, Khoa Khoa Học Ứng Dụng
Chuyên ngành Khoa Học Ứng Dụng
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 1,29 MB

Nội dung

Rõ ràng là những vận dụng này không mang tính đặc trưng cho người sỡ hữu mà chỉ mang tính xác thực đối với người sử dụng, và nếu chúng bị đánh cắp hay sao chép thì kẻ trộm hoàn toàn có t

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC ỨNG DỤNG

BÁO CÁO BÀI TẬP LỚN

ĐỀ TÀI 13 NÊU CƠ SỞ LÝ THUYẾT CỦA PCA

ỨNG DỤNG CỦA PCA VÀO NHẬN DẠNG KHUÔN MẶT

GVHD: Nguyễn Xuân Mỹ

LỚP L15 - NHÓM 13

TP.HCM, 12/2021

Trang 2

MỤC LỤC

CHƯƠNG I : GIỚI THIỆU 1

CHƯƠNG II: THUẬT TOÁN PCA 2

2.1.Giới thiệu về PCA: 2

2.2.Khái niệm: 3

2.3.Đặc tính: 3

2.4.Cơ sở toán học: 3

2.5.Các bước phân tích thành phần chính: 6

2.6.Ứng dụng của phân tích thành phần chính trong lĩnh vực chuyên môn: 8

CHƯƠNG III: ỨNG DỤNG CỦA PCA TRONG NHẬN DIỆN KHUÔN MẶT 8

3.1.Ý tưởng chính: 8

3.2.Ứng dụng của PCA trong nhận diện khuôn mặt: 8

3.3.Nhược điểm: 9

3.4.Các thử thách mà nhận diện khuôn mặt gặp phải: 9

3.5.Ứng dụng nhận diện khuôn mặt trong thực tế: 10

CHƯƠNG IV: PCA TRÊN PHẦN MỀM MATLAB 10

4.1.Sơ đồ khối: 10

4.2.Code PCA trong Matlab: 12

CHƯƠNG V: KẾT LUẬN 13

TÀI LIỆU THAM KHẢO 13

Trang 3

CHƯƠNG I : GIỚI THIỆU

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 Internet, 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 những vụ đánh cắp thông tin, thẻ tín dụng hay tài khoản ngân hàng, thậm chí còn đột nhập vào các hệ thống máy tính của nhà nước, chính phủ Hơn 100 triệu đô la đã bị thất thoát ở Mỹ năm 1998 do các

vụ xâm nhập phạm pháp này Trong đa số các vụ xâm nhập, tội phạm đã lợi dụng những lỗ hổng cơ bản trong quá trình truy cập vào các hệ thống thông tin và kiểm soát Phần lớn các hệ thống truy cập 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ì” Nói cách khác, thông tin mà người dùng cung cấp cho hệ thống không đặc trưng cho bản thân

họ, mà chỉ là những thứ họ hiện đang sỡ hữu như CMND/CCCD, chìa khoá, mật khẩu, mã số thẻ tín dụng và họ tên Rõ ràng là những vận dụng này không mang tính đặc trưng cho người sỡ hữu mà chỉ mang tính xác thực đối với người sử dụng, và nếu chúng bị đánh cắp hay sao chép thì kẻ trộm hoàn toàn có thể truy cập và sử dụng tất cả dữ liệu và phương tiện của chúng ta bất cứ khi nào chúng muốn Hiện nay với

sự phát triển của công nghệ hiện đại đã cho phép việc xác thực dựa vào những đặc trưng về “bản chất “ của bản thân

Trong chương này chúng ta sẽ điểm qua một số phương pháp đã được sử dụng trong

lĩnh lực nhận dạng mặt người Chúng ta sẽ tập trung phân tích phương pháp : phân

tích thành phần chính (Principle Compoments Analysis -PCA).

Trang 4

CHƯƠNG II: THUẬT TOÁN PCA

2.1.Giới thiệu về PCA:

Cùng là 1 chú lạc đà, tuy nhiên với các góc nhìn khác nhau (trục thông tin), chúng ta

có những cách thu nhận thông tin khác nhau và cho ta những kết luận khác nhau PCA là thuật toán tìm một không gian mới (với số chiều nhỏ hơn không gian cũ), các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể

Ví dụ minh hoạ:

Trang 5

2.2.Khái niệm:

Phân tích thành phần chính là một phương pháp được sử dụng thường xuyên khi các nhà phân tích thống kê phải đối mặt với những bộ số liệu với số chiều lớn (big data) để giảm thiểu chiều dữ liệu mà vẫn không mất đi thông tin và giữ lại được những thông tin cần thiết cho việc xây dựng các mô hình băng một thuật

toán thống kê sử dụng phép biến đổi trực giao để biến đổi một tập hợp dữ liệu từ một không gian nhiều chiều sang một không gian mới ít chiều hơn (2 hoặc 3 chiều) nhằm tối ưu hóa việc thể hiện sự biến thiên của dữ liệu

2.3.Đặc tính:

 Giúp giảm số chiều của dữ liệu

 Thay vì giữ lại các trục toa độ của không gian cũ, PCA xây dụng một không gian mới ít chiều hơn, nhmg lại có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ, nghĩa là đảm báo độ biến thiên (variabi lity) của đữ liệu trên mỗi chiều mới

 Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của không gian

cũ, do đó về mặt ngữ nghĩa, PCA xây dụng đặc trung mới dựa trên các đặc tnng đã quan sát được Điểm hay là những đặc trung này vẫn biểu diễn tốt

dữ liệu ban đầu

 Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được khám phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn, hoặc những liên kết như thế không thể hiện rõ

2.4.Cơ sở toán học:

 Kỳ vọng (mean):

Là giá trị mong muốn, nó đơn giản là trung bình cộng của toàn bộ các giá trị

Trang 6

Cho N giá trị x , x ,…, x1 2 n:

 Phương sai (variance):

Là trung bình cộng của bình phương khoảng cách từ mỗi điểm tới kỳ vọng, phương 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

 Hiệp phương sai (covariance):

Là độ đ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

 Ma trận hiệp phương sai:

Cho N điểm dữ liệu được biểu diễn bởi các vector cột x , x ,…, x , khi đó, vector kỳ 1 2 n vọng và ma trận hiệp phương sai của toàn bộ dữ liệu được định nghĩa là:

Trang 7

Ma trận hiệp phương sai là một ma trận đối xứng, hơn nữa, nó là một ma trận nửa xác định dương

Mọi phần tử trên đường chéo của ma trận hiệp phương sai là các số không âm Chúng cũng chính là phương sai của từng chiều của dữ liệu

Các phần tử ngoài đường chéo thể hiện sự tương quan giữa thành phần thứ i và thứ j của dữ liệu, còn được gọi là hiệp phương sai Giá trị này có thể dương, âm hoặc bằng 0 Khi nó bằng 0, ta nói rằng hai thành phần i, j trong dữ liệu là không tương

quan (uncorrelated).

Nếu ma trận hiệp phương sai là ma trận đường chéo, ta có dữ liệu hoàn toàn không tương quan giữa các chiều

Minh hoạ ma trận hiệp phương sai:

 Trị riêng (eigenvalue), vector riêng (eigenvector) của ma trận hiệp phương sai:

Cho một ma trận vuông , nếu số vô hướng và vector thoả mãn:

thì được gọi là một trị riêng của và được gọi là vector riêng tương ứng với trị riêng đó

- Trị riêng là nghiệm của phương trình đặc trưng

- Một trị riêng có thể có nhiều vector riêng

- Mỗi vector riêng chỉ ứng với một trị riêng duy nhất

Trang 8

- Nếu x là một vector riêng của ứng với thì cũng là vector riêng ứng với trị riêng đó

- Mọi ma trận vuông bậc n đều có n trị riêng (kể cả lặp) và có thể là các số phức

- Với ma trận đối xứng, tất cả các trị riêng đều là các số thực

- Với ma trận xác định dương, tất cả các trị riêng của nó đều là các số thực dương Với ma trận nửa xác định dương, tất cả các trị riêng của nó đều là các số thực không âm

 Phương pháp giải tìm trị riêng, vector riêng:

Bước 1: Giải phương trình đặc trưng để tìm trị riêng:

Bước 2: Giải hệ phương trình tìm vector riêng tương ứng với trị riêng :

2.5.Các bước phân tích thành phần chính:

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

Bước 2: + Tính vectơ

+ Tính ma trận hiệp phương sai:

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

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

Trang 9

Bước 5: Tính ảnh của vectơ

Dữ liệu ban đầu được xấp xỉ bởi

Mỗi cột của chứa tọa độ của các hàng của ma trận trong cơ sở từ các cột của ma trận

Lưu ý:

- Ma trận là ma trận đối xứng thực và các trị riêng của là các số không âm

- Ma trận luôn chéo hóa trực giao được:

+ Trên đường chéo của là phương sai của các vectơ Phần tử là hiệp phương sai của và

+ Tổng các phần tử trên đường chéo của là phương sai của bảng dữ liệu Giả sử Trên đường chéo của là các trị riêng của

- Ma trận là ma trận trực giao Mỗi trực giao tương ứng với một phép quay + Các cột của ma trận tạo nên hệ trực chuẩn Nếu ta chọn cơ sở trực chuẩn là

họ vectơ cột của ma trận thì ta xây dựng được hệ trục tọa độ mới dựa trên các vectơ này và có một phép quay từ hệ trục tọa độ ban đầu sang hệ trục tọa độ mới

- Nếu dữ liệu mẫu (sample data) thì

- Nếu dữ liệu dân số (population data) thì

2.6.Ứng dụng của phân tích thành phần chính trong lĩnh vực chuyên môn:

- Kinh tế: Sử dụng trong tính toán, dự đoán vĩnh vực chứng khoán cổ phiếu,…

- Sinh học: Thống kế và phân loại các mã gen tế bào phức tạp,…

- Kỹ thuật: Sử dụng trong các thuật toán hiện đại như: nhận diện khuôn mặt,…

Trang 10

CHƯƠNG III: ỨNG DỤNG CỦA PCA TRONG NHẬN DIỆN KHUÔN MẶT

3.1.Ý tưởng chính:

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 là Feature Extraction ( giữ k thuộc tính “mới”) chứ không phải Feature Selection ( giữ lại k thuộc tính nguyên gốc ban đầu)

3.2.Ứng dụng của PCA trong nhận diện khuôn mặt:

-Tiền xử lý: Chuẩn hoá kích cỡ giữa ảnh trong cơ sở dữ liệu (CSDL)

-Tách khuôn mặt: khuôn mặt trên ảnh chụp được tách ra phần mặt, nó sẽ là 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ích chọn đặc trưng: Tìm ra các đặc trưng chính của ảnh mặt, từ các đặc 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

Trang 11

- Đối sánh: Thực hiện việc so sánh giữa các vector đặc trưng để chọn ra độ tương tự giữa ảnh cần tìm và ảnh trong CSDL

3.3.Nhược điểm:

Trong những trường hợp sau, PCA Eigenfaces sẽ nhận dạng sai:

 Khác nhau về điều kiện ánh sáng

 Khác nhau về điệu bộ (nghiêng đầu, nhảy, )

 Cảm xúc ( cười to, nheo mắt, há miệng,… )

3.4.Các thử thách mà nhận diện khuôn mặt gặp phải:

 Điều kiện sáng: là một trong những thách thức lớn nhất của nhận dạng mặt, hiện tại chưa có phương pháp tốt cho ảnh chụp ở điều kiện ngoài trời

 Sự thay đổi hướng khuôn mặt: kết quả với các ảnh có hướng thay đổi còn khá khiêm tốn

 Nhận diện khuôn mặt dựa trên video: đối với sự phát triển của phương tiện

đa truyền thông, thông tin mặt người trong các dữ liệu video là vô cùng nhiều Tuy nhiên hầu hết các phương pháp nhận dạng vẫn làm việc với ảnh tĩnh được trích xuất từ dữ liệu video, vẫn chưa có phương pháp tốt tận dụng hết ưu thế của dữ liệu video

 Điều kiện lão hóa: việc nhận dạng khuôn mặt thay đổi theo thời gian thực sự vẫn còn là một vấn đề lớn ngay cả đối với khả năng nhận dạng của con người

 Độ phân giải thấp: các ảnh thu được từ các camera giám sát thường có kích thước và chất lượng rất thấp, các kết quả nghiên cứu về lĩnh vực này còn chưa nhiều

Trang 12

 Các hệ thống lớn: các cơ sở dữ liệu ảnh khuôn mặt được thử nghiệm bởi các nhà nghiên cứu còn khá nhỏ (từ vài trăm tới vài chục nghìn ảnh mặt), tuy nhiên trên thực tế các CSDL có thể rất lớn, ví dụ CSDL ảnh khuôn mặt của cảnh sát có thể chứa từ hàng triệu đến hơn 1 tỉ ảnh

3.5.Ứng dụng nhận diện khuôn mặt trong thực tế:

 Nhận dạng tội phạm

 Thẻ căn cước, chứng minh thư nhân dân (Face Indentification)

 Hệ thống theo dõi, quan sát và bảo vệ

 Kiểm soát truy cập vào các hệ thống máy tính trong môi trường cộng tác

 Giải pháp bảo mật bổ sung cho các giao dịch rút tiền tự động (ATM)

 Hệ thống tuơng tác giữa người và máy: giúp những người bị tật hoặc khiếm

 Kiểm tra trạng thái người lái xe có ngù gật, mất tập trung hay không, và hỗ trợ thông báo khi cần thiết

 khuyết có thể trao đổi

 Tìm kiếm và tổ chức dữ liệu liên quan đến con người thông qua khuôn mặt người trên nhiều hệ cơ sở dữ liệu lưu trữ thật lớn, như internet, các hãng truyền hình

 Ứng dụng trong việc giao tiếp giữa người với máy

 Ứng dụng trong video phone

 Phân loại trong lưu trữ hình ảnh trong điện thoại di động

 Thiết kế điều khiển robot

Trang 13

CHƯƠNG IV: PCA TRÊN PHẦN MỀM MATLAB 4.1.Sơ đồ khối:

BẮT ĐẦU

CHỌN NGẪU NHIÊN 1 MA TRẬN

NHẬP GIÁ TRỊ K (số chiều còn lại sau khi

giảm)

MA TRẬN ĐÃ GIẢM CHIỀU

Trang 14

4.2.Code PCA trong Matlab:

K = input("Nhap gia tri K: ");

disp('Ma tran Input:');

%X = rand(5,3);

X = [0.4898 0.2760 0.4984; 0.4456 0.6797 0.959; 0.6463 0.6551 0.3404; 0.7094 0.1626 0.5853;0.7547 0.1190 0.2238];

%X = [4 11; 8 4; 13 5; 7 14];

disp(X);

Xm = X - mean(X);

C=cov(Xm);

[V,D]=eig(C);

[~,ind] = sort(diag(D),"descend");

Vs = V(:,ind);

Uk = Vs(:,1:K);

Z = Xm*Uk

Khi chạy code và nhập giá trị K, ta sẽ cho ra được kết quả:

Trang 15

CHƯƠNG V: 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

TÀI LIỆU THAM KHẢO

[1] Đại số Tuyến Tính – Đặng Văn Vinh Đại Học Quốc Gia TP Hồ Chí Minh, Trường Đại Học Bách Khoa, 2020

Trang 16

[2] Phạm Thị Ngọc Yến, Lê Hữu Tình, “Cơ sở Matlab và ứng dụng”, NXB Khoa học &

Kỹ thuật

[3] Principal Component Analysis

https://machinelearningcoban.com/2017/06/15/pca/

[4] Face recognition using eigenfaces PCA algorithm

https://www.geeksforgeeks.org/ml-face-recognition-using-eigenfaces-pca-algorithm/

[5] Tạp Chí Khoa Học ĐHQGHN - Phạm Văn Huấn, Khoa học tự nhiên và công nghệ số 28

Ngày đăng: 13/11/2024, 14:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w