Tải bản đầy đủ (.doc) (160 trang)

đề xuất phương pháp truy tìm ảnh mặt người trên video

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.18 MB, 160 trang )

Lờ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/2007
Nhóm sinh viên thực hiện
Đỗ
Thanh Toàn – Đoàn Ngọc Khiêm
Trì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.
2
Mụ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
3
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
trên bộ dữ liệu trong nước: thống kê trên bộ test 54
4
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
Hình A.4.10.2 - 1:Minh họa kiến trúc 1 trong mô hình ICA 104
5
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
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
6
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
7
Danh 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
8 véctơ đặc trưng trong ICA với kiến trúc 2 34
8
Hì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
9
trê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
10
Hì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
11
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
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
12
Mở đầ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ận
củ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ặt
ngườ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ải
khá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ứng
thự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ế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 đa
lớp.
• Sử dụng phương pháp PCA 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 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ộ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ăng
phâ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ạng
khuô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ặt
xuấ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, tuy
nhiê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.
13
Có 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ởi
Adaboost, 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, tuy
nhiê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ương
pháp rút đặc trưng mới ICA. Sau đó, quá trình phân lớp sẽ được thực hiện bằng
phươ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ớp
nà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ương
phá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 đối
tượ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ột
CSDL ả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ực
cầ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: ảnh
mặt nguời các đối tượng cần truy tìm có xuất hiện trong đoạn video đã quay hay
khô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ện
khủ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 ba
lớp, mạng nơron RBF.
 Áp dụng phương pháp trích chọn đặc trưng mới ICA.
14
 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 ưu
nhấ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
15
1.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ức
phứ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ốc
gia/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 trong
hà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 trong
phạ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ân
viê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 đưa
cá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ão
củ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ín
dụ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ũng

rấ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ải
quyế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ực
hiệ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ạng
chí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.
16
- 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ông
nghệ, 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ặp
mặ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 đang
giao 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ền
xuấ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ảnh
bấ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ủa
hung 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ạng
gồ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ện

khô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ười
cầ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.
17
1.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ôn
mặ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.
18
+ Á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 đặc
trư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ận
dạ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ụng
phươ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ớp
khuô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áp
mạ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ại
khuô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ôn
mặ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ôn
mặ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 đồ
19
thị 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ẩn
nà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ào
phù 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 cho
mụ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ắt
bằ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ạo

bản sao không gian đặc trưng để biểu diễn và nhận dạng hướng di chuyển của
khuô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óa
thà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ỗi
quan 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ủa
HMM. Mỗi người được ước lượng bằng một mô hình của HMM.
 Guodong Guo, Stan Z.Li, Kap Luk Chan (17 January 2001), dùng phương pháp
20
SVM để 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 KHTN
TP.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 ảnh
bằng SVM và HMM.
 Lu Buon Vinh, Hoàng Phương Anh (Luận văn cử nhân tin học, ĐH KHTN
TP.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ảo
sá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ận
dạ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 đặc
trư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 Đại
Họ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ôn
mặ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, trong
bà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ất

nhiề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ạn
củ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ận
dạ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ài
toán thích hợp với mô hình đề xuất.
21
Cụ 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ết
hợ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ưng
cho 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ận
vă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].
22
Chươ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 bao
gồm cả background, để có thể nhận dạng được đối tượng trong ảnh trước hết phải giải
quyế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ặt
Adaboost.
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ưa
cao. 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ơron
truyề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ình
sau:
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 áp
dụ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 qua
Adaboost 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
23
vẫ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ược
lạ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ớp
trong 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ôn
mặ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
[5].
 Tập con các ảnh có chứa khuôn mặt: gồm có 2429 ảnh mặt người nhìn thẳng
(frontal face).


Hình 2.3.1 – 1 : Một số ảnh có mặt người trong tập mẫu huấn luyện
 Tập con các ảnh không chứa khuôn mặt: gồm 4548 ảnh không chứa mặt
24
ngườ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ặt
ngườ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
25

×