1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống nhận dạng khuôn mặt trời gian thực với xử lý song song trong môi trường cụm máy tính

97 135 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 6,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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: KHAI ỨNG DỤNG NHẬ

Trang 1

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:

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”

Cần Thơ, 2011

Trang 2

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”

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ầnThơ

Trang 3

Một số thuật ngữ Các chữ viết tắt Các hình ảnh

Trang 4

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

Trang 5

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

Trang 6

Contents

Hình 1-1: công nghệ nhận dạng mống mắt 19

Hình 1-2: Các giải pháp bảo mật 20

Hình 1-3: Các ứng dụng mở rộng cho hệ thống nhận dạng 21

Hình 1-4: Các khó khăn của việc nhận dạng mặt người: 23

Hình 2-1: Các công nghệ sinh trắc học 30

Hình 2-2: Hệ thống nhận dạng và xác minh khuôn mặt 31

Hình 2-3 : Hình ảnh tích hợp 36

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 36

Hình 2-5 : Các loại đặc trưng mở rộng của Haar-like cơ sở 37

Hình 2-6 : Các khu vực màu đen tương ứng với đặc trưng haar-like 37

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 38

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 40

Hình 2-9 : Quá trình xữ lý và biến đổi hình ảnh 41

Hình 2-10: Hệ thống xác định vị trí khuôn mặt người (Face detection system) 41

Hình 2-11 : Hình vẽ mô tả hướng của các vector riêng 43

Hình 2-12 : Cấu trúc của eigenvector 44

Hình 2-13: Hình ảnh khuôn mặt và sự kết hợp các Eigenface 45

Hình 2-14: Kiến trúc SISD 49

Hình 2-15: Kiến trúc SIMD 50

Hình 2-16: Kiến trúc MISD 51

Hình 2-17: Kiến trúc MIMD 52

Hình 2-18: Mô hình chia sẽ không gian bộ nhớ 53

Hình 2-19: Mô hình truyền thông điệp 53

Hình 2-20: Công nghệ Cluster 55

Hình 3-1: Hệ thống nhận dạng và xác minh khuôn mặt 61

Hình 3-2: Quá trình nhận dạng khuôn mặt 62

Hình 3-3 Lưu đồ phân loại 64

Hình 3-4: Mô hình nhận dạng khuôn mặt thời gian thực 65

Hình 3-5: Rút trích đặc trưng dữ liệu khuôn mặt bằng PCA 65

Trang 7

Hình 3-8: Biểu diển các Eigenvecto khuôn mặt lên máy tính 68

Hình 3-9: Mô hình detection face với Cascade Boosting 69

Hình 3-10: Tập ảnh học gồm 6 ảnh 71

Hình 3-11: Data.xml lưu trữ những khuôn mặt vừa được huấn luyện 71

Hình 3-12: Code minh họa phát hiện khuôn mặt 73

Hình 3-13: Giao diện chương trình phát hiện khuôn mặt 74

Hình 3-14: Code minh họa huấn luyện khuôn mặt 75

Hình 3-15: Hệ thống Cluster có hai ứng dụng hoạt động song song trên mỗi node 78

Hình 3-16: Hệ thống Cluster độc lập chứa hai ứng dụng khác nhau 79

Hình 3-17: Hai node active được dự phòng bởi node Passive 79

Hình 3-18: Mô hình Cluster được triển khai 80

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 89

Hình 3-20 : Hệ thống phát hiện khuôn mặt 89

Hình 3-21 : Mô phỏng kết quả nhận dạng của ứng dụng được song song hóa 90

Hình 3-22 : Mô phỏng máy tính khi chạy ứng dụng nhận dạng 90

hình 3-23 : Mô phỏng kết quả và thời gian nhận dạng 91

Trang 8

Tóm tắt 16

Abtract 17

CHƯƠNG I: 18

TỔNG QUAN VỀ BÀI TOÁN NHẬN DẠNG KHUÔN MẶT 18

1 Mô tả bài toán 18

2 Lịch sử giải quyết vấn đề 23

3 Nội dung nghiên cứu 24

3.1 Mục tiêu cần đạt được 24

3.2 Nhiệm vụ nghiên cứu 24

3.4 Phương pháp nghiên cứu 25

4 Phạm vi ứng dụng 25

4.1 Phạm vi lý thuyết 25

4.2 Phạm vi ứng dụng 26

5 Hướng tiếp cận và hướng giải quyết 26

5.1 Hướng tiếp cận 26

5.2 Cách giải quyết 27

6 Bố cục luận văn 28

Chương II 30

CƠ SỞ LÝ THUYẾT 30

Một số khái niệm liên quan đến nhận dạng khuôn mặt 30

1.1 Hệ thống sinh trắc học 30

1.2 Hệ thống nhận dạng khuôn mặt 31

1.3 Hệ thống nhận dạng tĩnh-tĩnh, tĩnh-động, động-động 32

1.3.1 Hệ thống nhận dạng tĩnh-tĩnh 32

1.3.2 Hệ thống nhận dạng tĩnh-động 32

1.3.3 Hệ thống nhận dạng động-động 32

2 Tổng quan về máy học 32

3 Giải thuật phát hiện khuôn mặt (FACE DETECTOR ALGORITHM) 35

3.1 Mô tả giải thuật 35

Trang 9

3.2.3 Phân lớp đặc trưng (Haar Feature Classifier) 37

3.2.4 Phân loại (Cascade) 37

3.3 Phương pháp Adaboost 38

3.3.1 Giới thiệu 38

3.3.2 Thuật toán Adaboost 39

3.3.3 Dò tìm khuôn mặt 40

4 Rút trích đặc trưng với PCA 41

4.1 Cơ sở lý thuyết 41

4.2 Sự diển giải bằng hình học 42

4.3 Kỹ thuật rút trích đặc trưng của PCA 43

5 Huấn luyện khuôn mặt với Eigenfaces 44

