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

Đồ án tốt nghiệp nghiên cứu về nhận dạng mặt người bằng thiết bị di dộng

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

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Đậu Mạnh Quang

NGHIÊN CỨU VỀ NHẬN DẠNG MẶT NGƯỜI
BẰNG THIẾT BỊ DI DỘNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin

HÀ NỘI – 2016


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Đậu Mạnh Quang

NGHIÊN CỨU VỀ NHẬN DẠNG MẶT NGƯỜI
BẰNG THIẾT BỊ DI DỘNG

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: PGS.TS Nguyễn Việt Hà

HÀ NỘI – 2016


VIETNAM NATIONAL UNIVERSITY


UNIVERSITY OF ENGINEERING AND TECHNOLOGY

Dau Manh Quang

A STUDY ON FACE RECOGNITION
ON MOBILE DEVICES

A THESIS PRESENTED FOR THE DEGREE BACHELOR
Department: Information Technology

Supervisors: Assoc. Prof. Nguyen Viet Ha

HA NOI – 2016


Lời cảm ơn
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành và sâu sắc đến PGS.TS.Nguyễn
Việt Hà và ThS.Vũ Quang Dũng đã tận tình hướng dẫn, định hướng và động viên tôi
trong quá trình thực hiện đề tài khóa luận tốt nghiệp này.
Tôi cũng xin gửi lời cảm ơn tới các anh chị, các bạn và các em trong phòng thí
nghiệm Toshiba đã luôn nhiệt tình giúp đỡ, đóng góp ý kiến giúp tôi có thể hoàn thành
đề tài một cách tốt nhất.
Tôi xin cảm ơn các thầy cô trong khoa Công nghệ thông tin – Trường Đại học
Công nghệ đã tận tình giảng dạy, truyền đạt cho tôi những kiến thức quý báu trong
những bốn năm học vừa qua, giúp cho tôi có một nền tảng kiến thức để thực hiện tốt
khóa luận này.
Lời cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè - người
luôn luôn quan tâm, chăm sóc, luôn ở bên tôi những lúc khó khăn nhất, là chỗ dựa tinh
thần vững chắc cho tôi cả trong học tập và cuộc sống.
Tôi xin chân thành cảm ơn !


Sinh viên

Đậu Mạnh Quang

i


Lời cam đoan
Tôi xin cam đoan các kết quả trình bày trong khóa luận này do tôi thực hiện dưới
sự hướng dẫn của PGS.TS. Nguyễn Việt Hà.
Tất cả các tham khảo và trích dẫn từ những nghiên cứu liên quan đều được trình
bày rõ ràng, chi tiết trong danh mục tài liệu tham khảo của khóa luận. Khóa luận
không sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về mặt
tài liệu tham khảo.
Các các kết quả đánh giá, thống kê được trình bày trong khóa luận này đều được
lấy từ kết quả thực nghiệm do tôi thực hiện.

Sinh viên

Đậu Mạnh Quang

ii


Tóm tắt
Nhận dạng khuôn mặt (Face Recognition) từ lâu là một lĩnh vực nghiên cứu quan
trọng của Thị giác máy tính (Computer Vision), với nhiều ứng dụng đã được áp dụng
trong thực tế.
Đồng thời trong những năm gần đây, điện thoại di động dần trở thành một phần

không thể thiếu trong cuộc sống con người hiện đại, đồng thời xu hướng phát triển các
ứng dụng trên các nền tảng di động đang ngày càng phổ biến. Hiện nay, các thế hệ
điện thoại thông minh mới có tốc độ xử lý và khả năng lưu trữ ngày càng lớn, Nhận
dạng khuôn mặt trên thiết bị di động vì thế có tiềm năng để phát triển để trợ giúp con
người trong nhiều tác vụ khác nhau.
Khóa luận này tập trung nghiên cứu các lý thuyết về phương pháp Eigenfaces và
Mẫu nhị phận địa phương sử dụng cho bài toán Nhận dạng mặt người trên ảnh tĩnh và
đưa ra mô hình cho hệ thống Nhận dạng mặt người trên thiết bị di động. Từ đó chúng
tôi đã xây dựng một ứng dụng thực tế Nhận dạng mặt người đơn giản trên thiết bị di
động. Khóa luận cũng trình bày kết quả thực nghiệm trên cơ sở dữ liệu ORL và
Face95, với độ chính xác tương ứng đạt khoảng 93.75% và 89.33% với phương pháp
Eigenfaces và 97.25% và 93.56% cho phương pháp sử dụng Mẫu nhị phân địa
phương.
Ứng dụng Nhận dạng xây dựng trên nền tảng Android cơ bản đáp ứng được về
cơ các yêu cầu bài toán đặt ra trong điều kiện (hướng nhìn, ánh sáng) có kiểm soát.
Tuy nhiên, để ứng dụng hoạt động được trong thực tế thì cần thêm nhiều cải tiến về
thuật toán nhận dạng, tiền xử lý ảnh cũng như cài đặt.
Từ khóa: Nhận dạng khuôn mặt, Thiết bị di động, Eigenfaces, Mẫu nhị phân địa
phương.

