Tải bản đầy đủ (.pdf) (170 trang)

Dò tìm phát hiện mặt người bằng mạng neural nhân tạo và PCA (Thuần code)

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 (6.01 MB, 170 trang )

Vũ Nguyễn Anh Huy - CĐTH11C



LỜI CẢM ƠN
Trên thực tế, không có một sự thành công nào mà không có sự hỗ trợ, dù ít hay
nhiều, dù trực tiếp hay gián tiếp của người khác.
Trong suốt thời gian học tập tại trường Cao đẳng Kỹ thuật Cao Thắng, tác giả đã
nhận được rất nhiều sự quan tâm, giúp đỡ về của quý Thầy Cô, bạn bè. Với lòng biết
ơn sâu sắc nhất, tác giả xin gửi lời cảm ơn đến quý Thầy Cô ở khoa Công nghệ thông
tin, những người đã dùng hết tâm huyết để truyền đạt lại những kiến thức, kinh nghiệm
quý báu của mình cho sinh viên.
Đặc biệt, tác giả xin chân thành cảm ơn thầy Lữ Cao Tiến, người đã bỏ ra rất
nhiều thời gian, công sức và nhiệt huyết để giảng dạy cho tác giả nhiều điều, giúp đỡ
cho tác giả không chỉ về kiến thức mà còn cả về tinh thần để tác giả có thể hoàn thành
Đồ án tốt nghiệp này.
Ngoài ra, tác giả xin cảm ơn thầy Dương Hữu Phước. “Một chữ cũng là thầy,
nửa chữ cũng là thầy”, tuy chỉ gặp thầy ở tháng cuối cùng, nhưng thầy đã truyền đạt
cho tác giả nhiều kiến thức bổ ích, giúp tác giả bổ sung thêm những kiến thức còn thiếu
sót.
Cuối cùng, tác giả xin gửi lời cảm ơn đến gia đình và bạn bè, những người luôn
ở bên cạnh giúp đỡ cho em, đặc biệt là bạn Trương Tấn Khải, tuy không chung nhóm
nhưng bạn đã hỗ trợ cho tác giả rất nhiều trong việc chạy thực nghiệm và thu thập kết
quả.
Đồ án chỉ là bước đầu tìm hiểu một công trình nghiên cứu đã có từ lâu, vì vậy
không thể tránh khỏi những sai sót, lỗi lầm do sự thiếu hụt về kiến thức căn bản cũng
như nâng cao mà tác giả có. Đồ án cũng giúp tác giả bắt đầu hiểu thế nào là nghiên cứu
khoa học, tìm hiểu một vấn đề mới theo một khía cạnh khác, vì vậy tác giả rất mong
nhận được sự cảm thông của quý Thầy Cô, và những lời đóng góp, chia sẻ của quý
Thầy Cô sẽ là động lực lớn lao nhất để tác giả hoàn thành tốt đồ án này.
Một lần nữa tác giả xin chân thành cảm ơn!



Vũ Nguyễn Anh Huy - CĐTH11C



LỜI NÓI ĐẦU
Ngày nay, ngành Công nghệ thông tin đang phát triển rất nhanh, điều này đã
mang tới những ứng dụng thiết thực để phục vụ cho con người. Tuy nhiên, đi kèm với
nó vẫn còn lại những vấn đề mang đậm tính thách thức với trí tuệ của các nhà khoa
học, một trong những vấn đề đó là dò tìm phát hiện và nhận diện mặt người, một bài
toán mà cho đến nay vẫn đang là một vấn đề mở và được các nhà khoa học tiếp tục
nghiên cứu. Với nhu cầu sinh hoạt ngày càng cao của con người, đặc biệt trong vấn đề
an ninh, bảo mật thì bài toán này ngày càng khẳng định được vai trò của nó. Chính vì
lý do đó, đồ án này sẽ tiến hành tìm hiểu bài toán từ những bước đầu tiên, tức là dò tìm
và phát hiện khuôn mặt với những kỹ thuật kinh điển đã được sử dụng và đã có những
công trình nghiên cứu đi trước.
Hệ thống phát hiện mặt người trong đồ án này được xây dựng về cơ bản có
nguyên tắc hoạt động theo mô hình mạng neural kinh điển. Đó là mô hình mạng neural
perceptron đa lớp truyền thẳng, sử dụng thuật toán lan truyền nguợc và phương pháp
giảm gradient để học mạng, với bộ ảnh học chủ yếu là bộ khuôn mặt nhìn thẳng. Ngoài
ra, để tăng cường tốc độ dạy học cho mạng, đồ án còn sử dụng phương pháp phân tích
thành phần chính (Principal Component Analysis - PCA) để giảm số chiều dữ liệu của
ảnh học, giúp cho đầu vào của mạng giảm bớt rất nhiều neural, qua đó giúp thời gian
học của mạng giảm xuống đáng kể.

Vũ Nguyễn Anh Huy - CĐTH11C



NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
























TPHCM, ngày … tháng … năm …
GIÁO VIÊN PHẢN BIỆN
Vũ Nguyễn Anh Huy - CĐTH11C



