1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn Đại số tuyến tính Đề tài 13 Ứng dụng của phân tích pca vào nhận dạng khuôn mặt

26 1 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 đề Ứng Dụng Của Phân Tích PCA Vào Nhận Dạng Khuôn Mặt
Tác giả Đào Tiến Anh, Đào Nguyễn Minh Anh, Đoàn Nguyễn Hoàng Việt, Đỗ Lê Quốc Bảo, Đoàn Huy Hoàng, Đặng Xuân Tài, Đỗ Trần Biên
Người hướng dẫn TS. Đặng Văn Vinh
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Khoa Học Ứng Dụng
Thể loại Bài tập lớn
Năm xuất bản 2023
Thành phố Tp. HCM
Định dạng
Số trang 26
Dung lượng 1,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Công nghệ nhận dạng khuôn mặt có thể xác định khuôn mặt người trong hình ảnh hoặc video, xác định xem khuôn mặt xuất hiện trong hai hình ảnh có phải là cùng một người không hoặc tìm kiếm

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ÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 13:

Ứng dụng của phân tích PCA vào nhận

dạng khuôn mặt

LỚP L01, NHÓM 3 GVHD: TS ĐẶNG VĂN VINH

Tp HCM, 12/2023

Trang 2

ĐẠ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ÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH Ứng dụng của phân tích PCA vào nhận dạng khuôn mặt

Nhóm 3:

1 Đào Tiến Anh MSSV: 2310062

2 Đào Nguyễn Minh Anh MSSV: 2310061

3 Đoàn Nguyễn Hoàng Việt MSSV: 2313888

4 Đỗ Lê Quốc Bảo MSSV: 2310215

5 Đoàn Huy Hoàng MSSV: 2311036

6 Đặng Xuân Tài MSSV: 2312990

7 Đỗ Trần Biên MSSV: 2310285

Tp HCM, 12/2023

Trang 3

1.2.3 Các bước trong thuật toán

1.2.4 Một số khái niệm toán học trong PCA

1.2.5 Ứng dụng PCA vào nhận diện khuôn mặt

Chương 2: ỨNG DỤNG PCA VÀO NHẬN DẠNG KHUÔN MẶT Chương 3: CODE MATLAB

Chương 4: KẾT LUẬN

Chương 5: NGUỒN THAM KHẢO

Trang 4

CHƯƠNG 1: MÔ TẢ CƠ SỞ LÝ THUYẾT PCA

1.1 Giới thiệu

-Trong thế giới ngày nay, với sự phát triển mạnh mẽ của công nghệ số và mạng Internet, vấn đề đảm bảo an toàn về thông tin cá nhân 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ốngmáy tính của nhà nước, chính phủ Trong đa số các vụ xâm nhập, những tên tội phạm đã lợi dụng những lỗ hổng để truy cập vào các hệ thống thông tin và kiểm soát, chiếm đoạt thông tin trong hệ thống Thường các hệ thống ấy không thực hiện quyền truy cập của người dùng dựa vào thông tin “chúng ta là ai” mà dựa vào thông tin “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ó đặ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, mật khẩu, mã số thẻ tín dụng, Rõ ràng là cáchvận hành này không mang tính đặc trưng cho người dùng mà chỉ mang tính xác thực, và nếu chúng bị đánh cắp hay sao chép thì tội phạ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 Đó là sử dụng trình phân tích và nhận diện khuôn mặt

-Trình phân tích và nhận diện khuôn mặt là phần mềm xác định hoặc xác nhận danh tính của một người qua khuôn mặt của họ Công nghệ này hoạt động bằng cách xác định và đo lường các đặc điểm khuôn mặt trong hình ảnh Công nghệ nhận dạng khuôn mặt có thể xác định khuôn mặt người trong hình ảnh hoặc video, xác định xem khuôn mặt xuất hiện trong hai hình ảnh có phải là cùng một người không hoặc tìm kiếm khuôn mặt trong một bộ sưu tập đồ sộ các hình ảnh hiện có Các hệ thống bảo mật sinh trắc học sử dụng công nghệ nhận dạng khuôn mặt để nhận dạng cá nhân độc nhất trong lúc triển khai người dùng hoặc đăng nhập, cũng như để tăng cường cho hoạt động xác thực người dùng Các thiết bị diđộng và cá nhân cũng thường sử dụng công nghệ phân tích khuôn mặt để bảo mậtthiết bị Sau đây chúng ta sẽ tìm hiểu về một phương pháp đã được sử dụng trong

