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

Nhận diện khuôn mặt bằng deep learning

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

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------

NGUYỄN HỒNG MINH

NHẬN DIỆN KHN MẶT BẰNG DEEP LEARNING

Ngành: Khoa học máy tính
Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 12 năm 2018


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐHQG - HCM

Cán bộ hướng dẫn khoa học: TS. Lê Thành Sách……………………………
………………………………………………………………………………...
Cán bộ chấm nhận xét 1: PGS.TS. Lê Hoàng Thái …………………………...
………………………………………………………………………………...
Cán bộ chấm nhận xét 2: TS. Nguyễn Hồ Mẫn Rạng……………………….
………………………………………………………………………………...
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.
HCM ngày 26 tháng 12 năm 2018.
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. PGS. TS. Quản Thành Thơ..................
2. TS. Phạm Hoàng Anh .........................
3. PGS.TS. Lê Hoàng Thái ......................


4. TS. Nguyễn Hồ Mẫn Rạng ..................
5. TS. Nguyễn An Khương .....................
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý
chuyên ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

TRƯỞNG KHOA KH & KTMT

i


ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Hoàng Minh .................................... MSHV: 1570740…...
Ngày, tháng, năm sinh: 03/06/1992 ......................................... Nơi sinh: TP. HCM...
Chuyên ngành: Khoa học máy tính .......................................... Mã số: 60.48.01.01
I. TÊN ĐỀ TÀI: Nhận diện khuôn mặt bằng Deep Learning (Face recognition with
deep learning)………………………………………………………………
……………………………………………………………………………………
II. NHIỆM VỤ VÀ NỘI DUNG: Đề tài tìm hiểu và hiện thực các phương pháp
nhận diện khuôn mặt bằng Deep Learning. Từ đó đề xuất cải tiến phương pháp
và định hướng triển khai ứng dụng………………………………………………
III. NGÀY GIAO NHIỆM VỤ : 26/02/2018……………………………………..
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 02/12/2018………………………….
V. CÁN BỘ HƯỚNG DẪN: TS. Lê Thành Sách…………………………………

………………………………………………………………………………………
Tp. HCM, ngày … tháng … năm …
CÁN

BỘ

HƯỚNG

TRƯỞNG KHOA KH & KTMT

DẪN

(Họ tên và chữ ký)

(Họ tên và chữ ký)

ii


LỜI CẢM ƠN
Khoảng thời gian theo học chương trình cao học tại trường Đại học Bách
Khoa thành phố Hồ Chí Minh mang lại rất nhiều trải nghiệm hữu ích về kiến thức,
cuộc sống. Những người luôn bên cạnh tôi xuyên suốt, đặc biệt là giai đoạn thực
hiện luận văn, mang đến cho tôi nguồn động viên, quan tâm và giúp đỡ là gia đình,
thầy cơ, bạn bè.
Tơi xin gửi lời cảm ơn sâu sắc nhất đầu tiên là đến với gia đình nhỏ của
mình, những người chung tổ ấm: ba, mẹ và anh trai. Sau giờ học, giờ làm mệt mỏi
mỗi ngày, nơi ta trở về đó khơng đâu khác chính là nhà. Ba mẹ tơi ln động viên
và âm thầm đứng sau ủng hộ tơi những lúc tơi khó khăn nhất.
Lời cảm ơn chân thành nhất mà tôi muốn gửi đến đó là người thầy đã tận tâm

hướng dẫn tôi trong suốt thời gian vừa qua, Tiến sĩ Lê Thành Sách. Thầy là người
rất giỏi chuyên môn, giải đáp các thắc mắc và định hướng giải quyết các vấn đề cho
tôi trong hơn một năm qua. Thầy là người dìu dắt, mở ra những chân trời kiến thức
mới khi tôi mới chập chững bắt đầu nghiên cứu đề tài từ giai đoạn đầu tiên.
Tôi xin gửi lời cảm ơn đến ban quản lý phịng thí nghiệm ACLab tại phịng
301B9 đã tạo điều kiện cho tơi có khơng gian nghiên cứu làm luận văn tốt nhất. Bên
cạnh đó, tơi cũng cảm ơn đến các thành viên thuộc nhóm nghiên cứu GVLab của
thầy Lê Thành Sách đã dành thời gian hỗ trợ tôi trong thời gian vừa qua. Một lời
cảm ơn khơng thể thiếu đó chính là các nguồn tài ngun máy tính hỗ trợ đến từ
nhóm nghiên cứu HPCLab của thầy Thoại Nam.
Tôi cũng xin cảm ơn đến các thầy cơ của khoa Khoa học và Kỹ thuật Máy
tính, đặc biệt các thầy cô đã tham gia giảng dạy các mơn trong chương trình cao học
mà tơi đã theo học. Các thầy cô là người trang bị, trau dồi thêm cho tôi các kiến
thức nền tảng, kĩ năng nghiên cứu, kĩ năng tìm hiểu và giải quyết vấn đề trong học
thuật cũng như cuộc sống thực tế.
Cuối cùng tôi muốn gửi lời cảm ơn to lớn đến trường Đại học Bách Khoa
thành phố Hồ Chí Minh, nơi tơi theo học từ quãng thời gian đại học. Tôi xin cảm ơn
ban giám hiệu nhà trường, các thầy cơ phịng sau đại học, các cơ văn phịng khoa
Khoa học và Kỹ thuật Máy tính, các cơ chú nhân viên của trường đã tạo ra môi
trường học tập thật tốt cho rất nhiều sinh viên, học viên.
Một lần nữa, tôi xin chân thành cảm ơn!
Nguyễn Hoàng Minh
02/12/2018
iii