NHẬN XÉT CỦA HỘI ĐỒNG




























Vũ Nguyễn Anh Huy - CĐTH11C




MỤC LỤC
GIỚI THIỆU CHUNG 1
1.1. Tổng quan về bài toán phát hiện mặt người 1
1.1.1. Giới thiệu chung 1
1.1.2. Một số hướng tiếp cận để giải quyết bài toán 2
1.2. Phân biệt bài toán phát hiện mặt người và nhận diện mặt người 3
1.3. Các ứng dụng của hệ thống dò tìm, phát hiện và nhận dạng mặt người 4
1.4. Một số công trình nghiên cứu và sự lựa chọn của đồ án 6
1.5. Các thách thức trong hệ thống dò tìm, phát hiện khuôn mặt 7
1.6. Một số vấn đề liên quan trong đồ án 8
MẠNG NEURAL NHÂN TẠO 9
2.1. Tổng quan về mạng neural 9
2.1.1. Giới thiệu về mạng neural sinh học 9
2.1.2. Giới thiệu về mạng neural nhân tạo 11
2.1.3. Lịch sử phát triển của mạng neural nhân tạo: 13
2.1.4. Khái niệm về Neural 14
2.1.5. Khái niệm về perceptron 16
2.2. Mạng Perceptron truyền thẳng 17
2.2.1. Mạng Perceptron 17
2.2.2. Mạng Perceptron truyền thẳng nhiều lớp 18
2.2.3. Các phương pháp học của mạng 20
Học có giám sát 21
Học không có giám sát 22
Học tăng cường 22
Phương pháp huấn luyện cho mạng và sự lựa chọn của đồ án 22
2.2.4. Thuật toán lan truyền ngược 24
2.2.5. Ví dụ về thuật toán lan truyền ngược 34
2.2.6. Một số vấn đề khi sử dụng mạng neural 36
Vũ Nguyễn Anh Huy - CĐTH11C




Vấn đề chuẩn hóa dữ liệu đầu vào 36
Vấn đề học chưa đủ và học quá khớp của mạng: 37
Một số giải pháp cho vấn đề học quá khớp 37
Lựa chọn kích thước mạng 38
2.3. Mạng neural truyền thẳng cải tiến 38
2.3.1. Bias 38
2.3.2. Momentum 41
MỘT SỐ THUẬT TOÁN XỬ LÝ ẢNH TRONG BÀI TOÁN PHÁT
HIỆN MẶT NGƯỜI 43
3.1. Tổng quan về xử lý ảnh số 43
3.1.1. Giới thiệu về xử lý ảnh số 43
3.1.2. Khái niệm điểm ảnh và biểu diễn ảnh trên máy tính 43
Điểm ảnh 43
Biểu diễn ảnh trên máy tính 44
3.2. Các thuật toán xử lý ảnh trong bài toán 45
3.2.1. Mô hình xử lý ảnh trong bài toán 45
3.2.2. Xám hóa ảnh 46
3.2.3. Cân bằng ánh sáng 48
Ý tưởng 48
Giới thiệu về hồi quy tuyến tính 48
Hồi quy tuyến tính đơn biến 51
Áp dụng hồi quy tuyến tính vào vấn đề 55
3.2.4. Cân bằng lược đồ xám 57
PHƯƠNG PHÁP PHÂN TÍCH THÀNH PHẦN CHÍNH 60
4.1. Một số kiến thức cần biết 60
4.1.1. Trị riêng, vector riêng của ma trận 60
4.1.2. Kì vọng và phương sai trong thống kê đa chiều 60

Kì vọng 61
Ma trận hiệp phương sai 61
Vũ Nguyễn Anh Huy - CĐTH11C



4.2. Động cơ của phương pháp phân tích thành phần chính 62
4.3. Cơ sở toán học 63
4.4. Tính toán eigenfaces (Các vector riêng) 65
4.4.1. Phân tích ma trận QR 69
Giới thiệu 69
Các phương pháp phân tích QR 70
Thuật toán HouseHolder 71
4.4.2. Thuật toán lặp QR tìm trị riêng và vector riêng 77
Thuật toán “Pure” QR 78
Thuật toán QR thực tế 78
4.5. Chuẩn hóa eigenfaces 79
4.6. Cắt giảm các eigenfaces 81
4.7. Biểu diễn lại ảnh học trên không gian mới 82
DÒ TÌM PHÁT HIỆN MẶT NGƯỜI 84
5.1. Giới thiệu về bài toán dò tìm phát hiện mặt người 84
5.1.1. Mô hình của bài toán 84
5.1.2. Bài toán phân lớp 85
5.2. Huấn luyện mạng neural 87
5.2.1. Chuẩn bị cơ sở dữ liệu 87
5.2.2. Xây dựng không gian khuôn mặt 89
5.2.3. Cấu hình cho mạng neural 90
5.2.4. Kết quả chạy thử nghiệm 90
Thời gian 91
Hiệu suất 92