iii


Abstract
Face Recognition has long been an active research field of Computer Vision,
with many applications in practice.
Over the past few years, mobile devices, especially smartphones have been
growing rapidly in popularity. Smartphones are becoming an indispensable part of our
daily lives, and there has been an increasing trend in the development of mobile
applications. At the present time, new generations of smartphones are more powerful

with a larger storage capacity and thus facial recognition on mobile devices has the
potential to develop to assist people in numerous daily tasks.
This thesis focuses on Eigenfaces-based and LBP-based Face Recognition
algorithm and presents a model for Face Recognition System on mobile platforms.
After that, a simple face recognition application on smartphones has been built. The
thesis also presents experimental results on the ORL and Face95 databases. The
recognition rates were approximately 93.75% and 89.33% for Eigenfaces-based
method and 97.25% và 93.56% for LBP-based method, respectively.
Basically, the Android application meets the predefined requirements in
controlled conditions. Nevertheless, in order to make it become a real-life application,
more improvements in algorithms, image-preprocessing, as well as implementation
need to be made.

Keywords: Face Recognition, Smartphones, Eigenfaces, Local Binary Pattern.

iv


Mục lục
Lời cảm ơn .............................................................................................................. i
Lời cam đoan ......................................................................................................... ii
Tóm tắt .................................................................................................................. iii
Abstract ................................................................................................................. iv
Danh sách thuật ngữ và từ viết tắt ....................................................................... vii
Danh sách hình vẽ ................................................................................................. ix
Danh sách bảng biểu ............................................................................................. xi
Chương 1: Mở đầu ..................................................................................................1
Chương 2: Cơ sở lý thuyết ......................................................................................3
2.1 Tổng quan về nhận dạng mặt người .............................................................3
2.1.1 Lĩnh vực nghiên cứu về nhận dạng mặt người ......................................3

2.1.2 Định nghĩa bài toán nhận dạng mặt người ............................................3
2.2 Các hướng tiếp cận chính .............................................................................4
2.2.1 Hướng tiếp cận dựa trên đặc trưng khuôn mặt ......................................4
2.2.2 Hướng tiếp cận tổng thể ........................................................................5
2.3 Các ứng dụng của nhận dạng mặt người ......................................................7
2.4 Những thách thức của bài toán nhận dạng mặt người ..................................8
2.5 Đặc điểm nhận dạng khuôn mặt trên thiết bị di động ..................................9
2.6 Một số kiến thức liên quan ...........................................................................9
2.6.1 Phân tích thành phần chính .................................................................10
2.6.2 Mẫu nhị phân địa phương ...................................................................12
2.6.3 Histogram ............................................................................................15
2.6.4 Độ đo khoảng cách Euclid và Mahalanoblis .......................................17
2.6.5 Độ đo khoảng cách Chi-squared .........................................................17
Chương 3: Nhận dạng mặt người trên thiết bị di động .........................................18
3.1 Bài toán .......................................................................................................18
3.2 Hệ thống nhận dạng mặt người trên thiết bị di động .................................18

v


3.3 Phương pháp thực hiện ...............................................................................20
3.3.1 Phát hiện khuôn mặt ............................................................................20
3.3.2 Tiền xử lý ảnh .....................................................................................21
3.3.3 Trích chọn đặc trưng ...........................................................................27
3.3.4 Đối sánh...............................................................................................31
Chương 4: Thực nghiệm .......................................................................................33
4.1 Môi trường thực nghiệm .............................................................................33
4.1.1 Cấu hình máy ......................................................................................33
4.1.2 Công cụ và thư viện ............................................................................33
4.2 Cài đặt ứng dụng.........................................................................................34