TĨM TẮT LUẬN VĂN
Những tiến bộ vượt bậc về cơng nghệ hiện nay đang mang đến rất nhiều ứng
dụng mới ở nhiều lĩnh vực trong đời sống. Đặc biệt, ngành cơng nghệ thơng tin là
một ngành có tốc độ phát triển rất nhanh và giúp cải thiện rõ rệt cuộc sống của

chúng ta. Những năm gần đây, các cải tiến về mạng nơ-ron nhân tạo trong lĩnh vực
học sâu mang đến những kết quả vượt trội so với các phương pháp xử lý ảnh kiểu
truyền thống. Từ đó, hàng loạt ứng dụng thông minh dần tiếp cận tới con người
như: nhận diện khn mặt, nhận diện giọng nói, nhận diện biển số xe, đếm đối
tượng, theo vết đối tượng, chẩn đốn ảnh y khoa, ... Trong đó, các ứng dụng liên
quan đến giám sát an ninh xã hội là cực kỳ quan trọng và đang giành được nhiều sự
quan tâm từ các cơ quan quản lý.
Nhận diện khuôn mặt là một trong những cách thức để giám sát an ninh. An
toàn xã hội là cần thiết ở mọi nơi, một số địa điểm / đơn vị cần mức độ an ninh cao
hơn bình thường như là: cửa hàng siêu thị, tịa nhà cơng ty, chung cư cao cấp, trung
tâm mua sắm, tịa nhà cao tầng, cơ quan cơng an, doanh trại qn đội, an ninh quốc
phịng, ... Việc kiểm sốt rõ ràng ra vào theo danh tính bằng khn mặt sẽ góp phần
đảm bảo an ninh bằng việc tự động giám sát qua các camera.
Nhận diện danh tính qua khn mặt không chỉ là lõi cốt yếu của ngành an
ninh, mà nó cịn có thể áp dụng ở nhiều lĩnh vực khác như: chăm sóc khách hàng
của doanh nghiệp, điểm danh học sinh / sinh viên trong ngành giáo dục, giám sát trẻ
nhỏ trong lớp học (từ đó phát hiện cảnh báo bất thường), ... Ứng dụng nhận diện
khuôn mặt cịn có thể áp dụng với các ứng dụng thơng minh khác nhằm mang đến
một giải pháp quản lý giám sát hồn thiện hơn.
Ứng dụng nhận diện khn mặt từ hình ảnh có hai thành phần cốt lõi: phát
hiện khn mặt trong ảnh và nhận diện danh tính khn mặt. Hai thành phần nối
liên tiếp nhau như vậy tạo thành một ứng dụng hồn chỉnh cho phép nhận diện
khn mặt trong hình ảnh / video. Hình ảnh khn mặt được phát hiện ở mơ-đun
phát hiện khn mặt được trích xuất ra và chuyển qua mô-đun nhận diện. Phát hiện
khuôn mặt đã là bài toán kinh điển của xử lý ảnh, đề tài luận văn sẽ khảo sát các bài
báo về phát hiện khuôn mặt. Nhận diện ảnh khuôn mặt cũng là đề tài nóng hổi của
những bài báo gần đây bằng cách áp dụng mạng học sâu nơ-ron nhân tạo. Báo cáo
cũng sẽ nêu các thí nghiệm về cải tiến cho các bước trong phương pháp nhận diện
khuôn mặt.


iv


ABSTRACT
Nowadays, computer science grows quickly and it brings many applications
to human life. Especially, information technology is one of the fastest growing domains in the world, it makes human life become better. In recent years, neural networks in deep learning outperforms with the traditional methods in image
processing. So, there are many smart applications such as: face recognition, voice
recognition, licence plate recognition, object counting, object tracking, medical image 3D visualization, … Security surveillance is very important and takes many attentions from government.
Face recognition is one of many ways to get security surveillance. Safe social
is necessary, some places / units require high security level such as: supermarkets,
buildings, apartments, malls, skyscrapers, military areas, ... We are able to control
the security by recognizing human face automatically with multiple of cameras.
Face recognition is not only an essential core of security domain, but also it
applies to many other domains: customer service, checking student attendance,
children surveillance for safety, ... Face recognition application together with other
smart technologies give us a solution in security surveillance.
Face recognition in wild has two parts: face detection and face recognition.
These two parts are the essential components of face recognition flow in video. The
faces detected by face detection module will be fed to the recognition module. Face
detection has been researched for a long time, this report surveys many papers related to face detection. Face recognition is also a hot subject of many recent papers
by applying deep neural network. The report proposes an improvement for face recognition flow.

v


LỜI CAM ĐOAN
Các tài liệu, bài báo, trang web mà tơi đã tham khảo trong q trình thực hiện
luận văn đều được trích dẫn đầy đủ rõ ràng nguồn gốc trình bày ở mục tài liệu tham
khảo. Tơi xin cam đoan rằng ngồi các trích dẫn tham khảo trên, tồn bộ nội dung
trong báo cáo đều do tôi tự soạn thảo từ những kết quả nghiên cứu do tôi tham gia

thực hiện và các kết quả của nhóm nghiên cứu GVLab do thầy Lê Thành Sách
hướng dẫn, không sao chép từ bất kì tài liệu nào khác.
Tơi sẽ hồn tồn chịu xử lý theo qui định nếu có bất cứ sai phạm nào so với
lời cam kết.