Bảng tổng kết 103
Kết luận chung 133
5.3. Cài đặt thực nghiệm 134
5.3.1. Lựa chọn cấu hình mạng và chạy chương trình 134
5.3.2. Cải thiện tốc độ quét bằng phương pháp phân vùng màu da 136
Vũ Nguyễn Anh Huy - CĐTH11C



5.3.3. Một số heuristic sử dụng trong đồ án 138
Hiện tượng chồng chéo (Overlap) 138
Xử lý gián tiếp 139
5.3.4. Hướng dẫn sử dụng phần mềm 141
Giới thiệu chung 141
Dò tìm mặt người 145
Huấn luyện mạng neural 148
Xử lý ảnh 149
Phương pháp phân tích thành phần chính 151
Phân tích ma trận QR 152
5.4. Kết luận về đồ án 153
5.4.1. Ưu điểm 153
5.4.2. Khuyết điểm 154
5.4.3. Hướng phát triển 154

Vũ Nguyễn Anh Huy - CĐTH11C



DANH MỤC HÌNH VẼ
Hình 1.1. Nhận diện và phát hiện mặt người 3

Hình 2.1. Các loại tế bào thần kinh sinh học 10
Hình 2.2. Synapse 11
Hình 2.3. Mạng neural nhân tạo 13
Hình 2.4. Neural nhân tạo 15
Hình 2.5. Mạng perceptron (Single player) 17
Hình 2.6. Mạng perceptron nhiều lớp 19
Hình 2.7. Mạng neural dùng trong minh họa thuật toán lan truyền ngược 24
Hình 2.8. Các thành phần của neural nhân tạo 25
Hình 2.9. Minh họa lan truyền tiến 26
Hình 2.10. Minh họa lan truyền tiến 27
Hình 2.11. Minh họa lan truyền tiến 27
Hình 2.12. Tính giá trị lỗi ở neural đầu ra ở lớp đầu ra 30
Hình 2.13. Lan truyền lỗi ở neural lớp đầu ra đến các neural ở lớp ẩn 2 31
Hình 2.14. Lan truyền lỗi từ các neural lớp ẩn 2 đến các neural lớp ẩn 1 32
Hình 2.15. Cập nhật lại trọng số kết nối từ lớp đầu vào tới lớp ẩn 34
Hình 2.16. Cập nhật lại trọng số liên kết từ lớp ẩn 2 tới lớp đầu ra 34
Hình 2.17. Biểu đồ sự biến thiên khác biệt của hàm Sigmoid 39
Hình 2.18. Mạng neural 1 neural input, 1 neural output, 1 bias 40
Hình 2.19. Biểu đồ biến thiên của hàm Sigmoid khi có bias 40
Hình 2.20. Sự biến thiên của trọng số khi không có Momentum 42
Hình 2.21. Sự biến thiên của trọng số khi có Momentum 42
Hình 3.1. Quá trình xử lý ảnh 43
Hình 3.2. Minh họa về điểm ảnh 44
Hình 3.3. Ví dụ về không gian màu RGB 45
Hình 3.4. Các thuật toán xử lý ảnh trong đồ án 46
Hình 3.5. Ảnh bị tối bên phải 48
Vũ Nguyễn Anh Huy - CĐTH11C




Hình 3.6. Ảnh bị tối bên trái 48
Hình 3.7. Ảnh bị tối toàn diện 48
Hình 3.8. Không gian 2 chiều với 2 điểm 49
Hình 3.9. Không gian 2 chiều với 2 điểm 49
Hình 3.10. Không gian 2 chiều với nhiều điểm 49
Hình 3.11. Một số đường thẳng đi qua tất cả các điểm 50
Hình 3.12. Minh họa về đoạn sai số 51
Hình 3.13. Sơ đồ thống kê thị trường bất động sản 52
Hình 3.14. Các đường thẳng “trung bình” có thể đi qua các điểm 53
Hình 3.15. Sơ đồ về hồi quy tuyến tính 53
Hình 3.16. Thống kê về độ sáng của mỗi cột trên dòng 55
Hình 3.17. Hồi quy tuyến tính của dòng 56
Hình 3.18. Ví dụ về lược đồ xám 58
Hình 4.1. Minh họa về biến đổi chiều dữ liệu 62
Hình 4.2. Ý tưởng của PCA 63
Hình 4.3. Minh họa về PCA 65
Hình 4.4. Các mẫu ảnh trong cơ sở dữ liệu 65
Hình 4.5. Ảnh trung bình 66
Hình 4.6. Householder reflection 73
Hình 4.7. Householder 2 khả năng lựa chọn 74
Hình 4.8. Sắp xếp theo thứ tự giảm dần của các Eigenfaces 81
Hình 4.9. Biểu diễn lại khuôn mặt trong không gian mới 82
Hình 4.10. Minh họa “gần sát” việc biểu diễn khuôn mặt trên không gian mới 83
Hình 5.1. Mô hình dò tìm phát hiện mặt người bằng mạng neural của Rowley 84
Hình 5.2. Minh họa tập dữ liệu X cần phân lớp 85
Hình 5.3. Minh họa kết quả phân lớp 86
Hình 5.4. Mô hình bài toán phân lớp mặt người 86
Hình 5.5. Một số ảnh khuôn mặt 87
Hình 5.6. Canh biên cho ảnh 87
Vũ Nguyễn Anh Huy - CĐTH11C




