TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
---o0o---
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
HỆ THỐNG NHẬN DẠNG KHUÔN MẶT THỜI
GIAN THỰC VỚI XỬ LÝ SONG SONG TRONG
MÔI TRƯỜNG CỤM MÁY TÍNH
PHÂN HỆ 01:
“BIỂU DIỄN DỮ LIỆU TRONGMÁY TÍNH CỤC BỘ VÀ TRIỂN
KHAI ỨNG DỤNG NHẬN DẠNG KHUÔN MẶT THỜI GIAN THỰC
TRÊN HỆ THỐNG TÍNH TOÁN SONG SONG PHÂN CỤM”
Sinh viên thực hiện:
Huỳnh Thiên Dương
MSSV: 1071512
Giáo viên hướng dẫn:
Th.s: Phan Thượng Cang
MSCB: 1230
TRƯỜNGCần
ĐẠI
Thơ,HỌC
2011 CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
---o0o---
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
HỆ THỐNG NHẬN DẠNG KHUÔN MẶT THỜI
GIAN THỰC VỚI XỬ LÝ SONG SONG TRONG
MÔI TRƯỜNG CỤM MÁY TÍNH
PHÂN HỆ 01:
“BIỂU DIỄN DỮ LIỆU TRONGMÁY TÍNH CỤC BỘ VÀ TRIỂN
KHAI ỨNG DỤNG NHẬN DẠNG KHUÔN MẶT THỜI GIAN THỰC
TRÊN HỆ THỐNG TÍNH TOÁN SONG SONG PHÂN CỤM”
Sinh viên thực hiện:
Huỳnh Thiên Dương
MSSV: 1071512
Cán bộ hướng dẫn:
Th.s: Phan thượng Cang
MSCB: 1230
Cán bộ phản biện:
Ts. Lê Quyết Thắng
Ts. Ngô Bá Hùng
Luận văn được bảo vệ tại: Hội đồng bảo vệ luận văn tốt nghiệp Bộ
Môn Mạng Máy Tính và Truyền Thông, Khoa Công nghệ thông tin và
Truyền Thông, Trường Đại học Cần Thơ vào ngày 10 tháng 5 năm
2010.
Có thể tìm hiểu luận văn tại:
Thư viện Khoa Công nghệ thông tin và Truyền thông, Trường Đại học Cần
Thơ.
Website: .
DANH MỤC
Một số thuật ngữ.
Các chữ viết tắt.
Các hình ảnh
CÁC THUẬT NGỮ
Eigenface: khuôn mặt riêng
AdaBoost: giải thuật phân lớp dữ liệu
Eigenvector: vector đặc trưng
Valuevector: giá trị vector
Send: thủ tục gửi dữ liệu
Receive: thủ tục nhận dữ liệu
Blocking: khoản thời gian chờ
Non-blocking: không cần chờ
Cluster: cụm máy tính
Face testing : khuôn mặt nhận dạng
Training set: tập ảnh học
Tracking: tách khuôn mặt
Fitting: so khớp mẫu.
Learning: Học ảnh
CÁC TỪ VIẾT TẮT
SVM: Support Vector Machine.
LDA: Linear Discriminant Analysis
HMM: Hidden Markov Model
PCA: Principal Component Analysis
SVM: Support Vector Machines
KNN: K-Nearest Neighbor
AAM: Active Appearance Model
SISD: Single Instruction Stream, a Single Data Stream
SIMD: Single Instruction Stream, Multiple Data Stream
MISD: Multiple Instruction Stream, a Single Data Stream
MIMD: Multiple Instruction Stream, Multiple Data Stream
SPMD: Single Program Multiple Data
MPI: Message Passing Interface
NND: Nearest Neighbor Distance
DANH MỤC HÌNH ẢNH
CÁC TỪ VIẾT TẮT......................................................................................................5
..................................................................................................................................... 20
Ts. Ngô Bá Hùng........................................................................................................21
Tóm tắt........................................................................................................................21
................................................................................................................................ 21
Trong những năm gần đây, công nghệ thông tin ngày càng phát triển, người ta chú ý và
quan tâm nhiều hơn trong lĩnh vực công nghệ tri thức và trí tuệ nhân tạo. Trong đó, các
công trình nghiên cứu và ứng dụng về nhận dạng khuôn mặt người luôn được ưu tiên
phát triển và đánh giá cao. Tuy nhiên, việc ứng dụng trong thực tế còn nhiều hạn chế
bởi tính hiệu quả và tốc độ của nó. Hiện nay, người ta đã sử dụng nhiều phương pháp
để nhận dạng mặt người như : SVM, LDA , HMM, PCA,….Mỗi phương pháp điều có
ưu và nhược điểm riêng. Vấn đề đặt ra là làm sao lựa chọn một phương pháp tối ưu
nhất cho từng công việc. Phương pháp PCA được lựa chọn cho việc phát triển ứng
dụng “Nhận dạng khuôn mặt với thời gian thực” bởi hệ thống đòi hỏi tốc độ nhận dạng
phải rất nhanh. Tuy nhiên, PCA chưa thực sự chính xác cho nên chúng tôi đã áp dụng
phương pháp PCA cải tiến để làm tăng độ chính xác. Song, khi triển khai ứng dụng
trên thực tế trên máy tính cục bộ thì tốc độ nhận dạng chưa nhanh bởi chiếm nhiều tài
nguyên và khả năng xử lý. Vì thế, chúng em đã phát triển ứng dụng nhận dạng khuôn
mặt theo hướng song song trên môi cụm máy tính để công việc được thực hiện nhanh
chóng hơn và hiệu quả hơn. Đề tài được chúng em thực hiện với các công việc như
sau:............................................................................................................................... 21
Thu thập và biểu diễn dữ liệu khuôn mặt trong máy tính.............................................21
Xây dựng hệ thống nhận dạng khuôn mặt thời gian thực.............................................21
Tăng tốc độ xử lý của hệ thống nhận dạng khuôn mặt với tính toán song song...........21
Triển khai ứng dụng nhận dạng trên hệ thống tính toán song song phân cụm..............21
Abtract......................................................................................................................... 22
................................................................................................................................ 22
CHƯƠNG I:................................................................................................................24
TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG KHUÔN MẶT..................................24
1. Mô tả bài toán..........................................................................................................24
Hình 1-1: công nghệ nhận dạng mống mắt..........................................................25
Hình 1-2: Các giải pháp bảo mật.........................................................................26
Hình 1-3: Các ứng dụng mở rộng cho hệ thống nhận dạng.................................28
Hình 1-4: Các khó khăn của việc nhận dạng mặt người:.....................................29
2. Lịch sử giải quyết vấn đề....................................................................................29
3.1 Mục tiêu cần đạt được.......................................................................................30
5. Hướng tiếp cận và hướng giải quyết........................................................................32
5.1. Hướng tiếp cận......................................................................................................32
5.2. Cách giải quyết.....................................................................................................33
Chương II....................................................................................................................35
CƠ SỞ LÝ THUYẾT..................................................................................................36
1. Một số khái niệm liên quan đến nhận dạng khuôn mặt............................................36
1.1. Hệ thống sinh trắc học..........................................................................................36
Hình 2-1: Các công nghệ sinh trắc học...............................................................36
Hình 2-2: Hệ thống nhận dạng và xác minh khuôn mặt......................................37
3.1. Mô tả giải thuật............................................................................................41
3.2. Các định nghĩa liên quan.......................................................................................41
3.2.1. Hình ảnh tích hợp( Integral Image)....................................................................42
Hình 2-3 : Hình ảnh tích hợp...............................................................................42
3.2.2. Đặc trưng Haar-like...........................................................................................42
Hình 2-4: Diện tích của hình chữ nhật R được tính bằng L4-L2-L3+L1.............42
Hình 2-5 : Các loại đặc trưng mở rộng của Haar-like cơ sở................................43
3.2.3. Phân lớp đặc trưng (Haar Feature Classifier).....................................................43
Hình 2-6 : Các khu vực màu đen tương ứng với đặc trưng haar-like..................43
3.2.4. Phân loại (Cascade)............................................................................................43
Hình 2-7: Mô hình phân tần kết hợp các bộ phân loại yếu để xác định khôn mặt .
............................................................................................................................. 44
3.3. Phương pháp Adaboost.........................................................................................44
3.3.1. Giới thiệu...........................................................................................................44
3.3.2. Thuật toán Adaboost..........................................................................................45
Hình 2-8: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh......................46
3.3.3. Dò tìm khuôn mặt..............................................................................................46
4.1. Cơ sở lý thuyết......................................................................................................47
4.2. Sự diển giải bằng hình học....................................................................................48
Hình 2-11 : Hình vẽ mô tả hướng của các vector riêng.......................................49
4.3. Kỹ thuật rút trích đặc trưng của PCA....................................................................49
Hình 2-12 : Cấu trúc của eigenvector..................................................................50
5.1. Tìm hiễu Eigenfaces.....................................................................................50
Eigenvector của một ma trận vuông là vector khác không hay còn được gọi là các
vector đặc trưng. Nếu A là một ma trận vuông , V là một vector khác không. V là
eigenvector của A khi có một tích vô hướng :..............................................................50
Hình 2-134: Hình ảnh khuôn mặt và sự kết hợp các Eigenface...........................51
5.2. Các bước tạo ra Eigenfaces...................................................................................51
7.1. Phương pháp PCA cải tiến (PCA cục bộ)..............................................................53
7.1.1. Trong quá trình rút trích đặc trưng:....................................................................53
7.1.2. Trong quá trình nhận dạng.................................................................................54
7.2. So sánh PCA truyền thống và PCA cải tiến...........................................................54
Hình 2-14: Kiến trúc SISD..................................................................................55
Hình 2-15: Kiến trúc SIMD................................................................................56
Hình 2-16: Kiến trúc MISD................................................................................57
Hình 2-17: Kiến trúc MIMD...............................................................................58
8.3. Một số mô hình lập trình song song thông dụng...................................................58
8.3.1. Mô hình chia sẻ không gian bộ nhớ...................................................................58
Trong lập trình song song, những tương tác giữa các tác vụ song song có thể ở theo
dạng đồng bộ giữa các tiến trình đồng thời hay là sự giao tiếp giữa các kết quả trung
gian. Trong kiến trúc chia sẽ không gian bộ nhớ, giao tiếp giữa các tiến trình được chỉ
ra là tất cả các bộ xử lý đều có quyền truy cập vào các bộ nhớ chia sẽ. Do đó, mô hình
lập trình cho các máy tính chia sẽ không gian địa chỉ tập trung chủ yếu vào các cách
thức để thực thi đồng thời, đồng bộ hóa và những cách để làm giảm sự quá tải do
tương tác......................................................................................................................58
Hình 2-18: Mô hình chia sẽ không gian bộ nhớ..................................................59
8.3.2. Mô hình truyền thông điệp.................................................................................59
Hình 2-19: Mô hình truyền thông điệp................................................................59
Cấu trúc của những chương trình truyền thông điệp....................................................59
8.4. Cách thức xây dựng một chương trình song song.................................................60
Hình 2-20: Công nghệ Cluster............................................................................61
9.2. Định nghĩa Cluster................................................................................................61
9.3. Các ưu điểm của Cluster.......................................................................................62
9.4. Các thành phần của Cluster...................................................................................62
Chương III...................................................................................................................67
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU...............................................................67
1. Giới thiệu về bài toán...............................................................................................67
Hình 3-1: Hệ thống nhận dạng và xác minh khuôn mặt......................................67
Hình 3-3. Lưu đồ phân loại.................................................................................70
3. Qui trình xây dựng tập dữ liệu huấn luyện...............................................................71
3.1. Mô hình tổng quát hệ thống..................................................................................71
Hình 3-4: Mô hình nhận dạng khuôn mặt thời gian thực.....................................71
3.2. Chi tiết qui trình rút trích đặc trưng dữ liệu khuôn mặt bằng PCA.......................71
Hình 3-5: Rút trích đặc trưng dữ liệu khuôn mặt bằng PCA...............................71
4. Thu thập dữ liệu ảnh khuôn mặt..............................................................................72
Hình 3-6: Hình ảnh được thu thập.......................................................................73
Hình 3-7: Kích thước ảnh chuẩn hóa cho huấn luyện.........................................74
5. Biểu diễn dữ liệu khuôn mặt trong máy tính cục bộ................................................74
Hình 3-8: Biểu diển các Eigenvecto khuôn mặt lên máy tính.............................74
6. Lập trình rút trích các đặc trưng khuôn mặt và lưu trữ.............................................74
6.1. Xác định vị trí khuôn mặt từ ảnh nguồn đầu vào..................................................74
Hình 3-9: Mô hình detection face với Cascade Boosting....................................75
6.2. Rút trích đặc trưng khuôn mặt và lưu trữ..............................................................75
Hình 3-10: Tập ảnh học gồm 6 ảnh.....................................................................77
Hình 3-11: Data.xml lưu trữ những khuôn mặt vừa được huấn luyện.................77
6.4. Giới thiệu và chương trình....................................................................................78
6.4.1. OpenCV (chi tiết được đề cập trong phân hệ PH02 của bạn Võ Đông Nhất).....78
6.4.2. Chương trình......................................................................................................79
Hình 3-12: Code minh họa phát hiện khuôn mặt.................................................79
Giao diện của chương trình phát hiện khuôn mặt:...............................................80
Hình 3-13: Giao diện chương trình phát hiện khuôn mặt....................................80
Hình 3-14: Code minh họa huấn luyện khuôn mặt..............................................81
7. Nghiên cứu nguyên lý lập trình song song (chi tiết được đề cập trong phân hệ PH03
của bạn Võ Văn Vủ)....................................................................................................82
7.1. Định nghĩa lập trình song song.............................................................................82
7.2. Tại sao phải dùng lập trình song song...................................................................82
8. Nghiên cứu và xây dựng hệ thống tính toán song song phân cụm (Cluster)............84
8.1. Các cấu trúc thường gặp của Cluster.....................................................................84
Hình 3-15: Hệ thống Cluster có hai ứng dụng hoạt động song song trên mỗi node
............................................................................................................................. 84
Hình 3-17: Hai node active được dự phòng bởi node Passive.............................85
8.2. Từng bước xây dựng hệ thống xử lý song song phân cụm (Cluster).....................85
8.2.1. Mô hình Cluster được triển khai........................................................................85
Hình 3-18: Mô hình Cluster được triển khai.......................................................86
8.3. Cài đặt chương trình hệ thống ở các cluster node, trình tự thực thi.......................88
9. Triển khai bại toán nhận dạng thời gian thực trên hệ thống tính toán song song cụm
máy tính (Cluster) và đánh giá hiệu suất hệ thống.......................................................94
9.1. Triển khai bài toán nhận dạng thời gian thực trên hệ thống tính toán song song trên
cụm máy tính cụm máy tính(Cluster):.........................................................................94
Hình 3-19 : Mô phỏng hệ thốngmáy tính trước khi chạy ứng dụng nhận dạng...95
Hình 3-20 : Hệ thống phát hiện khuôn mặt.........................................................95
Hình 3-21 : Mô phỏng kết quả nhận dạng của ứng dụng được song song hóa....96
Hình 3-22 : Mô phỏng máy tính khi chạy ứng dụng nhận dạng..........................96
hình 3-23 : Mô phỏng kết quả và thời gian nhận dạng........................................97
9.2. Đánh giá hiệu suất của hệ thống khi triển khai ứng dụng nhận dạng thời gian thực
trên hệ thống tính toán song song phân cụm................................................................97
10. Xây dựng hệ thống nhận dạng khuôn mặt thời gian thực(Tham khảo phân hệ PH02
của Võ Đông Nhất)......................................................................................................97
11. Tăng tốc độ xử lý hệ thống với tính toán song song (Tham khảo phân hệ PH03 của
Võ Văn Vủ)..................................................................................................................97
TÀI LIỆU THAM KHẢO.........................................................................................100
MỤCLỤC
CÁC TỪ VIẾT TẮT......................................................................................................5
..................................................................................................................................... 20
Ts. Ngô Bá Hùng........................................................................................................21
Tóm tắt........................................................................................................................21
................................................................................................................................ 21
Trong những năm gần đây, công nghệ thông tin ngày càng phát triển, người ta chú ý và
quan tâm nhiều hơn trong lĩnh vực công nghệ tri thức và trí tuệ nhân tạo. Trong đó, các
công trình nghiên cứu và ứng dụng về nhận dạng khuôn mặt người luôn được ưu tiên
phát triển và đánh giá cao. Tuy nhiên, việc ứng dụng trong thực tế còn nhiều hạn chế
bởi tính hiệu quả và tốc độ của nó. Hiện nay, người ta đã sử dụng nhiều phương pháp
để nhận dạng mặt người như : SVM, LDA , HMM, PCA,….Mỗi phương pháp điều có
ưu và nhược điểm riêng. Vấn đề đặt ra là làm sao lựa chọn một phương pháp tối ưu
nhất cho từng công việc. Phương pháp PCA được lựa chọn cho việc phát triển ứng
dụng “Nhận dạng khuôn mặt với thời gian thực” bởi hệ thống đòi hỏi tốc độ nhận dạng
phải rất nhanh. Tuy nhiên, PCA chưa thực sự chính xác cho nên chúng tôi đã áp dụng
phương pháp PCA cải tiến để làm tăng độ chính xác. Song, khi triển khai ứng dụng
trên thực tế trên máy tính cục bộ thì tốc độ nhận dạng chưa nhanh bởi chiếm nhiều tài
nguyên và khả năng xử lý. Vì thế, chúng em đã phát triển ứng dụng nhận dạng khuôn
mặt theo hướng song song trên môi cụm máy tính để công việc được thực hiện nhanh
chóng hơn và hiệu quả hơn. Đề tài được chúng em thực hiện với các công việc như
sau:............................................................................................................................... 21
Thu thập và biểu diễn dữ liệu khuôn mặt trong máy tính.............................................21
Xây dựng hệ thống nhận dạng khuôn mặt thời gian thực.............................................21
Tăng tốc độ xử lý của hệ thống nhận dạng khuôn mặt với tính toán song song...........21
Triển khai ứng dụng nhận dạng trên hệ thống tính toán song song phân cụm..............21
Abtract......................................................................................................................... 22
................................................................................................................................ 22
CHƯƠNG I:................................................................................................................24
TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG KHUÔN MẶT..................................24
1. Mô tả bài toán..........................................................................................................24
Hình 1-1: công nghệ nhận dạng mống mắt..........................................................25
Hình 1-2: Các giải pháp bảo mật.........................................................................26
Hình 1-3: Các ứng dụng mở rộng cho hệ thống nhận dạng.................................28
Hình 1-4: Các khó khăn của việc nhận dạng mặt người:.....................................29
2. Lịch sử giải quyết vấn đề....................................................................................29
3.1 Mục tiêu cần đạt được.......................................................................................30
5. Hướng tiếp cận và hướng giải quyết........................................................................32
5.1. Hướng tiếp cận......................................................................................................32
5.2. Cách giải quyết.....................................................................................................33
Chương II....................................................................................................................35
CƠ SỞ LÝ THUYẾT..................................................................................................36
1. Một số khái niệm liên quan đến nhận dạng khuôn mặt............................................36
1.1. Hệ thống sinh trắc học..........................................................................................36
Hình 2-1: Các công nghệ sinh trắc học...............................................................36
Hình 2-2: Hệ thống nhận dạng và xác minh khuôn mặt......................................37
3.1. Mô tả giải thuật............................................................................................41
3.2. Các định nghĩa liên quan.......................................................................................41
3.2.1. Hình ảnh tích hợp( Integral Image)....................................................................42
Hình 2-3 : Hình ảnh tích hợp...............................................................................42
3.2.2. Đặc trưng Haar-like...........................................................................................42
Hình 2-4: Diện tích của hình chữ nhật R được tính bằng L4-L2-L3+L1.............42
Hình 2-5 : Các loại đặc trưng mở rộng của Haar-like cơ sở................................43
3.2.3. Phân lớp đặc trưng (Haar Feature Classifier).....................................................43
Hình 2-6 : Các khu vực màu đen tương ứng với đặc trưng haar-like..................43
3.2.4. Phân loại (Cascade)............................................................................................43
Hình 2-7: Mô hình phân tần kết hợp các bộ phân loại yếu để xác định khôn mặt .
............................................................................................................................. 44
3.3. Phương pháp Adaboost.........................................................................................44
3.3.1. Giới thiệu...........................................................................................................44
3.3.2. Thuật toán Adaboost..........................................................................................45
Hình 2-8: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh......................46
3.3.3. Dò tìm khuôn mặt..............................................................................................46
4.1. Cơ sở lý thuyết......................................................................................................47
4.2. Sự diển giải bằng hình học....................................................................................48
Hình 2-11 : Hình vẽ mô tả hướng của các vector riêng.......................................49
4.3. Kỹ thuật rút trích đặc trưng của PCA....................................................................49
Hình 2-12 : Cấu trúc của eigenvector..................................................................50
5.1. Tìm hiễu Eigenfaces.....................................................................................50
Eigenvector của một ma trận vuông là vector khác không hay còn được gọi là các
vector đặc trưng. Nếu A là một ma trận vuông , V là một vector khác không. V là
eigenvector của A khi có một tích vô hướng :..............................................................50
Hình 2-134: Hình ảnh khuôn mặt và sự kết hợp các Eigenface...........................51
5.2. Các bước tạo ra Eigenfaces...................................................................................51
7.1. Phương pháp PCA cải tiến (PCA cục bộ)..............................................................53
7.1.1. Trong quá trình rút trích đặc trưng:....................................................................53
7.1.2. Trong quá trình nhận dạng.................................................................................54
7.2. So sánh PCA truyền thống và PCA cải tiến...........................................................54
Hình 2-14: Kiến trúc SISD..................................................................................55
Hình 2-15: Kiến trúc SIMD................................................................................56
Hình 2-16: Kiến trúc MISD................................................................................57
Hình 2-17: Kiến trúc MIMD...............................................................................58
8.3. Một số mô hình lập trình song song thông dụng...................................................58
8.3.1. Mô hình chia sẻ không gian bộ nhớ...................................................................58
Trong lập trình song song, những tương tác giữa các tác vụ song song có thể ở theo
dạng đồng bộ giữa các tiến trình đồng thời hay là sự giao tiếp giữa các kết quả trung
gian. Trong kiến trúc chia sẽ không gian bộ nhớ, giao tiếp giữa các tiến trình được chỉ
ra là tất cả các bộ xử lý đều có quyền truy cập vào các bộ nhớ chia sẽ. Do đó, mô hình
lập trình cho các máy tính chia sẽ không gian địa chỉ tập trung chủ yếu vào các cách
thức để thực thi đồng thời, đồng bộ hóa và những cách để làm giảm sự quá tải do
tương tác......................................................................................................................58
Hình 2-18: Mô hình chia sẽ không gian bộ nhớ..................................................59
8.3.2. Mô hình truyền thông điệp.................................................................................59
Hình 2-19: Mô hình truyền thông điệp................................................................59
Cấu trúc của những chương trình truyền thông điệp....................................................59
8.4. Cách thức xây dựng một chương trình song song.................................................60
Hình 2-20: Công nghệ Cluster............................................................................61
9.2. Định nghĩa Cluster................................................................................................61
9.3. Các ưu điểm của Cluster.......................................................................................62
9.4. Các thành phần của Cluster...................................................................................62
Chương III...................................................................................................................67
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU...............................................................67
1. Giới thiệu về bài toán...............................................................................................67
Hình 3-1: Hệ thống nhận dạng và xác minh khuôn mặt......................................67
Hình 3-3. Lưu đồ phân loại.................................................................................70
3. Qui trình xây dựng tập dữ liệu huấn luyện...............................................................71
3.1. Mô hình tổng quát hệ thống..................................................................................71
Hình 3-4: Mô hình nhận dạng khuôn mặt thời gian thực.....................................71
3.2. Chi tiết qui trình rút trích đặc trưng dữ liệu khuôn mặt bằng PCA.......................71
Hình 3-5: Rút trích đặc trưng dữ liệu khuôn mặt bằng PCA...............................71
4. Thu thập dữ liệu ảnh khuôn mặt..............................................................................72
Hình 3-6: Hình ảnh được thu thập.......................................................................73
Hình 3-7: Kích thước ảnh chuẩn hóa cho huấn luyện.........................................74
5. Biểu diễn dữ liệu khuôn mặt trong máy tính cục bộ................................................74
Hình 3-8: Biểu diển các Eigenvecto khuôn mặt lên máy tính.............................74
6. Lập trình rút trích các đặc trưng khuôn mặt và lưu trữ.............................................74
6.1. Xác định vị trí khuôn mặt từ ảnh nguồn đầu vào..................................................74
Hình 3-9: Mô hình detection face với Cascade Boosting....................................75
6.2. Rút trích đặc trưng khuôn mặt và lưu trữ..............................................................75
Hình 3-10: Tập ảnh học gồm 6 ảnh.....................................................................77
Hình 3-11: Data.xml lưu trữ những khuôn mặt vừa được huấn luyện.................77
6.4. Giới thiệu và chương trình....................................................................................78
6.4.1. OpenCV (chi tiết được đề cập trong phân hệ PH02 của bạn Võ Đông Nhất).....78
6.4.2. Chương trình......................................................................................................79
Hình 3-12: Code minh họa phát hiện khuôn mặt.................................................79
Giao diện của chương trình phát hiện khuôn mặt:...............................................80
Hình 3-13: Giao diện chương trình phát hiện khuôn mặt....................................80
Hình 3-14: Code minh họa huấn luyện khuôn mặt..............................................81
7. Nghiên cứu nguyên lý lập trình song song (chi tiết được đề cập trong phân hệ PH03
của bạn Võ Văn Vủ)....................................................................................................82
7.1. Định nghĩa lập trình song song.............................................................................82
7.2. Tại sao phải dùng lập trình song song...................................................................82
8. Nghiên cứu và xây dựng hệ thống tính toán song song phân cụm (Cluster)............84
8.1. Các cấu trúc thường gặp của Cluster.....................................................................84
Hình 3-15: Hệ thống Cluster có hai ứng dụng hoạt động song song trên mỗi node
............................................................................................................................. 84
Hình 3-17: Hai node active được dự phòng bởi node Passive.............................85
8.2. Từng bước xây dựng hệ thống xử lý song song phân cụm (Cluster).....................85
8.2.1. Mô hình Cluster được triển khai........................................................................85
Hình 3-18: Mô hình Cluster được triển khai.......................................................86
8.3. Cài đặt chương trình hệ thống ở các cluster node, trình tự thực thi.......................88
9. Triển khai bại toán nhận dạng thời gian thực trên hệ thống tính toán song song cụm
máy tính (Cluster) và đánh giá hiệu suất hệ thống.......................................................94
9.1. Triển khai bài toán nhận dạng thời gian thực trên hệ thống tính toán song song trên
cụm máy tính cụm máy tính(Cluster):.........................................................................94
Hình 3-19 : Mô phỏng hệ thốngmáy tính trước khi chạy ứng dụng nhận dạng...95
Hình 3-20 : Hệ thống phát hiện khuôn mặt.........................................................95
Hình 3-21 : Mô phỏng kết quả nhận dạng của ứng dụng được song song hóa....96
Hình 3-22 : Mô phỏng máy tính khi chạy ứng dụng nhận dạng..........................96
hình 3-23 : Mô phỏng kết quả và thời gian nhận dạng........................................97
9.2. Đánh giá hiệu suất của hệ thống khi triển khai ứng dụng nhận dạng thời gian thực
trên hệ thống tính toán song song phân cụm................................................................97
10. Xây dựng hệ thống nhận dạng khuôn mặt thời gian thực(Tham khảo phân hệ PH02
của Võ Đông Nhất)......................................................................................................97
11. Tăng tốc độ xử lý hệ thống với tính toán song song (Tham khảo phân hệ PH03 của
Võ Văn Vủ)..................................................................................................................97
TÀI LIỆU THAM KHẢO.........................................................................................100
Lời cảm ơn
Luận văn “Nhận dạng khuôn mặt thời gian thực kết hợp với xữ lý song song
trong môi trường cụm máy tính ” là một khó khăn thách thức to lớn đối với bản thân
chúng em. Trong quá trình thực hiện chúng em đã gặp rất nhiều khó khăn. Nhưng
được sự giúp đỡ, chỉ dạy tận tình của thầy Phan Thượng Cang đã giúp chúng em hoàn
thành được luận văn của mình.
Trước tiên em xin cảm ơn thầy Phan Thượng Cang đã cho chúng em những đề
tài hay mang tính thực tế rất cao, thầy đã giúp chúng em hiểu nhiều hơn về việc thực
hiện nhận dạng một khuôn mặt là như thế nào, cách thức để so sánh những hình ảnh
được thu từ nhiều nguồn khác nhau, củng như những phương pháp hổ trợ nhận dạng
khuôn mặt như: PCA, LDA, SVM, 3D, ACI...Và biết cách sử dụng thư viện OpenCV để
nhận dạng khuôn mặt.
Chúng em xin cám ơn tất cả thầy cô trường Đại Học Cần Thơ, đặc biệt là các
thầy cô khoa công nghệ thông tin và truyền thông đã tận tình chỉ dạy, truyền đạt
những kiến thức quí báo giúp chúng em dần tích lũy và hoàn thiện kỹ năng của mình.
Sau cùng chúng con xin gửi lòng biết ơn sâu sắc và sự kính trong đến ông bà,
cha mẹ, cùng toàn thể gia đình những người đã nuôi dạy chúng con trưởng thành như
ngày hôm nay.
Mặc dù cố gắng hết sức, song chắc chắn luận văn không khỏi những thiếu sót.
Chúng em rất mong được sự thông cảm và chỉ bảo tận tình của quí thầy cô cùng các
bạn sinh viên.
Cuối cùng, em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin và Truyền
Thông Trường Đại học Cần Thơ đã tạo mọi điều kiện về cơ sở vật chất cho chúng em
hoàn thành đề tài luận văn này.
Trân trọng.
TP.Cần Thơ, 04/05/2011
Sinh viên thực hiện:
Huỳnh Thiên Dương, MSSV:1071512
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
o
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Cần Thơ, ngày…..tháng…..năm 2010
Cán bộ hướng dẫn,
Ths. Phan Thượng Cang
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
o
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Cần Thơ, ngày…..tháng…..năm 2010
Cán bộ phản biện,
Ts. Lê Quyết Thắng
NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN
o
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Cần Thơ, ngày…..tháng…..năm 2010
Cán
bộ
phản
biện,
Ts. Ngô Bá Hùng
Tóm tắt
Trong những năm gần đây, công nghệ thông tin ngày càng phát triển, người ta chú ý và
quan tâm nhiều hơn trong lĩnh vực công nghệ tri thức và trí tuệ nhân tạo. Trong đó, các
công trình nghiên cứu và ứng dụng về nhận dạng khuôn mặt người luôn được ưu tiên
phát triển và đánh giá cao. Tuy nhiên, việc ứng dụng trong thực tế còn nhiều hạn chế
bởi tính hiệu quả và tốc độ của nó. Hiện nay, người ta đã sử dụng nhiều phương pháp
để nhận dạng mặt người như : SVM, LDA , HMM, PCA,….Mỗi phương pháp điều có
ưu và nhược điểm riêng. Vấn đề đặt ra là làm sao lựa chọn một phương pháp tối ưu
nhất cho từng công việc. Phương pháp PCA được lựa chọn cho việc phát triển ứng
dụng “Nhận dạng khuôn mặt với thời gian thực” bởi hệ thống đòi hỏi tốc độ nhận
dạng phải rất nhanh. Tuy nhiên, PCA chưa thực sự chính xác cho nên chúng tôi đã áp
dụng phương pháp PCA cải tiến để làm tăng độ chính xác. Song, khi triển khai ứng
dụng trên thực tế trên máy tính cục bộ thì tốc độ nhận dạng chưa nhanh bởi chiếm
nhiều tài nguyên và khả năng xử lý. Vì thế, chúng em đã phát triển ứng dụng nhận
dạng khuôn mặt theo hướng song song trên môi cụm máy tính để công việc được thực
hiện nhanh chóng hơn và hiệu quả hơn. Đề tài được chúng em thực hiện với các công
việc như sau:
Thu thập và biểu diễn dữ liệu khuôn mặt trong máy tính.
Xây dựng hệ thống nhận dạng khuôn mặt thời gian thực.
Tăng tốc độ xử lý của hệ thống nhận dạng khuôn mặt với tính toán song song.
Triển khai ứng dụng nhận dạng trên hệ thống tính toán song song phân cụm.
Abtract
In recent years, information technology is more develop than before, people noted and
had being more attention in the field of knowledge technology and artificial
intelligence. In particular, the researching and application of face recognition has
always been a priority for development and appreciation. However, the applying in
fact is still restricted by the efficiency and speedly. There are many methods for face
recognition, such as SVM, LDA, HMM, PCA,.... Each method has advantages and
disadvantages of its own. The problem is how to choose an optimal method for each
job. We chosen PCA method to develop application about “Facial recognition with
real time” because the system require about speed is very quickly. However, PCA is
not really accurate, so we have applied the PCA method improvement to increase the
accuracy. But, face recognition system processed slowly in local computer because it
used a lot of resources and required powerful processor. Therefore, we have developed
this application parallelization in cluster to easier and fater. This thesis has done by us
with the works as follows:
Collect and represent data in the computer face
Develop face recognition system in real time
Increase the processing speed of face recognition system for parallel computing.
Deploying applications on the system identify parallel computing cluster.
Biểu diễn dữ liệu khuôn mặt trong máy tính cục bộ và triển khai hệ thống nhận dạng thời gian
thực trên hệ thống tính toán song song phân cụm
CHƯƠNG I:
TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG KHUÔN MẶT
1. Mô tả bài toán
Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang được yêu cầu
khắc khe tại mọi quốc gia trên thế giới. Các hệ thống nhận dạng con người được ra đời
với độ tin cậy ngày càng cao. Một trong các bài toán nhận dạng con người rất được
quan tâm hiện nay là nhận dạng khuôn mặt. Vì nhận dạng khuôn mặt là cách mà con
người sử dụng để phân biệt nhau. Bên cạnh đó, ngày nay việc thu thập, xử lý thông tin
qua ảnh để nhận biết đối tượng đang được quan tâm và ứng dụng rộng rãi. Với phương
pháp này, chúng ta có thể thu nhận được nhiều thông tin từ đối tượng mà không cần
tác động nhiều đến đối tượng nghiên cứu. Sự phát triển của khoa học máy tính tạo môi
trường thuận lợi cho bài toán nhận dạng mặt người từ ảnh số. Các hệ thống nhận dạng
offline đã ra đời và có độ tin cậy cao, tuy nhiên các hệ thống nhận dạng online bằng
camera lại chưa đáp ứng được nhiều. Vì thế, em đã nghiên cứu và xây dựng nên một
chương trình nhận dạng khuôn mặt thời gian thực có khả năng xử lý online và offline
để minh chứng và đáp ứng cho nhu cầu thực tế.
Hệ thống này đòi hỏi ở khả năng xử lý một lượng khổng lồ các hình ảnh thu về định
kỳ từ các camera và yêu cầu thời gian phân tích nhận dạng phải nhanh chóng. Xuất
phát từ thực tế đó, công nghệ cụm máy tính (Cluster) được xem như là một giải pháp
khả thi để giải quyết những đòi hỏi trên. Clustering là một kiến trúc nhằm đảm bảo
nâng cao khả năng sẵn sàng cho các hệ thống mạng máy tính. Clustering cho phép sử
dụng nhiều máy chủ kết hợp với nhau tạo thành một cụm có khả năng chịu đựng hay
chấp nhận sai sót (fault-tolerant) nhằm nâng cao độ sẵn sàng của hệ thống mạng.
Cluster là một hệ thống bao gồm nhiều máy tính mạnh hay máy chủ được kết nối với
nhau theo dạng song song hay phân tán và được sử dụng như một tài nguyên thống
nhất. Nếu một máy chủ ngừng hoạt động do bị sự cố hoặc để nâng cấp, bảo trì, thì toàn
bộ công việc mà máy chủ này đảm nhận sẽ được tự động chuyển sang cho một máy
chủ khác (trong cùng một cluster) mà không làm cho hoạt động của hệ thống bị ngắt
hay gián đoạn. Quá trình này gọi là “fail-over”; và việc phục hồi tài nguyên của một
máy tính trong hệ thống (cluster) được gọi là “fail-back”.
Việc nghiên cứu xây dựng hệ thống nhận dạng khuôn mặt thời gian thực với công
nghệ điện toán lưới nhằm giải quyết các vấn đề trên được nhanh chóng và hiệu quả.
Hơn thế nửa, bài toán nhận dạng khuôn mặt người còn có ý nghĩa hết sức quan trọng,
SVTH: Huỳnh Thiên Dương
GVHD: Th.s Phan Thượng Cang
Page 24
Biểu diễn dữ liệu khuôn mặt trong máy tính cục bộ và triển khai hệ thống nhận dạng thời gian
thực trên hệ thống tính toán song song phân cụm
được xem như là cơ sở, nền tảng cho việc nghiên cứu và phát triển tri thức máy tính,
trí tuệ nhân tạo như : nhận dạng dấu vân tay; nhận dạng chữ viết tay; nhận dạng giọng
nói…Vì thế, đó là lý do mà chúng em thực hiện đề tài nghiên cứu “Nhận dạng khuôn
mặt với thời gian thực kết hợp với xử lý song song trong môi trường điện toán
lưới” .
Nhận dạng mặt người – công nghệ không thể thay thế:
Nếu như công nghệ nhận dạng giọng nói phù hợp với các ứng dụng call-center và
nhược điểm của nó là tiếng ồn, không phù hợp với nơi công cộng đông người thì công
nghệ nhận dạng chữ ký cũng gây nhiều phiền phức cho người sử dụng vì khó duy trì
được chữ ký giống nhau ngay trong cùng một thời điểm. Trong khi đó, công nghệ nhận
dạng vân tay hiện đã được dùng khá phổ biến, nhưng cũng có nhược điểm là bị ảnh
hưởng bởi độ ẩm da và đặc biệt sẽ không chính xác cao với người có tay hay tiếp xúc
với hoá chất. Bên cạnh đó, nhận dạng bằng vân tay còn có những hạn chế về việc giả
mạo, thậm chí kẻ gian có thể sử dụng tay của người khác để xác thực. Còn công nghệ
nhận dạng mống mắt là một công nghệ có nhiều ưu điểm về độ chính xác cũng như
khả năng chống giả mạo. Việc xác thực, nhận dạng trong công nghệ này dựa trên sơ đồ
mạch máu trong võng mạc mắt. Sơ đồ này rất ít thay đổi kể từ lúc mới sinh cho tới khi
già và đặc biệt là, khi chết, hệ thống sơ đồ mạch máu này sẽ biến mất. Vì thế, không
thể dùng người chết để xác thực cho việc truy cập trái phép. Tuy nhiên, công nghệ này
lại bị tác động bởi nhiều yếu tố khác như độ rộng của mắt, lông mi, kính đeo và khó
triển khai phổ biến trên diện rộng do độ phức tạp của các thiết bị.
Hình 1-1: công nghệ nhận dạng mống mắt
Trong khi đó, mặc dù độ chính xác không là phải ưu điểm nổi bật của công nghệ nhận
dạng mặt người song không giống với những phương pháp khác, nhận dạng mặt người
là công nghệ nhận dạng không cần đến sự tiếp xúc trực tiếp giữa đối tượng và thiết bị
thu nhận (tính “non-intrusive”). Thay vào đó, công nghệ này mang tính theo dõi, giám
sát và rất thuận tiện cho những ứng dụng bảo vệ mục tiêu, chống khủng bố tại những
điểm công cộng đông người. Đây cũng là ưu điểm nổi trội của nhận dạng mặt người
mà các công nghệ nhận dạng khác khó có thể có được.
SVTH: Huỳnh Thiên Dương
GVHD: Th.s Phan Thượng Cang
Page 25