Nguyễn Hoàng Minh

vi


MỤC LỤC
1. TỔNG QUAN................................................................................................... 1
1.1.

Giới thiệu đề tài .......................................................................................... 1

1.2.

Mục tiêu đề tài............................................................................................ 2

1.3.

Ý nghĩa đề tài ............................................................................................. 2

1.3.1

Ý nghĩa thực tiễn ................................................................................. 2

1.3.2


Ý nghĩa khoa học ................................................................................. 2

1.4.

Phạm vi đề tài ............................................................................................. 3

1.5.

Bố cục luận văn .......................................................................................... 3

2. CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN .......................................... 4
2.1.

Tổng quan các hướng nghiên cứu về bài tốn nhận diện khn mặt............ 4

2.2.

Tổng quan các phương pháp về phát hiện khuôn mặt ................................. 5

2.1.1.

Multi-task Cascaded Convolutional Networks (MTCNN) .................... 5

2.2.2.

Single Shot MultiBox Detector (SSD) ................................................. 6

2.2.3.

Single Shot Scale-invariant Face Detector (S3FD)................................ 8


2.3.

Tổng quan các phương pháp về nhận diện khuôn mặt ................................. 8

2.3.1.

Facenet: triplet loss .............................................................................. 8

2.3.2.

Center Loss .......................................................................................... 9

2.3.3.

Sphereface ......................................................................................... 11

2.4.

Tổng kết và nhận xét ................................................................................ 12

3. CƠ SỞ LÝ THUYẾT...................................................................................... 13
3.1.

Chuẩn hóa dữ liệu (data normalization) .................................................... 13

3.2.

Làm giàu dữ liệu (data augmentation) ...................................................... 13


3.3.

Tích chập trong miền rời rạc (convolution) ............................................... 15

3.4.

Mạng nơ-ron truyền thẳng nhiều lớp ........................................................ 17

3.4.1.

Mạng nơ-ron truyền thẳng nhiều lớp (MLP) ...................................... 17

3.4.2.

Hàm kích hoạt sigmoid ...................................................................... 18
vii


3.4.3.

Hàm kích hoạt tanh ............................................................................ 19

3.4.4.

Giải thuật Gradient Descent ............................................................... 19

3.5.

Mạng nơ-ron tích chập (CNN) .................................................................. 19


3.6.

Hàm lỗi cross entropy ............................................................................... 21

3.7.

Kết nối dày đặc (dense connection) .......................................................... 21

4. PHƯƠNG PHÁP ĐỀ XUẤT .......................................................................... 23
4.1.

Cải tiến kiến trúc mạng Sphereface .......................................................... 23

4.2.

Triển khai mơ hình nhận diện trên Jetson TX2 ......................................... 24

5. CÁC THÍ NGHIỆM VÀ KẾT QUẢ THÍ NGHIỆM ....................................... 26
5.1.

Tập dữ liệu ............................................................................................... 26

5.1.1.

Tập dữ liệu huấn luyện ...................................................................... 26

5.1.2.

Tập dữ liệu đánh giá .......................................................................... 27


5.2.

Phương pháp đánh giá .............................................................................. 28

5.2.1.

Kiểm thử chéo ................................................................................... 28

5.2.2.

Chỉ số độ chính xác mAP ................................................................... 29

5.3.

Thí nghiệm các phương pháp nhận diện ................................................... 30

5.3.1.

Thí nghiệm huấn luyện mạng nhận diện Sphereface........................... 30

5.3.2.

Thí nghiệm huấn luyện Sphereface theo phương pháp đề xuất ........... 32

5.3.3. Thí nghiệm huấn luyện mơ hình phát hiện và nhận diện khuôn mặt
triển khai trên Jetson TX2 ............................................................................... 32
5.4.

Kết quả thí nghiệm ................................................................................... 34


5.4.1.

Biểu đồ thống kê q trình huấn luyện ............................................... 34

5.4.2.

Kết quả đánh giá các mơ hình ............................................................ 36

6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ....................................................... 42
7. DANH MỤC TÀI LIỆU THAM KHẢO ......................................................... 43

viii


DANH MỤC HÌNH ẢNH
Hình 2-1 Mơ hình nhận diện khn mặt trong ảnh tự nhiên ..................................... 4
Hình 2-2 Kiến trúc mạng MTCNN .......................................................................... 5
Hình 2-3 Các chặng xử lý trong MTCNN ................................................................ 6
Hình 2-4 Kiến trúc mạng SSD300 ........................................................................... 7
Hình 2-5 Kiến trúc mạng phát hiện khuôn mặt S3FD ............................................... 8
Hình 2-6 Minh họa ý tưởng Triplet Loss ................................................................. 9
Hình 2-7 Hiệu ứng hành xử của mơ hình khi học bằng Center Loss cho bài toán
phân loại ký tự MNIST .......................................................................................... 10
Hình 2-8 Kiến trúc mạng của phương pháp Center Loss ........................................ 10
Hình 2-9 Các cấu hình kiến trúc mạng Sphereface................................................. 11
Hình 3-1 Ảnh từ trái qua: ảnh gốc, ảnh lật ngang, ảnh lật dọc ................................ 14
Hình 3-2 Ảnh được gieo nhiễu............................................................................... 14
Hình 3-3 Ảnh biến đổi xám ................................................................................... 15
Hình 3-4 Ảnh điều chỉnh màu ngẫu nhiên .............................................................. 15
Hình 3-5 Ví dụ ảnh đầu vào cho phép convolution ................................................ 16

