đề xuất phương pháp truy tìm ảnh mặt người trên video
Trang 1Lời cám ơn
Xin chân thành cám ơn các thầy, các cô thuộc khoa Công Nghệ Thông Tin trường Đại Học Khoa Học Tự Nhiên đã tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức quý báu
Chúng em xin gửi lời cám ơn sâu sắc đến Thầy Lê Hoàng Thái, Thầy đã tận tình hướng dẫn, giúp đỡ chúng em trong suốt thời gian thực hiện đề tài
Xin chân thành cảm ơn các bạn trong chuyên ngành Khoa Học Máy Tính khoa Công Nghệ Thông Tin đã giúp đỡ chúng tôi rất nhiều trong quá trình thực hiện đề tài
Cuối cùng, lời cám ơn sâu sắc nhất xin gởi đến cha mẹ vì ơn sinh thành và giáo dưỡng
Xin cám ơn!
Thành phố Hồ Chí Minh, tháng 7/2007Nhóm sinh viên thực hiện
Đỗ Thanh Toàn – Đoàn Ngọc Khiêm
Trang 2Trình bày luận văn
Nội dung của luận văn được tổ chức và trình bày trong 6 chương:
Chương 0: Mở đầu: Giới thiệu về đề tài
Chương 1: Tổng quan về bài toán nhận dạng mặt người và các cách tiệp cận.Chương 2:Dò tìm khuôn mặt trong ảnh
Chương 3: Trích chọn đặc trưng cho ảnh khuôn mặt
Chương 4:Nhận dạng ảnh khuôn mặt
Chương 5: Ứng dụng thử nghiệm
Chương 6: Đánh giá và hướng phát triển
Trang 3Mục lục
Danh sách các hình
Hình 1.3.1 – 1 : Mô hình tổng quát của bài toán nhận dạng mặt người 18
Hình 2.2.1 – 1 : Sơ đồ hệ dò tìm khuôn mặt bằng AdaBoost – NN 23
Hình 2.2.2 – 1 : Minh hoạ hệ dò tìm khuôn mặt bằng AdaBoost-Adaboost 24
Hình 2.3.1 – 1 : Một số ảnh có mặt người trong tập mẫu huấn luyện 24
Hình 2.3.1 – 2 : Một số ảnh không chứa mặt người trong tập mẫu huấn luyện 25
Hình 2.3.1 – 3 : Ví dụ về ảnh ngược sáng 25
Hình 2.3.1 – 4: Ví dụ về ảnh bị che khuất thành phần quan trọng 26
Hình 2.3.1 – 5 : Ví dụ về ảnh có cảm xúc đặc biệt 26
Bảng 2.3.2 – 1 : So sánh các phương pháp phát hiện + chứng thực khuôn mặt 26
Hình 2.3.2 – 1 : So sánh các phương pháp detect + chứng thực khuôn mặt 27
Hình 3.2.1 – 1 : Hướng của véc tơ riêng 28
Hình 3.2.1 – 2 : Minh hoạ phát hiện vị trí mắt, miệng trên khuôn mặt 29
Hình 3.2.1 – 3 : Minh hoạ kiểu kết hợp toàn cục và bộ phận 30
Hình 3.2.2 – 1 : Sự phân phối dữ liệu trong không gian 3 chiều và các trục tương ứng của PCA và ICA Mỗi trục là một cột của ma trận nghịch đảo của ma trận trộn W-1 tìm thấy bới PCA và ICA Các trục của PCA trực giao trong khi ICA thì không, do đó khoảng cách các điểm dữ liệu sẽ thay đổi khi chiếu xuống không gian mới này 33
Hình 3.2.2 – 2 : véctơ đặc trưng cho mỗi kĩ thuật Hàng đầu chứa 8 véctơ riêng với 8 trị riêng lớn nhất trong PCA Hàng 2 chứa các vectơ đặc trưng trong ICA với kiến trúc I, hàng 3 chỉ ra 8 véctơ đặc trưng trong ICA với kiến trúc 2 34
Hình 3.2.2 – 3 :minh họa kiến trúc 1 trong mô hình ICA 35
Trang 4Hình 3.2.2 – 4 :minh họa kiến trúc 2 trong mô hình ICA 36
Hình 3.2.2 – 5 :Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA 36
Hình 3.2.2 -6 :Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA trên pixel 37
Bảng 3.3.2 – 1 : Kết quả so sánh PCA và ICA trên bộ dữ liệu CalTech 39
Hình 3.3.2 – 1 :Biểu đồ kết quả thử nghiệm hai phương pháp rút trích đặc trưng PCA – ICA trên bộ dữ liệu CalTech: thống kê trên bộ test 40
Hình 3.3.2 – 2: Các ảnh với phương pháp rút trích PCA bị nhận dạng sai với bộ dữ liệu nước ngoài 41
Hình 3.3.2 – 3 : Các ảnh với phương pháp rút trích ICA bị nhận dạng sai với bộ dữ liệu nước ngoài 42
Hình 3.3.3 – 1 : Một số ảnh quay phải, trái, quá tối hoặc độ sáng không đồng đều trên khuôn mặt trong tập ảnh tự tạo 43
Bảng 3.3.4 – 1 : Kết quả so sánh PCA và ICA trên bộ dữ liệu trong nước 44
Hình 3.3.4 – 1 :Biểu đồ kết quả thử nghiệm hai phương pháp rút trích đặc trưng PCA – ICA trên bộ dữ liệu tự tạo: thống kê trên bộ test 44
Hình 3.3.4 – 2 : Các ảnh với phương pháp rút trích PCA bị nhận dạng sai với bộ dữ liệu tự tạo .45
Hình 4.2.1 – 1 :Sơ đồ hệ thống nhận dạng mặt người dùng SVM 46
Hình 4.2.2 – 1 :Sơ đồ hệ thống nhận dạng mặt người dùng mạng Nơron 48
Bảng4.3.2 – 1 : Thời gian huấn luyện SVM và NN bộ dữ liệu nước ngoài 50
Bảng 4.3.2 – 2 : Thời gian nhận dạng thư mục test nước ngoài bằng SVM và NN 51
Bảng 4.3.2 – 3 : Kết quả so sánh nhận dạng SVM và NN trên bộ dữ liệu nước ngoài 52
Hình 4.3.2 – 1 : Biểu đồ kết quả thử nghiệm hai phương pháp nhận dạng SVM và NN trên .52
bộ dữ liệu nước ngoài: thống kê trên bộ test 52
Bảng 4.3.4 - 1: Thời gian huấn luyện SVM và NN bộ dữ liệu trong nước 52
Bảng 4.3.4 - 2: Thời gian nhận dạng thư mục test trong nước bằng SVM và NN 53
Bảng 4.3.4 - 3: Kết quả so sánh SVM và NN trên bộ dữ liệu trong nước 53
Hình 4.3.4 - 1 :Biểu đồ kết quả thử nghiệm hai phương pháp nhận dạng SVM và NN 54
trên bộ dữ liệu trong nước: thống kê trên bộ test 54
Trang 5Hình 5.2.1 – 1 : Một số ảnh train trong ứng dụng 55
Hình 5.2.1 – 2 : Một số ảnh test trong ứng dụng 56
Hình 5.2.1 – 3 : 1 đoạn Video trong ứng dụng 56
Hình 5.2.3 – 1 : Sơ đồ quá trình tách frame từ video 58
Bảng 5.3-1 : Kết quả nhận dạng trên ảnh tĩnh 59
Hình A.2.2 – 1 : Strong classifier H(x) được xây dựng bằng AdaBoost 70
Hình A.2.2 - 2: Ví dụ minh hoạ sự kết hợp của 3 phân lớp tuyến tính 71
Bảng A.2.2 – 1 : Thuật toán AdaBoost 72
Bảng A.2.2 – 2 : Một phiên bản khác của thuật toán AdaBoost 75
Hình A.2.3 - 1 : Các đặc trưng Haar-like cơ sở 76
Hình A.2.3 - 2: Các miền hình học đặc trưng Haar – like 76
Hình A.2.3 - 3: Ý nghĩa hình học của đạo hàm ảnh 77
Hình A.2.3 - 4: Cách tính giá trị một ô đặc trưng 77
Hình A.2.3 - 5: Dò tìm bàn tay bằng đặc trưng Haar – like 78
Hình A.2.3 - 6: Dò tìm khuôn mặt bằng đặc trưng haar – like 78
79
Hình A.2.4 - 1: Cascade Classifier 79
Hình A.3.3 - 1 Hướng của véc tơ riêng 82
Hình A.4.2 - 1: Hai tín hiệu nguồn ( không quan sát trực tiếp được, tức các tính hiệu ẩn là s1(t) và s2(t)), hai tín hiệu trộn (quan sát được là x1(t) và x2(t) ) 87
Hình A.4.3 - 1: Các kí hiệu trong ICA 89
Hình A.4.6 - 1: Phân bố kết hợp của hai thành phần độc lập s1, s2 có phân bố đồng nhất (trục ngang: s1, trục đứng s2) 92
Hình A.4.6 - 2: Phân bố kết hợp của các trộn lẫn x1, x2 (trục ngang x1, trục đứng x2) 92
Hình A.4.6 - 3: Phân phối kết hợp của hai biến Gauss 93
Hình A.4.7.2.1 - 1: Hàm mật độ của phân phối Laplace, một điển hình của phân phối siêu Gauss, so với phân phối Gauss ở đường gạch nét, cả hai mật độ được chuẩn hóa phương sai đơn vị 95
Hình A.4.10.2 - 1:Minh họa kiến trúc 1 trong mô hình ICA 104
Trang 6Hình A.4.10.2 - 2: véctơ đặc trưng cho mỗi kĩ thuật Hàng đầu chứa 8 véctơ riêng với 8 trị riêng lớn nhất trong PCA Hàng 2 chứa các vectơ đặc trưng trong ICA với kiến trúc I, hàng 3
chỉ ra 8 véctơ đặc trưng trong ICA với kiến trúc 2 105
Hình A.4.10.2 - 3:Mô hình tổng hợp ảnh cho kiến trúc 1 của ICA 106
Hình A.4.10.3 - 1:minh họa kiến trúc 2 trong mô hình ICA 107
Hình A.4.10.3 - 2:Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA 108
Hình A.4.10.3 - 3:Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA trên pixel 108
Hình A.4.11.1- 2 Sự phân phối dữ liệu trong không gian 3 chiều và các trục tương ứng của PCA và ICA Mỗi trục là một cột của ma trận nghịch đảo của ma trận trộn W-1 tìm thấy bới PCA và ICA Các trục của PCA trực giao trong khi ICA thì không, do đó khoảng cách các điểm dữ liệu sẽ thay đổi khi chiếu xuống không gian mới này 110
Hình A.5.1 - 1 : Siêu mặt phân cách tuyến tính cho trường hợp phân cách được và 111
kí hiệu các support véc tơr chính là các điểm được bao bằng viền tròn 111
Hình A.6.1-1: Mô hình một Nơron thần kinh 117
Hình A.6.2.1 - 1: Mô hình Nơron nhân tạo 118
Hình A.6.2.1.1 - 1: Mô hình toán học tổng quát của một Nơron 119
Hình A.6.2.1.3 - 1: Các xử lý tương đương trong một Nơron 120
Hình A.6.2.1.4 - 1: Hoạt động tính toán của Nơron 122
Hình A.6.2.2 - 1: Năm sơ đồ liên kết cơ bản của mạng Nơron: (a) mô hình mạngtruyền thẳng một lớp; (b) mô hình mạng truyền thẳng đa lớp; (c) mô hình: một Nơron đơn với liên kết phản hồi đến chính nó; (d) mô hình: mạng lặp một lớp; (e) mô hình: mạng lặp đa lớp 125
Hình A.6.2.2 - 2: Liên kết bên trong của phản hồi 126
Hình A.6.2.3 - 1: Ma trận trọng số nối kết 127
Hình A.6.2.3 - 2 : Học có giám sát 128
Hình A.6.2.3 - 3 : Học tăng cường 128
Hình A.6.2.3 - 4: Học không giám sát 129
Hình A.6.2.3 - 5: Luật học phát sinh trọng số (di không được cung cấp trong trường hợp học không giám sát) 131
Hình A.6.2.4 - 1: Một số dạng hàm dùng trong ánh xạ từ đầu vào -> đầu ra 133
Trang 7Bảng A.6.2.4 – 1 : Một số hàm truyền thông dụng trong mạng Nơron 134
Hình A.6.2.5 – 1 : Các loại liên kết của Nơron 135
Hình A.6.3.1 - 1 : Cấu hình mạng RBF tiêu biểu 136
Hình A.6.3.1 - 2 : Những tập phân lớp trong không gian 2 chiều 138
HìnhA.6.3.1 - 3 : Ánh xạ các tập phân lớp lên neuron RBF 139
Hình A.6.4.1-1: Minh họa mạng lan truyền thẳng ba lớp 141
Hình B.3.1 – 1: Giao diện chính của chương trình 150
Hình B.3.2 -1: Màn hình minh họa chức năng test trên video 151
Hình B.3.2 – 2 : Giao diện của chương trình khi hoạt động 152
Hình B.3.3 – 1 : Màn hình tham số huấn luyện cho mạng nơron 153
Hình B.3.4 -1 : Màn hình đọc dữ liệu đã huấn luyện 154
Hình B.3.5 – 1: Màn hình test thư mục 155
Hình B.3.6 – 1 : Màn hình nhận dạng trên ảnh tĩnh 156
Trang 8Danh sách các bảng
Hình 1.3.1 – 1 : Mô hình tổng quát của bài toán nhận dạng mặt người 18
Hình 2.2.1 – 1 : Sơ đồ hệ dò tìm khuôn mặt bằng AdaBoost – NN 23
Hình 2.2.2 – 1 : Minh hoạ hệ dò tìm khuôn mặt bằng AdaBoost-Adaboost 24
Hình 2.3.1 – 1 : Một số ảnh có mặt người trong tập mẫu huấn luyện 24
Hình 2.3.1 – 2 : Một số ảnh không chứa mặt người trong tập mẫu huấn luyện 25
Hình 2.3.1 – 3 : Ví dụ về ảnh ngược sáng 25
Hình 2.3.1 – 4: Ví dụ về ảnh bị che khuất thành phần quan trọng 26
Hình 2.3.1 – 5 : Ví dụ về ảnh có cảm xúc đặc biệt 26
Bảng 2.3.2 – 1 : So sánh các phương pháp phát hiện + chứng thực khuôn mặt 26
Hình 2.3.2 – 1 : So sánh các phương pháp detect + chứng thực khuôn mặt 27
Hình 3.2.1 – 1 : Hướng của véc tơ riêng 28
Hình 3.2.1 – 2 : Minh hoạ phát hiện vị trí mắt, miệng trên khuôn mặt 29
Hình 3.2.1 – 3 : Minh hoạ kiểu kết hợp toàn cục và bộ phận 30
Hình 3.2.2 – 1 : Sự phân phối dữ liệu trong không gian 3 chiều và các trục tương ứng của PCA và ICA Mỗi trục là một cột của ma trận nghịch đảo của ma trận trộn W-1 tìm thấy bới PCA và ICA Các trục của PCA trực giao trong khi ICA thì không, do đó khoảng cách các điểm dữ liệu sẽ thay đổi khi chiếu xuống không gian mới này 33 Hình 3.2.2 – 2 : véctơ đặc trưng cho mỗi kĩ thuật Hàng đầu chứa 8 véctơ riêng với 8 trị riêng lớn nhất trong PCA Hàng 2 chứa các vectơ đặc trưng trong ICA với kiến trúc I, hàng 3 chỉ ra
Trang 9Hình 3.2.2 – 3 :minh họa kiến trúc 1 trong mô hình ICA 35
Hình 3.2.2 – 4 :minh họa kiến trúc 2 trong mô hình ICA 36
Hình 3.2.2 – 5 :Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA 36
Hình 3.2.2 -6 :Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA trên pixel 37
Bảng 3.3.2 – 1 : Kết quả so sánh PCA và ICA trên bộ dữ liệu CalTech 39
Hình 3.3.2 – 1 :Biểu đồ kết quả thử nghiệm hai phương pháp rút trích đặc trưng PCA – ICA trên bộ dữ liệu CalTech: thống kê trên bộ test 40
Hình 3.3.2 – 2: Các ảnh với phương pháp rút trích PCA bị nhận dạng sai với bộ dữ liệu nước ngoài 41
Hình 3.3.2 – 3 : Các ảnh với phương pháp rút trích ICA bị nhận dạng sai với bộ dữ liệu nước ngoài 42
Hình 3.3.3 – 1 : Một số ảnh quay phải, trái, quá tối hoặc độ sáng không đồng đều trên khuôn mặt trong tập ảnh tự tạo 43
Bảng 3.3.4 – 1 : Kết quả so sánh PCA và ICA trên bộ dữ liệu trong nước 44
Hình 3.3.4 – 1 :Biểu đồ kết quả thử nghiệm hai phương pháp rút trích đặc trưng PCA – ICA trên bộ dữ liệu tự tạo: thống kê trên bộ test 44
Hình 3.3.4 – 2 : Các ảnh với phương pháp rút trích PCA bị nhận dạng sai với bộ dữ liệu tự tạo .45
Hình 4.2.1 – 1 :Sơ đồ hệ thống nhận dạng mặt người dùng SVM 46
Hình 4.2.2 – 1 :Sơ đồ hệ thống nhận dạng mặt người dùng mạng Nơron 48
Bảng4.3.2 – 1 : Thời gian huấn luyện SVM và NN bộ dữ liệu nước ngoài 50
Bảng 4.3.2 – 2 : Thời gian nhận dạng thư mục test nước ngoài bằng SVM và NN 51
Bảng 4.3.2 – 3 : Kết quả so sánh nhận dạng SVM và NN trên bộ dữ liệu nước ngoài 52
Hình 4.3.2 – 1 : Biểu đồ kết quả thử nghiệm hai phương pháp nhận dạng SVM và NN trên .52
bộ dữ liệu nước ngoài: thống kê trên bộ test 52
Bảng 4.3.4 - 1: Thời gian huấn luyện SVM và NN bộ dữ liệu trong nước 52
Bảng 4.3.4 - 2: Thời gian nhận dạng thư mục test trong nước bằng SVM và NN 53
Bảng 4.3.4 - 3: Kết quả so sánh SVM và NN trên bộ dữ liệu trong nước 53
Hình 4.3.4 - 1 :Biểu đồ kết quả thử nghiệm hai phương pháp nhận dạng SVM và NN 54
Trang 10trên bộ dữ liệu trong nước: thống kê trên bộ test 54
Hình 5.2.1 – 1 : Một số ảnh train trong ứng dụng 55
Hình 5.2.1 – 2 : Một số ảnh test trong ứng dụng 56
Hình 5.2.1 – 3 : 1 đoạn Video trong ứng dụng 56
Hình 5.2.3 – 1 : Sơ đồ quá trình tách frame từ video 58
Bảng 5.3-1 : Kết quả nhận dạng trên ảnh tĩnh 59
Hình A.2.2 – 1 : Strong classifier H(x) được xây dựng bằng AdaBoost 70
Hình A.2.2 - 2: Ví dụ minh hoạ sự kết hợp của 3 phân lớp tuyến tính 71
Bảng A.2.2 – 1 : Thuật toán AdaBoost 72
Bảng A.2.2 – 2 : Một phiên bản khác của thuật toán AdaBoost 75
Hình A.2.3 - 1 : Các đặc trưng Haar-like cơ sở 76
Hình A.2.3 - 2: Các miền hình học đặc trưng Haar – like 76
Hình A.2.3 - 3: Ý nghĩa hình học của đạo hàm ảnh 77
Hình A.2.3 - 4: Cách tính giá trị một ô đặc trưng 77
Hình A.2.3 - 5: Dò tìm bàn tay bằng đặc trưng Haar – like 78
Hình A.2.3 - 6: Dò tìm khuôn mặt bằng đặc trưng haar – like 78
79
Hình A.2.4 - 1: Cascade Classifier 79
Hình A.3.3 - 1 Hướng của véc tơ riêng 82
Hình A.4.2 - 1: Hai tín hiệu nguồn ( không quan sát trực tiếp được, tức các tính hiệu ẩn là s1(t) và s2(t)), hai tín hiệu trộn (quan sát được là x1(t) và x2(t) ) 87
Hình A.4.3 - 1: Các kí hiệu trong ICA 89
Hình A.4.6 - 1: Phân bố kết hợp của hai thành phần độc lập s1, s2 có phân bố đồng nhất (trục ngang: s1, trục đứng s2) 92
Hình A.4.6 - 2: Phân bố kết hợp của các trộn lẫn x1, x2 (trục ngang x1, trục đứng x2) 92
Hình A.4.6 - 3: Phân phối kết hợp của hai biến Gauss 93
Hình A.4.7.2.1 - 1: Hàm mật độ của phân phối Laplace, một điển hình của phân phối siêu Gauss, so với phân phối Gauss ở đường gạch nét, cả hai mật độ được chuẩn hóa phương sai đơn vị 95
Trang 11Hình A.4.10.2 - 1:Minh họa kiến trúc 1 trong mô hình ICA 104
Hình A.4.10.2 - 2: véctơ đặc trưng cho mỗi kĩ thuật Hàng đầu chứa 8 véctơ riêng với 8 trị riêng lớn nhất trong PCA Hàng 2 chứa các vectơ đặc trưng trong ICA với kiến trúc I, hàng 3 chỉ ra 8 véctơ đặc trưng trong ICA với kiến trúc 2 105
Hình A.4.10.2 - 3:Mô hình tổng hợp ảnh cho kiến trúc 1 của ICA 106
Hình A.4.10.3 - 1:minh họa kiến trúc 2 trong mô hình ICA 107
Hình A.4.10.3 - 2:Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA 108
Hình A.4.10.3 - 3:Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA trên pixel 108
Hình A.4.11.1- 2 Sự phân phối dữ liệu trong không gian 3 chiều và các trục tương ứng của PCA và ICA Mỗi trục là một cột của ma trận nghịch đảo của ma trận trộn W-1 tìm thấy bới PCA và ICA Các trục của PCA trực giao trong khi ICA thì không, do đó khoảng cách các điểm dữ liệu sẽ thay đổi khi chiếu xuống không gian mới này 110
Hình A.5.1 - 1 : Siêu mặt phân cách tuyến tính cho trường hợp phân cách được và 111
kí hiệu các support véc tơr chính là các điểm được bao bằng viền tròn 111
Hình A.6.1-1: Mô hình một Nơron thần kinh 117
Hình A.6.2.1 - 1: Mô hình Nơron nhân tạo 118
Hình A.6.2.1.1 - 1: Mô hình toán học tổng quát của một Nơron 119
Hình A.6.2.1.3 - 1: Các xử lý tương đương trong một Nơron 120
Hình A.6.2.1.4 - 1: Hoạt động tính toán của Nơron 122
Hình A.6.2.2 - 1: Năm sơ đồ liên kết cơ bản của mạng Nơron: (a) mô hình mạngtruyền thẳng một lớp; (b) mô hình mạng truyền thẳng đa lớp; (c) mô hình: một Nơron đơn với liên kết phản hồi đến chính nó; (d) mô hình: mạng lặp một lớp; (e) mô hình: mạng lặp đa lớp 125
Hình A.6.2.2 - 2: Liên kết bên trong của phản hồi 126
Hình A.6.2.3 - 1: Ma trận trọng số nối kết 127
Hình A.6.2.3 - 2 : Học có giám sát 128
Hình A.6.2.3 - 3 : Học tăng cường 128
Hình A.6.2.3 - 4: Học không giám sát 129
Hình A.6.2.3 - 5: Luật học phát sinh trọng số (di không được cung cấp trong trường hợp học không giám sát) 131
Trang 12Hình A.6.2.4 - 1: Một số dạng hàm dùng trong ánh xạ từ đầu vào -> đầu ra 133
Bảng A.6.2.4 – 1 : Một số hàm truyền thông dụng trong mạng Nơron 134
Hình A.6.2.5 – 1 : Các loại liên kết của Nơron 135
Hình A.6.3.1 - 1 : Cấu hình mạng RBF tiêu biểu 136
Hình A.6.3.1 - 2 : Những tập phân lớp trong không gian 2 chiều 138
HìnhA.6.3.1 - 3 : Ánh xạ các tập phân lớp lên neuron RBF 139
Hình A.6.4.1-1: Minh họa mạng lan truyền thẳng ba lớp 141
Hình B.3.1 – 1: Giao diện chính của chương trình 150
Hình B.3.2 -1: Màn hình minh họa chức năng test trên video 151
Hình B.3.2 – 2 : Giao diện của chương trình khi hoạt động 152
Hình B.3.3 – 1 : Màn hình tham số huấn luyện cho mạng nơron 153
Hình B.3.4 -1 : Màn hình đọc dữ liệu đã huấn luyện 154
Hình B.3.5 – 1: Màn hình test thư mục 155
Hình B.3.6 – 1 : Màn hình nhận dạng trên ảnh tĩnh 156
Chương 0: Giới thiệu
Trang 13Mở đầu luận văn, chúng tôi sẽ trình bày về hiện trạng thực tế và cách tiếp cậncủa đề tài:
Những năm gần đây, bài toán nhận dạng nói chung, cũng như bài toán nhận dạng mặtngười nói riêng đã được rất nhiều tác giả quan tâm và đề xuất nhiều phương pháp giảikhác nhau Tuy nhiên độ chính xác của các phương pháp chưa cao, các kết quả chứngthực chưa tốt
Dưới đây tổng kết một số phương pháp trong và ngoài nước đã tiến hành:
Nước ngoài [3]:
• Dùng phương pháp SVM để nhận dạng khuôn mặt, sử dụng chiếnlược kết hợp nhiều bộ phân loại nhị phân để xây dựng bộ phân loại đalớp
• Sử dụng phương pháp PCA kết hợp LDA (phân tích độc lập tuyếntính) Bước 1, chiếu ảnh khuôn mặt từ không gian ảnh thô sang cáckhông gian khuôn mặt (Mỗi lớp khuôn mặt được nhận dạng sẽ được
mô hình hóa bằng một không gian khuôn mặt) dùng PCA Bước 2, sửdụng phương pháp LDA để tạo bộ phân loại tuyến tính có khả năngphân lớp các lớp khuôn mặt
• Sử dụng phương pháp mạng Neural nhân tạo để xử lý và nhận dạngkhuôn mặt
Trong nước:
• Nhận dạng mặt người dựa vào thông tin dựa vào thông tin khuôn mặtxuất hiện trên ảnh Sử dụng phương pháp SVM và HMM [2]
• Nhận dạng mặt người dựa trên FSVM và AdaBoost [1]
• Đề xuất phương pháp rút trích đặc trưng hình học (phát hiện mắt,miệng) cho bài toán nhận dạng mặt người [3]
Ở giai đoạn dò tìm khuôn mặt phần lớn chỉ áp dụng phương pháp Adaboost, tuynhiên phương pháp Adaboost có nhược điểm là phát hiện ra đôi khi sai ảnh khuôn mặt
Trang 14Có nhiều phương pháp chứng thực lại ảnh khuôn mặt sau khi được phát hiện bởiAdaboost, trong luận văn chúng tôi so sánh các phương pháp đã được thực hiện làAdaboost, Adaboost + NN, Adaboost + RBF và đề xuất của chúng tôi là Adaboost +Adaboost.
Sau khi dò tìm được khuôn mặt, phương pháp trích chọn đặc trưng truyền thốngđược sử dụng là phương pháp chia ô lưới thông thường, hoặc phương pháp PCA, tuynhiên các phương pháp này còn có những yếu điểm vì vậy chúng tôi áp dụng phươngpháp rút đặc trưng mới ICA Sau đó, quá trình phân lớp sẽ được thực hiện bằngphương pháp SVM, Mạng Nơron và so sánh kết quả của hai phương pháp phân lớpnày Sau đó, từ các kết quả lý thuyết và thực nghiệm chúng tôi lựa chọn ra phươngpháp tốt nhất trong từng giai đoạn để tạo thành một hệ thống tối ưu
Hệ thống đề xuất cũng được kiểm chứng thông qua một ứng dụng thực tế: truy tìm đốitượng trong video Cụ thể, bài toán có thể phát biểu ngắn gọn như sau: Cho trước mộtCSDL ảnh mặt người các đối tượng cần truy tìm và một đoạn video quay lại khu vựccần kiểm soát Vấn đề đặt ra là: xây dựng hệ thống truy tìm tự động trả lời câu hỏi: ảnhmặt nguời các đối tượng cần truy tìm có xuất hiện trong đoạn video đã quay haykhông? Bài toán này được áp dụng rộng rãi cho nhiều lĩnh vực khác nhau: Phát hiệnkhủng bố, ngăn chặn truy cập bất hợp pháp, …
Đó chính là nội dung đề tài khóa luận của chúng tôi: “Đề xuất phương pháp truy tìmảnh mặt người trên video”
Về nội dung, luận văn tập trung vào các vấn đề sau:
Tìm hiểu cơ sở lý thuyết áp dụng cho bài toán nhận dạng: AdaBoost, PCA,ICA, SVM, Mạng Nơron
Dò tìm và chứng thực khuôn mặt: Adaboost, Mạng Nơron truyền thẳng balớp, mạng nơron RBF
Áp dụng phương pháp trích chọn đặc trưng mới ICA
Trang 15 Chuẩn bị cơ sở dữ liệu riêng cho ứng dụng: bộ dữ liệu chuẩn nước ngoài và
bộ dữ liệu tự tạo
Báo cáo kết quả thử nghiệm Tiến tới xây dựng mô hình nhận dạng tối ưunhất
Xây dựng ứng dụng truy tìm đối tượng trên video
Chương 1 Tổng quan về bài toán nhận dạng mặt người
Trang 161.1 Một số ứng dụng của bài toán nhận dạng mặt người trong thực tế: [2]
- Trong lĩnh vực hàng không: Hiện nay, nạn khủng bố máy bay đang diễn ra hết sứcphức tạp và tinh vi Làm sao để có thể nhận diện được kẻ khủng bố/tội phạm quốcgia/tội phạm quốc tế trà trộn chung với hành khách?, hoặc các tên tội phạm trong nước
có thể tìm cách trốn ra nước ngoài bằng đường hàng không, chúng sẽ trộn lẫn tronghành khách, làm sao tại sân bay ta có thể phát hiện được Ứng dụng này tương tự như
ứng dụng mà chúng tôi thực hiện trong luận văn này
- Trong mỗi công ty hay một tổ chức, mỗi nhân viên có một quyền hạn nhất định trongphạm vi làm việc của mình Làm sao để xác định được sự truy cập quyền hạn của nhânviên đó có đúng hay không?
- Bảo vệ trẻ em từ nhà trẻ khỏi bọn bắt cóc: Qui định chỉ người giữ trẻ mới được đưacác trẻ từ lớp học trao cho bố mẹ chúng Nhưng trong xã hội có rất nhiều kẻ xấu giảdanh nhân viên giữ trẻ hay bố mẹ các em để bắt cóc Bằng cách nào để xác định được
có phải là nhân viên hay bố mẹ các bé để ngăn ngừa hành vi xấu này?
- Nhận dạng khuôn mặt kèm với thẻ truy cập: Ngày nay với sự phát triển như vũ bãocủa kỹ thuật và công nghệ, trên nhiều nước tiên tiến, mọi người đều sử dụng thẻ tíndụng để trao đổi, mua bán, giao dịch Điều này rất thuận tiện nhưng bên cạnh đó cũngrất nguy hiểm khi bị mất thẻ và người nhặt được thẻ biết được mật khẩu Cách giảiquyết tốt là sử dụng song mật khẩu Nghĩa là: để rút được tiền, người dùng cần thựchiện các thao tác:
+ Đưa thẻ vào
+Nhập mật khẩu
+Nếu đúng, đưa tiếp khuôn mặt vào
+Nếu hợp lệ thì cho rút tiền
+Nếu không hợp lệ thì không cho rút
Hệ thống trên sử dụng khuôn mặt như là mật khẩu thứ hai Nếu hệ thống nhận dạngchính xác thì đây là một cách rất tốt để tránh sự truy cập thẻ bất hợp pháp của kẻ xấu
Trang 17- Trong lĩnh vực kinh doanh thương mại điện tử: Với sự phát triển của khoa học côngnghệ, việc kinh doanh trên mạng đang trở nên phổ biến Hai bên đối tác không cần gặpmặt trực tiếp (face to face) mà chỉ cần trao đổi trên mạng thông qua hình ảnh của ngườiđại diện Song có rất nhiều vụ lừa đảo, giả danh,…Làm sao để biết được người đanggiao dịch với mình là thật hay giả?
- Khi lần theo dấu vết của một đối tượng tình nghi, làm sao để biết được đó có phải làđối tượng mà ta đang tìm kiếm hay không?
- Ngăn chặn việc xuất/ nhập cảnh bất hợp pháp: Một số người không được quyềnxuất/nhập cảnh vào một nước Nhưng họ cố tình khai gian giấy tờ để xuất/nhập cảnhbất hợp pháp Làm sao để ngăn chặn được sự gian lận này?
- Truy tìm đối tượng dựa theo mô tả: Công an đang truy tìm hung thủ cho một vụ án,
nhân chứng nhớ được khuôn mặt của hung thủ, làm sao xác định được thông tin vềhung thủ một cách nhanh nhất khi trong tay có một csdl ảnh rất lớn, có chứa ảnh củahung thủ
1.2 Những khó khăn đề ra trong bài toán nhận dạng mặt người
- Những biến đổi quá lớn giữa các ảnh khuôn mặt của cùng một người cần nhận dạnggồm trạng thái cảm xúc trên khuôn mặt, ánh sáng, các vị trí thay đổi của khuôn mặt(nghiêng trái , phải, ngước lên, cuối xuống)
- Giới hạn về số ảnh cần thiết cho việc huấn luyện, tập các ảnh khuôn mặt huấn luyệnkhông thể bao quát được tất cả các biến đổi có thể có trên khuôn mặt của một ngườicần nhận dạng trong thế giới thực
1.3 Đề xuất mô hình giải quyết ứng với từng khâu của bài toán nhận dạng mặt người.
Trang 181.3.1 Mô hình tổng quát của bài toán nhận dạng mặt người:
Hình 1.3.1 – 1 : Mô hình tổng quát của bài toán nhận dạng mặt người
1.3.2 Các công trình nghiên cứu về phương pháp dò tìm và nhận dạng khuônmặt:
Bài toán nhận dạng khuôn mặt cần xác định bốn vấn đề chính:
+ Dùng phương pháp nào để xác định khuôn mặt nằm tại vị trí nào trongảnh
+ Dùng đặc trưng nào trên khuôn mặt để rút trích đặc trưng cho khuôn mặt:chân mày, cặp mắt, mũi, môi, hay kết hợp tất cả các đặc trưng trên
Trang 19+ Áp dụng phương pháp nào để rút trích đặc trưng.
+ Dùng phương pháp nào để huấn luyện cho máy nhận dạng khi đã có tập đặctrưng của khuôn mặt
Tổng kết các hướng nghiên cứu chính về phương pháp dò tìm và nhậndạng khuôn mặt:[2][3]
Ngoài nước:
Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets, John Weng(1998) sử dụng phương pháp PCA (phân tích thành phần chính) kết hợp LDA(phân tích độc lập tuyến tính) Bước 1, chiếu ảnh khuôn mặt từ không gian ảnh thôsang không gian các không gian khuôn mặt (Mỗi lớp khuôn mặt được nhận dạng sẽđược mô hình hóa bằng mộtkhông gian khuôn mặt) dùng PCA Bước 2, sử dụngphương pháp LDA để tạo bộ phân loại tuyến tính có khả năng phân lớp các lớpkhuôn mặt
John Daugnman (1998) , đưa ra phương pháp dùng đặc trưng về tròng của mắt đểphân biệt cặp (trai/gái) song sinh
Emmanuel Viennet và Francoise Fogelman Soulie (1998) , sử dụng phương phápmạng neural nhân tạo để xử lý và nhận dạng khuôn mặt
Antonio J.Colmenarez và Thomas S.Huang (1998), sử dụng kỹ thuật học thị giác vàphù hợp mẫu 2-D Ông quan niệm bài toán dò tìm khuôn mặt là thao tác phân loạikhuôn mặt trong đó khuôn mặt thuộc về một lớp và các đối tượng khác thuộc vềlớp còn lại bằng cách ước lượng mô hình xác suất cho mỗi phân lớp, và việc dòtìm sử dụng luật quyết định Maximum-likelihood
Kazunori Okada, Johannes Steffens, Thomas Maurer, Hai Hong, Egor Elagin,Hartmut Neven, and Christoph (1998), nhận dạng khuôn mặt dựa vào sóng Gabor
và phương pháp phù hợp đồ thị bó Với ý tưởng dùng đồ thị để biểu diễn khuônmặt, ảnh khuôn mặt được đánh dấu tại các vị trí đã được xác định trước trên khuônmặt, gọi các vị trí này chính là các vị trí chuẩn Khi thực hiện thao tác so khớp đồ
Trang 20thị với một ảnh, các điểm chuẩn (Jets) sẽ trích ra từ ảnh và so sánh các điểm chuẩnnày với tất cả các điểm chuẩn tương ứng trong các đồ thị khác nhau, và đồ thị nàophù hợp nhất với ảnh sẽ được chọn.
Baback Moghaddam và Alex Pentland (1998) , đưa ra phương pháp phù hợp thịgiác trực tiếp từ các ảnh cần sử dụng cho mục đích nhận dạng khuôn mặt và dùng
độ đo xác suất để tính độ tương tự
Massimo Tistaelli và Enrico Grosso (1998), đưa ra kỹ thuật thị giác động Vì khảnăng quan sát các chuyển động của khuôn mặt và xử lý các tính huống theo dự định
là thông tin rất quan trọng, từ đó nhận được mô tả đầy đủ hơn về khuôn mặt chomục đích thu thập mẫu và nhận dạng
Jeffrey Huang, Chengjun Liu, và Harry Wechsler (1998), đề xuất thuật toán căn cứtrên tính tiến hóa (Evolutionary computation) và di truyền (Genetic) cho các tác vụnhận dạng khuôn mặt Đối với cách tiếp cận này, hai mắt sẽ được dò tìm trước tiên
và thông tin này được xem là vết để quan sát khuôn mặt, trình xử lý dò tiếp mắtbằng cách sử dụng một thuật toán lai để kết hợp thao tác học và tiến hóa trong quátrình học
Daniel Bgraham và Nigel M Allinson (1998), sử dụng phương pháp được gọi là tạobản sao không gian đặc trưng để biểu diễn và nhận dạng hướng di chuyển củakhuôn mặt
Ara V.Nefian và Monson H.Hayes III (1998) trình bày hướng tiếp cận theo môhình mô hình Markov ẩn (HMM) trong đó ảnh mẫu khuôn mặt được lượng hóathành chuỗi quan sát trên khuôn mặt theo quan niệm dựa trên thứ tự xuất hiện cácđặc trưng khuôn mặt {hai chân mày, hai lông mi, mũi, miệng, cằm} Trong chuỗiquan sát đó, mỗi quan sát lại là một vector nhiều chiều và mỗi vector quan sát nàyđược sử dụng để đặc trưng cho mỗi trạng thái trong chuỗi trạng trạng thái củaHMM Mỗi người được ước lượng bằng một mô hình của HMM
Trang 21SVM để nhận dạng khuôn mặt Sử dụng chiến lược kết hợp nhiều bộ phân loại nhịphân để xây dựng bộ phân loại SVM đa lớp.
Trong nước:
Trần Phước Long, Nguyễn Văn Lượng (Luận văn cử nhân tin học, ĐH KHTNTP.HCM, 7/2003) , nhận dạng khuôn mặt dựa vào các thông tin xuất hiện trên ảnhbằng SVM và HMM
Lu Buon Vinh, Hoàng Phương Anh (Luận văn cử nhân tin học, ĐH KHTNTP.HCM, 7/2004) , nhận dạng mặt người dựa trên FSVM và AdaBoost
Nguyễn Anh Tuấn (Luận văn cử nhân tin học, ĐH KHTN TP.HCM 7/2004), khảosát ứng dụng của tập thô trong lựa chọn và rút gọn đặc trưng cho bài toán nhậndạng mặt người
Lê Minh Trí – Nguyễn Thúy Hằng (2006) [3], Đề xuất phương pháp trích chọn đặctrưng mới cho bài toán nhận dạng mặt người, Luận văn Cử nhân CNTT Trường ĐạiHọc KHTN TPHCM
1.3.3 Hướng tiếp cận trong luận văn để giải quyết bài toán nhận dạng khuônmặt:
- Giải quyết bài toán nhận dạng mặt người là giải quyết một bài toán lớn, trongbài toán này người ta phải giải quyết bốn bài toán nhỏ hơn, chính là bốn vấn đềchính trong bài toán nhận dạng mặt người 1.3.2, trong bốn bài toán nhỏ có rấtnhiều phương pháp để giải quyết, luận văn chúng tôi sẽ giải quyết từng giai đoạncủa bài toán nhận dạng mặt người bằng cách so sánh các phương pháp đã có vàcác phương pháp do chúng tôi đề xuất
- Từ kết quả so sánh, tiến tới xây dựng mô hình hoàn chỉnh cho bài toán nhậndạng mặt người
- So sánh, đánh giá mô hình đề xuất với một số mô hình truyền thống trên CSDLứng dụng cụ thể, từ đó chỉ ra tính ưu việt của mô hình đề xuất, từ đó đưa ra lớp bàitoán thích hợp với mô hình đề xuất
Trang 22Cụ thể trong từng vấn đề:
Để detect khuôn mặt trong ảnh, luận văn so sánh bốn phương pháp: Adaboost [3],Adaboost + mạng Nơron 3 lớp [12], Adaboost + Mạng Nơron RBF [27], Adaboost+ Adaboost
Đặc trưng được lựa chọn cho khuôn mặt là đặc trưng toàn cục của khuôn mặt kếthợp với các đặc trưng của các bộ phận: mắt trái, mắt phải, miệng [3]
Về vấn đề rút trích đặc trưng, luận văn so sánh hai phương pháp rút trích đặc trưngcho khuôn mặt được xem là mạnh nhất hiện nay là phân tích thành phần chính(Principal Component Analysis - PCA) [3] và phân tích thành phần độc lập(Independent Component Analysis - ICA)
Phương pháp huấn luyện cho máy nhận dạng khi đã có tập vectơ đặc trưng: luậnvăn so sánh hai phương pháp được xem là mạnh nhất hiện nay là Mạng Nơron (NN)
và Support Vectơ Machine (SVM) [6]
Trang 23Chương 2: Dò tìm khuôn mặt trong ảnh
2.1 Bài toán:
Ảnh hay frame của video đầu vào cho hệ thống nhận dạng mặt người thường là ảnh baogồm cả background, để có thể nhận dạng được đối tượng trong ảnh trước hết phải giảiquyết bài toán dò tìm khuôn mặt của đối tượng nằm tại vị trí nào trong ảnh
2.2 Đề xuất phương pháp:
2.2.1 Các phương pháp đã được thực hiện [1][3][12][27]:
Quá trình dò tìm khuôn mặt trước tiên được thực hiện bởi bộ dò tìm khuôn mặtAdaboost
Phương pháp AdaBoost [phụ lục A.2] được đánh giá là nhanh nhất trong các thuật toán
dò tìm khuôn mặt hiện nay Tuy nhiên những khuôn mặt tìm được có độ chính xác chưacao Trong các kết quả sai mà chúng tôi đã thử nghiệm thì hầu hết là dò tìm thừa Vìvậy cần phải có một bộ lọc để chứng thực lại các ảnh dò tìm được bằng AdaBoost, đã
có các phương pháp chứng thực được áp dụng như Adaboost kết hợp mạng nơrontruyền thẳng ba lớp[12], Adaboost kết hợp mạng nơron Radial Basis Function (RBF)[27]
Hệ thống dò tìm và chứng thực khuôn mặt bằng mạng nơron được minh hoạ trong hìnhsau:
Hình 2.2.1 – 1 : Sơ đồ hệ dò tìm khuôn mặt bằng AdaBoost – NN
2.2.2 Phương pháp đề xuất trong luận văn:
Ngoài việc dùng mạng nơron cho việc chứng thực, trong luận văn chúng tôi cũng ápdụng Adaboost cho việc chứng thực khuôn mặt, tức là ảnh sau khi qua Adaboost sẽđược các ảnh ứng viên khuôn mặt, các ảnh ứng viên khuôn mặt này sẽ được đưa quaAdaboost lần thứ hai để truy tìm, nếu lần truy tìm khuôn mặt lần thứ hai này Adaboost
Trang 24vẫn báo ảnh ứng viên là ảnh khuôn mặt thì ta quyết định đây là ảnh khuôn mặt, ngượclại.
Hình 2.2.2 – 1 : Minh hoạ hệ dò tìm khuôn mặt bằng AdaBoost-Adaboost
2.3 Các kết quả thực nghiệm của từng phương pháp:
2.3.1 Cơ sỡ dữ liệu thử nghiệm:
Tập ảnh dùng để huấn luyện cho mạng nơron RBF và mạng nơron truyền thẳng ba lớptrong quá trình phát hiện khuôn mặt gồm hai tập con Một tập gồm các ảnh chứa khuônmặt (face) và một tập gồm các ảnh không chứa khuôn mặt (nonfafce) Tập dữ liệu sửdụng ở đây đã được tổng hợp từ nhiều bộ dữ liệu của đại học CMU và học viện MIT
Trang 25người được lấy ngẫu nhiên từ các ảnh phong cảnh, thú vật, …
Hình 2.3.1 – 2 : Một số ảnh không chứa mặt người trong tập mẫu huấn luyện
Tập ảnh dùng để test: CalTech[4], Tập ảnh gồm 450 ảnh màu của Markus Weber ở học
viện kỹ thuật California Sau khi qua bộ dò tìm Adaboost thì ta được 441 ảnh mặtngười lẫn không phải mặt người
Nhận xét về tập ảnh CalTech: Hầu hết các ảnh có môi trường độ sang không đồng đều,
có ảnh quá sáng hoặc quá tối, có ảnh thì bị che khuất thành phần quan trọng như mắt, một số ảnh có các trạng thái khuôn mặt khác nhau
Ví dụ một số ảnh khó xử lý trong tập ảnh CalTech:
Hình 2.3.1 – 3 : Ví dụ về ảnh ngược sáng
Trang 26Hình 2.3.1 – 4: Ví dụ về ảnh bị che khuất thành phần quan trọng
Bảng 2.3.2 – 1 : So sánh các phương pháp phát hiện + chứng thực khuôn mặt
Dựa vào kết quả có được ta thấy Adaboost+Adaboost chứng thực rất tốt trên bộ dữ liệu
Trang 27Hình 2.3.2 – 1 : So sánh các phương pháp detect + chứng thực khuôn mặt
Trang 28Sau khi phát hiện được khuôn mặt trong ảnh đầu vào ta cần phải biểu diễn ảnh khuônmặt thành một véc tơ đặc trưng, tuy nhiên vì kích thước ảnh khuôn mặt quá lớn nếubiểu diễn véc tơ là các pixel của ảnh khuôn mặt thì có thể làm cho quá trình huấn luyện
và nhận dạng rất chậm, và xảy ra trường hợp quá khớp vì vậy bài toán đặt ra là cần phải
có phương pháp để biểu diễn ảnh khuôn mặt thành véc tơ đặc trưng mà vẫn giữ lạiđược những thành phần quan trọng của ảnh
3.2 Đề xuất phương pháp:
3.2.1 Các phương pháp đã được thực hiện [3][6][12]:
Quá trình rút trích đặc trưng được thực hiện bởi các phương pháp truyền thống là chia ôlưới [12], phép phân tích thành phần chính PCA [3][6], phân tích đặc trưng hình họcbằng cách xác định các thành phần quan trọng của khuôn mặt như mắt, miệng [3],….Trong các phương pháp trên điển hình là phương pháp PCA
PCA Principal Componens Analysis) [phụ lục A.3] (còn được gọi là Loeve Transform (KLT) hay Hotelling transform PCA tìm phép biến đổi tuyến tính để:
Karhunen Giảm số chiều của không gian đặc trưng nhưng vẫn giữ được các đặc trưng chính
- Cực tiểu hóa việc mất mát thông tin
Phương pháp phân tích thành phần chính chiếu dữ liệu theo chiều biến đổi nhiều nhất
Hình 3.2.1 – 1 : Hướng của véc tơ riêng
Trong [3] các tác giả đã trình bày phương pháp rút trích đặc trưng ảnh mặt người bằngphương pháp kết hợp các đặc trưng hình học và PCA Ý tưởng chính là:
Trang 29) , ,
face y y y
K: số chiều trong không gian đặc trưng
Véc tơ trên được gọi là véc tơ toàn cục của khuôn mặt.
Phát hiện vị trí của mắt, miệng trong ảnh khuôn mặt Ta được véc tơ biểu diễn ảnh mắttrái (28x30), mắt phải (28x30), miệng (20x40):
T eye
left x x x
x _ = ( 1, 2, , 840)
T eye
right x x x
x _ = ( 1, 2, , 840)
T mouth x x x
x = ( 1, 2, , 800)
Hình 3.2.1 – 2 : Minh hoạ phát hiện vị trí mắt, miệng trên khuôn mặt
• Ánh xạ véc tơ biểu diễn mắt trái vào trong không gian đặc trưng củamắt trái Véc tơ biểu diễn mắt trái trong không gian đặc trưng:
T K eye
left y y y
y _ = ( 1, 2, , )
• Ánh xạ véc tơ biểu diễn mắt phải vào trong không gian đặc trưng củamắt phải Véc tơ biểu diễn mắt phải trong không gian đặc trưng:
Trang 30T K eye
mouth y y y
• Các véc tơ trên được gọi là các véc tơ bộ phận của khuôn mặt.
• Kết hợp véc tơ toàn cục và véc tơ bộ phận ta được véc tơ kết hợp
eye left face
comp
y y y
y y
_ _
Hình 3.2.1 – 3 : Minh hoạ kiểu kết hợp toàn cục và bộ phận
Việc rút trích đặc trưng bằng phương pháp cho tập mẫu học gồm 2 bước chính: Phântích các thành phần chính của tập mẫu, ánh xạ tập mẫu vào trong miền không gian đặctrưng
Rút trích đặc trưng cho tập mẫu khuôn mặt:
• Tính véc tơ trung bình của tập mẫu M có kích thước 900 (30 x 30)
• Tính ma trận hiệp phương sai C (900 x 900)
• Tính các giá trị riêng (eigenvalue) và véc tơ riêng (eigenvector) tương
Trang 31• Chọn K véc tơ riêng tương ứng với K giá trị riêng tương ứng lớn nhất.
• Xây dựng ma trận U mà mỗi cột là một véc tơ đặc trưng 900 chiều.Vậy kích thước của ma trận U là 900 x K
• Ánh xạ toàn bộ tập mẫu khuôn mặt vào miền không gian đặc trưng (Kchiều) (xem phần lý thuyết PCA)
Rút trích đặc trưng cho tập mẫu mắt: tương tự
Rút trích đặc trưng cho tập mẫu miệng: tương tự
Trong luận văn của chúng tôi, đối với tập dữ liệu nước ngoài CalTech chọn K của đặc trưng toàn cục là 100, K của các đặc trưng bộ phận là 60 Đối với tập dữ liệu trong nước tự tạo, chọn K của đặc trưng toàn cục là 80, K của các đặc trưng bộ phận là 50
Khuyết điểm của phương pháp PCA:
- Cái đích của PCA là tìm một tập ảnh cơ sở tốt hơn, để trong tập ảnh cơ sở mới này sựphối hợp các ảnh là không tương quan (các thành phần chính là không tương quan), và
để tìm tập dữ liệu mới không tương quan, PCA đã sử dụng thống kê bậc hai (ma trận hiệp phương sai) Vì vậy các sự phụ thuộc thống kê bậc cao vẫn còn tồn tại trong phép phân tích PCA
- Trong các công việc như nhận dạng mặt người, nhiều thông tin quan trọng có thể được chứa trong mối quan hệ thống kê bậc cao giữa các pixel của ảnh, không chỉ là thống kê bậc hai, như PCA Vì vậy chúng ta cần tìm một phương pháp tống quát hơn PCA
3.2.2 Phương pháp đề xuất trong luận văn:
Với các khuyết điểm của PCA ta cần tìm một phương pháp tổng quát hơn PCA
và ICA (independent component analysis) là một phương pháp [phụ lục A.4]
- ICA đã được áp dụng thành công trong bài toán tách nguồn mù (cock tail party problem), tách tín hiệu điện não đồ (Electroencephalo gram – EEG)
Trang 32- PCA có thể được xem như một trường hợp đặc biệt của ICA khi các nguồn có phân phối Gauss, trong trường hợp này thì ma trận trộn không xác định được ( đã trình bày trong định nghĩa ICA)
- Phương pháp PCA chưa phải là một phương pháp tốt trong trường hợp các nguồn có phân phối phi Gauss Theo kinh nghiệm quan sát, người ta đã xác định được rằng nhiềutìn hiệu tự nhiên như âm thanh, ảnh tự nhiên, và EEG là sự tổ hợp tuyến tính của các nguồn với phân phối siêu Gauss (kurtosis dương), trong trường hợp này, ICA là một phương pháp tốt hơn PCA vì:
1 Cung cấp một mô hình xác suất tốt hơn của dữ liệu
Các vector cơ sở của PCA và ICA cũng được xác định, bởi vì ba vectơ cơ sở của ICA
là không trực giao nên chúng sẽ thay đổi khoảng cách giữa các điểm dữ liệu, vì nếu cácvéc tơ là trực giao thì khi chiếu dữ liệu xuốn g không gian trực giao mới này thì khoảngcách giữa các điểm dữ liệu không thay đổi (PCA) Điều này có thể hữu dụng cho các thuật toán phân lớp, giống như người láng giềng gần nhất, luật quyết định dựa trên khoảng cách giữa các điểm dữ liệu
Trang 33Hình 3.2.2 – 1 : Sự phân phối dữ liệu trong không gian 3 chiều và các trục tương ứng của PCA và ICA Mỗi trục là một cột của ma trận nghịch đảo của ma trận trộn W -1 tìm thấy bới PCA và ICA Các trục của PCA trực giao trong khi ICA thì không, do đó khoảng cách các điểm dữ liệu sẽ thay đổi khi chiếu
xuống không gian mới này.
Có hai kiến trúc để áp dụng ICA rút trích đặc trưng trong ảnh
Hàng giữa trong hình dưới chỉ ra 8 ảnh cơ sở sinh ra bởi kiến trúc 1, chúng xác địnhkhông gian khuôn mặt không giống như PCA (hàng trên) và ICA kiến trúc 2 (hàng
cuối) Barlett [18,19] trước tiên đã áp dụng PCA để chiếu dữ liệu xuống một không
gian con m chiều để điều khiển số thành phần độc lập xác định bởi ICA Một trong cácthuật toán ICA được áp dụng lên các vectơ riêng để cực tiểu hóa sự phụ thuộc thống kêgiữa các ảnh cơ sở kết quả Như vậy PCA bất tương quan dữ liệu đầu vào, các sự phụthuộc bậc cao còn lại được tách ra bởi ICA
Trang 34Hình 3.2.2 – 2 : véctơ đặc trưng cho mỗi kĩ thuật Hàng đầu chứa 8 véctơ riêng với 8 trị riêng lớn nhất trong PCA Hàng 2 chứa các vectơ đặc trưng trong ICA với kiến trúc I, hàng 3 chỉ ra 8 véctơ đặc trưng
trong ICA với kiến trúc 2.
Áp dụng ICA trong rút trích đặc trưng trong ảnh:
Đặt X là ma trận dữ liệu với nr hàng và nc cột Chúng ta xem các cột của ma trận X là như là các kết quả quan sát (các thử nghiệm độc lập) của các thực nghiệm ngẫu nhiên
Ta xem hàng thứ i của X như là các giá trị quan sát được của biến ngẫu nhiên Xi thông qua nc lần thử nghiệm độc lập Ta có xác suất phân phối của X1, …, Xnr trong mỗi cột của X là 1/nc Ta nói hai hàng i và j của X là độc lập nếu không thể dự đoán các giá trị của Xj thông qua các cột từ các giá trị tương ứng của Xi
P(Xi = u,Xj= v) = P(Xi = u)P(Xj = v) for all u,v thuộc R
Mục đích của chúng ta là tìm một tập ảnh cơ sở tốt để đại diện cho tập ảnh khuôn mặt Chúng ta sắp xếp mỗi ảnh trong cơ sở dữ liệu như là một vectơ với số chiều là số pixel của ảnh Chúng ta có hai cách tiếp cận (hai kiến trúc):
Trang 35 Kiến trúc 1:
Chúng ta sắp xếp ma trận ma trận dữ liệu X với mỗi hàng là là một ảnh khác nhau, trong cách tiếp cận này các ảnh là các biến ngẫu nhiên và các pixel là các quan sát, ở đây tạo cho chúng ta cảm giác về sự độc lập của các ảnh Hai ảnh i, j được gọi là độc lập nếu chúng ta không thể dự đoán giá trị của pixel trên ảnh j dựa trên giá trị của pixel tương ứng cột trên ảnh i
Hình 3.2.2 – 3 :minh họa kiến trúc 1 trong mô hình ICA
Kiến trúc 2:
Là kiến trúc được áp dụng trong luận văn
Đặt các ảnh thành các cột của ma trận dữ liệu X Trong cách sắp xếp này, các pixel xem như các biến ngẫu nhiên, số lượng pixel của một ảnh cũng chính bằng số micro, bằng số thành phần độc lập, các ảnh là các sự quan sát Ở đây tạo cho chúng ta cảm giác nói về sự độc lập của các pixel Ví dụ pixel i va j được gọi là độc lập nếu chúng ta không thể dự đoán giá trị của của pixel i dựa trên giá trị của pixel j tương ứng trên cùngmột ảnh
Trang 36Hình 3.2.2 – 4 :minh họa kiến trúc 2 trong mô hình ICA
Minh họa ICA cho kiến trúc 2:
Hình 3.2.2 – 5 :Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA
Trang 37Hình 3.2.2 -6 :Mô hình tổng hợp ảnh cho kiến trúc 2 của ICA trên pixel
S là các nguồn độc lập chưa biết Ma trận A xem như là tập ảnh cơ sở Mỗi ảnh trong tập dữ liệu X được xem như là tổ hợp tuyến tính của tập ảnh cơ sở trong ma trận A Tậpảnh cơ sở được kết hợp với một tập các nguồn độc lập S A = WI-1 với WI được ước lượng thông qua ICA
Trang 38Sau khi rút trích đặc trưng của khuôn mặt bằng phương pháp PCA ta có các véctơ đặc trưng.
Đặc trưng khuôn mặt yface, trong đặc trưng này các pixel là bất tương quan nhưng vẫn
có thể tồn tại các sự phụ thuộc bậc lớn hơn hai giữa các pixel, vì vậy ta phân tích thành phần độc lập cho véctơ yface để tạo sự độc lập cho dữ liệu
ICA face
ICA face y
Các đặc trưng mắt trái yleft_eye, đặc trưng mắt phải yright_eye, đặc trưng miệng ymouth, cũng tương tự như đặc trưng toàn cục yface của khuôn mặt
3.3 Các kết quả thực nghiệm của từng phương pháp:
Mạng nơron dùng để huấn luyện và nhận dạng: Dùng mạng nơron FANN (Fast
Artical Neural Network) của Steffen Nissen [32] hoặc [33]
3.3.1 Cơ sở dữ liệu thử nghiệm chuẩn nước ngoài :
Mô tả cơ sở dữ liệu : tập ảnh CalTech đã mô tả trong 2.3.1
3.3.2 Kết quả :
Người
Số ảnhtrain
Trainđúng(%
)
Số ảnhtest
Trang 39Bảng 3.3.2 – 1 : Kết quả so sánh PCA và ICA trên bộ dữ liệu CalTech
Kết quả nhận dạng trên bộ train, cả hai phương pháp rút đặc trưng PCA
và ICA đều đạt 100%
Trang 40Hình 3.3.2 – 1 :Biểu đồ kết quả thử nghiệm hai phương pháp rút trích đặc trưng PCA – ICA trên bộ dữ
liệu CalTech: thống kê trên bộ test