Hình 5.7. Một số ảnh trong cơ sở dữ liệu ORL 88
Hình 5.8. Một số ảnh trong bộ dữ liệu testing 88
Hình 5.9. Mô hình dò tìm phát hiện mặt người bằng mạng neural của Rowley 89
Hình 5.10. Minh họa về “pyramid” của Rowley 134
Hình 5.11. Ảnh chứa các khuôn mặt nhỏ 135
Hình 5.12. Kích thước các cửa sổ sẽ được quét qua ảnh 135
Hình 5.13. Ảnh 1 trước khi phân vùng màu da 136
Hình 5.14. Ảnh 1 sau khi phân vùng màu da 137
Hình 5.15. Ảnh 2 trước khi phân vùng màu da 137
Hình 5.16. Ảnh 2 sau khi phân vùng màu da 138
Hình 5.17. Hiện tượng chồng chéo 138
Hình 5.18. Ảnh 3 trước khi sử dụng heuristic 139
Hình 5.19. Hình 3 sau khi sử dụng heuristic 139
Hình 5.20. Giao diện giới thiệu 141
Hình 5.21. Giao diện chính 142
Hình 5.22. Cách mở phần mềm con 142
Hình 5.23. Cách di chuyển giữa các giao diện phần mềm con 143
Hình 5.24. Các biểu tượng đại diện cho phần mềm con 143
Hình 5.25. Nút thoát chương trình 144
Hình 5.26. Cách chung để thoát phần mềm con 144
Hình 5.27. Giao diện phần mềm dò tìm phát hiện mặt người 145
Hình 5.28. Menu File 145
Hình 5.29. Giao diện thiết lập thông số quét 146
Hình 5.30. Kết quả sau khi phát hiện mặt người 147
Hình 5.31. Giao diện của phần mềm mạng neural nhân tạo 148
Hình 5.32. Giao diện phần mềm xử lý ảnh 149
Hình 5.33. Menu Process 150

Hình 5.34. Giao diện phần mềm PCA 151
Hình 5.35. Kết quả của phần mềm 152
Vũ Nguyễn Anh Huy - CĐTH11C



Hình 5.36. Giao diện phần mềm phân tích ma trận QR 152
Hình 5.37. Ma trận tạo ban đầu 153
Hình 5.38. Ma trận sau khi kết thúc 153

Vũ Nguyễn Anh Huy - CĐTH11C



DANH MỤC BẢNG
Bảng 1.1. Một số hướng tiếp cận 3
Bảng 2.1. Neural sinh học và neural nhân tạo 12
Bảng 2.2. Một số hàm kích hoạt 20
Bảng 3.1. Số liệu thống kê thị trường bất động sản 51
Bảng 4.1. So sánh 2 phương pháp Gram-Schmidt và Householder 71
Bảng 5.1. Thống kê hiệu suất trường hợp 1 lớp ẩn 109
Bảng 5.2. Thống kê hiệu suất trường hợp 2 lớp ẩn 132
Vũ Nguyễn Anh Huy - CĐTH11C

1

GIỚI THIỆU CHUNG
1.1. Tổng quan về bài toán phát hiện mặt người
1.1.1. Giới thiệu chung
Định nghĩa [1]: Phát hiện mặt người là một kỹ thuật máy tính để xác định các vị

trí và kích thước của các mặt người có trong các ảnh bất kỳ. Kỹ thuật này sẽ phát hiện
ra các mặt người có trong ảnh và bỏ qua các đối tượng khác như cây cối, tòa nhà, bàn
ghế,…
Như định nghĩa trên, ta thấy nhiệm vụ của bài toán phát hiện mặt người là đi tìm
các vùng có dạng giống với mặt người trong 1 ảnh cho trước. Với bài toán này ta có thể
hiểu đơn giản rằng, nếu ta có 1 bộ dữ liệu các mặt người, ta gọi là bộ dữ liệu mẫu, sau
đó ta so sánh các vùng với bộ dữ liệu mẫu để tìm sự tương quan giữa chúng. Ngoài ra,
ta cũng có thể chuẩn bị sẵn một bộ luật về mặt người, sau đó áp dụng nó vào một vùng
và xem vùng này có đáp ứng được một mức độ nào đó của bộ luật này hay không và
đưa ra kết luận.
Dĩ nhiên trên thực tế việc so sánh một vùng bất kỳ với các ảnh trong bộ dữ liệu
mặt người hoặc tìm ra một bộ luật về mặt người là không hề đơn giản. Dù đã có nhiều
phương pháp đã được xuất nhưng cho đến nay vẫn chưa có một phương pháp nào thực
sự trọn vẹn, mang lại hiệu quả ổn định và giải quyết hết các thách thức cũng như tình
huống trong vấn đề phát hiện mặt người. Một nguyên nhân cơ bản làm cho vấn đề trở
nên phức tạp là vì nếu ảnh bị nhiễu hoặc có vật cản phía trước khuôn mặt sẽ gây ra tình
trạng các đặc trưng như mắt, mũi, miệng,…bị che khuất, điều này có thể dẫn đến việc
so sánh vùng ảnh có khuôn mặt này với bộ dữ liệu mẫu không trùng khớp hay không
đáp ứng được bộ luật mặt người, dẫn đến kết luận sai và bỏ sót khuôn mặt trên ảnh, vì
vậy cho đến nay bài toán phát hiện mặt người vẫn đang là vấn đề mở và được nhà khoa
học tiếp tục nghiên cứu. Ngoài ra còn nhiều những nguyên nhân phức tạp khác, sẽ
được đề cập trong phần 1.5.
Vũ Nguyễn Anh Huy - CĐTH11C