5.2 Các bước tạo ra Eigenfaces 45

6 Nhận dạng khuôn mặt 47

6.1 Giải thuật PCA cải tiến 47

7.1 Phương pháp PCA cải tiến (PCA cục bộ) 47

7.1.1 Trong quá trình rút trích đặc trưng: 47

7.1.2 Trong quá trình nhận dạng 48

7.2 So sánh PCA truyền thống và PCA cải tiến 48

8 Tính toán song song [chi tiết được đề cập trong phân hệ PH03 của bạn Võ Văn Vủ] 49 46

8.1 Khái niệm hệ thống tính toán song song 49

8.2 Nền tảng tính toán song song 49

8.3 Một số mô hình lập trình song song thông dụng 52

8.3.1 Mô hình chia sẻ không gian bộ nhớ 52

8.3.2 Mô hình truyền thông điệp 53

8.4 Cách thức xây dựng một chương trình song song 54

9 Cụm máy tính (Cluster) 54

9.1 Giới thiệu 55

9.2 Định nghĩa Cluster 55

9.3 Các ưu điểm của Cluster 56

9.4 Các thành phần của Cluster 57

Trang 10

NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 61

1 Giới thiệu về bài toán 61

2 Xác định giải thuật nhận dạng đễ tiến hành đề ra phương pháp biểu diễn dữ liệu và định dạng khuôn mặt trong máy tính 63

3 Qui trình xây dựng tập dữ liệu huấn luyện 65

3.1 Mô hình tổng quát hệ thống 65

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 65

4 Thu thập dữ liệu ảnh khuôn mặt 66

5 Biểu diễn dữ liệu khuôn mặt trong máy tính cục bộ 68

6 Lập trình rút trích các đặc trưng khuôn mặt và lưu trữ 68

6.1 Xác định vị trí khuôn mặt từ ảnh nguồn đầu vào 68

6.2 Rút trích đặc trưng khuôn mặt và lưu trữ 69

6.4 Giới thiệu và chương trình 72

6.4.1 OpenCV (chi tiết được đề cập trong phân hệ PH02 của bạn Võ Đông Nhất) 72

6.4.2 Chương trình 73

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ủ) 76

7.1 Định nghĩa lập trình song song 76

7.2 Tại sao phải dùng lập trình song song 76

7.3 Những lưu ý khi lập trình song song 77

7.4 Các mô hình lập trình song song thông dụng 78

8 Nghiên cứu và xây dựng hệ thống tính toán song song phân cụm (Cluster) 78

8.1 Các cấu trúc thường gặp của Cluster 78

8.2 Từng bước xây dựng hệ thống xử lý song song phân cụm (Cluster) 79

8.2.1 Mô hình Cluster được triển khai 79

8.3 Cài đặt chương trình hệ thống ở các cluster node, trình tự thực thi 82

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 88

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): 88 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

Trang 11

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ủ) 91

CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 92

1 Kết luận 92

1.1 Kết quả đạt được của cả nhóm 92

1.2 Kết quả đạt được của cá nhân 92

1.3 Hạn chế 92

2 Hướng phát triển 93

TÀI LIỆU THAM KHẢO 94

Trang 12

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

Trang 13

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

Trang 14

Cần Thơ, ngày… tháng… năm 2010

Cán bộ phản biện,

Ts Lê Quyết Thắng

Trang 15

Cần Thơ, ngày… tháng… năm 2010

Cán bộ phản biện,

Trang 16

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 ưutiê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ạnchế 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ươngphá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áptố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ếmnhiều tài nguyên và khả năng xử lý Vì thế, chúng em đã phát triển ứng dụng nhậndạ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ựchiệ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ôngviệ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

Trang 17

In recent years, information technology is more develop than before, people noted andhad being more attention in the field of knowledge technology and artificialintelligence In particular, the researching and application of face recognition hasalways been a priority for development and appreciation However, the applying infact is still restricted by the efficiency and speedly There are many methods for facerecognition, such as SVM, LDA, HMM, PCA, Each method has advantages anddisadvantages 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 theaccuracy But, face recognition system processed slowly in local computer because itused a lot of resources and required powerful processor Therefore, we have developedthis application parallelization in cluster to easier and fater This thesis has done by uswith 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

Trang 20

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ầukhắ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 đờivớ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 đượcquan 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à conngườ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 tinqua ảnh để nhận biết đối tượng đang được quan tâm và ứng dụng rộng rãi Với phươngphá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ầntá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ôitrườ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ạngoffline đã ra đời và có độ tin cậy cao, tuy nhiên các hệ thống nhận dạng online bằngcamera lại chưa đáp ứng được nhiều Vì thế, em đã nghiên cứu và xây dựng nên mộtchươ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ấtphát từ thực tế đó, công nghệ cụm máy tính (Cluster) được xem như là một giải phápkhả thi để giải quyết những đòi hỏi trên Clustering là một kiến trúc nhằm đảm bảonâ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ớinhau theo dạng song song hay phân tán và được sử dụng như một tài nguyên thốngnhấ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áychủ 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ôngnghệ đ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,

Trang 21

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ôngnghệ 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ếpxú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ệcgiả 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ôngnghệ 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ũngnhư 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 chotớ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ôngnghệ 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ậndạ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

Trang 22

Hình 1-2: Các giải pháp bảo mật

Các phương pháp nhận dạng mặt người:

Phương pháp nhận dạng hiện nay có 2 loại:

 Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Featurebased face recognition)

 Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based facerecognition)

Ngoài ra còn có một số loại nhận dạng sử dụng mô hình về khuôn mặt, một số phươngpháp được dùng cho loại này:

 Nhận dạng 2D: Elastic Bunch Graph, Active Appearance Model

 Nhận dạng 3D: 3D Morphable Model

Nhận dạng dựa trên các đặc trưng khuôn mặt:

Đây là phương pháp nhận dạng khuôn mặt dựa trên việc xác định các đặc trưng hìnhhọc của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt, mũi,miệng,…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách củahai lông mày,…)

Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận biếtkhuôn mặt Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp này

có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị xoayhoặc ánh sáng thay đổi

Trang 23

thước nhỏ thì các đặc tính sẽ khó phân biệt do đó khó tính toán được các đặc trưng trênkhuôn mặt.

Nhận dạng dựa trên xét toàn diện khuôn mặt:

Nhận dạng đựa trên toàn diện khuôn mặt, có nghĩa mình sẽ không đi xét đến từngthành phần đặc trưng trên khuôn mặt nữa… Mình sẽ xem khuôn mặt là một khônggian cụ thể và mình tìm những đặc trưng, những đặc điểm chính trên không gian đó.Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích thước RxC là mộtvector trong không gian RxC chiều Ta sẽ xây dựng một không gian mới có chiều nhỏhơn sao cho khi biểu diễn trong không gian đó các đặc điểm chính của một khuôn mặtkhông bị mất đi Trong không gian đó, các ảnh của cùng một người sẽ được tập trunglại thành một nhóm gần nhau và cách xa các nhóm khác

Hai phương pháp thường được sử dụng là trong hướng tiếp cận này:

 PCA (Principle Components Analysis)

 LDA (Linear Discriminant Analysis)

Trong nội dung nghiên cứu của đề tài, chúng em tập trung tìm hiểu và xây dựng hệthống nhận dạng khuôn mặt theo phương pháp PCA

Một số ứng dụng cho hệ thống nhận dạng khuôn mặt:

Mặc dù hiện tại ở Việt Nam, việc triển khai giải pháp nhận dạng mặt người trong cácứng dụng đời sống hàng còn nhiều hạn chế, đặc biệt là vấn đề xây dựng một CSDLảnh công dân Tuy nhiên, trên thế giới đã có nhiều nước sử dụng giải pháp này :

Hình 1-3: Các ứng dụng mở rộng cho hệ thống nhận dạng.

Các ứng dụng cho phòng chóng tội phạm: Giúp các cán bộ công an có thể phát hiệntội phạm bị truy nã hay giám sát những đối tượng đã có tiền án tiền sự ở những nơicông cộng, đông người

Trang 24

 Các ứng dụng đăng nhập: Có thể cho phép người dùng hợp pháp có thể truy cậpvào một hệ thống an ninh Ví dụ như: hệ thống login vào hệ điều hành, hệ thống đăngnhập vào một webside.

 Các ứng dụng về xác nhận thông tin: Khi chúng ta phát hiện một người nào đó,nhưng không biết gì về họ Chúng ta có thể xác định được thông tin của họ từ ảnh lấy

từ một máy ảnh hay một điện thoại di động gửi đến hệ thống máy tính có cài chươngtrình nhận dạng để phân tích và kiểm tra Tương lai có thể được ứng dụng trong bộmáy tìm kiếm như google, bing, msn như : Tìm kiếm một trận đấu có Ronaldo thamgia, tìm kiếm một bộ phim có Thành Long đóng, tìm kiếm một video clip có Lee MinHo…

 Kinh doanh thương mại điện tử: Với sự tiến bộ của khoa học công nghệ, nhiều hìnhthứ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ầnqua 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ặttiê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 Ứngdụng giúp biết được đối tác của mình là thật hay giả

 Hệ thống điểm danh, chấm công nhân viên: Hiện nay trong các khu công nghiệphay 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 Ứng dụng

có thể giúp chúng ta nhận ra từng nhân viên của công ty

 Ngăn chặn xuất/nhập cảnh bất hợp pháp: Một số người không được xuất/nhập cảnhvào nước, song họ cố tình khai gian giấy tờ để xuất/nhập cảnh bất hợp pháp Ứng dụng

có thể ngăn chặn được sự gian lận này (hiện nay cơ quan xuất nhập cảnh của Mỹ đã ápdụng)

 Ứng dụng trên máy kỹ thuật số Canon: Hãng này cho sản xuất một thế hệ máy ảnhmới có thể phát hiện được khuôn mặt người cho kết quả hình ảnh đẹp hơn

Những thách thức của bài toán nhận dạng khuôn mặt:

Hướng của khuôn mặt đối với máy ảnh hay camera như : nhìn thẳng, nhìn nghiênghay từ trên xuống Cùng trong một ảnh có nhiều khuôn mặt với nhiều tư thế khácnhau

Sự có mặt của các chi tiết không phải là đặc trưng của khuôn mặt người như: Râu,kính mắt, khẩu trang,…

Các nét mặt (facial expression) như vui, buồn, giận dữ hay ngạc nhiên

Trang 25

Mặt người bị che khuất bởi các đối tượng trong hình ảnh.

Hình 1-4: Các khó khăn của việc nhận dạng mặt người:

(A) hình ảnh bị chói bởi ánh sáng; (B) hình ảnh có màu da gần giống như màu nền; (C) hình ảnh khuôn mặt nghiên; (D) hình ảnh có nhiều râu che phủ; (F) hình ảnh phát họa hay hình vẽ; (G) hình ảnh có các khuôn mặt quay theo hướng

khác nhau;(H) hình ảnh có khuôn mặt mắt kính

2 Lịch sử giải quyết vấn đề