4.2.1 Phân tích yêu cầu.................................................................................34
4.2.2 Thiết kế ................................................................................................36
4.2.3 Giao diện ứng dụng .............................................................................41
4.3 Cơ sở dữ liệu...............................................................................................43
4.3.1 Cơ sở dữ liệu ORL ..............................................................................44
4.3.2. Cơ sở dữ liệu Face95 ..........................................................................44
4.3.3 Cơ sở dữ liệu tự xây dựng ...................................................................45
4.4 Cách thức tiến hành thực nghiệm ...............................................................46
`4.5 Kết quả thực nghiệm .................................................................................47
4.6 Đánh giá kết quả thực nghiệm ....................................................................54
Chương 5: Kết luận ...............................................................................................57
Tài liệu tham khảo ................................................................................................59

vi


Danh sách thuật ngữ và từ viết tắt
STT

Thuật ngữ tiếng Anh – Từ viết tắt

Tiếng Việt

1

Face Recognition

Nhận dạng mặt người

2


Face Detection

Phát hiện khuôn mặt

3

Image Processing

Xử lý ảnh

4

Computer Vision – CV

Thị giác máy tính

5

Biometrics

Sinh trắc học

6

Iris recognition

Nhận dạng mống mắt

7


Fingerprint recognition

Nhận dạng vân tay

8

Principal Component Analysis –

Phân tích thành phần chính

PCA
9

Principal component – PC

Thành phần chính

10

Verification

Xác thực, xác minh

11

Identification

Nhận dạng


12

Feature-based Approach

Tiếp cận hướng đặc trưng

13

Holistic Approach

Tiếp cận tổng thể

14

Fiducial Point

Điểm cơ sở, điểm tiêu chuẩn

15

Independent component analysis –
ICA

Phân tích thành phần độc lập

16

Auto Tagging

Gán nhãn tự động


17

Histogram

Biểu đồ cường độ

vii


18

Preprocessing

Tiền xử lý

19

Feature Extraction and Selection

Trích chọn đặc trưng

20

Matching

Đối sánh

21


Histogram Equalization

Cân bằng mức xám

22

Local Binary Pattern - LBP

Mẫu nhị phân địa phương

23

Extended LBP

Mẫu nhị phân địa phương mở rộng

24

Low Pass Filter - LPF

Bộ lọc thông thấp

25

Smoothing

Làm mịn

26


Geometry Normalization

Chuẩn hóa hình học

27

Masking

Mặt nạ

28

Eigenvector

Vector riêng

29

Bilinear interpolation

Nội suy song tuyến tính

viii


Danh sách hình vẽ
Hình 2.1 Ví dụ về xây dựng các đặc trưng hình học (màu trắng) [2] .....................4
Hình 2.2 Mô hình hệ thống Nhận dạng mặt người DeepFace [26] ........................6
Hình 2.3 Biến đổi tuyến tính từ không gian N chiều sang không gian K chiều ...10
Hình 2.4 Biểu diễn trong không gian ban đầu ......................................................11

Hình 2.5 Biểu diễn trong không gian mới ............................................................11
Hình 2.6 Minh họa trong không gian 3 chiều [27] ...............................................12
Hình 2.7 Mẫu nhị phân địa phương ......................................................................13
Hình 2.8 Kết quả thu được sau biểu diễn LBP .....................................................13
Hình 2.9 Những đặc trưng được biểu diễn bởi mẫu nhị phân đại phương ...........14
Hình 2.10 Minh họa công thức tính tọa độ điểm lân cận......................................14
Hình 2.11 Minh họa công thức nội suy song tuyến tính .......................................15
Hình 2.12 Biểu diễn LBP mở rộng .......................................................................15
Hình 2.13 Ảnh có độ sáng cao – thấp và Histogram tương ứng ...........................16
Hình 2.14 Ảnh có độ tương phản cao – thấp và Histogram tương ứng ................16
Hình 3.1 Mô hình hệ thống nhận dạng mặt người ................................................19
Hình 3.2 Ví dụ về Phát hiện khuôn mặt ................................................................20
Hình 3.3 Quá trình chuẩn hóa cường độ điểm ảnh ...............................................21
Hình 3.4 Ví dụ về Histogram Equalization...........................................................22
Hình 3.5 Kết quả thu được sau khi áp dụng bộ lọc Bilateral ................................23
Hình 3.6 Ảnh khuôn mặt được phát hiện ..............................................................23
Hình 3.7 Quá trình chuẩn hóa hình học ................................................................24
Hình 3.8 Minh họa góc nghiêng giữa 2 mắt .........................................................25
Hình 3.9 Kết quả phép xoay ảnh...........................................................................25
Hình 3.10 Ảnh sau khi cropping ...........................................................................26
Hình 3.11 Ví dụ về mặt nạ ....................................................................................26
Hình 3.12 Kết quả áp dụng mặt nạ .......................................................................27
Hình 3.13 Kết quả cuối cùng của quá trình tiền xử lý ảnh. ..................................27
Hình 3.14 Minh họa trích chọn đặc trưng bằng LBP............................................30

ix


Hình 3.15 Biểu diễn LBP của ảnh trong trường hợp ánh sáng thay đổi đơn điệu
tăng (hình bên trái) hoặc giảm (hình bên phải). ............................................................31

Hình 4.1 Các chức năng chính của ứng dụng .......................................................35
Hình 4.2 Biểu đồ ca sử dụng .................................................................................37
Hình 4.3 Tổng quan kiến trúc hệ thống ................................................................38
Hình 4.4 Mô hình cơ sở dữ liệu ............................................................................39
Hình 4.5 Các package của chương trình ...............................................................40
Hình 4.6 Ảnh chụp màn hình Giao diện chính của chương trình .........................41
Hình 4.7 Ảnh chụp màn hình hiển thị kết quả Nhận dạng ...................................42
Hình 4.8 Ảnh chụp màn hình thêm người vào cơ sở dữ liệu ................................43
Hình 4.9 Một số ví dụ lấy từ cơ sở dữ liệu ORL ..................................................44
Hình 4.10 Một số ví dụ lấy từ cơ sở dữ liệu Face95.............................................45
Hình 4.11 Một số ví dụ lấy từ cơ sở dữ liệu tự xây dựng .....................................46
Hình 4.12: Kết quả trực quan khi thay đổi số Eigenfaces và thay đổi công thức
tính khoảng cách ............................................................................................................48
Hình 4.13: Kết quả trực quan của thực nghiệm 1b. ..............................................49
Hình 4.14: Kết quả trực quan của thực nghiệm 2. ................................................51

x


Danh sách bảng biểu
Bảng 4.1 Cấu hình phần cứng ...............................................................................33
Bảng 4.2 Danh sách công cụ và thư viện sử dụng ................................................34
Bảng 4.3 Mô tả các chức năng chính của ứng dụng .............................................36
Bảng 4.4 Bảng Person ...........................................................................................39
Bảng 4.5 Bảng Image ............................................................................................39
Bảng 4.6 Kết quả khi thay đổi số lượng Eigenfaces và so sánh độ chính xác khi
áp dụng 2 công thức tính khoảng cách Euclid và Mahalanobis ....................................47
Bảng 4.7 Kết quả thực nghiệm 1b ........................................................................49
Bảng 4.8 Kết quả khi thay đổi kích thước tập dữ liệu huấn luyện .......................50
Bảng 4.9 Kết quả so sánh 2 phương pháp Eigenfaces và Mẫu nhị phân địa

phương ...........................................................................................................................52
Bảng 4.10 Kết quả thực nghiệm 4 ........................................................................53
Bảng 4.11 Kết quả của thực nghiệm 5 ..................................................................54

xi


Chương 1: Mở đầu
Trong những năm gần đây, các hệ thống sinh trắc học như nhận dạng vân tay
(Fingerprint recognition) hay nhận dạng mống mắt (Iris recognition) đã được áp dụng
rộng rãi trong cuộc sống, với độ tin cậy cao [20]. Một ví dụ cụ thể là từ năm 2011,
Google đã áp dụng Hệ thống xác minh mống mắt để kiểm soát truy cập tại các trung
tâm dữ liệu của tập đoàn này [21].
Nhận dạng khuôn mặt (Face Recognition) là một hướng nghiên cứu quan trọng
của ngành sinh trắc học (Biometrics) và Thị giác máy tính (Computer Vision). Cho
đến nay vẫn còn nhiều thách thức và vấn đề cần giải quyết trong bài toán Nhận dạng
khuôn mặt, làm hạn chế khả năng triển khai của hệ thống Nhận dạng mặt người trong
thực tế. Vì vậy, lĩnh vực nghiên cứu Nhận dạng mặt người vẫn đang nhận được sự
quan tâm lớn của các nhà khoa học. Nhận dạng Khuôn mặt có có một ưu điểm đáng kể
so với các phương pháp sinh trắc học khác là ảnh có thể được thu nhận từ xa cũng như
không cần sự đồng ý cộng tác từ đối tượng.
Ngày nay điện thoại di động đang phát triển nhanh chóng và đang dần trở thành
một phần không thể thiếu trong cuộc sống con người hiện đại. Theo thống kê của The
Statistics Portal, năm 2015 trên thế giới có khoảng 1,85 tỉ người sử dụng điện thoại
thông minh [22]. Ở Việt Nam cũng có tới 40% dân số sử dụng điện thoại thông minh
[23]. Đồng thời các thế hệ điện thoại thông minh mới có tốc độ xử lý và khả năng lưu
trữ ngày càng lớn. Nhận dạng khuôn mặt trên thiết bị di động vì thế có tiềm năng phát
triển để trợ giúp con người trong nhiều tác vụ khác nhau.
Một vấn đề thường ngày mà ta có thể gặp phải đó là khó khăn trong việc ghi nhớ
tên và thông tin cá nhân của người khác, đặc biệt là với những người mới gặp một vài

lần. Một ví dụ đơn giản là trong một cuộc họp với đối tác kinh doanh, nhân viên công
ty A đã gặp đại diện công ty B một vài lần, nhưng không thể nhớ chính xác tên và
thông tin người này. Trong giao tiếp những thông tin cơ bản này thực sự cần thiết
nhưng đôi khi việc trực tiếp hỏi lại là không phù hợp. Trong trường hợp này, một ứng
dụng nhận dạng mặt người cho phép đưa ra định danh và thông tin cá nhân từ ảnh đầu
vào (thu nhận bằng camera của thiết bị di động) sẽ giúp ích rất nhiều cho chúng ta.
Khóa luận này trình bày những nghiên cứu về bài toán nhận dạng mặt người,
trong đó tập trung xây dựng hệ thống nhận dạng mặt người trên thiết bị di động dựa
trên phương pháp Eigenfaces [4] và Mẫu nhị phân địa phương (Local Binary Pattern)
[8].
1


Các phần còn lại của khóa luận có bố cục như sau:
Chương 2 trình bày khái quát về cơ sở lý thuyết, bao gồm các khái niệm và kiến
thức tổng quan cần thiết để xây dựng hệ thống nhận dạng mặt người.
Chương 3 trình bày chi tiết phương pháp giải quyết bài toán Nhận dạng mặt
người trên thiết bị di động xây dựng dựa trên 2 hướng tiếp cận Eigenfaces và mẫu nhị
phân địa phương.
Chương 4 mô tả chi tiết thực nghiệm bao gồm xây dựng và cài đặt ứng dụng
Nhận dạng mặt người trên nền tảng Android. Chương này cũng trình bày kết quả thực
nghiệm bao gồm các đánh giá và so sánh về độ chính xác và thời gian thực hiện trên
các bộ dữ liệu chuẩn và dữ liệu tự xây dựng.
Chương 5 tóm lược những kết quả đã đạt được trong khóa luận, những điểm hạn
chế và đưa ra định hướng phát triển trong tương lai.

2


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

Chương này sẽ trình bày tổng quan về Nhận dạng mặt người bao gồm các hướng
tiếp cận chính, ứng dụng của Nhận dạng mặt người cũng như các khó khăn và thách
thức. Một số lý thuyết liên quan về xử lý ảnh, độ đo khoảng cách và thuật toán PCA và
Mẫu nhị phân địa phương cũng sẽ được mô tả ngắn gọn trong chương này.

2.1 Tổng quan về nhận dạng mặt người
2.1.1 Lĩnh vực nghiên cứu về nhận dạng mặt người
Trong nhiều năm qua đã có rất nhiều công trình nghiên cứu về bài toán nhận
dạng mặt người. Từ những năm 1960, các hệ thống nhận dạng mặt người tự động đã
bắt đầu được nghiên cứu tuy nhiên các kết quả đặt được còn nhiều hạn chế. Vào năm
1991, Turk and Pentland đề xuất áp dụng thuật toán phân tích thành phần chính (PCA
– Principal Component Analysis) [4], mở đầu cho sự phát triển mạnh mẽ của lĩnh vực
nghiên cứu về nhận dạng mặt người.
Trong quá trình phát triển của nghiên cứu về nhận dạng khuôn mặt, đã có nhiều
phương pháp được đề xuất, với rất nhiều giải thuật và các đề xuất cải tiến khác nhau
để giải quyết bài toán này.
Trong đó, người ta có thể chia ra 3 hướng nghiên cứu chính dựa trên nguồn thu
nhận ảnh:
 Nhận dạng khuôn mặt trong ảnh tĩnh.
 Nhận dạng khuôn mặt trong video.
 Nhận dạng khuôn mặt từ các nguồn khác (cảm biến 3D, ảnh hồng ngoại).
Trong khóa luận này tập trung chủ yếu vào bài toán nhận dạng khuôn mặt trong
ảnh tĩnh 2D, là bài toán thường gặp nhất trong nhận dạng mặt người.

2.1.2 Định nghĩa bài toán nhận dạng mặt người
Bài toán nhận dạng mặt người có thể được phát biểu như sau: cho ảnh đầu vào
chứa mặt người và cơ sở dữ liệu mặt người có sẵn. Ta cần xác thực (bài toán xác thực)
hoặc tìm ra định danh (bài toán nhận diện) của người đó từ cơ sở dữ liệu.
Bài toán xác thực danh tính (Verification) là bài toán đối sánh 1-1, tức là khẳng
định ảnh đối tượng cần kiểm tra và ảnh mẫu có phải của cùng một người hay không.


3


Bài toán nhận diện (Identification) là bài toán đối sánh 1-N, trong đó ta cần xác
định danh tính của 1 người từ cơ sở dữ liệu có sẵn.

2.2 Các hướng tiếp cận chính
Bài toán nhận dạng khuôn mặt trong ảnh tĩnh 2D lại được xử lý theo các cách
tiếp cận khác nhau bao gồm tiếp cận dựa trên đặc trưng khuôn mặt (Feature-based) và
tiếp cận tổng thể (Holistic) và cách tiếp cận đều có ưu điểm, nhược điểm riêng. Tổng
quan về hai hướng tiếp cận này được trình bày như dưới đây:

2.2.1 Hướng tiếp cận dựa trên đặc trưng khuôn mặt
a. Đặc điểm chính:
Với cách tiếp cận dựa trên đặc trưng (Feature-based), ta cần phát hiện và trích
xuất các đặc trưng riêng biệt của khuôn mặt như mắt, mũi, miệng cùng với các điểm
quan trọng của gương mặt (fiducial point). Sau đó quan hệ hình học giữa các điểm đặc
trưng sẽ được tính toán để biểu diễn ảnh đầu vào dưới dạng một vector các đặc trưng
hình học. Bước tiếp theo các phương pháp nhận dạng mẫu dựa trên thống kê sẽ được
sử dụng để xác định ảnh cần tìm trong tập dữ liệu [2].

Hình 2.1 Ví dụ về xây dựng các đặc trưng hình học (màu trắng) [2]

4


Một phương pháp phổ biến theo hướng tiếp cận theo đặc trưng là phương pháp
Elastic Bunch Graph Matching do Wiskott đề xuất [3], cho kết quả nhận dạng tương
đối tốt.

b. Ưu điểm:
Ưu điểm chính của hướng tiếp cận dựa trên đặc trưng khuôn mặt là sự ổn định
của thuật toán với sự thay đổi của vị trí gương mặt trong ảnh đầu vào, do các đặc trưng
được xác định từ trước và độc lập với ảnh đầu vào. Cũng chính vì thế mà các thuật
toán theo hướng tiếp cận này cho kết quả tương đối ổn định trong các trường hợp có
thay đổi về kích thước, hướng nhìn và ánh sáng.
c. Nhược điểm:
Nhược điểm chính của các phương pháp tiếp cận dựa trên đặc trưng khuôn mặt
là khó khăn trong việc phát hiện tự động các đặc trưng khuôn mặt và trong thực tế,
người thực hiện xây dựng và cài đặt các kỹ thuật này có để đưa ra các quyết định chủ
quan về việc lựa chọn hay loại bỏ các đặc trưng. Do đó nếu các đặc trưng được lựa
chọn không đầy đủ hay thiếu tính phân biệt thì kết quả thu được sẽ rất hạn chế [9].

2.2.2 Hướng tiếp cận tổng thể
a. Tiếp cập thống kê:
Ý tưởng đơn giản nhất của cách tiếp cận thống kê (Holistic) biểu diễn các ảnh
dưới dạng một mảng 2 chiều các giá trị mức xám của các điểm ảnh và quá trình nhận
dạng được thực hiện bằng cách so sánh tương quan trực tiếp giữa ảnh đầu vào và tất cả
các ảnh mặt người khác có trong cơ sở dữ liệu. Tuy nhiên hạn chế của nó là chi phí
tính toán rất tốn kém đồng thời độ chính xác thu được rất thấp trong trường hợp có sự
thay đổi về hướng nhìn, kích thước mặt người, điều kiện ánh sáng và nhiễu. Như vậy
khó khăn chính đối với việc sử dụng so sánh trực tiếp là do việc so sánh này được thực
hiện trong một không gian có số chiều quá lớn.
Để giải quyết vấn đề này, một số phương pháp khác đã được đề xuất sử dụng các
phương pháp giảm chiều dữ liệu và chỉ giữ lại những chiều dữ liệu hay đặc trưng có ý
nghĩa cho quá trình nhận dạng mặt người.
Một số thuật toán phổ biến bao gồm:
Eigenface và các giải thuật cải tiến, dựa trên phương pháp phân tích thành phần
chính PCA (Principal Component Analysis) [4].


5


Fisherface và các giải thuật cải tiến, dựa trên ý tưởng cực đại hóa sự khác biệt
giữa khuôn mặt của những người khác nhau đồng thời cực tiểu hóa sự khác biệt giữa
các khuôn mặt khác nhau của cùng một người [6].
Independent component analysis: một phương pháp cải tiến từ Eigenfaces [7].
b. Trí tuệ nhân tạo (AI):
Hướng tiếp cận này sử dụng các công cụ như mạng Neuron nhân tạo, Support
Vector Machine,… cùng với các kỹ thuật Học máy để xây dựng các bộ phân lớp cho
bài toán nhận dạng mặt người.
Ngoài ra, phương pháp sử dụng mẫu nhị phân địa phương (Local Binary Pattern)
mang lại kết quả tương đối tốt. Các mẫu nhị phân được dùng để thể hiện các đặc trưng
khuôn mặt, sau đó sử dụng chúng để áp dụng cho bài toán nhận dạng khuôn mặt [8].
Trong những năm gần đây, Deep Learning, một mở rộng của mạng Neuron nhân
tạo, đã được áp dụng rất thành công trong bài toán Nhận dạng mặt người, thậm chí
được khẳng định là có khả năng nhận dạng tương đương với con người [12]. Hệ thống
FaceNet của Google và DeepFace của Facebook cho kết quả nhận dạng cực kì ấn
tượng, lên tới 97.35% [24] trên cơ sở dữ liệu Labeled Faces in the Wild (LFW) [13].
Tuy nhiên, nhược điểm của phương pháp này là sự phức tạp và chi phí lớn cho quá
trình huấn luyện (training), đồng thời cần một cơ sở dữ liệu rất lớn để đạt được độ
chính xác cao. FaceNet của Google thực hiện huấn luyện trên một cơ sở dữ liệu lên
đến 260 triệu bức ảnh [25]

Hình 2.2 Mô hình hệ thống Nhận dạng mặt người DeepFace [26]
c. Tiếp cận kết hợp:
Là hướng tiếp cận dựa trên việc kết hợp các phương pháp Nhận dạng mặt người
khác nhau thành một hệ thống Nhận dạng, thường được gọi là Multiple Classifier
Systems. Kết quả thực nghiệm cho thấy các hệ thống này thường cho kết quả tốt hơn
và ổn định hơn so với các phương pháp đơn lẻ. Điều này một phương pháp nhận dạng

thông thường sẽ nhạy cảm hơn với một số yếu tố ảnh hưởng trong khi lại tương đối ổn

6


định trước sự thay đổi các yếu tố khác. Do đó hệ thống kết hợp sẽ bổ sung và tổng hợp
được những ưu điểm và nhược điểm của các bộ phân lớp riêng biệt.
b. Ưu điểm:
Ưu điểm chính của phương pháp tiếp cận tổng thể là khả năng dữ lại đầy đủ các
thông tin của toàn bộ khuôn mặt, không bị giới hạn trong các khu vực hay điểm đặc
trưng chính (regions – points of interest) như trong cách tiếp cận hướng đặc trưng.
Thực tế cho thấy các thuật toán có độ chính xác cao nhất hiện nay hầu hết đều
thực hiện dựa trên cách tiếp cận tổng thể [14].
c. Nhược điểm:
Các thuật toán dựa trên phương pháp tiếp cận tổng thể hầu hết đều xem xét các
điểm ảnh trong ảnh khuôn mặt có vai trò quan trọng như nhau, do đó các thuật toán
này thường chỉ cho kết quả tốt trong điều kiện ảnh huấn luyện và ảnh kiểm tra có sự
tương đồng cao, đồng thời độ chính xác giảm đáng kể trong trường hợp có sự thay đổi
về hướng, kích thước và ánh sáng.

2.3 Các ứng dụng của nhận dạng mặt người
Cho đến nay, nhận dạng mặt người đã được áp dụng trong nhiều ứng dụng thực
tế. Nhận dạng mặt người đã được áp dụng trong lĩnh vực an ninh, với một số ứng dụng
điển hình bao gồm:
 Kiểm soát xuất nhập cảnh (sân bay, cảng biển).
 Kiểm soát tự động vào ra các cơ quan, công ty.
 Giám sát, quản lý tội phạm, ví dụ như tại các địa điểm công cộng.
Nhận dạng mặt người có thể sử dụng trong bảo mật, ví dụ như
 Xác thực tài khoản điện thoại di động,
 Ví điện tử.

 Xác thực tài khoản ATM.
Định danh mặt người cho đến nay vẫn chưa thực sự phổ biến, tuy nhiên nó có
tiềm năng phát triển mạnh trong tương lai vì những lợi ích nó mang lại. Một số ví dụ
về ứng dụng của định danh cá nhân được đưa ra trong [2] như:
 Đăng ký bầu cử.
 Bằng lái xe thông minh
 Chứng minh thư điện tử.

7


Một số ứng dụng phổ biến như:
 Gán nhãn tự động cho video.
 Gán nhãn tự động (Auto Tagging) cho ảnh mặt người (Facebook, Google).
Ngoài ra nhận dạng mặt người còn được áp dụng trong các tác vụ khác như robot
thông minh, hệ thống chăm sóc khách hàng thông minh….
Như vậy có thể thấy rằng nhận dạng khuôn mặt có ứng dụng quan trọng và có
tiềm năng lớn để áp dụng rộng rãi trong nhiều tác vụ trong cuộc sống. Tuy nhiên, bài
toán nhận dạng mặt người cho đến nay vẫn phải đối mặt với nhiều thách thức, ảnh
hưởng đến độ chính xác của Nhận dạng mặt người và vì thế làm hạn chế khả năng áp
dụng của nó trong thực tế. Độ tin cậy của Nhận dạng mặt người rõ ràng thấp hơn đáng
kể khi so sánh với các phương pháp Sinh trắc học khác như Nhận dạng vân tay hay
Nhận dạng mống mắt. Đồng thời cũng cần chú ý đến một số ảnh hưởng xấu của hệ
thống Nhận dạng mặt người tự động, đặc biệt là vấn đề quyền riêng tư cá nhân.

2.4 Những thách thức của bài toán nhận dạng mặt người
Nhận dạng khuôn mặt là một lĩnh vực của Nhận dạng vật thể (Object
Recognition). Tuy nhiên trong hầu hết các trường hợp, khuôn mặt giữa những cá nhân
khác nhau nhìn chung khá tương đồng và sự khác biệt là tương đối nhỏ. Do đó, việc áp
dụng các thuật toán nhận dạng truyền thống, thường áp dụng để nhận dạng vật thể

thông thường, nhìn chung không không đem lại độ chính xác cao cho bài toán Nhận
dạng mặt người.
Ngược lại, cũng tương tự như trong các bài toán nhận dạng vật thể khác, có nhiều
yếu tố chủ quan và khách quan gây cản trở việc nhận dạng khuôn mặt người.
Các yếu tố chủ quan là do đặc trưng của mặt người thay đổi bao gồm:
 Sự thay đổi của các đặc trưng khuôn mặt theo thời gian tuổi tác hay do cân
nặng thay đổi.
 Biểu cảm khuôn mặt thay đổi: vui, cười lớn, buồn, ngạc nhiên, giận giữ…
 Thay đổi kiểu tóc, râu quai nón…
 Trang điểm, phụ kiện (kính mắt, mũ …).
Các yếu tố khách quan có thể kể đến như:
 Ánh sáng thay đổi.
 Góc chụp thay đổi.

8


 Quá trình thu nhận ảnh: độ phân giải, quá trình lấy nét hay nhiễu ảnh do
thiết bị, truyền dẫn...
Hầu hết các hệ thống nhận dạng khuôn mặt hiện tại cho kết quả nhận dạng tương
đối tốt trong điều kiện có kiểm soát, tức là các yếu tố ảnh hưởng đến độ chính xác
khuôn mặt nêu trên được kiểm soát, ví dụ như kiểm soát hướng mặt chính diện
(nghiêng không quá 50) hay kiểm soát ánh sáng (chiếu chính diện vào gương mặt). Tuy
nhiên khi các yếu tố này không được kiểm soát, độ chính xác của những hệ thống này
sẽ giảm xuống đáng kể [2].

2.5 Đặc điểm nhận dạng khuôn mặt trên thiết bị di động
Hiện nay các thiết bị di động đang ngày càng được nâng cấp về cấu hình ( vi xử
lý, RAM, dung lượng lưu trữ), tuy nhiên khả năng tính toán và lưu trữ của nó so với
máy tính cá nhân hay máy trạm vẫn còn những hạn chế đáng kể.

Với hệ thống nhận dạng xây dựng theo kiến trúc client-server, trong đó thiết bị di
động đóng vai trò thu nhận ảnh, sau đó ảnh sẽ được chuyển lên server và tất cả quá
trình xử lý cho việc nhận dạng khuôn mặt sẽ được thực hiện trên server này, cuối cùng
kết quả nhận dạng được trả về cho phía client. Trong hệ thống này, chi phí tài nguyên
để thực hiện không phải là mối quan tâm chính.
Tuy nhiên, với các ứng dụng thực hiện xử lý trực tiếp trên thiết bị di động có hạn
chế về khả năng xử lý, hệ thống sử dụng cần đảm bảo sự cân bằng giữa chi phí tính
toán, thời gian thực hiện và độ chính xác.
Một yếu tố ảnh hưởng khá lớn đến kết quả nhận dạng chính là việc thu nhận ảnh
trực tiếp bằng camera của thiết bị di động thường bị ảnh hưởng bởi quá trình lấy nét,
đồng thời ảnh thu được thường chứa các nhiễu.
Trong khóa luận này chúng tôi sẽ áp dụng phương pháp Eigenfaces dựa trên
thuật toán PCA và phương pháp sử dụng mẫu nhị phân cục bộ, để xây dựng hệ thống
nhận dạng trên thiết bị di động. Thuật toán PCA là một thuật toán tương đối đơn giản
có chi phí thực hiện thấp và vẫn đảm bảo độ chính xác chấp nhận được, tương đối phù
hợp cho hầu hết các thiết bị di động hiện nay. Thuật toán sử dụng mẫu nhị phân địa
phương LBP – Local Binary Pattern cho kết quả nhận dạng tốt hơn, đặc biệt cho độ
chính xác vượt trội hơn trong trường hợp có sự thay đổi về ánh sáng.

2.6 Một số kiến thức liên quan

9


2.6.1 Phân tích thành phần chính
Ý tưởng chính của thuật toán phân tích thành phần chính (Principal Component
Analysis - PCA) dựa trên việc giảm chiều dữ liệu, giúp cho việc thực hiện nhận dạng
được thực hiện nhanh chóng.
PCA là một phép biến đổi tuyến tính trực giao để biến đổi một tập hợp dữ liệu từ
một không gian nhiều chiều sang một không gian mới ít chiều hơn trong đó tối ưu hóa

việc thể hiện sự biến thiên của dữ liệu. Phân tích thành phần chính cho phép giảm số
chiều của 1 tập vector sao cho vẫn đảm bảo giữ lại tối đa các thông tin quan trọng của
tập dữ liệu. Phương pháp PCA sẽ giữ lại K thuộc tính “mới” từ N thuộc tính ban đầu
(K << N) [15].
Không gian N chiều với hệ cơ sở

Không gian K chiều với hệ cơ sở

(

(

Ánh xạ tuyến tính
y

x

x=

y=

Hình 2.3 Biến đổi tuyến tính từ không gian N chiều sang không gian K chiều
Như vậy vector x
được vector y

qua phép biển đổi tuyến tính (ánh xạ tuyến tính) P ta thu

, tức là y = Px . Ở đây P là ma trận kích thước N x M.

Thực chất phương pháp PCA sẽ tìm các hướng (trục tọa độ mới) mà trên đó độ

biến thiên của các mẫu là lớn nhất, chúng được gọi là các thành phần chính (Principal
component – PC). Những thành phần chính này được giữ lại để tạo thành một không
gian con mới. Các trục tọa độ trong không gian mới được tạo ra là tổ hợp tuyến tính
của không gian cũ, do đó thực chất thuật toán PCA sẽ xây dựng các đặc trưng mới dựa
trên các đặc trưng đã có.
Hình 2.4 và 2.5 minh họa ý tưởng của thuật toán PCA. Trong ví dụ này hướng
biến thiên mạnh nhất của tập dữ liệu là dọc theo hướng của thành phần chính PC1.

10


y

PC2

PC1
x
Hình 2.4 Biểu diễn trong không gian ban đầu

PC1
1

PC2
Hình 2.5 Biểu diễn trong không gian mới
Một ví dụ trực quan hơn trong không gian 3 chiều

11



×