Hình 3-6 Ảnh đầu ra sau khi áp dụng toán tử convolution ..................................... 17
Hình 3-7 Minh họa mạng nơ-ron truyền thẳng nhiều lớp (MLP) ............................ 18
Hình 3-8 Minh họa việc tính tốn giá trị của nút .................................................... 18
Hình 3-9 Các kiến trúc mạng học sâu VGG [11], mạng điển hình của CNN .......... 20
Hình 3-10 Biểu đồ hàm mất mát của q trình huấn luyện mơ hình mạng
CenterLoss ............................................................................................................ 21
Hình 3-11 Kết nối bằng phép cộng và kết nối dày đặc ........................................... 22
Hình 4-1 Kiến trúc mạng cải tiến dùng phép nối thay phép cộng trong skip
connection ............................................................................................................. 23
Hình 4-2 Quy trình triển khai mơ hình từ framework Pytorch sang TensorRT chạy
trên máy Jetson TX2 .............................................................................................. 25
Hình 5-1 Một số hình ảnh được trích từ tập CASIA Webface ................................ 26
Hình 5-2 Các hiệu ứng trong tập dữ liệu WIDER FACE ....................................... 27
Hình 5-3 Một số hình ảnh trong tập dữ liệu LFW .................................................. 27
Hình 5-4 Một số hình ảnh từ tập dữ liệu PEOPLE20 ............................................. 28
Hình 5-5 Bo nhúng Jetson TX2 trong hộp nhơm.................................................... 30
Hình 5-6 Biểu đồ huấn luyện thí nghiệm 1 ............................................................ 34
Hình 5-7 Biểu đồ huấn luyện thí nghiệm 2 ............................................................ 35
Hình 5-8 Biểu đồ huấn luyện thí nghiệm 3 ............................................................ 35
Hình 5-9 Biểu đồ huấn luyện thí nghiệm 4 ............................................................ 36
ix


Hình 5-10 Biểu đồ huấn luyện thí nghiệm 5 .......................................................... 36
Hình 5-11 Nhận diện khn mặt ngược sáng ......................................................... 37
Hình 5-12 Nhận diện phân biệt được nhiều khuôn mặt .......................................... 38
Hình 5-13 Nhận diện người lạ ............................................................................... 38
Hình 5-14 Một số hình kết quả phát hiện bởi phương pháp SSD300 ...................... 39
Hình 5-15 Biểu đồ so sánh tốc độ xử lý mơ hình Sphereface cải tiến trên các máy 40
Hình 5-16 Xử lý trực tuyến nhận diện khuôn mặt trên Jetson TX2 ........................ 41


x


DANH MỤC BẢNG
Bảng 5-1 Kết quả đánh giá các mô hình nhận diện khn mặt ............................... 37
Bảng 5-2 Tốc độ xử lý của các mơ hình nhận diện với batch-size = 1 .................... 39
Bảng 5-3 Tốc độ xử lý của các mơ hình nhận diện với batch-size = 4 .................... 39
Bảng 5-4 Tốc độ xử lý của các mơ hình nhận diện với batch-size = 8 .................... 40
Bảng 5-5 Tốc độ xử lý của các mơ hình nhận diện với batch-size = 16 .................. 40

xi


DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt

Từ đầy đủ

2D

Two Dimensionality

3D

Three Dimensionality

CNN

Convolutional Neural Network


CPU

Central processing unit

GPU

Graphics Processing Unit

LFW

Labeled Face in Wild

MTCNN

Multi-task Cascaded Convolutional Networks

PReLU

Parametric Rectified Linear Unit

ReLU

Rectified Linear Unit

SSD

Single Shot Multibox Detector

S3FD


Single Shot Scale-invariant Face Detector

xii


1.

TỔNG QUAN

1.1. Giới thiệu đề tài
Trong những năm gần đây, sự tiến bộ của trí tuệ nhân tạo, đặc biệt mơ hình
học sâu đang là làn sóng mạnh mẽ được áp dụng ở nhiều lĩnh vực như xử lý ảnh, xử
lý âm thanh, xử lý ngôn ngữ tự nhiên, ... Các ứng dụng cụ thể gần gũi với con người
sử dụng học sâu như: nhận diện vật thể, phát hiện đối tượng, phát hiện khuôn mặt,
nhận diện khuôn mặt, đếm đối tượng, phát hiện khối u trong ảnh y khoa, xây dựng
hình ảnh 3D từ ảnh 2D, ... Các cơng nghệ này đang dần được áp dụng rộng rãi vào
trong ngành công nghiệp và đời sống của con người.
Phát hiện và nhận diện khuôn mặt rất tiềm năng trong việc sử dụng học sâu.
Phát hiện khn mặt có thể giúp camera lấy nét hình ảnh khn mặt để hình ảnh
chụp được đẹp và rõ hơn. Hiện nay gần như mọi điện thoại thơng minh có camera
đều đã được tích hợp khả năng phát hiện mặt để lấy nét. Nhận diện khn mặt có 2
bài tốn nhỏ trong đó là xác thực khn mặt và xác thực danh tính của khn mặt.
Hiện nay xác thực khuôn mặt là ứng dụng đã có mặt trên nhiều thiết bị điện thoại di
động đời mới, cho phép người dùng mở khóa bằng khn mặt. Cịn xác thực danh
tính là từ ảnh khn mặt của một người, ta muốn tìm ra danh tính của người này
trong thư viện ảnh khn mặt ta đã có, mong muốn xác định được người đó là ai.
Ứng dụng của nhận diện khn mặt xét ở tầm vĩ mơ có thể ứng dụng vào an
ninh phòng chống tội phạm. Tự động hóa q trình giám sát qua các camera bằng trí
tuệ nhân tạo là một bước tiến lớn. Xã hội sẽ trở nên an ninh hơn, ít tốn cơng sức

