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

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

58 297 3

Đ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 58
Dung lượng 4,57 MB

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

Nội dung

Ứng dụng nhận diện khuôn mặt từ hình ảnh có hai thành phần cốt lõi: phát hiện khuôn mặt trong ảnh và nhận diện danh tính khuôn mặt.. Các ứng dụng cụ thể gần gũi với con người sử dụng học

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

NGUYỄN HOÀNG MINH

NHẬN DIỆN KHUÔN 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

Trang 2

i

CÔNG TRÌNH ĐƯỢC HOÀ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

Trang 3

ii

ĐẠ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

DẪN

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

TRƯỞNG KHOA KH & KTMT

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

Trang 4

iii

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 luôn độ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 nguyên 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

Trang 5

iv

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 khuôn 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 đoá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 quân đội, an ninh quốc phòng, Việc kiểm soát rõ ràng ra vào theo danh tính bằng khuôn 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 khuôn 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 hoàn thiện hơn

Ứng dụng nhận diện khuôn mặt từ hình ảnh có hai thành phần cốt lõi: phát hiện khuôn mặt trong ảnh và nhận diện danh tính khuôn 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 hoàn chỉnh cho phép nhận diện khuôn mặt trong hình ảnh / video Hình ảnh khuôn mặt được phát hiện ở mô-đun phát hiện khuôn 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

Trang 6

v

ABSTRACT

Nowadays, computer science grows quickly and it brings many applications

to human life Especially, information technology is one of the fastest growing mains in the world, it makes human life become better In recent years, neural net-works 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 im-age 3D visualization, … Security surveillance is very important and takes many at-tentions from government

do-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 re-lated 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 ognition flow

Trang 7

rec-vi

LỜI CAM ĐOAN

Các tài liệu, bài báo, trang web mà tôi đã tham khảo trong quá 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 ngoài các trích dẫn tham khảo trên, toà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ẽ hoàn toà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

Trang 8

vii

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 toán nhận diện khuôn 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

Trang 9

viii

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ê quá 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

Trang 10

ix

DANH MỤC HÌNH ẢNH

Hình 2-1 Mô hình nhận diện khuôn 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 toá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 quá 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

Trang 11

x

Hình 5-10 Biểu đồ huấn luyện thí nghiệm 5 36

Hình 5-11 Nhận diện khuôn 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

Trang 12

xi

DANH MỤC BẢNG

Bảng 5-1 Kết quả đánh giá các mô hình nhận diện khuôn 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

Trang 14

1

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 khuôn mặt có thể giúp camera lấy nét hình ảnh khuôn 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 khuôn mặt có 2 bài toán nhỏ trong đó là xác thực khuôn mặt và xác thực danh tính của khuôn 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 khuôn mặt Còn xác thực danh tính là từ ảnh khuôn 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 khuôn mặt ta đã có, mong muốn xác định được người đó là ai

Ứng dụng của nhận diện khuôn 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 quá 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 thuê 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 khuôn mặt đang là bài toán lớn cần được đào sâu nghiên cứu vì nó có khá nhiều thử thách Bài toá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 khuôn mặt là bài toá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 khuôn mặt đều cùng có mắt, mũi, miệng và cùng khuôn 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 đó

Trang 15

2

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 khuôn 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 khuôn 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 khuôn mặt từ hình ảnh có một số điểm khó nhất định so với các bài toá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 toán phân loại) Ngoài ra, việc kết hợp hai khối mô hình phát hiện khuôn mặt và nhận diện khuôn mặt nhưng vẫn phải đảm bảo hiệu suất tính toá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 toán cho bài toán nhận diện khuôn 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 khuôn 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 khuôn 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 khuôn 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 khuôn 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

Trang 16

3

1.4 Phạm vi đề tài

• Đề tài chỉ tập trung cho bài toán với nhận diện khuôn mặt ở góc nhìn thẳng (khuôn mặt không được xoay quá 45 độ cho góc nhìn trực diện) Hình ảnh chứa khuôn 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 quá 1/2 khuôn mặt

• Các khuôn 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 toán nhận diện khuôn 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

Trang 17

4

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 toán nhận diện

khuôn mặt

Bài toá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 khuôn 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 khuôn 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 khuôn 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 khuôn 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 khuôn 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 khuôn 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 khuôn 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

Trang 18

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 khuôn 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à khuôn 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à khuôn 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 khuôn mặt, ngược lại ảnh không phải khuôn mặt

Trang 19