Trong mười năm qua, nhận dạng khuôn mặt là một trong những lĩnh vực phổ biếntrong các nghiên cứu về thị giác máy tính và trí tuệ nhân tạo Vấn đề về nhận dạngkhuôn mặt đã được nghiên cứu từ năm 1960 Hệ thống nhận dạng khuôn mặt đầu tiênđáp ứng được yêu cầu xác định các đặc trưng chính của khuôn mặt như mắt, tai, mũi,miệng, môi, chân mài trên bức ảnh Và tính toán khoảng cách, tỷ lệ và độ sai khác củacác điểm tương ứng với dữ liệu cần cần đối chiếu Năm 1970, Goldstein, Harmon andLesk sử dụng 21 điểm chủ động như: màu tóc, độ dày của môi cho việc nhận dạng.Vấn đề với hai hướng giải quyết ở trên là đo lường khoảng cách và xác định vị trí bằngcách thủ công Năm 1988, Kirby and Sirovich đã áp dụng phương pháp PCA, một kỹthuật sử dụng đại số tuyến tính Đây chính là cột mốc quan trong cho quá trình nhậndạng sau này Năm 1991, Turk and Pentland đã khám phá ra kỹ thuật sử dụngeigenfaces, khám phá này mở đầu cho các ứng dụng nhận dạng thời gian thực Tuynhiên, ứng dụng đầu tiên cho nghiên cứu của Turk and Pentland mãi đến 2/2001 mớichương trình ứng dụng Chương trình này có thể hổ trợ cho phát hiện một người ở nơicông cộng hay nơi riêng tư Ngày nay, nhận dạng khuôn mặt củng đã đang được rấtquan tâm và đánh giá cao

Trang 26

3 Nội dung nghiên cứu

3.1 Mục tiêu cần đạt được

Nhận dạng khuôn mặt là một bài toán khó và đã được nghiên cứu với nhiều giải phápkhác nhau nhưng kết quả đạt được vẫn còn hạn chế Một giải pháp trọn vẹn và toàndiện cho vấn đề này đòi hỏi vừa phải có khả năng xử lý tốt đáp ứng thời gian thực vàđồng thời có khả năng đảm bảo độ chính xác và hiệu quả khi có sự thay đổi của môitrường và đối tượng quan sát: điều kiện ánh sáng, hướng, tư thế sắc thái, khuôn mặt, vàcác thành phần phụ kèm như: râu, kính, nốt ruồi, vết sẹo, v.v Đó là tất cả những vấn

đề đặt ra để tiếp tục nghiên cứu

Mục đích của đề tài là đề xuất cải tiến phương pháp nhận dạng khuôn mặt theo phươngpháp PCA làm tăng tốc độ và hiệu quả Từ đó, ứng dựng xây dựng hệ thống giám sát

tự động nhận diện khuôn mặt kết hợp với xử lý song song và triển khai trên Cluster.Việc sử dụng phương pháp PCA cải tiến để nhận dạng khuôn mặt giúp cho việc nhậndạng được chính xác hơn và loại bỏ những trường hợp lỗi của phương pháp PCAtruyền thống như : phát hiện các đặc trưng không phải khuôn mặt, tìm khuôn mặt gầnnhất trong quá trình nhận dạng

Tuy nhiên, do hệ thống này được sử dụng để giám sát ở những nơi đông người vì vậy

sẽ có một lượng lớn hình ảnh hay video được gửi về từ các camera hay bộ cảm biếntheo thời gian thực Điều này vượt quá khả năng lưu trữ, truyền nhận tập tin cũng như

xử lý nhận dạng của một máy tính cục bộ Đối ngược với mô hình tính toán truyềnthống trên máy tính cục bộ, mô hình cụm máy tính chỉ sử dụng máy tính cá nhân nhưgiao diện giữa người sử dụng và các node xử lý Sức mạnh tính toán của cụm máy tínhđược triển khai thông qua mạng cục bộ, kết hợp với công nghệ song song Điều đócung cấp cho chúng ta một giải pháp hữu hiệu để giải quyết những trở ngại cho bàitoán trên

3.2 Nhiệm vụ nghiên cứu

Tập trung vào việc nghiên cứu, phân tích và đánh giá các giải thuật nhận dạng khuônmặt theo hướng tiếp cận thống kê như : PCA, HMM, LDA, SVM Bên cạnh đó, cầnphải tìm hiểu và bổ sung một số giải thuật heuristic và giải thuật song song nhằm đềxuất một giải thuật tối ưu phù hợp với tính toán lưới

Lựa chọn và sử dụng phương pháp nhận dạng khuôn mặt với PCA cải tiến cho ứngdụng nhận dạng, bởi yêu cầu về tốc độ và hiệu quả Sau đó tiến hành cài đặt thửnghiệm trên mô hình máy tính cục bộ

Trang 27

Xác định những thách thức và giải pháp khi xử lý nhận dạng trên tập dữ liệu lớn liêntục được gửi về từ các camera giám sát Đặc biệt, nghiên cứu công nghệ điện toán đámlưới để hỗ trợ đầy đủ một kiến trúc phân tán và mô tả cách công nghệ này được sửdụng để giải quyết bài toán nhận dạng

Tiếp tục bổ sung và hoàn chỉnh ứng dụng nhận dạng khuôn mặt với mô hình tính toánphân cụm Công việc sẽ tự động phân phát tính toán nhận dạng đến node trên cụm máytính Hoàn chỉnh hệ thống nhận dạng khuôn mặt với hai ứng dụng : ứng dụng tuần tựtrên máy cục bộ và ứng dụng song song trên cụm máy tính Từ đó đánh giá tính hiệuquả và khả năng ứng dụng trong lĩnh vực khác

3.4 Phương pháp nghiên cứu

Thu thập, tổng hợp và đánh giá các kết quả nghiên cứu có liên quan đến lĩnh vựccủa đề tài như: nhận dạng khuôn mặt 2D, công nghệ tri thức, máy học, tính toánsong song, tính toán hiệu năng cao, điện toán lưới

Kế thừa có chọn lọc các kết quả nghiên cứu trước đó, đặc biệt hướng đến các phầnmềm tự do, phần mềm mã nguồn mở

Cải tiến, bổ sung và đưa ra các giải pháp mới hướng đến mục tiêu đề ra

Cài đặt, kiểm thử , đánh giá so sánh kết quả đạt được

Phân chia thời gian, công việc hợp lý trong quá trình làm luận văn Lên kế hoạch vàbáo cáo tiến độ làm việc của các thành viên trong nhóm, từ đó xem xét và điềuchỉnh tiến độ cho phù hợp