Trang 5

lĩnh vực nhận dạng khuôn mặt người, đó là phương pháp phân tích thành phần chính (Principal Component Analysis).

1.2 Thuật toán PCA:

1.2.1 Khái niệm:

-PCA (Principal Component Analysis) là thuật toán sử dụng phép biến đổi trựcgiao để biến đổi một tập hợp dữ liệu từ không gian nhiều chiều sang một không gian mới có ít chiều hơn (thường là 2 hoặc 3 chiều), 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 dữ liệu là lớn nhất -PCA là phương pháp loại bỏ thành phần phụ, giữ thành phần chính và không gây ảnh hưởng nhiều đến dữ liệu so với dữ liệu gốc

-Ví dụ minh họa:

1.2.2 Lợi ích:

-Giảm chiều dữ liệu nhưng vẫn giữ được độ chính xác nhất định so với dữ liệu ban đầu

-Dễ quan sát, nắm bắt thông tin, nhận biết sự tương quan

-Giúp ta tính toán nhanh hơn với độ chính xác cao

-Ứng dụng: nhận diện khuôn mặt, giảm chiều dữ liệu và trong một số lĩnh vực khác

Trang 6

1.2.3 Các bước trong thuật toán:

-B1: Tính giá trị trung bình của tất cả các biến

-B2: Trừ đi mỗi điểm dữ liệu của toàn bộ dữ liệu một giá trị trung bình

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

-B4: Tính các trị riêng của ma trận hiệp phương sai, sau đó sắp xếp chúng theo thứ tự giảm dần Tính các vector riêng của các trị riêng

-B5: Chọn k vector riêng ứng với k trị riêng lớn nhất để xây dựng ma trận (các cột là vector riêng đã chọn)

-B6: Chiếu dữ liệu ban đầu xuống không gian vừa tìm được

-B7: Có được một bộ dữ liệu trong cơ sở mới với số chiều ít hơn, giúp cho việc phân tích trở nên dễ dàng

1.2.4 Một số khái niệm toán học trong PCA:

-Giá trị trung bình:

-Phương sai (variance): thể hiện sự đặc trưng độ phân tán của các số liệu trong tập dữ liệu so với giá trị trung bình (kí hiệu ) Từ đó chúng ta dễ dàng “hình dung” được dữ liệu chúng ta đang xét

-Hiệp phương sai (covariance): là độ đo sự biến thiên cùng nhau của 2 biến ngẫu nhiên

-Trị riêng, vector riêng của ma trận hiệp phương sai:

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

Trang 7

+Trị riêng: giải phương trình đặc trưng:

+Nghiệm của phương trình đặc trưng là trị riêng

+Vector riêng: giải hệ phương trình thuần nhất

+Tìm vector riêng ứng với trị riêng

1.2.5 Ứng dụng PCA vào nhận diện khuôn mặt:

-Phân tích thành phần chính (Principal Component Analysis) gọi tắt là PCA được

sử dụng làm thuật toán nhận dạng ảnh dựa trên những nét tổng thể của khuôn mặt, ta sẽ áp dụng thuật toán này để thực hiện hai công việc sau:

+Thứ nhất là tìm một khuôn mặt giống với khuôn mặt cho trước

+Thứ hai là xác định vị trí những khuôn mặt người trong một bức ảnh

-Ban đầu ta có một tập ảnh khuôn mặt gọi là tập ảnh huấn luyện (training set) Giả sử mỗi ảnh có kích thước M×N, ta coi mỗi bức ảnh này là một vector trong không gian M*N chiều Bây giờ mỗi khuôn mặt là một vector , ta thấy những vector này không phân bố ngẫu nhiên trong không gian ảnh mà phân bố theo một quy luật tương đối nào đó, ta có thể nói những vector này nằm trong một không gian con gọi là không gian khuôn mặt Từ những vector trong tập huấn luyện, ta

sẽ tìm một cơ sở trực chuẩn cho không gian khuôn mặt Những vector thuộc cơ sởnày có thể coi là những vector mang những nét tổng thể đặc trưng về khuôn mặt -Giả sử tập huấn luyện có P ảnh , khi đó ta sẽ có P vector : , , … ,