6

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í khuôn 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 khuôn mặt có các điểm landmark Mỗi mô hình con có 3 đầu ra, độ tin cậy nhãn khuôn mặt (2 chiều), thông tin căn chỉnh vị trí khuôn mặt (4 chiều) và land-mark (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-to-end Kiến trúc mạng SSD được minh họa như hình bên dưới

Trang 20

7

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

Trang 21

8

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 (S 3 FD)

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 khuôn mặt S 3 FD

Mô hình phát hiện khuôn 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:

      ‖

Trang 22

9

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 quá 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

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 toán nhận diện khuôn 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 khuôn mặt

và xác thực danh tính bằng cách sử dụng Center Loss

Trang 23

10

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, pooling, 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

Trang 24

max-11

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:

Đ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á

Trang 26

13

3 CƠ SỞ LÝ THUYẾT

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

Mạng nơ-ron nhân tạo ảnh đầu vô thường được chuẩn hóa về miền giá trị [-1, 1] Chuẩn hóa dữ liệu gồm có 2 bước:

• Bước 1: Trừ ba kênh màu RGB tương ứng cho mảng giá trị trung bình [meanR, meanG, meanB] Tức kênh đỏ của ảnh sẽ lấy giá trị của tất cả pix-

el trừ cho giá trị meanR, áp dụng tương tự cho hai kênh còn lại là xanh lá

và xanh dương cho lần lượt các giá trị meanG, meanB Thao tác này tương đương với việc dịch chuyển mức sáng của ảnh đầu vào về điểm trung bình

• Bước 2: Lấy các giá trị ảnh đầu vô chia cho [stdR, stdG, stdB] nhằm dịch chuyển miền giá trị về [-1, 1]

Thông thường, mảng giá trị trung bình của 3 kênh RGB (mean) cũng như mảng giá trị độ lệch chuẩn (std) thường được thống kê từ tập dữ liệu huấn luyện Do thao tác thống kê tốn nhiều chi phí tính toán và cần phải tính lại nếu tập dữ liệu huấn luyện bị thay đổi, người ta thường lấy mean và std theo tập dữ liệu nổi tiếng VOC PASCAL:

• mean: [123, 117, 104]

• std: [255, 255, 255]

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

Các mô hình mạng học sâu cần lượng dữ liệu rất lớn để có thể huấn luyện tốt được bộ trọng số trong mạng Người ta áp dụng các kỹ thuật làm giàu dữ liệu bằng các phép biến đổi trong xử lý ảnh để có thể tăng tính đa dạng cho tập dữ liệu huấn luyện Làm giàu dữ liệu là một trong những bước quan trọng trong huấn luyện mô hình mạng học sâu, các cách thức áp dụng làm giàu dữ liệu giúp mô hình sau khi huấn luyện "miễn nhiễm" với các sự biến đổi trong quá trình kiểm thử với ảnh thực tế

Một số phép biến đổi làm giàu dữ liệu thường được áp dụng cho ảnh đầu vào của các mô hình mạng học sâu:

• Lật ảnh theo chiều ngang hoặc chiều dọc (random flip): đối với bài toán phân loại, ảnh đối tượng lật theo chiều ngang (horizontal flip) thì vẫn là đối tượng đó Phép biến đổi lật theo chiều dọc (vertical flip) thường được

áp dụng cho đối tượng có tính đối xứng qua trục x

Trang 27

14

Hình 3-1 Ảnh từ trái qua: ảnh gốc, ảnh lật ngang, ảnh lật dọc

• Làm mờ ngẫu nhiên theo cửa sổ Gauss (random blur): các cửa sổ Gauss được thiết lập với kích thước ngẫu nhiên theo các siêu tham số xác định trước nhằm biến đổi ảnh đầu vào ở nhiều mức độ mờ khác nhau Mô hình được học với phép làm giàu dữ liệu mờ vẫn sẽ có thể phát hiện các đối tượng bị mờ trong quá trình kiểm thử / đánh giá

• Gieo nhiễu ngẫu nhiên (random noise): có hai loại nhiễu được áp dụng ngẫu nhiên đó là nhiễu muối (đốm pixel màu trắng) và nhiễu tiêu (đốm pixel màu đen), cách gọi ngắn gọn là nhiễu muối tiêu Pixel nhiễu được gieo ngẫu nhiên cũng có thể là màu ngẫu nhiên Kỳ vọng của phép làm giàu dữ liệu này giúp mô hình miễn nhiễm với nhiễu muối tiêu trong ảnh thực tế cũng như đánh giá

Hình 3-2 Ảnh được gieo nhiễu

• Biến đổi ảnh xám (random grey): ảnh huấn luyện của mô hình mạng học sâu thường là ảnh màu (3 kênh RGB), nhưng đối với camera hồng ngoại thì hình ảnh video thu bởi camera vào ban đêm sẽ là ảnh xám, không còn

là ảnh màu Vì vậy nếu với tập dữ liệu hình ảnh ta chỉ huấn luyện với ảnh màu thì mô hình sẽ giảm hiệu suất trên ảnh hồng ngoại vào ban đêm Với mục đích giảm thiểu ảnh hưởng bởi ảnh đầu vào mô hình là ảnh xám, ta

có thể áp dụng phép làm giàu dữ liệu biến đổi ảnh màu thành ảnh xám ngẫu nhiên (có xác suất, không phải lúc nào cũng áp dụng phép biến đổi này trên mọi ảnh huấn luyện)

Trang 28

15

Hình 3-3 Ảnh biến đổi xám

• Điều chỉnh ngẫu nhiên màu ảnh (color jitter): phép biến đổi này bao gồm

3 phép biến đổi con, đó là điều chỉnh tương phản ảnh ngẫu nhiên (random contrast), điều chỉnh màu sắc ngẫu nhiên (random color) và điều chỉnh độ sáng ngẫu nhiên (random brightness) Phép biến đổi này được dùng trong

bài báo SSD [10] Bằng việc áp dụng phép làm giàu này, mô hình sẽ hạn

chế sự ảnh hưởng của đối tượng đa dạng màu sắc

Hình 3-4 Ảnh điều chỉnh màu ngẫu nhiên

• Cắt ảnh ngẫu nhiên (random crop): phép biến đổi này cắt ngẫu nhiên vùng ảnh (crop) trên ảnh gốc, phép biến đổi này mô phỏng phép phóng to (zoom in) ảnh đối tượng Phép biến đổi cắt ảnh nào tạo sự đa dạng cho các trường hợp ảnh đối tượng

• Thu nhỏ ảnh ngẫu nhiên (random expand): phép biến đổi này thêm các pixel bổ sung vào các biên ảnh (padding), khiến ảnh gốc nhỏ hơn sau khi biến đổi Hiệu ứng của phép biến đổi này làm nội dung ảnh gốc bị phóng nhỏ hơn (zoom out) Phép biến đổi này kết hợp với phép biến đổi cắt ảnh ngẫu nhiên làm hình ảnh các đối tượng đầu vào đa dạng về kích thước, phù hợp cho bài toán phát hiện đối tượng tổng quát

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

Tích chập (convolution) là khái niệm quan trọng và sử dụng rất nhiều trong

xử lý ảnh, thị giác máy tính Tích chập là toán tử mà ta thực hiện xoay cửa sổ 180

độ, tức lật cửa sổ 2 lần lượt theo trục x và y, rồi sau đó áp dụng phép tương quan

Trang 29

16

(correlation) Tương quan giữa cửa sổ và ảnh được tính toán bằng cách áp dụng kỹ thuật cửa sổ trượt (sliding window), tại mỗi pixel trên ảnh ta tính toán tích vô hướng giữa cửa sổ và vùng ảnh tương ứng

Công thức tích chập trên miền rời rạc 2 chiều:

Điểm khác biệt lớn nhất của phép tích chập với phép tương quan đó là phép

tích chập có tính chất kết hợp: K2*(K1*I) = (K2*K1)*I Điều này thể hiện rằng

thay vì ta tích chập cửa sổ K1 với I, sau đó dùng cửa số K2 tích chập trên ảnh kết quả vừa rồi thì ta có thể thực hiện lấy cửa sổ K1 tích chập với K2 thành một cửa sổ mới nào đó, sau đó lấy cửa sổ mới tích chập với ảnh gốc I Chính nhờ tính chất này

mà khi thiết kế cửa sổ, thay vì thiết kế nhiều phép tích chập tuần tự ta có thể kết hợp chúng lại thành một cửa sổ duy nhất Chi phí tính toán của phép tích chập cũng như phép tương quan là tương đối lớn

... biệt

Bằng việc phân tách vector đặc trưng cho chúng gom gần tâm, phương pháp làm việc tốt cho tốn nhận diện khn mặt Các thí nghiệm nhóm tác giả gia tăng tính hiệu cho xác thực khn mặt

và... điều chỉnh độ sáng ngẫu nhiên (random brightness) Phép biến đổi dùng

bài báo SSD [10] Bằng việc áp dụng phép làm giàu này, mơ hình hạn

chế ảnh hưởng đối tượng đa dạng màu

Ngày đăng: 26/01/2021, 08:54

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w