2

1.1.2. Một số hướng tiếp cận để giải quyết bài toán
Về hướng tiếp cận thì có rất nhiều hướng tiếp cận trước đây đã thực hiện liên
quan đến vấn đề phát hiện mặt người. Theo Ming - Hsuan Yang [2], có thể phân loại
thành bốn hướng tiếp cận chính:

- Dựa vào tri thức (Knowledge - based)
- Dựa vào đặc trưng bất biến (Feature invariant)
- Dựa vào đối sánh mẫu (Template matching)
- Dựa vào diện mạo (Appearance - based)
Trong bảng tra cứu dưới đây, tác giả Ming - Hsuan Yang đã chia rõ các phương
pháp được đề xuất ứng với từng hướng tiếp cận:
HƯỚNG TIẾP CẬN
TÀI LIỆU TIÊU BIỂU
Dựa vào tri thức


Multiresolution rule–based method
Dựa vào đặc trưng bất biến

Đặc trưng khuôn mặt (Facial Features)
Grouping of edges
Kết cấu khuôn mặt (Texture)
Space Gray- Level Dependence matrix
(SGLD) of face pattern
Màu da (Skin color)
Mixture of Gaussian
Đa đặc trưng (Multiple Features)
Integration of skin color, size and shape
Dựa vào đối sánh mẫu

Xác định trước khuôn mặt mẫu
(Predefined face template)
Shape template
Các mẫu bị biến dạng (Deformable
template)

Active Shape Model (ASM)
Dựa vào diện mạo

Khuôn mặt riêng (Eigenface)
Eigenvector decomposition and
clustering
Vũ Nguyễn Anh Huy - CĐTH11C

3

Dựa trên phân phối (Distribution -
based)
Gaussian distribution and multilayer
perceptron
Neural Network
Ensem of neural networks and
arbitration schemes
Support Vector Machine (SVM)
SVM with polynomial kernel
Phân lớp bayes (Naïve Bayes
Classifier)
Joint statistics of local appearance and
position
Mô hình Markov ẩn (Hidden Markov
Model)
Higher order statistics with HMM
(Hidden Markov Model)
Information - Theoretical Approach
Kullback relative information
Bảng 1.1. Một số hướng tiếp cận

1.2. Phân biệt bài toán phát hiện mặt người và nhận diện mặt người
Phát hiện mặt người (Face detection) và nhận diện mặt người (Face recognition)
là 2 bài toán khác nhau nhưng chúng có mối liên hệ chặt chẽ với nhau.
Trong một hệ thống, việc phát hiện mặt người là việc đầu tiên cần phải làm để
xác minh xem trong ảnh, video hay camera có mặt người hay không, nếu có thì số
lượng là bao nhiêu, vị trí ở đâu? Sau đó những vùng đã được xác định là khuôn mặt sẽ
được tiến hành nhận diện xem khuôn mặt đó là ai? Người này là người lạ (Không có
thông tin của người này) hay người quen (Đã có thông tin trong cơ sở dữ liệu).

Hình 1.1. Nhận diện và phát hiện mặt người
Vũ Nguyễn Anh Huy - CĐTH11C

4

Có thể thấy phát hiện khuôn mặt và nhận diện khuôn mặt là hai vấn đề cơ bản và
liên kết với nhau. Thông thường, phát hiện khuôn mặt sẽ là giai đoạn đầu của hệ thống
nhận diện khuôn mặt. Sự khác nhau cơ bản giữa phát hiện khuôn mặt với nhận diện
khuôn mặt đó là: Nếu như nhận diện khuôn mặt là phân biệt những khuôn mặt khác
nhau trong tập danh mục các khuôn mặt, còn phát hiện khuôn mặt đó là phân lớp đuợc
đâu là danh mục các khuôn mặt và đâu là danh mục các ảnh không phải khuôn mặt.
1.3. Các ứng dụng của hệ thống dò tìm, phát hiện và nhận dạng mặt người
Từ những năm 1990 trở lại đây, chúng ta đã chứng kiến sự phát triển rất mạnh
của các ngành công nghiệp, đặc biệc là ngành công nghiệp chế tạo điện tử. Tuy nhiên
hiện nay các thiết bị điện tử cao cấp như máy ảnh số, camera kĩ thuật số, và nhiều sản
phẩm khác dường như chỉ phù hợp cho các phòng thí nghiệm, các công ty sản xuất
kinh doanh, thương mại, tài chính, ngân hàng, Hiện nay chi phí cho các thiết bị này
đang dần giảm xuống, đó là điều kiện thuận lợi để mở ra nhiều hướng nghiên cứu về
thị giác máy tính, đồng thời sẽ có nhiều ứng dụng trong giao tiếp giữa người với máy
tính mà trong đó hệ thống dò tìm, phát hiện và nhận diện mặt người đóng một vai trò
không nhỏ, dưới đây là một số ứng dụng [3]:

 Các ứng dụng chuyên biệt cho ngành hàng không