th người thủ công giám sát nhưng hiệu quả mang lại cực kỳ nhiều.
Nhận diện khuôn mặt ở tầm nhỏ hơn có thể là ứng dụng chấm cơng cho nhân
viên hoặc tìm kiếm danh tính. Nhận diện khn mặt đang là bài tốn lớn cần được
đào sâu nghiên cứu vì nó có khá nhiều thử thách. Bài tốn phân loại đối tượng đã
khá thử thách nếu số lượng đối tượng cần phân loại lớn (từ 20 đối tượng trở lên).
Phát hiện khn mặt là bài tốn phân loại 2 đối tượng: khuôn mặt và không phải
mặt. Nhận diện khuôn mặt là bài toán phân loại ở mức cá thể. Điểm thách thức đó là
mỗi khn mặt đều cùng có mắt, mũi, miệng và cùng khn dạng. Ta sẽ tìm cách
nhận diện bằng các chi tiết đặc trưng của người đó.

1


1.2. Mục tiêu đề tài
Mục tiêu nghiên cứu của đề tài là nghiên cứu các phương pháp phát hiện và
nhận diện khuôn mặt. Các phương pháp nhận diện khuôn mặt khác nhau sẽ có độ
chính xác và tốc độ xử lý hình ảnh khác nhau. Đề tài sẽ thực hiện thí nghiệm nghiên
cứu và đo đạc hiệu suất các phương pháp nhận diện khn mặt. Phần cịn lại là
nghiên cứu các phương pháp nhận diện khuôn mặt tiên tiến. Từ các tìm hiểu và
nghiên cứu trên để có thể đưa ra đề xuất cải tiến hiệu quả cho bài toán nhận diện
khn mặt từ hình ảnh / camera bằng cách sử dụng deep learning.

1.3. Ý nghĩa đề tài
Việc nhận diện khn mặt từ hình ảnh có một số điểm khó nhất định so với
các bài tốn khác. Điển hình là ta phải nhận diện đối tượng ở mức thực thể thay vì
chỉ là nhận diện đối tượng ở mức lớp (các bài tốn phân loại). Ngồi ra, việc kết
hợp hai khối mơ hình phát hiện khn mặt và nhận diện khn mặt nhưng vẫn phải
đảm bảo hiệu suất tính tốn để có thể áp dụng vào thực tiễn cũng là một thử thách
của đề tài. Giải pháp để đảm bảo giữa chất lượng và hiệu suất tính tốn cho bài tốn
nhận diện khn mặt đã là đóng góp lớn cho ứng dụng thực tiễn cũng như mang lại

ý nghĩa khoa học.

1.3.1 Ý nghĩa thực tiễn
• Ứng dụng nhận diện khn mặt vào an ninh phịng chống tội phạm.
• Quản lý xã hội một cách tự động hóa.
• Ứng dụng nhận diện khn mặt vào doanh nghiệp về chăm sóc khách hàng,
quản lý nhân viên.
• Ứng dụng nhận diện khn mặt vào giáo dục: điểm danh học sinh, sinh viên,
giám sát trẻ nhỏ.
• Ứng dụng nhận diện khn mặt kết hợp với các ứng dụng thông minh khác
để nâng mức tự động hóa quản lý xã hội lên cấp cao và phức tạp hơn.

1.3.2 Ý nghĩa khoa học
• Cơng trình nghiên cứu của báo cáo này góp phần khảo sát và nghiên cứu về
học sâu.
• Việc cải tiến luồng xử lý phát hiện và nhận diện khn mặt cũng là đóng góp
lớn cho các nghiên cứu khoa học về nhận diện đối tượng ở mức thực thể.
2


1.4. Phạm vi đề tài
• Đề tài chỉ tập trung cho bài tốn với nhận diện khn mặt ở góc nhìn thẳng
(khn mặt khơng được xoay q 45 độ cho góc nhìn trực diện). Hình ảnh
chứa khn mặt và cả hình nền (hình trong tự nhiên).
• Điều kiện ánh sáng đủ để nhận diện khuôn mặt, khuôn mặt không bị che
khuất q 1/2 khn mặt.
• Các khn mặt xuất hiện trong ảnh đều phải có trong thư viện ảnh, tức danh
tính xác định.

1.5. Bố cục luận văn

Trong báo cáo này có tất cả 7 chương. Chương 2 có mục đích giới thiệu các
cơng trình nghiên cứu liên quan, các hướng giải quyết cho bài tốn nhận diện khn
mặt. Chương 3 cung cấp một số cơ sở lý thuyết đặt nền móng cho các mơ hình được
đề xuất trong chương 4. Chương 5 đưa ra thơng tin thí nghiệm, các chỉ tiêu đánh giá
và kết quả đánh giá của các phương pháp cùng với một số nhận xét dựa vào các kết
quả. Chương 6 kết luận báo cáo và trình bày hướng phát triển trong tương lai.
Chương 7 trình bày danh sách các tài liệu tham khảo được trích dẫn trong đề tài.

3


2.

CÁC CƠNG TRÌNH NGHIÊN CỨU LIÊN QUAN

