Ứng dụng của pca vào nhận dạng khuôn mặt Ứng dụng của pca vào nhận dạng khuôn mặt Ứng dụng của pca vào nhận dạng khuôn mặt Ứng dụng của pca vào nhận dạng khuôn mặt Ứng dụng của pca vào nhận dạng khuôn mặt Ứng dụng của pca vào nhận dạng khuôn mặt
ĐẠ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 KHN MẶT GVHD: Nguyễn Xn Mỹ LỚP L15 - NHĨM 13 Nguyễn Khánh Quỳnh MSSV:2112167 Nguyễn Thanh Sang MSSV:2114639 Trần Qúy Tài Trần Lê Quân MSSV:2114701 MSSV:2112132 TP.HCM, 12/2021 MỤC LỤC CHƯƠNG I : GIỚI THIỆU CHƯƠNG II: THUẬT TOÁN PCA .2 2.1.Giới thiệu PCA: 2.2.Khái niệm: 2.3.Đặc tính: 2.4.Cơ sở toán học: 2.5.Các bước phân tích thành phần chính: 2.6.Ứng dụng phân tích thành phần 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 PCA nhận diện khuôn mặt: 3.3.Nhược điểm: 3.4.Các thử thách mà nhận diện khuôn mặt gặp phải: 3.5.Ứng dụng nhận diện khuôn mặt 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 Matlab: 12 CHƯƠNG V: KẾT LUẬN 13 TÀI LIỆU THAM KHẢO 13 CHƯƠNG I : GIỚI THIỆU Trong giới ngày với phát triển mạnh mẽ kỹ thuật số mạng Internet, vấn đề đảm bảo an tồn thơng tin vật chất trở nên ngày quan trọng khó khăn Thỉnh thoảng lại nghe đến vụ đánh cắp thơng tin, thẻ tín dụng hay tài khoản ngân hàng, chí cịn đột nhập vào hệ thống máy tính nhà nước, phủ Hơn 100 triệu la bị thất Mỹ năm 1998 vụ xâm nhập phạm pháp Trong đa số vụ xâm nhập, tội phạm lợi dụng lỗ hổng trình truy cập vào hệ thống thơng tin kiểm sốt Phần lớn hệ thống truy cập khơng thực quyền truy cập người sử dụng dựa vào thông tin “chúng ta ai” mà 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 thân họ, mà thứ họ sỡ hữu CMND/CCCD, chìa khố, mật khẩu, mã số thẻ tín dụng họ tên Rõ ràng vận dụng khơng mang tính đặc trưng cho người sỡ hữu mà mang tính xác thực người sử dụng, chúng bị đánh cắp hay chép kẻ trộm hồn tồn truy cập sử dụng tất liệu phương tiện chúng muốn Hiện với phát triển công nghệ đại cho phép việc xác thực dựa vào đặc trưng “bản chất “ thân Trong chương điểm qua số phương pháp sử dụng lĩnh lực nhận dạng mặt người Chúng ta tập trung phân tích phương pháp : phân tích thành phần (Principle Compoments Analysis -PCA) CHƯƠNG II: THUẬT TOÁN PCA 2.1.Giới thiệu PCA: Cùng lạc đà, nhiên với góc nhìn khác (trục thơng tin), có cách thu nhận thơng tin khác cho ta kết luận khác PCA thuật tốn tìm khơng gian (với số chiều nhỏ không gian cũ), trục tọa độ không gian xây dựng cho trục, độ biến thiên liệu lớn Ví dụ minh hoạ: 2.2.Khái niệm: Phân tích thành phần phương pháp sử dụng thường xuyên nhà phân tích thống kê phải đối mặt với số liệu với số chiều lớn (big data) để giảm thiểu chiều liệu mà không thông tin giữ lại thông tin cần thiết cho việc xây dựng mơ hình băng thuật toán thống kê sử dụng phép biến đổi trực giao để biến đổi tập hợp liệu từ khơng gian nhiều chiều sang khơng gian chiều (2 chiều) nhằm tối ưu hóa việc thể biến thiên liệu 2.3.Đặc tính: Giúp giảm số chiều liệu Thay giữ lại trục toa độ khơng gian cũ, PCA xây dụng khơng gian chiều hơn, nhmg lại có khả biểu diễn liệu tốt tương đương không gian cũ, nghĩa đảm báo độ biến thiên (variabi lity) đữ liệu chiều Các trục tọa độ không gian tổ hợp tuyến tính khơng gian cũ, mặt ngữ nghĩa, PCA xây dụng đặc trung dựa đặc tnng quan sát Điểm đặc trung biểu diễn tốt liệu ban đầu Trong không gian mới, liên kết tiềm ẩn liệu khám phá, mà đặt khơng gian cũ khó phát hơn, liên kết khơng thể rõ 2.4.Cơ sở tốn học: Kỳ vọng (mean): Là giá trị mong muốn, đơn giản trung bình cộng tồn giá trị Cho N giá trị x1, x2,…, xn: Phương sai (variance): Là trung bình cộng bình phương khoảng cách từ điểm tới kỳ vọng, phương sai nhỏ điểm liệu gần với kỳ vọng, tức điểm liệu giống Phương sai lớn ta nói liệu có tính phân tán Hiệp phương sai (covariance): Là độ đo biến thiên hai biến ngẫu nhiên (phân biệt với phương sai – đo mức độ biến thiên biến) Nếu biến có xu hướng thay đổi (nghĩa là, biến có giá trị cao giá trị kỳ vọng biến có xu hướng cao giá trị kỳ vọng), hiệp phương sai hai biến có giá trị dương Mặt khác, biến nằm giá trị kỳ vọng biến có xu hướng nằm giá trị kỳ vọng, hiệp phương sai hai biến có giá trị âm Nếu hai biến độc lập với giá trị Ma trận hiệp phương sai: Cho N điểm liệu biểu diễn vector cột x1, x2,…, xn , đó, vector kỳ vọng ma trận hiệp phương sai toàn liệu định nghĩa là: Ma trận hiệp phương sai ma trận đối xứng, nữa, ma trận nửa xác định dương Mọi phần tử đường chéo ma trận hiệp phương sai số khơng âm Chúng phương sai chiều liệu Các phần tử đường chéo thể tương quan thành phần thứ i thứ j liệu, gọi hiệp phương sai Giá trị dương, âm Khi 0, ta nói hai thành phần i, j liệu không tương quan (uncorrelated) Nếu ma trận hiệp phương sai ma trận đường chéo, ta có liệu hồn tồn khơng tương quan chiều Minh hoạ ma trận hiệp phương sai: Trị riêng (eigenvalue), vector riêng (eigenvector) ma trận hiệp phương sai: Cho ma trận vuông , số vô hướng vector thoả mãn: gọi trị riêng gọi vector riêng tương ứng với trị riêng - Trị riêng nghiệm phương trình đặc trưng - Một trị riêng có nhiều vector riêng - Mỗi vector riêng ứng với trị riêng - Nếu x vector riêng ứng với vector riêng ứng với trị riêng - Mọi ma trận vng bậc n có n trị riêng (kể lặp) số phức - Với ma trận đối xứng, tất trị riêng số thực - Với ma trận xác định dương, tất trị riêng số thực dương Với ma trận nửa xác định dương, tất trị riêng 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 Bước 2: + Tính vectơ + Tính ma trận hiệp phương sai: Bước 3: Tìm trị riêng xếp theo giá trị giảm dần tìm vectơ riêng đơn vị ứng với trị riêng Bước 4: Chọn trị riêng ban đầu vectơ riêng đơn vị ứng với trị riêng Lập ma trận có cột vectơ riêng chọn Ma trận phép biến đổi cần tìm trị riêng vectơ riêng banđơn Bước đầuvịvà4: ứng Chọn với trị riêng hiệp phương sai phương sai + Tổng bảng liệu phần tử đường chéo ban đầu Dữ xấp liệu xỉ làTrên cácđường trị riêng Giả chéo sửcủa số không - Ma trận ma trận đối xứng thực trị riêng ma trận trực - Ma giao trậnMỗi trực giao tương ứng với phép quay chứa trongtọa độ sở từ Mỗi các cộthàng của ma trận tạo nên hệ trực + chuẩn Các cột Nếucủa ta ma chọn trận sở trực chuẩn cột ma trận họ vectơ cột ma trận ta xây dựng hệ trục tọa độ dựa Lưu ý: vectơ có phép quay từ hệ trục tọa độ ban đầu sang hệ trục tọa độ âm cóphép cột lànày Lập vectơma riêng trậnđã chọn Ma trận - Ma trận ln chéo hóa trực giao được: - Nếu liệu mẫu (sample data) Phần tử vectơ biến đổi cần tìm + Trên đường chéo Bước 5: Tính ảnh phương sai vectơ CHƯƠNG III: ỨNG DỤNG CỦA PCA TRONG NHẬN DIỆN KHN MẶT 3.1.Ý tưởng chính: Mục tiêu phương pháp PCA “ giảm số chiều” tập vector cho đảm bảo “ tối đa thông tin quan trọng nhất” Tức Feature Extraction ( giữ k thuộc tính “mới”) Feature Selection ( giữ lại k thuộc tính nguyên gốc ban đầu) 3.2.Ứng dụng PCA nhận diện khn mặt: -Tiền xử lý: Chuẩn hố kích cỡ ảnh sở liệu (CSDL) -Tách khuôn mặt: khuôn mặt ảnh chụp tách phần mặt, khn mặt cần tìm chức trích chọn đặc trưng sử dụng ảnh tách -Trích chọn đặc trưng: Tìm đặc trưng ảnh mặt, từ đặc trưng hình thành vector đặc trưng, vector sử dụng để đối sánh giống ảnh mặt cần tìm ảnh mặt CSDL - Đối sánh: Thực việc so sánh vector đặc trưng để chọn độ tương tự ảnh cần tìm ảnh CSDL 3.3.Nhược điểm: Trong trường hợp sau, PCA Eigenfaces nhận dạng sai: Khác điều kiện ánh sáng Khác điệu (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: thách thức lớn nhận dạng mặt, chưa có phương pháp tốt cho ảnh chụp điều kiện ngồi trời Sự thay đổi hướng khn mặt: kết với ảnh có hướng thay đổi cịn khiêm tốn Nhận diện khn mặt dựa video: phát triển phương tiện đa truyền thông, thông tin mặt người liệu video vô nhiều Tuy nhiên hầu hết phương pháp nhận dạng làm việc với ảnh tĩnh trích xuất từ liệu video, chưa có phương pháp tốt tận dụng hết ưu 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 vấn đề lớn khả nhận dạng người Độ phân giải thấp: ảnh thu từ camera giám sát thường có kích thước chất lượng thấp, kết nghiên cứu lĩnh vực chưa nhiều Các hệ thống lớn: sở liệu ảnh khuôn mặt thử nghiệm nhà nghiên cứu nhỏ (từ vài trăm tới vài chục nghìn ảnh mặt), nhiên thực tế CSDL lớn, ví dụ CSDL ảnh khn mặt cảnh sát chứa từ hàng triệu đến tỉ ảnh 3.5.Ứng dụng nhận diện khuôn mặt thực tế: Nhận dạng tội phạm Thẻ cước, chứng minh thư nhân dân (Face Indentification) Hệ thống theo dõi, quan sát bảo vệ Kiểm soát truy cập vào hệ thống máy tính mơi trường cộng tác Giải pháp bảo mật bổ sung cho giao dịch rút tiền tự động (ATM) Hệ thống tuơng tác người máy: giúp người bị tật khiếm Kiểm tra trạng thái người lái xe có ngù gật, tập trung hay không, hỗ trợ thơng báo cần thiết khuyết trao đổi Tìm kiếm tổ chức liệu liên quan đến người thông qua khuôn mặt người nhiều hệ sở liệu lưu trữ thật lớn, internet, hãng truyền hình Ứng dụng việc giao tiếp người với máy Ứng dụng video phone Phân loại lưu trữ hình ảnh điện thoại di động Thiết kế điều khiển robot 10 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 MA TRẬN NHẬP GIÁ TRỊ K (số chiều lại sau giảm) MA TRẬN ĐÃ GIẢM CHIỀU 4.2.Code PCA 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; 4; 13 5; 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 nhập giá trị K, ta cho kết quả: 12 CHƯƠNG V: KẾT LUẬN Mục đích phân tích thành phần rút thông tin chủ yếu chứa bảng số liệu cách xây dựng biểu diễn đơn giản cho đám số liệu thể rõ Cụ thể hơn, phân tích thành phần tức tìm trục hay mặt phẳng “phản ánh” tốt nhất, trung thực đám mây điểm -biến, điểm - cá thể Nhận diện khuôn mặt PCA ứng dụng tuyệt vời với giá trị mà mang lại Nhờ có ứng dụng tiến khoa học công nghệ, sống người nâng cấp lên khơng cịn khó khăn trước 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 13 [2] Phạm Thị Ngọc Yến, Lê Hữu Tình, “Cơ sở Matlab ứ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-pcaalgorithm/ [5] Tạp Chí Khoa Học ĐHQGHN - Phạm Văn Huấn, Khoa học tự nhiên công nghệ số 28 14 ... 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 PCA nhận diện khuôn mặt: 3.3.Nhược điểm: 3.4.Các thử thách mà nhận diện khuôn. .. đầu) 3.2 .Ứng dụng PCA nhận diện khuôn mặt: -Tiền xử lý: Chuẩn hố kích cỡ ảnh sở liệu (CSDL) -Tách khuôn mặt: khuôn mặt ảnh chụp tách phần mặt, khn mặt cần tìm chức trích chọn đặc trưng sử dụng ảnh... phần tức tìm trục hay mặt phẳng “phản ánh” tốt nhất, trung thực đám mây điểm -biến, điểm - cá thể Nhận diện khuôn mặt PCA ứng dụng tuyệt vời với giá trị mà mang lại Nhờ có ứng dụng tiến khoa học