o Đảm bảo sự truy cập và tính hợp lệ trong công việc cho từng nhân
viên: Mỗi nhân viên làm việc tại cảng hàng không cũng như nhân
viên phi hành đoàn được cung cấp quyền truy cập để đến vị trí làm
việc. Làm thế nào để xác minh nhân viên này vào đúng khu vực làm
việc hay không?
o Làm sao để đảm bảo trong số những hành khách không có sự trà
trộn của một số kẻ khủng bố/tội phạm quốc gia/quốc tế?
 Bảo vệ trẻ tác giả ở nhà trẻ từ bọn bắt cóc
o Quy định rằng chỉ có những nhân viên của nhà trẻ mới được phép
dẫn trẻ tác giả ra ngoài và trao tận tay cho bố mẹ đón về. Nhưng
trong xã hội cũng có một số trường hợp giả danh nhân viên để bắt
Vũ Nguyễn Anh Huy - CĐTH11C

5

cóc trẻ tác giả với mục đích xấu. Làm thế nào để ngăn chặn hành vi
xấu này?
 Nhận diện mặt người được sử dụng với thẻ truy cập
o Ở các nước phát triển, hầu như mọi người dân đều dùng thẻ tín
dụng để mua bán, rút tiền, trao đổi hàng hóa. Điều này rất nguy
hiểm khi thẻ truy cập này bị người khác lấy được và biết được mật
khẩu của sở hữu thẻ này? Làm cách nào có thể bảo đảm an toàn
nhất?
 Có thể dùng song song 2 mật khẩu: có nghĩa là sử dụng
khuôn mặt như là một mật khẩu thứ hai để truy cập vào hệ
thống cùng với thông tin từ card truy cập để rút được tiền:
 Đưa thẻ vào hệ thống.
 Nhập mật khẩu số.
 Nếu đúng thì đưa khuôn mặt vào để nhận diện.

 Xác minh người này có phải là chủ sở hữu của thẻ hay
không?
 Nếu khớp thì hệ thống cho rút tiền.
 Nếu không thì hệ thống không cho rút tiền.
 Kinh doanh thương mại điện tử
o Với sự tiến bộ của khoa học công nghệ, nhiều hình thức kinh doanh
thương mại xuất hiện, đặc biệt là thương mại điện tử. Việc buôn
bán và trao đổi giữa hai bên đối tác không cần diễn ra trực tiếp (Mặt
đối mặt), mà chỉ cần thông qua mạng với hình ảnh của người đại
diện. Tuy nhiên bên cạnh đó sẽ có nhiều mặt tiêu cực trên hình thức
kinh doanh này, đó là các vụ lừa đảo, giả mạo, giả danh… Làm sao
để biết được đối tác của mình là thật hay giả?
 Ngăn chặn việc xuất/nhập cảnh bất hợp pháp
Vũ Nguyễn Anh Huy - CĐTH11C

6

o Một số người không được xuất/nhập cảnh vào một quốc gia nào đó,
song 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?
 Hệ thống giám sát công nhân và tự chấm công
o Hiện nay trong các khu công nghiệp hay những công ty sản xuất lớn
có hàng ngàn công nhân vào ra mỗi ngày nên việc giám sát kẻ gian
vào công ty cũng như công việc chấm công rất phức tạp. Vậy làm
thế nào để nhận ra từng nhân viên của công ty?
Tóm lại, nhu cầu sử dụng các hệ thống xử lý dùng trí tuệ nhân tạo ngày càng phát
triển, mà trong đó hệ thống dò tìm, phát hiện và nhận diện khuôn mặt là một nhu cầu
thiết yếu hiện nay và trong tương lai. Đặc biệt vụ khủng bố ngày 11/9/2001 tại Mỹ đã
đánh dấu một bước ngoặt mới trong xu hướng nghiên cứu và giá trị thương mại của các
hệ thống đảm bảo an ninh cũng như sự an toàn cho con người.

1.4. Một số công trình nghiên cứu và sự lựa chọn của đồ án
Cho đến nay đã có rất nhiều những công trình nghiên cứu khoa học về bài toán dò
tìm, phát hiện và nhận diện mặt người được công bố, các công trình nghiên cứu hầu
như đều dựa vào các hướng tiếp cận đã được đề xuất trong phần 1.1.2, dưới đây là một
số công trình nghiên cứu [3]:
 Wenyi Zhao, Arvindh Krishnaswamy, Rama Chellappa, Danie L.Swets,