Trong quá trình làm việc có sự giúp đỡ lẫn nhau giữa các thành viên trong nhóm,đồng thời tranh thủ sự quan tâm giúp đỡ của giáo viên hướng dẫn

4 Phạm vi ứng dụng

4.1 Phạm vi lý thuyết

Các nghiên cứu và ứng dụng trong thị giác máy tính và trí tuệ nhân tạo

Lý thuyết tổng quan về thư viện OpenCV

Các giải thuật nhận dạng khuôn mặt

Tìm hiểu về thuật toán máy học và nhận dạng

Lý thuyêt về MPI

Lý thuyết về Cluster

Cách thức phát triển ứng dụng theo hướng song song hóa và triển khai Cluster

Trang 28

4.2 Phạm vi ứng dụng

Tìm hiểu về cách thức sử dụng các hàm của thư viện mã nguồn mở OpenCV 2.1.0

Xây dựng máy dò tìm khuôn mặt dựa theo trên giải thuật máy học Face Detector

Nghiên cứu cách thức rút trích đặc trưng và huấn luyện ảnh của PCA Từ đó xâydựng một máy học đễ huấn luyện ảnh

Cách thức nhận dạng bằng phương pháp PCA và xây dựng máy nhận dạng để nhậndạng ảnh đối chiếu

Phát triển ứng dụng theo hướng PCA cải tiến theo luật NND

Song song hóa chương trình nhận dạng

Triển khai ứng dụng trên môi trường Clutser

5 Hướng tiếp cận và hướng giải quyết.

5.1 Hướng tiếp cận