2.1. Tổng quan các hướng nghiên cứu về bài tốn nhận diện
khn mặt
Bài tốn nhận diện khuôn mặt trong ảnh tự nhiên được xử lý qua 2 giai đoạn:
phát hiện khuôn mặt và nhận diện khn mặt. Hai mơ hình mạng này độc lập nhau,
đầu ra của mạng phát hiện sẽ qua bước xử lý trung gian là cắt ảnh khuôn mặt (crop),
các ảnh khuôn mặt đã cắt sẽ là ảnh đầu vào của mạng nhận diện. Quy trình các bước
chính cho nhận diện khn mặt được mơ tả ở hình dưới qua ví dụ của phương pháp
Sphereface [1]:

Hình 2-1 Mơ hình nhận diện khuôn mặt trong ảnh tự nhiên

Phương pháp MTCNN [2] (sẽ trình bày ở mục sau) phát hiện khn mặt
trong ảnh, thơng tin đầu ra sẽ có được các thơng tin sau: vị trí hình chữ nhật bao
khn mặt đã được căn chỉnh, vị trí 5 điểm trọng yếu (tiếng Anh: landmark, báo cáo
sẽ dùng từ landmark thay vì từ điểm trọng yếu ở các mục phía sau) trên khn mặt:

2 mắt, mũi, 2 điểm miệng (trái và phải). Từ thông tin landmark, ta tiến hành tiền xử
lý trước khi đưa qua mạng nhận diện bằng cách chuẩn hóa khn mặt (alignment)
theo các điểm landmark. Ý tưởng của phép chuẩn hóa đơn giản là điều chỉnh các
landmark về các vị trí chuẩn định trước trên ảnh có kích thước cố định.
Hình ảnh khn mặt đã được chuẩn hóa sẽ được đẩy qua mạng nhận diện để
rút trích đặc trưng dị biệt, đầu ra của mạng nhận diện là vector đặc trưng. Vector
đặc trưng này mang tính chất cực kỳ phân biệt, các hình ảnh của cùng một người thì
các vector đặc trưng này phải càng gần nhau (về góc hoặc về khoảng cách). Hai
người khác nhau thì các vector đặc trưng tương ứng của họ phải càng xa nhau.
4


Chính nhờ tính chất này mà ta có thể mã hóa hình ảnh khn mặt thành vector đặc
trưng để tìm kiếm, xác thực khuôn mặt.
Trong lĩnh vực nghiên cứu, người ta nghiên cứu phát triển riêng từng hướng
cho phát hiện khuôn mặt và nhận diện khuôn mặt. Về phương pháp phát hiện khuôn
mặt, những phương pháp dùng deep learning gần đây như S3FD [3], MTCNN [2],
Faster R-CNN [4], ... Một số phương pháp nhận diện khuôn mặt dùng deep learning
như: Sphereface [1], Center Loss [5], Facenet [6], VGG Face [7], ...

2.2. Tổng quan các phương pháp về phát hiện khuôn mặt
2.1.1. Multi-task Cascaded Convolutional Networks (MTCNN)
Multi-task Cascaded Convolutional Neural Networks (viết tắt MTCNN) là
phương pháp phát hiện khuôn mặt theo mơ hình đổ thác (cascade). Phương pháp
này sử dụng các mạng nơ-ron nơng (ít lớp ẩn) để phân loại khn mặt. MTCNN sử
dụng 3 mạng nơ-ron thiết kế mơ hình thác nước (cascade), tương tự phương pháp
phát hiện khuôn mặt Haar Cascade của Viola-Jones [8]. Nếu sau khi được loại bởi
mơ hình Convolutional Neural Network (CNN) thứ nhất, hình ảnh được cho là
khn mặt sẽ tiếp tục qua mơ hình CNN thứ hai cho việc phân loại. Nếu hình ảnh
được vẫn được phân loại là khn mặt thì sẽ tiếp tục qua mơ hình phân loại CNN

thứ ba. Nếu ảnh qua cả 3 mạng thì đó là ảnh khn mặt, ngược lại ảnh khơng phải
khn mặt.

Hình 2-2 Kiến trúc mạng MTCNN

Kiến trúc mạng của MTCNN mơ hình đầu tiên khơng chứa các lớp kết nối
đầy đủ mà chỉ có các lớp Convolution 2D trong mạng. Do đó cơ chế hoạt động của
nó khi ta cho ảnh vào sẽ giống như kỹ thuật Sliding Windows. Hiệu suất phân loại
của phương pháp này đạt kết quả khá cao trên những tập dữ liệu nổi tiếng thế giới
FDDB [9] dành cho đánh giá phương pháp phát hiện khuôn mặt.
5


Hình 2-3 Các chặng xử lý trong MTCNN

MTCNN là phương pháp rút trích được các thơng tin: vị trí khn mặt, căn
chỉnh khuôn mặt, landmark trên khuôn mặt (mắt, mũi, miệng). Các mơ hình mạng
CNN trong MTCNN được huấn luyện trên tập dữ liệu phát hiện khuôn mặt và tập
dữ liệu khn mặt có các điểm landmark. Mỗi mơ hình con có 3 đầu ra, độ tin cậy
nhãn khn mặt (2 chiều), thơng tin căn chỉnh vị trí khn mặt (4 chiều) và landmark (10 chiều). Hàm mất mát cho phân loại khuôn mặt là Cross Entropy, cho căn
chỉnh vị trí mặt và landmark là Mean Squared Error (MSE).