John Weng (1998) sử dụng phương pháp phân tích thành phần chính
(Principal Component Analysis) kết hợp phân tích độc lập tuyến tính
(Linear Discriminant Analysis).
 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.
 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.
 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ũ Nguyễn Anh Huy - CĐTH11C

7

 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ự.
 Rowley, Baluja, and Kanade (1998) sử dụng mạng neural nhân tạo để phân
lớp khuôn mặt và không phải khuôn mặt.
 Guodong Guo, Stan Z.Li, Kap Luk Chan (2001) dùng phương pháp SVM để
nhận diện khuôn mặt.
Ngoài ra cũng còn rất nhiều những công trình nghiên cứu khác. Trong đồ án này,
tác giả sử dụng phương pháp phân tích thành phần chính (PCA) kết hợp với mạng
neural nhân tạo (Artificial Neural Network) để giải quyết bài toán. Mạng neural nhân

tạo có thể miêu tả và phát hiện khuôn mặt trong nhiều tình huống khác nhau kết hợp
cùng phương pháp phân tích thành phần chính với “Eigenfaces” mang hi vọng sẽ đạt
được hiệu năng tốt hơn so với các phương pháp độc lập khác.
1.5. Các thách thức trong hệ thống dò tìm, phát hiện khuôn mặt
Việc dò tìm phát hiện đối tượng là bài toán xác định cửa sổ con của ảnh có thuộc
về tập các ảnh của đối tượng quan tâm hay không. Do đó, đường biên của tập ảnh đối
tượng phức tạp sẽ làm tăng độ khó của bài toán và có thể tăng số lỗi nhận dạng, giả sử
ngoài việc phát hiện các khuôn mặt thẳng ta muốn phát hiện các khuôn mặt nghiêng
chẳng hạn. Như vậy, việc thêm các khuôn mặt nghiêng vào tập các ảnh ta muốn phát
hiện làm tăng độ biến thiên của tập, và có thể làm tăng độ phức tạp của đường biên
quyết định của tập ảnh. Theo như Ming–Hsuan Yang [2], những vấn đề dưới đây là
thách thức của bài toán:
 Hướng nhìn: Kết quả thu nhận được từ các ảnh là khác nhau, do vị trí đặt
của Camera hoặc máy ảnh (Đối diện, nghiêng, lộn ngược, hoặc ảnh hồ sơ).
 Sự thay đổi của các đặc trưng khuôn mặt: Sự có mặt của râu, ria mép, và
kính có thể làm thay đổi hình dạng, màu sắc và kích thước của khuôn mặt.
 Biểu hiện của khuôn mặt: Cảm xúc cười, khóc, chậm môi, nhe răng, nhắm
mắt.
Vũ Nguyễn Anh Huy - CĐTH11C

8

 Định hướng khuôn mặt: Hình ảnh thẳng khác nhau cho góc quay khác
nhau về trục quang học của máy ảnh hay camera.
 Điều kiện môi trường: Các yếu tố như ánh sáng (Quang phổ, phân phối
nguồn sáng và cường độ sáng) và đặc điểm của thiết bị thu nhận ảnh sẽ ảnh
hưởng đến sự biểu thị thông tin của khuôn mặt.
1.6. Một số vấn đề liên quan trong đồ án
Trong vấn đề dò tìm, phát hiện mặt người có một số vấn đề sẽ gây ra nhầm lẫn
nếu không được tìm hiểu một cách rõ ràng, những vấn đề đó bao gồm [4]:

 Định vị khuôn mặt hay xác định vị trí khuôn mặt: Đây là vấn đề rất
gần với vấn đề phát hiện mặt người. Nếu như phát hiện mặt người trong
ảnh là phải trả lời các câu hỏi có tồn tại khuôn mặt trong ảnh hay không ?
Nếu tồn tại thì tồn tại bao nhiêu khuôn mặt? Vị trí của khuôn mặt ở đâu ?
Thì vấn đề định vị mặt người chỉ trả lời cho câu hỏi vị trí mặt người ở
đâu trong một ảnh đã biết trước là có một mặt người. Như vậy có thể
thấy, định vị khuôn mặt là một phần công việc của phát hiện mặt người.
 Phát hiện các đặc trưng của khuôn mặt: Đây là vấn đề cũng rất gần với
vấn đề định vị khuôn mặt. Nó cũng giả thiết rằng chỉ có một khuôn mặt
trong ảnh và việc phát hiện đặc trưng khuôn mặt là tìm ra vị trí của các
đặc trưng như đôi mắt, mũi, miệng, môi, tai…
 Bám sát khuôn mặt: Mục đích của vấn đề này là ước lượng liên tục sự
thay đổi về vị trí và huớng của khuôn mặt trong một chuỗi ảnh thời gian
thực.
 Nhận diện trạng thái khuôn mặt: Mục tiêu của vấn đề này là nhận diện