-Tính vector ảnh trung bình : m =

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

, i=1…P -Ý 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ựcchuẩn sao cho những vector này mô tả tốt nhất sự phân bố những vector khuônmặt trong không gian Những vector được chọn sao cho :

Trang 8

lớn nhất

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

- là tích vô hướng giữa hai vector u, v A=[ ]

-Ta thấy ma trận A có kích thước M*N × P, còn ma trận 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 có kích thước P×P

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

v = λv ⬄ v = λAv , tức là Av là một trị riêng của ma trận -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 , 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= , 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 Do đây là những vector riêng, mà nólại có dạng khuôn mặt nên còn được gọi là Eigenfaces E là ma trận M*N×Q, mỗicộ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

Trang 9

- 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à , … , Khi đó hình chiếu trực giao của vector u bất kỳ lên W được xác định như sau:

=

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

-Tập hợp , i=1,… , Q được gọi là tọa độ của trong không gian

W

-Tìm C= K là tọa độ của hình chiếu của K lên không gian khuôn mặt C

là vector cột Q×1

= với = C( i , 1) ; = E( : , i ) -Với là một cột trong ma trận A (tương ứng với bức ảnh trong tập huấn luyện) Ta tính

= là tọa độ của hình chiếu của lên không gian khuôn mặt

-Ta tính hai đại lượng sau :

s = xem như khoảng cách từ bức ảnh H đến không gian mặt

= xem như khoảng cách từ H đến bức ảnh trong tập huấn luyện

- Xét α và β là hai ngưỡng nào đó

s < α thì H là bức ảnh khuôn mặt ( do H đủ gần với không gian mặt )

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

Trang 10

-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 hayxá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ướcM×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 (x,y) là hình chiếu của K(x,y) lên không gian khuôn mặt

Bước 1: Chuẩn bị Dữ liệu

1 Thu thập dữ liệu: Thu thập một tập dữ liệu chứa ảnh khuôn mặt của nhiều người, với nhiều biến thay đổi như góc nhìn, ánh sáng, và biểu cảm

2 Chuẩn hóa dữ liệu: Chắc chắn rằng tất cả các ảnh có cùng kích thước và được

chuẩn hóa để loại bỏ những biến thay đổi không cần thiết

Bước 2: Chuyển đổi dữ liệu bằng PCA

1 Flatten ảnh: Chuyển đổi mỗi ảnh thành một vector cột bằng cách duỗi ma trận ảnhthành một vectơ 1D

2 Xây dựng ma trận dữ liệu: Tạo ma trận dữ liệu trong đó mỗi cột là một vectơ đại diện cho một ảnh

3 Trừ giá trị trung bình: Trừ giá trị trung bình của mỗi pixel để trung bình hóa dữ

liệu

4 Tính ma trận hiệp phương sai: Tính ma trận hiệp phương sai của dữ liệu

5 Tính các thành phần chính: Tính các vectơ riêng và giá trị riêng của ma trận hiệp phương sai Sắp xếp chúng theo giá trị giảm dần

6 Chọn số lượng thành phần chính: Chọn số lượng thành phần chính (principal

components) dựa trên tỷ lệ giữ lại thông tin mong muốn

Trang 11

7 Tạo ma trận truyển đổi: Chọn (\k\) thành phần chính và tạo ma trận truyển đổi Bước 3: Nhận diện Khuôn mặt

1 Chuyển đổi dữ liệu: Sử dụng ma trận truyển đổi để chuyển đổi dữ liệu ảnh thành không gian mới, được biểu diễn bằng các thành phần chính

2 Xây dựng mô hình nhận diện: Xây dựng một mô hình nhận diện khuôn mặt sử dụng các thuật toán như k-Nearest Neighbors (k-NN), Support Vector Machines (SVM), hoặc Neural Networks

3 Kiểm thử và đánh giá: Chia tập dữ liệu thành tập huấn luyện và tập kiểm tra Huấn luyện mô hình trên tập huấn luyện và đánh giá hiệu suất trên tập kiểm tra Lưu ý quan trọng:

- Tùy chỉnh tham số: Điều chỉnh các tham số như số lượng thành phần chính, ngưỡng giữ lại thông tin, và mô hình nhận diện để đạt được kết quả tốt nhất