2.2.2. Single Shot MultiBox Detector (SSD)
Single Shot MultiBox Detector (viết tắt SSD) [10] là phương pháp phát hiện
đối tượng tổng quát. SSD sử dụng mạng nền VGG [11] cho rút trích đặc trưng hình
ảnh phục vụ tác vụ phát hiện vị trí đối tượng và phân loại đối tượng. SSD cùng với
YOLO [12] [13] [14] là những phương pháp hiếm hoi phát hiện đối tượng end-toend. Kiến trúc mạng SSD được minh họa như hình bên dưới.

6



Hình 2-4 Kiến trúc mạng SSD300

SSD dùng 6 tầng bản đồ đặc trưng cho phát hiện đối tượng. Kiến trúc mạng
VGG cũng như lớp đắp thêm (extra) có các lớp max-pooling làm giảm dần kích
thước các bản đồ đặc trưng. Các tầng đặc trưng dùng để phát hiện đối tượng lần lượt
có các kích thước là: 38x38, 19x19, 10x10, 5x5, 3x3, 1x1. Chính nhờ các tầng này
mà ta khơng cần xây dựng kim tự tháp ảnh với nhiều kích thước đầu vào khác nhau
(image pyramid).
Mỗi "pixel" trên bản đồ đặc trưng tương quan với một vùng quan sát trên ảnh
gốc. Vì vậy, ta có thể thiết kế các hộp phát hiện đối tượng (anchor box / default
box) với các tỉ lệ hình dáng khác nhau. Kiến trúc mạng SSD 300 có tổng cộng 8732
7


default box. Kiến trúc mạng SSD 512 có tổng cộng 24608 default box. Ảnh đầu vào
to hơn cho phép ta phát hiện các đối tượng nhỏ hơn trong ảnh.

2.2.3. Single Shot Scale-invariant Face Detector (S3FD)
Single Shot Scale-invariant Face Detector (viết tắt S3FD) [3] là phương pháp
phát hiện khuôn mặt cải tiến trên phương pháp phát hiện đối tượng tổng quát là SSD
[10]. Ba điểm cải tiến chính của S3FD so với SSD đó là:
• Ảnh đầu vào kích thước lớn hơn: 640x640 thay vì 300x300 hoặc 512x512.
• Tỉ lệ IoU giữa default box và groundtruth giảm xuống còn 0.35 thay vì 0.5.
Nhằm mục đích giảm thiểu sự mất mát nhãn mục tiêu của các đối tượng quá
nhỏ.
• Áp dụng kĩ thuật max-out [15] background cho lớp phát hiện đối tượng nhỏ.
Hình kiến trúc mạng của S3FD:

Hình 2-5 Kiến trúc mạng phát hiện khn mặt S3FD


Mơ hình phát hiện khn mặt S3FD là một trong những phương pháp phát
hiện khuôn mặt cho ra kết quả tốt nhất hiện nay trên tập dữ liệu đánh giá FDDB [9].
Nhờ vào ba điểm cải tiến trên mà mơ hình mạng phát hiện được đối tượng nhỏ hơn,
chính xác hơn, nhưng đánh đổi của nâng cao về độ chính xác là thời gian xử lý
chậm hơn do đầu vào lớn 640x640.

2.3. Tổng quan các phương pháp về nhận diện khuôn mặt
2.3.1. Facenet: triplet loss
Facenet [6] là mơ hình mạng học sâu dùng hàm học Triplet Loss. Ở giai đoạn
huấn luyện, ta cần tìm bộ ba vector đặc trưng của các mẫu, trong có hai mẫu cùng
lớp và một mẫu khác lớp. Với bộ ba này ta cần cực tiểu hóa khoảng cách của cặp
mẫu dương và cực đại hóa khoảng cách của cặp mẫu âm. Công thức Triplet Loss:


ฮ݂ሺ‫ݔ‬௜௔ ሻ െ ݂ሺ‫ݔ‬௜௣ ሻฮଶ ൅ ߙ ൏ ‖݂ ሺ‫ݔ‬௜௔ ሻ െ ݂ሺ‫ݔ‬௜௡ ሻ‖ଶଶ

8


Giải thích ký hiệu:
• ݂ሺ‫ݔ‬௜௔ ሻ: vector đặc trưng của mẫu đang xét


• ݂ሺ‫ݔ‬௜ ሻ: vector đặc trưng cùng nhóm của mẫu đang xét.

• ݂ሺ‫ݔ‬௜௡ ሻ: vector đặc trưng của mẫu khác nhóm với mẫu đang xét.

• ߙ: khoảng cách giữa cặp mẫu âm và cặp mẫu dương cần phân tách.


Thử thách của việc huấn luyện mơ hình dùng Triplet Loss đó là ta phải tìm
bộ ba mẫu trong bó dữ liệu. Cặp mẫu dương nhóm tác giả chọn cặp mẫu dương có
khoảng cách xa nhau nhất. Đối với cặp mẫu âm thì chọn cặp có khoảng cách gần
nhau nhất. Ý đồ của việc chọn bộ ba có tính chất như trên là kéo cặp mẫu dương
cùng lớp về gần nhau hơn và đẩy xa nhau ra với mẫu khác nhóm. Kết quả của học
hội tụ là mơ hình có khả năng rút trích đặc trưng phân biệt cho từng người và đặc
trưng của từng người sẽ ở gần một tâm cụm nào đó trong miền khơng gian đặc
trưng.

Hình 2-6 Minh họa ý tưởng Triplet Loss

