LỜI CAM ĐOAN9LỜI CẢM ƠN10LỜI NÓI ĐẦU11TÓM TẮT ĐỒ ÁN12MỤC LỤC13DANH SÁCH HÌNH ẢNH15DANH MỤC BẢNG BIỂU16DANH MỤC CÁC TỪ VIẾT TẮT17PHẦN MỞ ĐẦU18CHƯƠNG 1: MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ ẢNH, GIỚI THIỆU VỀ THUẬT TOÁN PCA.191.1.MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ ẢNH191.1.1. Biểu diễn ảnh số201.1.2.Ảnh màu201.2.GIỚI THIỆU VỀ THUẬT TOÁN PCA.241.2.1. Giới thiệu241.2.2. Đặc trưng PCA241.2.3. Một số kỹ thuật cơ bản trong nhận dạng301.2.4. Các bước thực hiện PCA.311.2.5. Lưu ý về tính PCA trong các bài toán thực tế.331.3.KHÁI QUÁT VỀ NHẬN DẠNG MẶT NGƯỜI361.3.1. Phân tích các đặc tính sinh trắc học của người 7.361.3.2. Hệ thống nhận dạng tổng quát.371.3.3. Nhận dạng khuôn mặt người và ứng dụng 8.391.4.KẾT LUẬN.41CHƯƠNG 2: BÀI TOÁN NHẬN DẠNG VÀ GIỚI THIỆU CÁC LỆNH ĐƯỢC SỬ DỤNG TRONG CHƯƠNG TRÌNH.432.1. BÀI TOÁN NHẬN DẠNG432.2. GIỚI THIỆU CÁC LỆNH ĐƯỢC SỬ DỤNG TRONG CHƯƠNG TRÌNH.462.3. KẾT LUẬN47CHƯƠNG 3: GIỚI THIỆU GIAO DIỆN CHƯƠNG TRÌNH VÀ CODE NGUỒN.483.1. BÀI TOÁN.483.2. PHÂN TÍCH CHƯƠNG TRÌNH483.2.1. Xây dựng cơ sở dữ liệu.483.2.2. Huấn luyện.493.2.3. Nhận dạng khuôn mặt.503.3. THIẾT KẾ CHƯƠNG TRÌNH503.3.1. Giao diện chương trình503.3.2. Hoạt động của chương trình563.4. KẾT QUẢ ĐẠT ĐƯỢC.623.5. ĐÁNH GIÁ KHOẢNG CÁCH ĐẾN ẢNH KHI SỐ LƯỢNG VECTOR ĐẶC TRƯNG THAY ĐỔI.633.6. ĐÁNH GIÁ ĐỘ CHÍNH XÁC CỦA CHƯƠNG TRÌNH653.7. KẾT LUẬN.66KẾT LUẬN CHUNG68TÀI LIỆU THAM KHẢO69
Trang 1Viện Điện tử - Viễn thông
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
NHẬN DẠNG KHUÔN MẶT BẰNG
PHƯƠNG PHÁP PCA
Hà Nội, 6-2018
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
Cán bộ phản biện:
Hà Nội, 6-2018
Trang 3Đánh giá quyển đồ án tốt nghiệp (Dùng cho giảng viên hướng dẫn)
Giảng viên đánh giá:
Họ và tên Sinh viên: MSSV:………
Tên đồ án:
………
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề
và các giả thuyết (bao gồm mục đích và tính phù hợp)
cũng như phạm vi ứng dụng của đồ án
1 2 3 4 5
2
Cập nhật kết quả nghiên cứu gần đây nhất (trong
3
Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết
4
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng
Có khả năng phân tích và đánh giá kết quả (15)
5
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương
pháp thực hiện dựa trên kết quả nghiên cứu lý thuyết một
cách có hệ thống
1 2 3 4 5
6
Kết quả được trình bày một cách logic và dễ hiểu, tất cả
kết quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7 Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có)
giữa kết quả đạt được và mục tiêu ban đầu đề ra đồng
1 2 3 4 5
Trang 4thời cung cấp lập luận để đề xuất hướng giải quyết có thể
thực hiện trong tương lai
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các
chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có
tiêu đề, được đánh số thứ tự và được giải thích hay đề
cập đến trong đồ án, có căn lề, dấu cách sau dấu chấm,
dấu phẩy v.v), có mở đầu chương và kết luận chương, có
liệt kê tài liệu tham khảo và có trích dẫn đúng quy định
1 2 3 4 5
9
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong
khoa học, lập luận logic và có cơ sở, từ vựng sử dụng
phù hợp v.v.)
1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận
đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở
lên/các giải thưởng khoa học (quốc tế/trong nước) từ
giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh
viên nghiên cứu khoa học nhưng không đạt giải từ giải
3 trở lên/Đạt giải khuyến khích trong các kỳ thi quốc
gia và quốc tế khác về chuyên ngành như TI contest
Trang 53 Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và tinh thần làm việc của sinh viên)
Ngày: / /201 Người nhận xét
(Ký và ghi rõ họ tên)
Trang 6Đánh giá quyển đồ án tốt nghiệp (Dùng cho cán bộ phản biện)
Giảng viên đánh giá:
Họ và tên Sinh viên: MSSV:………
Tên đồ án:
………
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề
và các giả thuyết (bao gồm mục đích và tính phù hợp)
cũng như phạm vi ứng dụng của đồ án
1 2 3 4 5
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng
Có khả năng phân tích và đánh giá kết quả (15)
5
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương
pháp thực hiện dựa trên kết quả nghiên cứu lý thuyết một
cách có hệ thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả
kết quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có)
giữa kết quả đạt được và mục tiêu ban đầu đề ra đồng 1 2 3 4 5
Trang 7thực hiện trong tương lai
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các
chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có
tiêu đề, được đánh số thứ tự và được giải thích hay đề
cập đến trong đồ án, có căn lề, dấu cách sau dấu chấm,
dấu phẩy v.v), có mở đầu chương và kết luận chương, có
liệt kê tài liệu tham khảo và có trích dẫn đúng quy định
1 2 3 4 5
9
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong
khoa học, lập luận logic và có cơ sở, từ vựng sử dụng
phù hợp v.v.)
1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận
đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở
lên/các giải thưởng khoa học (quốc tế/trong nước) từ
giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh
viên nghiên cứu khoa học nhưng không đạt giải từ giải
3 trở lên/Đạt giải khuyến khích trong các kỳ thi quốc
gia và quốc tế khác về chuyên ngành như TI contest
Trang 83 Nhận xét thêm của Thầy/Cô
Ngày: / /201 Người nhận xét
(Ký và ghi rõ họ tên)
Trang 9LỜI CAM ĐOAN
Hà Nội, ngày 6 tháng 6 năm 2018
Sinh viên
Trang 10LỜI CẢM ƠN
Sau một thời gian nghiên cứu và làm việc, được sự động viên, giúp đỡ và hướng dẫn tận tình của Thầy giáo hướng dẫn , đồ án với đề tài “NHẬN DẠNG KHUÔN MẶT BẰNG PHƯƠNG PHÁP PCA” đã hoàn thành
Em xin bày tỏ lòng biết ơn sâu sắc đến:
Thầy giáo hướng dẫn đã tận tình chỉ dẫn, giúp đỡ em hoàn thành đồ án này
Em xin chân thành cảm ơn bạn bè, đồng nghiệp và gia đình đã động viên, khích lệ, tạo điều kiện giúp đỡ tôi trong suốt quá trình học tập, thực hiện và hoàn thành luận văn này
Sinh viên
Trang 11LỜI NÓI ĐẦU
Nhận dạng khuôn mặt là một trong những lĩnh vực mới của ngành công nghiệp xử lý ảnh Và ngày nay nhận dạng được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống bao gồm như nhận dạng trong lĩnh vực thương mại, hay phát hiện tội phạm trong lĩnh vực an ninh, hay trong lĩnh vực xử lý video, hình ảnh
Hiện nay có rất nhiều các các phương pháp nhận dạng khác nhau được xây dựng để nhận dạng một người cụ thể Tuy nhiên việc nhận dạng được một người
là vô cùng khó khăn, bởi vì để nhận dạng được ta phải xây dựng được tập cơ sở
dữ liệu đủ lớn và việc xử lý dữ liệu lớn này đòi hỏi phải nhanh và chính xác
Mục tiêu của đề tài “NHẬN DẠNG KHUÔN MẶT BẰNG PHƯƠNG PHÁP PCA” là thực hiện chương trình tìm kiếm một bức ảnh có khuôn mặt một người trong tập ảnh cơ sở giống với khuôn mặt của người trong bức ảnh cần kiểm tra bằng ngôn ngữ matlab
Để tiện theo dõi em xin trình bày đề tài theo ba phần như sau:
Phần đầu là Một số khái niệm cơ bản về ảnh, giới thiệu về thuật toán PCA
Phần tiếp theo là bài toán nhận dạng và giới thiệu các lệnh được sử dụng trong chương trình
Phần cuối cùng là giới thiệu giao diện chương trình và code nguồn Trong quá trình thực hiện đề tài em đã gặp một vài khó khăn tuy nhiên kết quả thu được khá ổn định, cho độ chính xác cao Đồng thời do tài liệu tham khảo hạn chế, trình độ có hạn và kinh nghiệm trong thực tiễn còn non kém, nên đề tài không tránh khỏi những thiếu sót Rất mong được nhận những ý kiến đóng góp, giúp đỡ chân tình, quý báu của quý thầy cô cùng các bạn sinh viên
Trang 12TÓM TẮT ĐỒ ÁN
Mô tả đề tài đồ án tốt nghiệp – NHẬN DẠNG KHUÔN MẶT BẰNG PHƯƠNG PHÁP PCA
Chi tiết đề tài:
Phần mềm có khả năng nhận dạng được khuôn mặt ở khoảng cách nhất định và hiển thị thông tin của người được nhận dạng Phần mềm sử dụng dữ liệu đầu vào là ảnh số, video được thu lại từ camera số (ở đây em dùng camera điện thoại thay cho camera IP) Sau đó sử dụng phần mềm matlab để xử lí ảnh chụp được với cơ sở
dữ liệu có sẵn, trích suất thông tin từ nguồn ảnh Kết quả sau khi xử
lí phải được hiển thị rõ ràng
Phần mềm có thể thêm được thông tin và hình ảnh của đối tượng cần nhận diện vào cơ sở dữ liệu có sẵn, phục vụ cho quá trình nhận diện, kiểm soát thông tin
The software can add information and images of the object to be
Trang 13MỤC LỤC
LỜI CAM ĐOAN 9
LỜI CẢM ƠN 10
LỜI NÓI ĐẦU 11
TÓM TẮT ĐỒ ÁN 12
MỤC LỤC 13
DANH SÁCH HÌNH ẢNH 15
DANH MỤC BẢNG BIỂU 16
DANH MỤC CÁC TỪ VIẾT TẮT 17
PHẦN MỞ ĐẦU 18
CHƯƠNG 1: MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ ẢNH, GIỚI THIỆU VỀ THUẬT TOÁN PCA 19
1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ ẢNH 19
1.1.1 Biểu diễn ảnh số 20
1.1.2 Ảnh màu 20
1.2 GIỚI THIỆU VỀ THUẬT TOÁN PCA 24
1.2.1 Giới thiệu 24
1.2.2 Đặc trưng PCA 24
1.2.3 Một số kỹ thuật cơ bản trong nhận dạng 30
1.2.4 Các bước thực hiện PCA 31
1.2.5 Lưu ý về tính PCA trong các bài toán thực tế 33
1.3 KHÁI QUÁT VỀ NHẬN DẠNG MẶT NGƯỜI 36
1.3.1 Phân tích các đặc tính sinh trắc học của người [7] 36
1.3.2 Hệ thống nhận dạng tổng quát 37
1.3.3 Nhận dạng khuôn mặt người và ứng dụng [8] 39
1.4 KẾT LUẬN 41
Trang 14CHƯƠNG 2: BÀI TOÁN NHẬN DẠNG VÀ GIỚI THIỆU CÁC LỆNH ĐƯỢC
SỬ DỤNG TRONG CHƯƠNG TRÌNH 43
2.1.BÀI TOÁN NHẬN DẠNG 43
2.2.GIỚI THIỆU CÁC LỆNH ĐƯỢC SỬ DỤNG TRONG CHƯƠNG TRÌNH 46
2.3.KẾT LUẬN 47
CHƯƠNG 3: GIỚI THIỆU GIAO DIỆN CHƯƠNG TRÌNH VÀ CODE NGUỒN 48
3.1.BÀI TOÁN 48
3.2.PHÂN TÍCH CHƯƠNG TRÌNH 48
3.2.1 Xây dựng cơ sở dữ liệu 48
3.2.2 Huấn luyện 49
3.2.3 Nhận dạng khuôn mặt 50
3.3.THIẾT KẾ CHƯƠNG TRÌNH 50
3.3.1 Giao diện chương trình 50
3.3.2 Hoạt động của chương trình 56
3.4. KẾT QUẢ ĐẠT ĐƯỢC 62
3.5 ĐÁNH GIÁ KHOẢNG CÁCH ĐẾN ẢNH KHI SỐ LƯỢNG VECTOR ĐẶC TRƯNG THAY ĐỔI 63
3.6.ĐÁNH GIÁ ĐỘ CHÍNH XÁC CỦA CHƯƠNG TRÌNH 65
3.7.KẾT LUẬN 66
KẾT LUẬN CHUNG 68
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC ERROR! BOOKMARK NOT DEFINED.
Trang 15DANH SÁCH HÌNH ẢNH
Hình 1.1: Ảnh màu 20
Hình 1.2: Các màu cơ sở [2] 21
Hình 1.3: Mô hình màu RGB [2] 23
Hình 1.4: Ý tưởng chính của PCA [5] 25
Hình 1.5: PCA dưới góc nhìn Thống kê [5] 29
Hình 1.6: Ảnh chuyển đổi từ ảnh RGB sang GRAY 31
Hình 1.7: Các bước thực hiện PCA [5] 32
Hình 1.8: Các nguồn gốc đặc tính sinh trắc của người 37
Hình 1.9: Cấu trúc tổng quát của hệ thống nhận dạng mặt 38
Hình 3.1: Một phần của tập ảnh huấn luyện 48
Hình 3.2: Một phần của tập ảnh thử nghiệm 49
Hình 3.3 Lưu đồ thuật toán tính đặc trưng mặt trong tập luyện 50
Hình 3.4: Lưu đồ thuật toán nhận dạng khuôn mặt 50
Hình 3.5: Giao diện thứ nhất của chương trình 51
Hình 3.6: Giao diện thứ hai của chương trình 52
Hình 3.7: Giao diện thứ ba của chương trình 54
Hình 3.8: Giao diện thứ tư của chương trình 55
Hình 3.9: Hoàn tất quá trình nhập dữ liệu 57
Hình 3.10: Kết nối địa chỉ IP camera cho chương trình 58
Hình 3.12: Kết quả nhận dạng 58
Hình 313: Giao diện DEMO 59
Hình 3.14: Giao diện cửa sổ “Select the test image” 60
Hình 3.15: Giao diện sau khi chọn ảnh 60
Hình 3.16: Quá trình chạy thử 61
Hình 3.17: Kết quả thu được sau quá trình chạy thử 61
Trang 16DANH MỤC BẢNG BIỂU
Bảng 2.1: Các lệnh sử dụng trong chương trình 46Bảng 3.1: Khoảng cách thay đổi theo số lượng eigenfaces 63Bảng 3.2: Độ chính xác theo số lượng eigenface 65
Trang 17DANH MỤC CÁC TỪ VIẾT TẮT
CYM Cyan Yellow Magenta
CCIR California Coalition for Immigration Reform [24]
Trang 18PHẦN MỞ ĐẦU
Nhận dạng khuôn mặt là một trong những lĩnh vực mới của xử lý ảnh Và ngày nay nhận dạng được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống như nhận dạng trong lĩnh vực thương mại, hay phát hiện tội phạm trong lĩnh vực
an ninh, hay trong lĩnh vực xử lý video, hình ảnh
Hiện nay có rất nhiều các các phương pháp nhận dạng khác nhau được xây dựng để nhận dạng một người cụ thể Tuy nhiên việc nhận dạng được một người là vô cùng khó khăn, bởi vì để nhận dạng được ta phải xây dựng được tập
cơ sở dữ liệu đủ lớn và việc xử lý dữ liệu lớn này đòi hỏi phải nhanh và chính xác Nhiệm vụ đặt ra là nghiên cứu và xây dựng một chương trình sử dụng phương pháp nhận dạng có độ chính xác cao mà khối lượng và thời gian tính toán lại ít
Để giải quết vấn đề trên có một phương pháp cho phép phân tích các thành phần chính của khuôn mặt, giảm bớt số thành phần không cần thiết tạo ra hiệu quả tính toán nhanh mà vẫn đảm bảo được độ chính xác Đó là phương pháp Principal Components Analysis (PCA) hay còn gọi là: “phân tích các thành phần chính” Và em xin trình bày đề tài “NHẬN DẠNG KHUÔN MẶT BẰNG PHƯƠNG PHÁP PCA”
Trang 19CHƯƠNG 1: MỘT SỐ KHÁI NIỆM CƠ BẢN
VỀ ẢNH, GIỚI THIỆU VỀ THUẬT TOÁN
PCA
1.1 Một số khái niệm cơ bản về ảnh
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh giống với ảnh thật Ảnh là một sự vật đại diện cho con người, sinh vật hay sự vật nào đó v.v ảnh động như ta thấy trên truyền hình thực chất là tập hợp của rất nhiều ảnh tĩnh liên tiếp Khi một ảnh được số hóa thì nó trở thành ảnh số và ảnh
số này lại là một tập hợp của rất nhiều phần tử ảnh được gọi là điểm ảnh hay là
“pixel” mỗi điểm ảnh lại được biểu diễn dưới dạng một số hữu hạn các bit [1]
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn phù hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh
Chúng ta có thể chia ảnh ra làm ba loại khác nhau:
Ảnh đen trắng: mỗi điểm ảnh được biểu diễn bởi một bit
Ảnh Gray – scale: mỗi điểm ảnh được biểu diễn bằng các mức chói khác nhau, thường thì ảnh này được biểu diễn bằng 256 mức chói hay là 8 bit cho mỗi diểm ảnh
Ảnh màu: mỗi điểm ảnh chia ra thành tín hiệu chói và tín hiệu màu Một số mô hình thường dung biểu diễn ảnh: mô hình toán, mô hình thống
kê
Trang 20Hình 1.1: Ảnh màu
1.1.1 Biểu diễn ảnh số
Trong biểu diễn ảnh, người ta thường dung các phần tử đặc trưng của ảnh
là Pixel để biểu diễn [1] Nhìn chung có thể xem một hàm hai biến chứa các thông tin biểu diễn của một ảnh Các mô hình biểu diễn ảnh cho ta một mô tả logic hay định lượng các tính chất của hàm này
Việc xử lý ảnh số phải được lấy mẫu và lượng tử hóa Việc lượng tử hóa
là chuyển đổi tín hiệu tương tự sang tín hiệu số của một ảnh đã lấy mẫu sang một
Trang 21 Tất cả các màu được tạo ra từ 3 màu cơ bản (màu sơ cấp) là: đỏ (R), lam (B) và lục (G) Các màu cơ bản trộn lại với nhau theo một
Trang 22Các màu gốc có liên quan đến các khái niệm sinh học hơn là vật lý, nó dựa trên cơ sở phản ứng sinh lý học của mắt người đối với ánh sáng Mắt người có các tế bào cảm quang có hình nón nên còn được gọi là tế bào hình nón, các tế bào này thông thường có phản ứng cực đại với ánh sáng vàng - xanh lá cây (tế bào hình nón L), xanh lá cây (tế bào hình nón M) và xanh lam (tế bào hình nón S) tương ứng với các bước sóng khoảng 564 nm, 534 nm và 420 nm [3] Ví dụ màu vàng thấy được khi các tế bào cảm nhận màu xanh ánh vàng được kích thích nhiều hơn một chút so với tế bào cảm nhận màu xanh lá cây và màu đỏ cảm nhận được khi các tế bào cảm nhận màu vàng - xanh lá cây được kích thích nhiều hơn
so với tế bào cảm nhận màu xanh lá cây
Các đặc trưng dùng để phân biệt một màu với màu khác là: độ sáng, sắc màu và độ bảo hòa màu
Màu sắc có liên quan đến bước sóng ánh sáng Thông thường, sắc màu chính là tên của màu Ví dụ: đỏ, cam, lục…
Độ sáng thể hiện về cường độ ánh sáng: mô tả nó sáng hay tối như thế nào
Độ bảo hòa màu: thể hiện độ thuần khiết của màu Khi độ bão hòa cao, màu sẽ sạch và rực rỡ
Có nhiều mô hình màu như RGB, CYM, YIQ, CIE Ở đây em xin phép chỉ trình bày về mô hình màu RGB
Các màu R, G, B nằm ở các đỉnh trên trục tọa độ của khối vuông Màu đen nằm ở gốc tọa độ, màu trắng nằm ở góc xa nhất so với điểm gốc Thang màu xám kéo dài từ đen đến trắng (đường chấm)
Hình ảnh trong mô hình màu RGB bao gồm 3 mặt phẳng ảnh độc lập (dùng cho các màu sơ cấp)
Trang 23 (0, 255, 0) là màu xanh lá cây
(0, 0, 255) là màu xanh lam
(255, 255, 0) là màu vàng
(0, 255, 255) là màu xanh ngọc
(255, 0, 255) là màu hồng cánh sen
Trang 24Định nghĩa trên sử dụng thỏa thuận được biết đến như là toàn bộ khoảng RGB Thông thường, RGB cho video kỹ thuật số không phải là toàn bộ khoảng này Thay vì thế video RGB sử dụng thang độ và các giá trị tương đối chẳng hạn như (16, 16, 16) là màu đen, (235, 235, 235) là màu trắng v.v Ví dụ, các thang
đọ và giá trị tương đối này được sử dụng cho định nghĩa RGB kỹ thuật số
PCA là phương pháp đơn giản nhất phân tích đa biến dựa trên các vector đặc trưng Thông thường hoạt động của nó có thể được hiểu nhằm khám phá ra cấu trúc bên trong của dữ liệu [4] Nếu một tập dữ liệu đa biến được xem xét như tập các tọa độ trong một không gian dữ liệu nhiều chiều (mỗi trục biểu diễn một biến) thì phương pháp PCA cung cấp cho chúng ta một bức ảnh ít chiều, một cái bóng của vật thể khi quan sát từ chính những đặc trưng cơ bản nhất của vật thể
đó
1.2.2 Đặc trưng PCA
Cách đơn giản nhất để giảm chiều dữ liệu từ D về K<D là chỉ giữ lại K phần tử “quan trọng nhất” Tuy nhiên, việc làm này chắc chắn chưa phải tốt nhất vì chúng ta chưa biết tìm được thành phần nào là quan trọng Hoặc trong trường hợp xấu nhất, lượng thông tin mà mỗi thành phần mang là như nhau, bỏ đi thành phần nào cũng dẫn đến việc mất đi một lượng thông tin lớn
Trang 25phần là khác nhau rõ rệt, thì chúng ta có thể bỏ qua những thành phần ít quan trọng nhất
Lấy một ví dụ về việc có hai camera đặt dùng để chụp một con người, một camera đặt phía trước người và một camera đặt trên đầu Rõ ràng là hình ảnh thu được từ camera đặt phía trước người mang nhiều thông tin hơn so với hình ảnh nhìn từ phía trên đầu Vì vậy, bức ảnh chụp từ phía trên đầu có thể được bỏ qua
mà không có quá nhiều thông tin về hình dáng của người đó bị mất
PCA chính là phương pháp đi tìm một hệ cơ sở mới sao cho thông tin của
dữ liệu chủ yếu tập trung ở một vài toạ độ, phần còn lại chỉ mang một lượng nhỏ thông tin Và để cho đơn giản trong tính toán, PCA sẽ tìm một hệ trực chuẩn để làm cơ sở mới
Giả sử hệ cơ sở trực chuẩn mới là U và chúng ta muốn giữ lại K toạ độ trong hệ cơ sở mới này Không mất tính tổng quát, giả sử đó là K thành phần đầu tiên
Tìm một hệ trực chuẩn mới sao cho trong hệ này, các thành phần quan trọng nhất nằm trong K thành phần đầu tiên
Quan sát hình 1.4 dưới đây:
Trang 26Quan sát hình vẽ trên với cơ sở mới 𝑈 = [𝑈𝐾, 𝑈̅̅̅̅] là một hệ trực chuẩn 𝐾với UK là ma trận con tạo bởi K cột đầu tiên của U Với cơ sở mới này, ma trận
dữ liệu có thể được viết thành:
sẽ xấp xỉ Y bởi một ma trận có toàn bộ các cột là như nhau Chú ý rằng các cột này có thể phụ thuộc vào dữ liệu training nhưng không phụ thuộc vào dữ liệu test, các bạn sẽ thấy rõ hơn khi lập trình mà tôi sẽ trình bày trong bài tiếp theo Gọi mỗi cột đó là b và có thể coi nó là bi, khi đó, ta sẽ xấp xỉ:
Y≈b1T
(1.4) Trong đó 1T∈R1×N là vector hàng có toàn bộ các phần tử bằng 1 Giả sử
đã tìm được U, ta cần tìm b thoả mãn:
𝑏 = 𝑎𝑟𝑔𝑚𝑖𝑛𝑏||𝑌 − 𝑏1𝑇||𝐹2 = 𝑎𝑟𝑔𝑚𝑖𝑛𝑏||𝑈̅𝐾𝑇𝑋 − 𝑏1𝑇||𝐹2 (1.5) Giải phương trình đạo hàm theo b của hàm mục tiêu bằng 0:
(𝑏1𝑇 − 𝑈̅𝐾𝑇𝑋)1 = 0 ⇒ 𝑁𝑏 = 𝑈̅𝐾𝑇𝑋1 ⇒ 𝑏 = 𝑈̅𝐾𝑇𝑋̅ (1.6)
Như vậy, việc tính toán sẽ thuận tiện hơn nhiều nếu vector kỳ vọng 𝑥̅=0 Việc này có thể đạt được nếu ngay từ đầu, chúng ta trừ mỗi vector dữ liệu đi vector kỳ vọng của toàn bộ dữ liệu Đây chính là các bước đầu tiên của PCA
Với giá trị b tìm được này, dữ liệu ban đầu sẽ được xấp xỉ với:
Trang 27Kết hợp ta định nghĩa hàm mất mát chính như sau:
đã được chuẩn hoá Có thể nhận thấy 𝑋̂𝑛 = 𝑋𝑛 − 𝑥̅
Công việc còn lại là tìm các ui để mất mát là nhỏ nhất Trước hết, chúng ta
có một nhận xét thú vị Nhắc lại định nghĩa ma trận hiệp phương sai 𝑆 = 1
𝑁𝑋̂𝑇𝑋̂ Với ma trận U trực giao bất kỳ, thay K=0 vào (1.12) ta có:
Trang 28Như vậy L không phụ thuộc vào cách chọn ma trận trực giao U và bằng tổng các phần tử trên đường chéo của S Nói cách khác, L chính là tổng của các phương sai theo từng thành phần của dữ liệu ban đầu
Vì vậy, việc tối thiểu hàm mất mát J được tương đương với việc tối đa:
𝐹 = 𝐿 − 𝐽 = ∑𝐾𝑖=1𝑢𝑖𝑆𝑢𝑇𝑖 (1.17) Định lý: F đạt giá trị lớn nhất bằng ∑𝐾𝑖=1𝜆𝑖khi ui là các vector riêng có norm 2 bằng 1 ứng với các trị riêng này Tất nhiên, chúng ta không quên điều kiện trực giao giữa các ui
Chú ý rằng λi,i=1,…,K chính là K trị riêng lớn nhất của ma trận hiệp phương sai S Trị riêng lớn nhất λ1 của ma trận này còn được gọi là Thành phần chính thứ nhất (First Principal Component), trị riêng thứ hai λ2 còn được gọi
là Thành phần chính thứ hai, etc Chính vì vậy, phương pháp này có tên gọi
là Phân tích thành phần chính - Principal Component Analysis Ta chỉ giữ lại K thành phần chính của dữ liệu khi muốn giảm số chiều dữ liệu
PCA có thể được coi là phương pháp đi tìm một hệ cơ sở trực chuẩn đóng vai trò một phép xoay, sao cho trong hệ cơ sở mới này, phương sai theo một số chiều nào đó là rất nhỏ và ta có thể bỏ qua
Trong không gian ban đầu với các vector cơ sở màu đen e1,e2, phương sai theo mỗi chiều dữ liệu đều lớn Trong không gian mới với các vector cơ sở màu
đỏ u1,u2, phương sai theo chiều thứ hai σ̂2 rất nhỏ so với σ̂1 Điều này nghĩa là khi chiếu dữ liệu lên u2 ta được các điểm rất gần nhau và gần với kỳ vọng theo chiều đó Trong trường hợp này, kỳ vọng theo mọi chiều bằng 0 nên ta có thể thay thế toạ độ theo chiều u2 bằng 0 Rõ ràng là nếu dữ liệu có phương sai càng nhỏ theo một chiều nào đó thì khi xấp xỉ chiều đó bằng một hằng số, sai số xảy ra càng nhỏ
Để có cái nhìn trực quan hơn, chúng ta cùng theo dõi Hình dưới đây:
Trang 29Hình 1.5: PCA dưới góc nhìn Thống kê [5]
PCA thực chất là đi tìm một phép xoay tương ứng với một ma trận trực
Trang 30thể bỏ qua, ta chỉ cần giữ lại các chiều/thành phần khác quan trọng hơn Như đã chứng minh ở trên, tổng phương sai theo mọi chiều trong hệ cơ sở nào cũng là như nhau và bằng tổng các trị riêng của ma trận hiệp phương sai
Vì vậy, PCA còn được coi là phương pháp giảm số chiều dữ liệu mà giữ được tổng phương sai còn lại là lớn nhất
1.2.3 Một số kỹ thuật cơ bản trong nhận dạng
Chuyển ảnh màu thành ảnh xám [6]:
Là một hệ thống màu có mô hình màu đơn giản nhất với 256 cấp
độ xám biến thiên từ màu đen đến màu trắng
Ảnh được xuất ra sẽ có màu trắng đen
Được sử dụng cả trong công nghiệp in lẫn dùng trong việc thể hiện ảnh lên các thiết bị số
Ảnh xám (Gray image) hay còn gọi là ảnh đơn sắc (Monochromatic), mỗi giá trị điểm ảnh (Pixel) trong ma trận điểm ảnh mang giá trị từ 0 đến 255
Một bức ảnh mà tập hợp của một ma trận điểm ảnh(Pixel) Mỗi điểm ảnh có thể được biểu diễn bằng n bytes dưới các kênh màu khác nhau Việc chuyển đổi giữa các hệ màu thông thường được thực hiện thông qua các phép biến đổi ma trận
Kết quả mô phỏng quá trình chuyển đổi như sau:
Trang 31Hình 1.6: Ảnh chuyển đổi từ ảnh RGB sang GRAY
Các bộ lọc không gian
Tách biên đối tượng
1.2.4 Các bước thực hiện PCA
Từ các suy luận phía trên, ta có thể tóm tắt lại các bước trong PCA như sau [5]:
Tính vector kỳ vọng của toàn bộ dữ liệu:
Trang 32 Tính các trị riêng và vector riêng có norm bằng 1 của ma trận này, sắp xếp chúng theo thứ tự giảm dần của trị riêng
Chọn K vector riêng ứng với K trị riêng lớn nhất để xây dựng ma trận UK có các cột tạo thành một hệ trực giao K vectors này, còn được gọi là các thành phần chính, tạo thành một không gian con gần với phân bố của dữ liệu ban đầu đã chuẩn hoá
Chiếu dữ liệu ban đầu đã chuẩn hoá 𝑋̂ xuống không gian con tìm được
Dữ liệu mới chính là toạ độ của các điểm dữ liệu trên không gian mới
Trang 331.2.5 Lưu ý về tính PCA trong các bài toán thực tế
Có hai trường hợp mà chúng ta cần lưu ý về PCA:
Trường hợp thứ nhất là lượng dữ liệu có được nhỏ hơn rất nhiều so với số chiều dữ liệu
Trường hợp thứ hai là khi lượng dữ liệu trong tập training là rất lớn, có thể lên tới cả triệu Việc tính toán ma trận hiệp phương sai
và trị riêng đôi khi trở nên bất khả thi Có những hướng giải quyết hiệu quả cho các trường hợp này
Trong mục này, ta sẽ coi như dữ liệu đã được chuẩn hoá, tức đã được trừ
đi vector kỳ vọng Khi đó, ma trận hiệp phương sai sẽ là 𝑆 = 1
𝑁𝑋̂𝑋̂𝑇
Số chiều dữ liệu nhiều hơn số điểm dữ liệu [5]:
Đó là trường hợp D>N, tức ma trận dữ liệu X là một ‘ma trận cao’ Số trị riêng khác không của ma trận hiệp phương sai S sẽ không vượt quá rank N Vậy
ta cần chọn K<N vì không thể chọn ra được N trị riêng khác 0 của một ma trận
có rank bằng N
Việc tính toán các trị riêng và vector riêng cũng có thể được thực hiện một cách hiệu quả dựa trên các tính chất sau đây:
Tính chất 1: Trị riêng của A cũng là trị riêng của kA với k≠0 bất kỳ Điều
này có thể được suy ra trực tiếp từ định nghĩa của trị riêng và vector riêng
Tính chât 2: Trị riêng của AB cũng là trị riêng của BA với A∈Rd1×d2, B∈Rd2×d1là các ma trận bất kỳ và d1, d2 là các số tự nhiên khác không bất kỳ
Như vậy, thay vì tìm trị riêng của ma trận hiệp phương sai S∈RD×D, ta đi tìm trị riêng của ma trận T=XTX∈RN×N có số chiều nhỏ hơn (vì N<D)
Tính chất 3: Giả sử (λ,u) là một cặp trị riêng - vector riêng của T, thế thì (λ,Xu) là một cặp trị riêng - vector riêng của S.Thật vậy :
Trang 34𝑋𝑇𝑋𝑢 = 𝜆𝑢
⇒ (𝑋𝑋𝑇)(𝑋𝑢) = 𝜆𝑋𝑢 (1.23) Như vậy, ta có thể hoàn toàn tính được trị riêng và vector riêng của ma trận hiệp phương sai dựa trên một ma trận nhỏ hơn
Chuẩn hoá các vector riêng [5]:
Nhắc lại định nghĩa không gian riêng: Không gian riêng ứng với trị riêng của một ma trận là không gian sinh tạo bởi toàn bộ các vector riêng ứng với trị riêng đó
Việc cuối cùng phải làm là chuẩn hoá các vector riêng tìm được sao cho chúng tạo thành một hệ trực chuẩn Việc này có thể dựa trên hai điểm sau đây:
Thứ nhất, nếu A là một ma trận đối xứng, (λ1,x1),(λ2,x2) là các căp trị riêng
- vector riêng của A với λ1≠λ2, thế thì 𝑥1𝑇𝑥2 = 0 Nói cách khác, hai vector bất kỳ trong hai không gian riêng khác nhau của một ma trận đối xứng thì trực giao với nhau Chứng minh cho tính chất này có thể được thấy trong một dòng dưới đây:
𝑥2𝑇𝐴𝑥1 = 𝑥1𝑇𝐴𝑥2 = 𝜆1𝑥2𝑇𝑥1 = 𝜆2𝑥1𝑇𝑥2 ⇒ 𝑥1𝑇𝑥2 = 0 Dấu bằng cuối cùng xảy ra vì λ1≠λ2
Thứ hai, với các trị riêng độc lập tìm được trong một không gian riêng, ta
có thể dùng Gram-Schmit process để chuẩn hoá chúng về một hệ trực chuẩn
Kết hợp hai điểm trên, ta có thể thu được các vector riêng tạo thành một
hệ trực chuẩn, chính là ma trận UK trong PCA
Với các bài toán large-scale [5]:
Trong rất nhiều bài toán, cả D và N đều là các số rất lớn, đồng nghĩa với việc ta phải tìm trị riêng cho một ma trận rất lớn Ví dụ, có 1 triệu bức ảnh
1000 × 1000 pixel, như vậy D=N=106 là một số rất lớn, việc trực tiếp tính toán trị riêng và vector riêng cho ma trận hiệp phương sai là không khả thi Tuy nhiên, có
Trang 35Phương pháp này nói rằng, nếu thực hiện quy trình sau, ta sẽ tìm được cặp trị riêng và vector đầu tiên của một ma trận nửa xác định dương:
Phương pháp Power tìm trị riêng và vector riêng của một ma trận nửa xác định dương A∈Rn×n:
Chọn một vector q(0)∈Rn,||q(0)||2=1 bất kỳ
Với k=1,2,…, tính: z=Aq(k−1)
Chuẩn hoá: q(k)=z/||z||2
Nếu ||q(k)−q(k−1)||2 đủ nhỏ thì dừng lại
Nếu không, k:=k+1 rồi quay lại Bước 2
q(k) chính là vector riêng ứng với trị riêng lớn nhất λ1=(q(k))TAq(k)
Quy trình này hội tụ khá nhanh và đã được chứng minh tại đây Phần chứng minh tương đối đơn giản và không mang lại nhiều thông tin hữu ích, tôi xin được bỏ qua
Để tìm vector riêng và trị riêng thứ hai của ma trận A, chúng ta dựa trên định lý sau:
Định lý: Nếu ma trận nửa xác định dương A có các trị riêng λ1≥λ2≥⋯≥λn(≥0) và các vector riêng tương ứng v1,…,vn, hơn nữa các vector riêng này tạo thành 1 hệ trực chuẩn, thì ma trận: 𝐵 = 𝐴 − 𝜆1𝑣1𝑣1𝑇 có các trị riêng λ2≥λ3≥⋯≥λn≥0 và các vector riêng tương ứng là v1,v2,v3,…,vn,
Chứng minh:
Với i=1:
𝐵𝑣1 = (𝐴 − 𝜆1𝑣1𝑣1𝑇)𝑣 = 𝐴𝑣1− 𝜆1𝑣1 = 0 (1.24) Với i>1:
𝐵𝑣𝑖 = (𝐴 − 𝜆1𝑣1𝑣1𝑇)𝑣𝑖 = 𝐴𝑣𝑖− 𝜆1𝑣1(𝑣1𝑇𝑣𝑖) = 𝐴𝑣𝑖 = 𝜆𝑖𝑣𝑖 (1.25)
Như vậy định lý đã được chứng minh