trạng thái của khuôn mặt con người (Hạnh phúc, tức giận, đau khổ…).
Đây là vấn đề rất khó và thú vị vì trạng thái khuôn mặt của từng người có
thể là rất khác nhau trong cùng một trạng thái tâm lý. Vấn đề này trong
hệ thống dò tìm phát hiện mặt người cũng cần được lưu ý, tuy nhiên nó là
một gánh nặng thật sự trong hệ thống nhận diện mặt người.

Vũ Nguyễn Anh Huy - CĐTH11C

9

MẠNG NEURAL NHÂN TẠO
2.1. Tổng quan về mạng neural
2.1.1. Giới thiệu về mạng neural sinh học
Hệ thống thần kinh (Neural network) là một mạng lưới các tế bào chuyên biệt cho
việc tiếp nhận, hội nhập và truyền tải thông tin. Bao gồm não, tủy sống (Hệ thống thần

kinh trung ương) và thần kinh cảm giác (Sensory neural) hay thần kinh cơ (Motor
neural) vào ra hệ thống thần kinh trung ương hoặc hoàn toàn bên ngoài thần kinh trung
ương (Hệ thần kinh ngoại vi). Đơn vị cơ bản của hệ thần kinh là các tế bào thần kinh
(Neural) [5].
Qua quá trình nghiên cứu về bộ não con người, người ta thấy rằng: bộ não con
người bao gồm khoảng 10
11
neural tham gia vào khoảng 10
15
kết nối trên các đường
truyền. Các neural có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra
chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng tiếp
nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn neural, các con đường
này tạo nên hệ thống giao tiếp của bộ não.
Có 3 loại neural (Tế bào thần kinh):
- Sensory Neural (Thần kinh cảm giác).
- Motor Neural (Thần kinh cơ).
- Interneural (Thần kinh liên kết).

Vũ Nguyễn Anh Huy - CĐTH11C

10


Hình 2.1. Các loại tế bào thần kinh sinh học
Tế bào thần kinh sinh học đều có chung các phần cơ bản:
- Nhân tế bào (Nucleus).
- Các tua gai (Dendrites).
- Nhân tế bào (Nucleus).
- Sợi trục (Axon).

Ngoài ra, giữa các nhánh vào và phần thân tế bào, còn có một yếu tố quan trọng
khác, đó là khớp thần kinh (Synapse):
Vũ Nguyễn Anh Huy - CĐTH11C

11


Hình 2.2. Synapse
Tế bào thần kinh tự nhiên nhận được tín hiệu thông qua các khớp thần kinh nằm
trên tua gai hoặc màng của tế bào thần kinh. Khi các tín hiệu nhận được đủ mạnh
(Vượt qua một ngưỡng nhất định), các tế bào thần kinh được kích hoạt và phát ra một
tín hiệu đến sợi trục. Tín hiệu này có thể được gửi đến khớp thần kinh khác, và có thể
kích hoạt tế bào thần kinh khác [5].
Như vậy, khớp thần kinh có chức năng tiếp nhận tín hiệu từ các tua gai và gửi đến
nhân tế bào. Khớp thần kinh chính là yếu tố quyết định sự truyền tải tín hiệu nhanh hay
chậm, tức là sẽ quyết định một người nào đó suy nghĩ nhanh hay chậm nhờ vào tốc độ
và khả năng truyền tải tín hiệu của nó.
2.1.2. Giới thiệu về mạng neural nhân tạo
Mạng neural nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng neural,
là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ neural
sinh học, lấy cảm hứng từ các tế bào thần kinh tự nhiên [6]. Nó được tạo lên từ một số
lượng lớn các phần tử (Gọi là nút hay neural) kết nối với nhau thông qua các liên kết
Vũ Nguyễn Anh Huy - CĐTH11C

12

(Gọi là trọng số liên kết) làm việc như một thể thống nhất để giải quyết một vấn đề cụ
thể nào đó.
Một mạng neural nhân tạo được cấu hình cho một ứng dụng cụ thể (Nhận dạng
mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập các mẫu huấn luyện. Về

bản chất, việc học của mạng chính là quá trình hiệu chỉnh trọng số liên kết giữa các
neural.
Neural sinh học
Neural nhân tạo


Nhân tế bào
Nút (Node)
Tua gai
Đầu vào (Input)
Khớp thần kinh
Trọng số liên kết (Weight)
Sợi trục
Đầu ra của mỗi neural (Output)
Bảng 2.1. Neural sinh học và neural nhân tạo
Thông thường, một mạng neural bao gồm một hoặc nhiều nhóm các neural được
kết nối vật lý với nhau hoặc có liên quan với nhau về chức năng. Một neural đơn có thể
được nối với nhiều neural khác và tổng số neural và kết nối trong một mạng có thể là
một giá trị cực kỳ lớn. Các kết nối thường nối từ các sợi trục tới các tế bào tua gai thần
kinh, tuy có thể có các vi mạch và các kết nối khác [7].

×