Hình trên minh họa ý tưởng chính của Triplet Loss. Các đặc trưng của mẫu
âm ban đầu chưa phân tách có thể nằm gần trong nhóm mẫu dương. Qua q trình
học điều chỉnh bằng hàm lỗi triplet, các đặc trưng của mẫu dương cùng nhóm sẽ
tách biệt nhau ra.

2.3.2. Center Loss
Phương pháp Center Loss đề xuất áp dụng hàm Center Loss kết hợp với
Cross Entropy cho bài tốn nhận diện khn mặt. Ý tưởng lớn của phương pháp này
là ta tìm cách thu nhỏ khoảng cách của các vector đặc trưng đến vector đặc trưng
trung tâm của nhãn tương ứng. Các vector đặc trưng trung tâm sẽ được cập nhật
trong quá trình huấn luyện. Sau khi huấn luyện xong mơ hình mạng sử dụng
phương pháp Center Loss thì các vector đặc trưng học được cùng một cá thể có
khuynh hướng hội tụ về gần tâm của các thể đó.
Bằng việc phân tách các vector đặc trưng cho chúng gom gần về một tâm,
phương pháp này làm việc tốt cho bài tốn nhận diện khn mặt. Các thí nghiệm
của nhóm tác giả cũng chỉ ra được sự gia tăng tính hiệu quả cho xác thực khn mặt
và xác thực danh tính bằng cách sử dụng Center Loss.
9



Hình 2-7 Hiệu ứng hành xử của mơ hình khi học bằng Center Loss cho bài toán phân loại ký tự MNIST

Kiến trúc mạng đề xuất của nhóm tác giả Center Loss sử dụng các lớp kết
nối đầy đủ, max-pooling, lớp kết nối cục bộ (locally connected layer).

Hình 2-8 Kiến trúc mạng của phương pháp Center Loss

Kiến trúc mạng của bài báo Center Loss sử dụng nhiều lớp tích chập, maxpooling, locally connected layer, và cuối cùng là lớp kết nối đầy đủ. Mơ hình này
được huấn luyện theo hàm lỗi trung tâm và hàm lỗi cross entropy.

10


2.3.3. Sphereface
Phương pháp Sphereface đề xuất hàm lỗi Angular Softmax mới dựa trên cơ
sở của hàm lỗi Cross Entropy. Ý tưởng chính của phương pháp là chỉnh sửa hàm
Cross Entropy và tổng quát hóa chỉnh sửa này để những đặc trưng sau khi học của
các lớp khác nhau sẽ cách nhau bởi một khoảng cách biên về góc nhất định trên siêu
cầu.
Bên dưới là công thức hàm cross entropy chuẩn:
1
݁ ௙೤೔
‫ ܮ‬ൌ ෍ െlogሺ

ܰ
∑௝ ݁ ௙ೕ


Bài báo Sphereface đã phân tích và đề xuất phiên bản chỉnh sửa của Cross Entropy

‫ܮ‬௠௢ௗ௜௙௜௘ௗ :
‫ܮ‬௠௢ௗ௜௙௜௘ௗ

1
݁ ‖௫೔ ‖ୡ୭ୱሺఏ೤೔ ,௜ሻ
ൌ ෍ െlogሺ

ܰ
∑௝ ݁ ‖௫೔ ‖ୡ୭ୱሺఏೕ ,௜ሻ


Điểm khác biệt ở đây chính là bộ trọng số của lớp W đã được chuẩn hóa về 1
và thiết lập bias bằng zero. Vì vậy, khi ta cho mơ hình học với hàm lỗi L chỉnh sửa
này thì mơ hình sẽ tìm cách phân tách góc của vector đặc trưng giữa các lớp đối
tượng. Điều này làm mơ hình học hiệu quả hơn so với hàm lỗi nguyên gốc, các thí
nghiệm của nhóm tác giả đã cho thấy điều đó.
Kiến trúc mạng Sphereface:

Hình 2-9 Các cấu hình kiến trúc mạng Sphereface

Sphereface 64 lớp cho kết quả độ chính xác cao nhất trên các tập đánh giá.

11


2.4. Tổng kết và nhận xét
Mơ hình nhận diện hình ảnh khuôn mặt trong ảnh tự nhiên gồm hai bước là
phát hiện vị trí khn mặt trong ảnh và nhận diện các khn mặt đã chỉ định vị trí
đó. Hai bước trong dịng chảy chương trình được nối bởi bước cắt ảnh khn mặt
(liền sau có thể là chuẩn hóa nếu có thêm thơng tin về landmark các điểm trên mặt).

Mơ hình phát hiện khn mặt thể hiện rõ rệt sự đánh đổi giữa hiệu suất độ
chính xác và hiệu suất thời gian xử lý. Kết quả độ chính xác của các phương pháp
nhận diện khuôn mặt ngày nay đã đạt độ chính xác khá cao trên tập dữ liệu đánh giá
LFW (99%). Các mơ hình học sâu mạnh mẽ vượt trội so với các phương pháp xử lý
ảnh thiết kế bằng tay ở cùng lĩnh vực. Bên cạnh đó, vấn đề khoảng cách giữa nghiên
cứu và triển khai ứng dụng thực tiễn vẫn đang còn tồn tại. Ứng dụng thơng minh để
triển khai được ngồi thực tế địi hỏi khá khắt khe về độ chính xác, tốc độ xử lý
(càng gần thời gian thực càng tốt) cũng như tính ổn định của phần mềm.

12


×