- Xử lý nhiễu: Xử lý nhiễu trước khi thực hiện PCA có thể giúp cải thiện hiệu suất của mô hình

- Thực hiện Cross-validation: Sử dụng cross-validation để đảm bảo mô hình của bạn tổng quát và tránh tình trạng quá mức (overfitting)

2.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

+ Đố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

2.3 Thử thách

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

 Đ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

Trang 12

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ònchưa nhiều

 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

2.4 Ứng dụng thực tế

1 Hệ thống Mở khóa Khuôn mặt:

Mô tả: Hệ thống mở khóa khuôn mặt cho phép người dùng truy cập điện thoại di động, máy tính xách tay, hoặc các thiết bị khác bằng cách sử dụng tính năng nhận diện khuôn mặt thay vì mật khẩu hoặc dấu vân tay

Ứng dụng: iPhone sử dụng Face ID, nhiều máy tính xách tay và tablet sử dụng Windows Hello

2 Giảm thời gian Chấm công:

Mô tả: Các hệ thống chấm công dựa trên nhận diện khuôn mặt giúp giảm thời gian và chấm công tự động cho nhân viên mà không cần sử dụng thẻ chấm công hoặc máy chấm công cổ điển

Ứng dụng: Các doanh nghiệp, nhà hàng, và các tổ chức lớn sử dụng hệ thống chấm công nhận diện khuôn mặt

3 Quản lý An ninh và Kiểm soát Truy cập:

Mô tả: Các hệ thống an ninh nhận diện khuôn mặt để giám sát và kiểm soát truy cập vào các khu vực an ninh như tòa nhà văn phòng, ngân hàng, hoặc sân bay.Ứng dụng: Sân bay, ngân hàng, và các khu vực có yêu cầu an ninh cao sử dụng hệthống nhận diện khuôn mặt để kiểm soát truy cập

4 Quảng cáo Tương tác:

Mô tả: Hệ thống quảng cáo tương tác có thể nhận diện khuôn mặt của người xem

và tùy chỉnh nội dung quảng cáo dựa trên các yếu tố như giới tính, độ tuổi, hoặc biểu cảm khuôn mặt

Ứng dụng: Quảng cáo trong các cửa hàng bán lẻ, trung tâm mua sắm, hoặc các khu vực quảng cáo công cộng

5 Quản lý Thông tin Khách hàng:

Trang 13

Mô tả: Các doanh nghiệp sử dụng nhận diện khuôn mặt để theo dõi và quản lý thông tin về khách hàng, cung cấp dịch vụ cá nhân hóa và tạo trải nghiệm tốt hơn.Ứng dụng: Nhà hàng, khách sạn, và các doanh nghiệp dịch vụ sử dụng để cải thiện phục vụ và tương tác với khách hàng.

6 Hệ thống Giám sát Giao thông:

Mô tả: Nhận diện khuôn mặt được sử dụng trong hệ thống giám sát giao thông để theo dõi và kiểm soát lưu thông, quản lý đỗ xe, và xác định vi phạm giao thông.Ứng dụng: Thành phố thông minh và các hệ thống giám sát giao thông đô thị

7 Y tế và Điều trị:

Mô tả: Trong lĩnh vực y tế, nhận diện khuôn mặt có thể được sử dụng để theo dõi

sự thay đổi trong tình trạng sức khỏe của bệnh nhân và để xác định các vấn đề về sức khỏe

Ứng dụng: Hệ thống theo dõi bệnh nhân trong các bệnh viện và phòng mạch

8 Giáo dục và Học trực tuyến:

Mô tả: Trong lĩnh vực giáo dục, nhận diện khuôn mặt có thể được sử dụng

CHƯƠNG 3: SƠ ĐỒ KHỐI VÀ CODE CHƯƠNG TRÌNH

3.1 Sơ đồ khối

Ngày đăng: 25/06/2025, 07:54

HÌNH ẢNH LIÊN QUAN

CHƯƠNG 3: SƠ ĐỒ KHỐI VÀ CODE CHƯƠNG TRÌNH - Bài tập lớn Đại số tuyến tính Đề tài 13 Ứng dụng của phân tích pca vào nhận dạng khuôn mặt
3 SƠ ĐỒ KHỐI VÀ CODE CHƯƠNG TRÌNH (Trang 13)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w