Có nhiều nghiên cứu tìm phương pháp xác định khuôn mặt người, từ ảnh xám đếnngày nay là ảnh màu , video , hay camera Dựa vào tính chất của các phương pháp xácđịnh khuôn mặt người trên ảnh Các phương pháp này được chia làm bốn hướng tiếpcận chính Ngoài bốn hướng này, nhiều nghiên cứu có khi liên quan đến không nhữngmột hướng tiếp cận mà có liên quan nhiều hơn một hướng chính:

 Hướng tiếp cận dựa trên tri thức: Mã hóa các hiểu biết của con người về các loạikhuôn mặt người thành các luật Thông thường các luật mô tả quan hệ của các đặctrưng

 Hướng tiếp cận dựa trên đặc trưng không thay đổi: Mục tiêu các thuật toán đi tìmcác đặc trưng mô tả cấu trúc khuôn mặt người mà các đặc trưng này sẽ không thayđổi khi tư thế khuôn mặt, vị trí đặt thiết bị thu hình hoặc điều kiện ánh sáng thayđổi

 Hướng tiếp cận dựa trên so khớp mẫu: Dùng các mẫu chuẩn của khuôn mặt người(các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặt người hay các đặctrưng khuôn mặt (các mẫu này phải chọn làm sao cho tách biệt nhau theo tiêu chuẩn

mà các tác giả định ra để so sánh) Các mối tương quan giữa dữ liệu ảnh đưa vào vàcác mẫu dùng để xác định khuôn mặt người

 Hướng tiếp cận dựa trên diện mạo (Phương pháp học): Trái ngược hẳn với so khớpmẫu, các mô hình (hay các mẫu) được học từ một tập ảnh huấn luyện trước đó Sau

đó hệ thống (mô hình) sẽ xác định khuôn mặt người Phương pháp này được chúngtôi áp tiếp cận để triển khai trong đề tài

Trang 29

5.2 Cách giải quyết

Đây là một đề tài lớn cần có sự phối hợp chặt chẽ giữa các thành viên trong nhóm

và sự giúp đở tận tình của thầy Phan Thượng Cang Nội dung công việc được phânthành những phân hệ cụ thể như sau:

Thời lượng

PH01

Biểu diển dữliệu khuônmặt trongmáy tính vàtriển khaiứng dụngnhận dạngtrên hệ thốngtính toánsong songphân

cụm(Cluster)

1 Nghiên cứu bài toán nhận dạngkhuôn mặt

2 Xác định giải thuật nhận dạng, đểtiến hành đề ra phương pháp biểudiễn dữ liệu khuôn mặt trong máytính

3 Thu thập dữ liệu ảnh khuôn mặt,lập trình rút trích các đặc trưngkhuôn mặt và lưu trữ

4 Nghiên cứu nguyên lý lập trìnhsong song

5 Nghiên cứu và xây dựng hệ thốngtính toán song song phân cụm(Cluster)

6 Triển khai bài toán nhận dạng thờigian thực trên hệ thống cụm máytính (Cluster) Sau đó, đánh giáhiệu suất hệ thống

04tháng

PH02 Xây dựng hệ

thống nhậndạng khuônmặt thờigian thực

1 Nghiên cứu bài toán nhận dạngkhuôn mặt

2 Đánh giá và lựa chọn giải thuậtnhận dạng

3 Phân tích và thiết kế ứng dụngnhận dạng thời gian thực

4 Lập trình ứng dụng nhận dạngkhuôn mặt thời gian thực với dữ

Võ Đông Nhất

04tháng

Trang 30

liệu đầu vào từ PH01.

5 Cải tiến giải thuật và chương trình

đễ tăng độ chính xác cho hệ thốngnhận dạng

6 Triển khai thử nghiệm vào thục tế

PH03

Tăng tốc độ

xử lý hệthống nhậndạng khuônmặt với tínhtoán songsong

1 Nghiên cứu bài toán nhận dạngkhuôn mặt

2 Nghiên cứu lập trình song song vàthiết lập môi trường

3 Nghiên cứu giải thuật nhận dạng

đã cải tiến từ phân hệ PH02

4 Song song hóa bài toán nhận dạngkhuôn mặt và lập trình song song

5 Thử nghiệm ứng dụng trên máytính cục bộ và cụm máy tính đãxây dựng trong PH01

6 Đánh giá kết quả của việc songsong hóa

Võ Văn Vủ

04tháng

6 Bố cục luận văn

Nội dung của quyển báo cáo luận văn gồm 04 chương:

Chương 1: Giới thiệu tổng quan về bài toán nhận dạng khuôn mặt:

Giới thiệu tổng quan về đề tài và sự cần thiết của việc nghiên cứu đề tài này, đồng thờicũng nêu lên mục tiêu, các phương pháp nghiên cứu và hướng tiếp cận Cuối cùng lànêu lên tổng quan về nội dung của từng chương trong quyển luận văn này

Chương 2: Cơ sở lý thuyết:

Trình bày các khái niệm chính trong đề tài như: khái niệm về máy học và những thuậttoán lien quan; mô tả về thuật toán dò tìm khuôn mặt (face detector algorithm);kỹthuật rút trich đặc trưng với PCA huấn luyện khuôn mặt với Eigenfaces; kỹ thuậtnhận dạng khuôn mặt với PCA; mô hình truyền thông điệp MPI; kỹ thuật song songquá bài toán nhận dạng khuôn mặt; cách thức triển khai ứng dụng song song trên môitrường cụm máy tính Đồng thời còn đưa ra một cái nhìn tổng quát về hệ thống nhận

Trang 31

dạng khuôn mặt thời gian thực với xử lý song song trên lưới điện toán hoạt động nhưthế nào.

Chương 3: Nội dung và kết quả nghiên cứu:

Trong chương này chúng em tập trung vào mô tả dữ liệu và đi chi tiết vào từng phân

hệ như: mô tả bài toán, thiết kế chương trình, giải thuật ứng dụng, các cải tiến

Chương 4: Kết quả và hướng phát triển:

Tổng kết những kết quả đạt được và những mặt hạn chế của đề tài, đồng thời địnhhướng phát triển hệ thống trong tương lai

Chương II

Trang 32

Về cơ bản, có thể chia ra làm 2 kỹ thuật nhận dạng sinh trắc học khác nhau:

Dựa trên hành vi của con người: nhận dạng giọng nói (voice), chữ viết

(handwritting), chữ ký (written signature)

Dựa trên đặc điểm cơ thể: nhận dạng khuôn mặt (face), mống mắt (iris), võng mạc

(retina), vân tay (Fingerprint), tĩnh mạch lòng bàn tay (Hand vein), dấu chỉ tay(Hand Geometry), trình tự ADN

Trang 33

Hệ thống sinh trắc học là một hệ thống được thiết kế để xác minh và nhận dạng mộtngười dựa vào những đặc trưng sinh học duy nhất của người đó.

1.2 Hệ thống nhận dạng khuôn mặt

Hệ thống nhận dạng khuôn mặt là một hệ thống được thiết kế để tìm thông tin của mộtngười Kỹ thuật nhận dạng là kiểm tra sự phù hợp dựa trên phép so sánh một-nhiều cụthể là tìm ra một người là ai trong số những người đã được lưu trữ trong hệ thống dựavào thông tin khuôn mặt

Hệ thống xác minh hay xác thực khuôn mặt là một hệ thống được thiết kế để xác minhthông tin của một người Kỹ thuật xác minh là kiểm tra sự phù hợp trên phép so sánhmột-một cụ thể là đối chiếu thông tin mới nhận về một người với thông tin đã lưu trữ

về người này có khớp hay không dựa trên thông tin khuôn mặt

Sau đây, chúng em xin đưa ra 2 trường hợp xác minh và nhận dạng để minh chứng chotính hiệu quả và phạm vi ứng dụng của nó (Hình 3-1)

Hình 2-2: Hệ thống nhận dạng và xác minh khuôn mặt

Xác minh có nghĩa là một hình ảnh sẽ được đối chiếu với chỉ 1 hình ảnh trong cơ sở

dữ liệu (tỉ lệ 1:1) Ví dụ như, một hình ảnh của tổng thống Bush sẽ được đối chiếu vớimột hình ảnh trong cơ sở dữ liệu của nhà trắng để xác minh xem đó có phải là Bush.Còn nhận dạng có nghĩa là một hình ảnh sẽ được đối chiếu với tất cả các hình ảnhtrong cơ sở dữ liệu để tìm ra đối tượng (tỉ lệ 1:N) Ví dụ như, hình ảnh của trùm khủng

bố Bin Laden sẽ được đối chiếu với tất cả tập ảnh trong cơ sở dữ liệu tội phạm khủng

bố để tìm ra Bin Laden

1.3 Hệ thống nhận dạng tĩnh-tĩnh, tĩnh-động, động-động

1.3.1 Hệ thống nhận dạng tĩnh-tĩnh

Hệ thống nhận dạng tĩnh-tĩnh là hệ thống được thiết kế bằng cách sử dụng các ảnh tĩnhlàm mẫu để nhận dạng khuôn mặt người trong ảnh tĩnh Kỹ thuật nhận dạng này kiểm

Trang 34

tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nói chung ởtrên.

1.3.2 Hệ thống nhận dạng tĩnh-động

Hệ thống nhận dạng tĩnh-động là hệ thống được thiết kế bằng cách sử dụng các ảnhtĩnh làm mẫu để nhận dạng khuôn mặt người trong ảnh động Kỹ thuật nhận dạng nàykiểm tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nóichung ở trên Song ảnh cần kiểm tra là các khung ảnh động trong các đoạn phim từ cácmáy camera Kỹ thuật này dĩ nhiên không thể chính xác vì chuyển động của mặt ngườitrong đoạn phim khá phức tạp, song thể hiện trong ảnh tĩnh để huấn luyện lại ít

1.3.3 Hệ thống nhận dạng động-động

Hệ thống nhận dạng động-động là hệ thống được thiết kế bằng cách sử dụng các ảnhđộng làm mẫu để nhận dạng khuôn mặt người trong ảnh động Kỹ thuật nhận dạng nàykiểm tra sự phù hợp dựa trên phép so sánh một-nhiều như hệ thống nhận dạng nóichung ở trên Tuy nhiên kỹ thuật này chính xác hơn kỹ thuật sử dụng trong hệ thốngnhận dạng tĩnh-động do sự chuyển động phức tạp của khuôn mặt người củng đượchuấn luyện bằng các khung ảnh động

2 Tổng quan về máy học

Máy học (Marchine Learning) là việc biến đổi dữ liệu thô mà chúng ta gọi là huấnluyện như : hình ảnh , âm thanh, nhiệt độ… sang dạng thông tin cơ bản Dữ liệu huấnluyện phải có các đặc trưng Sau khi huấn luyện dữ liệu, máy tính có thể trả lời các câuhỏi về dữ liệu như: Xác định được đâu là khuôn mặt người trong bức ảnh hay video, sosánh sự khác biệt của dữ liệu ảnh này với dữ liệu ảnh khác Máy tính làm những việc

ấy thông qua các nguyên tắc và các phương pháp Thật may mắn với OpenCV chúng

ta được hổ trợ các phương pháp và giải thuật huấn luyện rất mạnh

Mahalanobis

Phép đo đa chiều Đo lường khoảng cách không gian dữliệu bằng chia hiệp phương sai của dữ liệu Nếu là matrận hiệp phương sai thì sữ dụng phép đo khoảng cáchEuclidean Tổng quát, ta có cách tính cho ma trận Hiệpphương sai bởi paramter sau trong thư viện OpenCV :cvCalcCovarMatrix

Trang 35

được phát minh bởi Steinhaus K-means là giải thuậtnằm trong cxcore của OpenCV mà khơng cĩ ở MLlibrary Bởi vì, K-means được phát triển từ rất sớm

Normal/Nạve Bayes

classiier

Phương pháp xác định các thành phần độc lập Tuynhiên, kết quả đạt được lại rất cao Thực hiện chủ yếuqua hai phương thức chính: Huấn luyện (Train) và dựđốn (predict) trong parameter:CvNormalBayesClassifier

Decision trees

Là phương pháp phân lớp dữ liệu rất nhanh, chia nhỏ dữliệu theo mơ hình cây – cây quyết định Việc tìm kiếmthơng qua thủ tục tìm kiếm đệ quy cho cả 2 nhánh trái vàphải của cây

Boosting

Xây dựng các bộ dị tìm đễ tạo ra các bộ phân loại mạnh

từ sự kết hợp tuyến tính của bộ phân loại yếu hơn , mỗi

bộ phân loại được tao ra bao gồm các đặc trưng Các bộ

dị tìm Boosting như : Adaboost, LPBoost, TotalBoost ,BrownBoost, MadaBoost, Any Boost Được dùng phổbiến nhất là Adaboost vì kết quả tìm kiếm đạt được là rấtnhanh

Random Trees

Một rừng cây quyết định bao gồm nhiều cây quyết định.Mổi cây quyết định xây dựng với tối đa các chiều sâu.Trong thời gian học, mỗi nút của cây quyết định cĩ thểtách biến từ tập hợp ngẩu nhiên của dữ liệu, mỗi cây cĩ

1 giá trị trọng lượng (weighted) Thuật tốn này rất hiệuquả bởi việc tính hồi quy các giá trị trung bình của mỗicây.Cấu trúc parameter của nĩ CvRTParams trong thưviện OpenCV

Trang 36

Face detector /

Haar classiier

Giải thuật này được xây dựng cho các ứng dụng tìmkiếm đối tượng một cách thông minh và nhanh chóng.Các đặc trưng khuôn mặt người đã được quy định sẳntrong thư viện OpenCV qua các file xml và áp dụng lýthuyết Viola-Jones Classifier đễ phân loại dữ liệu .Phương pháp này củng được chúng tôi triển khai trongnội dung nghiên cứu

Expectation

maximization (EM)

là một kỹ thuật phân cụm phổ biến Nóliên quan đến việc lặp đi lặp lại nhiều đến việc lấy nhiềukhả năng (“trung bình” hoặc "dự đoán") đoán được

mô hình hiện tại của bạn và sau đó điều chỉnh mô hình

đó để tối đa hóa cơ hội Trong OpenCV, thuật toán EMđược thực hiện trong CvEM {} lớp và đễ chọn một hỗnhợp của Gaussians vào dữ liệu Bởi vì người sử dụngcung cấp các thông số của Gaussians, thuật toán tương

Là một mạng lưới đa phân lớp, phương pháp phân lớp

dữ liệu rất mạnh, đặc biệt là trong nhận dạng chữ viết.Tuy nhiên , đây củng là phương pháp khá chậm vì nó tối

Trang 37

(MLP) giữa các nút phân lớp trong các tầng Trong thư viện

OpenCV , được triển khai trong lớp CvANN_MLP{}

và ví dụ phần nhận dạng chữ viết qua file :

…/opencv/samples/c/letter_recog.cpp

Machine

(SVM)

Thuật toán máy hỗ trợ vector(SVM) thường hiệu quả

nhất trong các loại dữ liệu có số chiều lớn (ảnh của dữliệu biểu diễn gene,protein, tế bào),với ý tường làchuyển tập mẫu từ không gian biểu diễn Rn của chúngsang một không gian Rd có số chiều lớn hơn Trongkhông gian Rd, tìm một siêu phẳng tối ưu để phân hoạchtập mẫu này dựa trên phân lớp của chúng, cũng có nghĩa

là tìm ra miền phân bố của từng lớp trong không gian Rn

để từ đó xác định được phân lớp của một mẫu cần nhậndạng Kỹ thuật này được thực hiện trong lớp CvSVM{}của thư viện OpenCV

Qua quá trình nghiên cứu và tìm hiểu chúng em quyết định chọn giải thuật phát hiệnkhuôn mặt (Face detector /Haar classiier) với nhiều ưu điểm nổi trội là thông minh,nhanh chóng, mặt khác làm giảm tỉ lệ lỗi trong quá trình phát hiện khuôn mặt

3 Giải thuật phát hiện khuôn mặt (FACE DETECTOR ALGORITHM)

3.1 Mô tả giải thuật

Thuật toán nhận diện khuôn mặt này được đề xuất bởi Viola và Jones được sử dụnglàm cơ sở thiết kế của chúng tôi Thuật toán áp dụng việc tìm kiếm khuôn mặt ngườithông qua các đặc trưng Haar-like.Mỗi đối tượng trên hình ảnh sẽ được kiểm tra vàquét qua và cho ra một hình chữ nhật chứa khuôn mặt ứng viên trên đó Việc quét thuđược nhiều đặc trưng Haar-like khác nhau, mỗi Haar-like lại được phân lớp thànhnhiều lớp Các lớp nảy sẽ được đối chiếu với giá trị đặc trưng là khuôn mặt ngườiđược quy định qua các file xml của thư viện OpenCV Cụ thể như sau :

Hình chữ nhật với các tính năng đơn giản, được gọi là đặc trưng Haar-like

Một hình ảnh tích hợp được kiểm tra các đặc trưng nhanh chóng

Sử dụng phương pháp dò tìm khuôn mặt nhanh AdaBoost

Phân loại cascaded để kết hợp với các đặc trưng

3.2 Các định nghĩa liên quan

Trang 38

3.2.1 Hình ảnh tích hợp( Integral Image)

Đây là khái niệm chỉ tổng giá trị pixel của hình ảnh gốc, giá trị mà tại vị trí (x,y) bất

kỳ nào bằng tồng số pixel của phẩn hình chử nhật bên trên và bên trái của điếm (x,y).Cấu trúc của hình ảnh tích hợp như sau (Hình 1):

Hình 2-3 : Hình ảnh tích hợp

Các khu vực bóng mờ đại diện cho tổng các điểm ảnh lên đến vị trí (x, y) của hình ảnh

Nó cho thấy một hình ảnh 3 × 3 và hình ảnh tích pixel đại diện

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

Một phương pháp rút trích các đặc trưng thích hợp cho Adaboost là phép biến đổiHaar-like Phép biến đổi Haar-like được bằng cách tính độ trên lệch giữa các miềnhình học có ba loại đặc trưng hình học sau :

Trang 39

Hình 2-5 : Các loại đặc trưng mở rộng của Haar-like cơ sở

3.2.3 Phân lớp đặc trưng (Haar Feature Classifier)

Việc phân lớp các đặc trưng Haar-like sữ dụng các hình chữ nhật riêng lẽ để tính cácgiá trị đặc trưng Thực hiện công việc này bắng cách tính diện tích cùa các hình chữnhật và kết quả được cộng lại với nhau Một vài Haar-like được kết hợp với các đặctrưng được quy định sẵn đễ đối chiếu

Hình 2-6 : Các khu vực màu đen tương ứng với đặc trưng haar-like

3.2.4 Phân loại (Cascade)

Với lý thuyết phát hiện khuôn mặt của Viola and Jones, việc loại bỏ các đối tượngkhông phù hợp được thực hiện nhanh chóng qua các giai đoạn (Hình 4) Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặc trưngHaar-like theo mô hình phân tầng (cascade) như sau:

Trang 40

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

Trong đó, hk là các bộ phân loại yếu, được biểu diễn như sau:

x: cửa sổ con cần xét

Ok: ngưỡng (O = teta)

fk: giá trị của đặc trưng Haar-like

pk: hệ số quyết định chiều của phương trình

3.3 Phương pháp Adaboost

3.3.1 Giới thiệu

AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận boostingđược Freund và Schapire đưa ra vào năm 1995 Adaboost cũng hoạt động trên nguyêntắc kết hợp tuyến tính các weak classifiers để hình thành một strong classifier

Là một cải tiến của tiếp cận boosting, AdaBoost sử dụng thêm khái niệm trọng số(weight) để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi

Ngày đăng: 25/10/2018, 13:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
(1) Face Recognition Using Eigenfaces, Matthew A. Turk and Alex P. Pentland, MIT Vision and Modeling Lab, CVPR ’91 Sách, tạp chí
Tiêu đề: Face Recognition Using Eigenfaces
(13) Introduction to Face Detection and Face Recognition (http://www.shervinemami.co.cc/faceRecognition.html) Link
(14) Trang web : http://www.face-rec.org/algorithms/ nghiên cứu các giải thuật nhận dạng khuôn mặt Link
(17) Trang nghiên cứu và chia sẻ IEEE: http://www.ieev.org/2010/03/adaboost-haar-features-face-detection.html Link
(2) Eigenface for Recognition(Matthew Turk and Alex Pantland) (3) Tồng quan về nhận dạng mặt người (Phạm thế Bảo) Khác
(5) Nghiên cưú và xây dựng hệ thống nhận dạng mặt người dựa trên FSVM và Adaboost của Lu Boun Vinh & Hoàng Phương Anh Khác
(7) Tham khảo từ nghiên cứu Support Vector Machines as a Technique for Solvency Analysis (by Laura Auria 1 and Rouslan A. Moro2) Khác
(8) Block LDA for Face Recognition (by Vo Dinh Minh Nhat, and Sungyoung Lee) Khác
(9) Tổng quan nhận dạng khuôn mặt người-Phạm Thế Bảo.(10) PAPER Khác
(11) Recognizing Faces with PCA and ICA (B. Draper, K. Baek, M.S. Bartlett and R. Beveridge) Khác
(12) A statistical Assessment of subject factors in the PCA recognition of Human faces (Geof H. Givens J. Ross Beveridge, Bruce A. Draper and David Bolme).WEBSITE Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w