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

Khóa luận tốt nghiệp Khoa học máy tính: Phương pháp học sâu cho bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang

113 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Phương pháp học sâu cho bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang
Tác giả Lê Hữu Trung, Nguyễn Đỗ Mạnh Cường
Người hướng dẫn ThS. Đỗ Văn Tiến, TS. Ngô Đức Thành
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 113
Dung lượng 54,47 MB

Nội dung

42 3.2 Ung dụng phương pháp trích xuất đặc trưng chống lại sự che khuất để giải quyết bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang .... * Đầu vào Input: Một bức ảnh chứa m

Trang 1

ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH

TRUONG DAI HQC CONG NGHE THONG TIN

KHOA KHOA HOC MAY TiNH

LÊ HỮU TRUNG NGUYEN DO MẠNH CƯỜNG

KHÓA LUẬN TÓT NGHIỆP

DEEP LEARNING METHODS FOR MASKED FACE RECOGNITION

CỬ NHÂN TÀI NANG NGANH KHOA HỌC MAY TÍNH

TP HÒ CHÍ MINH, 2023

Trang 2

ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH

TRUONG DAI HQC CONG NGHE THONG TIN

KHOA KHOA HOC MAY TiNH

LE HỮU TRUNG - 19522424 NGUYEN DO MẠNH CƯỜNG - 19521300

KHOA LUAN TOT NGHIEP

DEEP LEARNING METHODS FOR

MASKED FACE RECOGNITION

CỬ NHÂN TÀI NĂNG NGÀNH KHOA HỌC MÁY TÍNH

GIẢNG VIÊN HƯỚNG DẪN

ThS DO VAN TIEN

TS NGO ĐỨC THÀNH

TP HÒ CHÍ MINH, 2023

Trang 3

DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo quyết định số

155/QD-DHCNTT ngày 01/03/2023 của Hiệu trưởng Trường Dai

học Công nghệ Thông tin.

1 TS Mai Tiến Dũng - Chủ tịch.

2 ThS Trịnh Quốc Sơn - Thư ký.

3 TS Dương Việt Hằng - Uỷ viên.

Trang 4

LỜI CẮM ƠN

Đầu tiên, chúng em xin chân thành cảm ơn ThS Đỗ Văn Tiến và

TS Ngô Đức Thành, là hai người thầy đã tận tình hướng dẫn giúp

đỡ chúng em vượt qua những khó khăn và hoàn thành khóa luận tốt nghiệp của mình Hai thầy đã đưa ra những lời khuyên bổ ích không

chỉ áp dụng trong khóa luận mà còn là kim chỉ nam cho hướng phát

triển sau này của chúng em.

Đồng thời, chúng em cũng muốn gửi lời cảm ơn sâu sắc tới tt cả thầy

cô của trường Đại học Công nghệ Thông tin, đặc biệt là các thầy cô

trong khoa Khoa học máy tính đã tận tình giúp đỡ giảng dạy chúng

em trong thời gian học tập và rèn luyện tại trường.

Chúng em cũng rất vui vì được là một phần của lớp KHTN2019, nơi chúng em được đồng hành và phát triển cùng nhau trong hơn 3 năm qua Chúng em cũng chân thành biết ơn sự hỗ trợ và giúp đỡ đến từ

các thành viên của câu lạc bộ Trí tuệ nhân tạo AIClub khoa Khoa học máy tính.

TP Hồ Chí Minh, tháng 1 năm 2023

Sinh viên thực hiện

Lê Hữu Trung

Nguyễn Đỗ Mạnh Cường

Trang 5

TÓM TẮT KHÓA LUẬN

Nhận dạng khuôn mặt là một trong những phương pháp xác thực

sinh trắc học phổ biến vì tính tiện dụng của nó Trong những năm

gần đây, các hệ thống nhận dạng khuôn mặt dần được tích hợp vào trong các lĩnh vực đời sống con người như được ứng dụng điểm danh trong các xí nghiệp, trường học cho đến việc mở khoá bằng khuôn mặt trên chiếc điện thoại thông minh Tuy nhiên, cùng với sự bùng

phát và lây lan của đại dịch COVID-19 trong những năm qua, con

người đã dần hình thành thói quen mang khẩu trang, đặc biệt là khi đến những nơi công cộng Điều này đã gây ra không ít khó khăn cho các hệ thống nhận dạng khuôn mặt hiện tại do khẩu trang đã che đi phần lớn những đặc điểm trên khuôn mặt Chính những khó khăn này làm cho việc giải quyết bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang trở nên cấp thiết hơn bao giờ hết, đặc biệt là trong bối cảnh đại dịch COVID-19 vẫn đang còn hoành hành.

Đứng trước sự cấp thiết đó, đã có nhiều khảo sát đưa ra các hướng tiếp cận và phương pháp để giải quyết bài toán [1] Đặc biệt trong

số đó là các phương pháp của hướng tiếp cận trích xuất đặc trưng chống lại sự che khuất giúp tận dụng được các mô hình nhận dạng khuôn mặt Do đó, nhóm quyết định tìm hiểu và nghiên cứu áp dụng các phương pháp của hướng tiếp cận này cho khoá luận Trong đó, nhóm đã kết hợp các phương pháp sử dụng các mô hình học sâu lại

với nhau và tận dụng được các mô hình nhận dạng khuôn mặt hiện

Trang 6

có, đồng thời cho ra kết quả tốt hơn khi đánh giá trên tập dữ liệu thực

và khôi phục vùng bị che khuất (Occlusion recovery based face

Tecognition).

* Tìm hiểu, cài đặt và đánh giá hai phương pháp của hướng tiếp cận trích xuất đặc trưng chống lại sự che khuất (phương pháp

sử dụng mô hình nhúng không che mặt - Embedding

Unmask-ing Model, phương pháp bình chọn sử dụng các mẫu nhị phân cục bộ - Local Binary Pattern cùng với việc cải tiến và kết hop

hai phương pháp) trên 2 tập dữ liệu COMASK20 và Masked

Labeled Faces in the Wild.

s Xây dựng ứng dụng minh hoa.

Từ khóa: Masked Face Recognition, Face Recognition, Local

Bi-nary Patterns, Deep Learning, Occlusion Robust Feature Extraction,

nhận diện danh tính khuôn mặt người mang khẩu trang, nhận diện khuôn mặt, phương pháp học sâu, trích xuất đặc trưng chống lại sự che khuất.

Trang 7

MỤC LỤC

Mục lục M

Danh sách hình vẽ x

Danh sách bang xiii

DANH MUC TU VIET TAT xv

1 TONG QUAN 1

11 Đặtvấn đ Z⁄⁄ 6 đ @© \À / 1

12 Mục tiêu vàphạmvi 2

12.1 Mine tig ao NA / 2

1.2.2 {Blam Vi SA 4 A ee eee 3

1.3 Dong góp của khóaluận 3

14 Cấu trúc khóaluận 4

2 CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIEN QUAN 5

2.1 Tổng quan về bài toán nhận diện danh tính khuôn mặt người deo

khẩu trang ee 5

211 Dinhnghia 5 2.12 Quá trình thực hiện (Pipeline) 6

Trang 8

MỤC LỤC

2.2.1.1 Lớp tích chập (Convolutional)

2.2.1.2 Lớp kích hoạt (Activadon)

22.13 LópPoolng

2.2.1.4 Lớp chuẩn hóa (Normalization)

2.2.2 Resnet ResidualNetwok

2.2.2.1 Vanishing Gradient

2.2.2.2 ResidualBlock

2.2.3 Các hàm mat mát cho bài toán nhận diện khuôn mat: 2.2.3.1 MấtmátTriplet

2.2.3.2 ArcFace ( Additive Angular Margin Loss for Deep Face Recognition)

2.2.4 Phát hiện khuôn mặt (Face detection)

2.2.4.1 MTCNN

2.2.4.2 RetinaFace

2.2.4.3 SCRFD (Sample And Computation Redistri-bution For Efficient Face Detection)

2.2.4.4 YoloV5-Face

2.2.5 Các độ đo khoảng cách và độ tương đồng

2.2.5.1 Khoảng cáchEucldean

2.2.5.2 Khoảng cách Manhatan

2.2.5.3 Khoang cach Minkowski

2.2.5.4 Độ tương đồng Cosine

Các hướng tiếp cận phổ biến cho bài toán nhận diện khuôn mặt người đeo khẩu trang

2.3.1 Hướng tiếp cận trích xuất đặc trưng chống lại sự che khuất (occlusion robust feature extraction) .

2.3.2 Hướng tiếp cận nhận thức vùng bị che trong nhận diện khuôn mặt (occlusion aware face recognition)

vi

Trang 9

MỤC LỤC

2.3.3 Hướng tiếp cận khôi phục vùng bị che khuất dựa trên

nhận diện khuôn mặt (occlusion recovery based face recognition) 2 2 ee ee 32 2.3.4 Nhanxét 2.2.2.0 Q Q 02.0200 0000045 33

che khuất (Occlusion robust feature extraction) 35

3.1.1 Cac đặc trưng ki thuật (Patch-based engineer features) 35

3.1.1.1 Dac trưng thủ công (Handcraft features) 36 3.1.1.2 Patch-based matching 37 3.1.2 Đặc trưng dựa trên việc học (learning-based features) 38

3.1.2.1 Hoc không gian con (Subspace learning) 40

3.1.2.2 Hoc thống kê (Statistical learning) 40

3.1.2.3 Phân loại đại diện thưa thớt (Sparse

represen-tation classifier-SRC) 41

3.1.2.4 Học sâu (Deep learning) 42

3.2 Ung dụng phương pháp trích xuất đặc trưng chống lại sự che

khuất để giải quyết bài toán nhận diện danh tính khuôn mặt

người đeo khẩu trang 43

3.2.1 Phuong pháp sử dụng mô hình nhúng không che mặt

(Embedding Unmasking Model - EUM) 44

3.2.1.1 KiéntricEUM 44 3.2.1.2 Mat mat Seft-restrained Triplet 45

vii

Trang 10

MỤC LỤC

3.2.2 Phương pháp bình chọn sử dụng các mẫu nhị phân cục

bộ (LBP-based voting) 47

3.2.2.1 Giớithệu 47

3.2.2.2 Áp dụng vào bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang 54

3.2.3 Phương pháp sử dụng đặc trưng học sâu dựa trên việc cắt xén (croppingbased) 5

3.2.3.1 Phương pháp cắt xén (cropping method) 57

3.2.3.2 Áp dụng phương pháp cắt xén vào bài toán nhận diện danh tính khuôn mặt người đeo khẩu IỮAfÍp Ét \À À 58

3.3 Kếtchương ga 59 THUC NGHIEM VA DANH GIA 60 4.1 Chuẩn bị dữ liệu đánhgiá - 60

4.2 Các độ đo sử dụng trong khóa luận 62

4.2.1 Intersection over Union (IoU) 62

4.2.2 Precision, Recall, Fl-score,mAP 63

4.3 Kétquathucnghiém 64

4.3.1 Pháthinkhuônmặt 65

4.3.2 Nhận dang và phan loại khuôn mặt người deo khẩu trang 68 4.3.2.1 Mô hìnhcơsở(baseline) 68

443.22 PhươngphápEUM 69

4.3.2.3 Phương pháp sử dụng đặc trưng dựa trên LBP để bìnhchọn 70

4.3.2.4 Phương pháp sử dụng đặc trưng học sâu vùng

viii

Trang 11

MỤC LỤC

4.3.2.5 Phương pháp sử dụng đặc trưng hoc sâu dựa

trên việc cắtxén

4.3.2.6 Phương pháp kết hợp EUM và đặc trưng học sâu dựa trên việc cắtxén

4.3.2.7 Kết quả đánh giá trên COMASK20 và MLFW 4.4 Kếtchương Q eee 5 XÂY DỰNG UNG DUNG MINH HOA 5.1 Caidattngdung

5.1.1 Các công nghệ sửdụng

5.1.1.1 0K hdốt 5S GP À

5.112 FastAPIl

5113 MongoỏDB

5.1.2 Sơ đồ kiến trúcứngdụng

5.2 Giao diệnứngdụng

5.3 Tínhbảomật Q2.

54 DOchiutai 2 2.2 0.20.0 00202 ee

5.5 Kétchuong 2.2 2 ee eee

6 KẾT LUẬN VA HƯỚNG PHAT TRIỂN

61 Kếtluận Qua

62 Hướngpháttiển ccẶo

Tài liệu tham khảo

ix

76

78

79

79

79 79 80 81

83

83

87

88 88

89 89 90

91

Trang 12

DANH SÁCH HÌNH VẼ

11

21

2.2

2.3

24

2.5

2.6

2.7

2.8

2.9

2.10

2.11

2.12

2.13

2.14

2.15

2.16

2.17

2.18

2.19

Đầu vào và đầu ra của bài toán nhận diện danh tính khuôn mặt

người đeo khẩu trang

Một số hình ảnh khuôn mặt người đeo khẩu trang

Đầu vào và đầu ra của bài toán nhận diện khuôn mặt người đeo khẩu trang ee Quá trình thực hiện của nhận diện danh tính khuôn mặt

Minh họa tích chập của một ảnh RGB và ma trận kernel

Mô phỏng quá trình tích chập trongCNN

Ví dụ kết quả tính toán tích chập trong hình ảnh

Mô tả một số hàm kíchhoạt

-Mô phỏng quá trình tính Max-pooling

Mô phỏng quá trình tính BatchNorm

Minh hoạ hiện tượng Vanishing Gradient

Minh hoa

Residualbloek_ -Minh hoa IdenttyBlock_

Minh hoa

ConvolutionalBlock -Minh hoa bốn loại khoảng cách trắc địa cho bài toán nhận diện khuôn mặt Ặ.ẶẶ

Minh hoa mã bộ ba của mat mát triplet

Đầu vào và đầu ra của mô hình phát hiện khuôn mặt

Pipeline của MTCNN

Tổng quan về

RetinaFace -Kiến trúc SCRFD

Trang 13

DANH SÁCH HÌNH VẼ

2.20 Kiến trúc YoloV5 cà.

2.21 Phân loại các phương pháp trích xuất đặc trưng chống lại sự che

2.22 Phan loại các phương pháp nhận thức vùng bi che trong nhận

diện khuôn mặt

2.23 Phân loại các phương pháp khôi phục vùng bị che khuất dựa trên nhận diện khuônmặt

3.1 Quy trình làm việc của mô hình nhận dạng khuôn mặt với EUM được đề xuẤt ee 3.2 Mô tả quá trình huấn luyện EUM với triplet loss và SRT 3.3 Mô tả 2 trường hợp của mất mát Self-restrained Triplet

3.4 Cách tính LBP vàcontrast

3.5 Cách lấy đểmmẫu

3.6 Xoay điểm ảnh cục bộ theo chiều ngược chiều kim đồng hé

3.7 SốthểhinvớiU<2

3.8 Ví dụ về uniform và non-unifrm

3.9 Thuật toán áp dụng LBPvàKNN

3.10 Vị trí các điểm mốc cho hình ảnh đầu vào (trên cùng), toàn bộ khuôn mặt (giữa) và trên ROI cụ thể (dưới cùng)

3.11 Đặc trưng biểu đồ tần suất dựa trênLBP

3.12 Minh hoạ thuật toán cắt bỏ phần khẩu trang

3.13 Ví dụ về hình ảnh khuôn mặt mang khẩu trang được cắt ở các ty lệ cắt xén khác nhau

4.1 Một số hình ảnh của bộ dữ liệu MLFW

4.2 Một số hình ảnh của bộ dữ liệu COMASK20

43 Minh hoạ cáchtínhlOU

4.4 Minh hoa cách True/False Positive/Negative

xi

Trang 14

DANH SÁCH HÌNH VẼ

4.5

4.6

47

4.8

4.9

4.10

4.11

5.1

5.2

5.3

5.4

5.5

5.6

5.7

5.8

Minh hoa quá trình gan nhãn dữ liệu 65

So sánh các mô hình phát hiện khuôn mặt 67

Một số vi dụ sử dụng YoloV5-Face để phát hiện và căn chính khuôn mặt ẶẶẶ ẶẶẶẶ 68 Quá trình thực hiện phương pháp sử dụngLBP 71

Minh hoa quá trình thực hiện phương pháp sử dung đặc trưng học sâu vùng chânmày 73

Kết quả đánh giá trên các lớp của mô hình 76

Minh hoạ pipeline của phương pháp kết hợp EUM và đặc trưng học sâu dựa trên việc Sixt ẨẲẲẲ Ỏ 77 Ưu điểm của ReacJS 80

Uu điểm của FastAPl 81

Uu điểm của MongoDB 82

So đồ kiến trúc ứng dụng 83

Giao diện chính của ứng dụng 84

Các bước đăng ký khuôn mặt (phần 1) 85

Các bước đăng ky khuôn mặt (phan 2) 86

Các bước nhận dạng khuôn mặt đeo khẩu trang 87

xii

Trang 15

Bảng phân chia dữ liệu dùng để đánh giá

Bảng đánh giá phát hiện khuôn mặt của mô hình MTCNN

Bảng đánh giá phát hiện khuôn mặt của các mô hình tiên tiến trên tập dữ liệu có đeo khẩu trang Bảng đánh giá phát hiện khuôn mặt của các mô hình tiên tiến trên tập dữ liệu không đeo khẩu trang Bảng kết quả đánh giá baseline trên bộ dữ liệu COMASK20

Bảng kết quả đánh giá baseline trên bộ dữ liệu MLFW Bảng kết quả đánh giá EUM trên bộ dữ liệu COMASK20 Bảng kết quả đánh giá EUM trên bộ dữ liệu MLFW Bảng kết quả đánh giá LBP trên bộ dữ liệu COMASK20 Bảng kết quả đánh giá LBP trên bộ dữ liệu MLFW Bảng kết quả đánh giá phương pháp đặc trưng học sâu vùng

chân mày trên bộ dữ liệu COMASK20

Bảng kết quả đánh giá phương pháp đặc trưng học sâu vùng

chân mày trên bộ dữ liệu MLFW_

Bảng kết quả đánh giá phương pháp đặc trưng học sâu dựa trên việc cắt xén trên bộ dit liệu COMASK20 Bảng kết quả đánh giá phương pháp đặc trưng học sâu dựa trên việc cắt xén trên bộ dit liệu MLFW

xiii

Trang 16

Bảng kết quả đánh giá phương pháp kết hợp EUM và Crop với

đặc trưng được trích xuất từ layer có kết quả cao trong mô hình

Resnet100 trên bộ dữ liệu COMASK20_ 76

Bảng tổng hợp kết quả đánh giáCOMASK20_ T7 Bảng tổng hợp kết quả đánh gáMLFW_ 78

xiv

Trang 17

DANH MỤC TỪ VIẾT TẮT

Từ việt tat | Nội dung

DL Deep Learning

CNN(s) Convolutional Neural Networks

DCNNG) | Deep Convolutional Neural Network OAFR Occlusion aware face recognition Conv Convolution

ANN(s) Artificial Neural Networks SIFT Scale-invariant feature transform

LBP Local Binary Patterns

MLFW Masked Labeled Faces in the Wild

xv

Trang 19

* Đầu vào (Input): Một bức ảnh chứa một khuôn mặt người có đeo khẩu

Nhóm tập trung giải quyết bài toán nhận diện danh tính khuôn mặt người đeo

khẩu trang Dé hoàn thành công việc, nhóm đã dé ra mục tiêu cụ thể sau:

* Tìm hiểu tổng quan về bài toán nhận diện danh tính khuôn mặt người deo

khẩu trang và một số hướng tiếp cận hiện nay

* Khảo sát, áp dụng và đánh giá các phương pháp trích xuất đặc trưng chống

lại sự che khuất cho bài toán nhận diện danh tính khuôn mặt người đeo

khẩu trang.

Trang 20

« Xây dựng ứng dụng web nhận diện danh tính khuôn mặt người đeo khẩu

trang.

1.2.2 Pham vi

Trong khuôn khổ giới han của khóa luận, nhóm thực hiện tập trung hoàn

thành các công việc sau:

¢ Tìm hiểu tổng quan về định nghĩa, tính cấp thiết, thách thức và các hướng

tiếp cận của bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang

« Tìm hiểu các ưu nhược điểm của các phương pháp trong từng hướng tiếp

cận cho bài toán Từ đó tạo cơ sở cho việc chọn và đánh giá một số phương

học sâu trên các tập dữ liệu chuẩn cho bài toán.

¢ Tập dữ liệu mà nhóm dùng cho khóa luận là COMASK20 và MLFW.

Nhóm sẽ thực nghiệm và đánh giá các phương pháp trên các tập dữ liệu

này.

« Xây dựng hệ thống minh hoa cho bài toán

1.3 Đóng góp của khóa luận

Sau đây là một số đóng góp mà nhóm thực hiện có được sau quá trình thực

hiện khóa luận:

« Tài liệu tổng quan về bài toán nhận diện danh tính khuôn mặt người deo

khẩu trang bao gồm định nghĩa, những thách thức và ứng dụng của bài

toán.

« Hệ thống lại cơ sở lý thuyết và tổng quan về các hướng tiếp cận phổ biến

của bài toán hiện nay Đồng thời, phân tích được những ưu điểm, nhược

điểm của các hướng tiếp cận này.

Trang 21

* Tìm hiểu và đánh giá phương pháp sử dụng mô hình nhúng không che mặt

- Embedding Unmasking Model, phương pháp bình chọn sử dụng các mẫu

nhị phân cục bộ - Local Binary Pattern cùng với việc cải tiến và kết hợp

hai phương pháp đó) trên 2 tập dữ liệu COMASK20 và Masked Labeled

Faces In the Wild.

s Xây dựng ứng dung web minh họa cho bài toán.

1.4 Cấu trúc khóa luận

Chương 1: Tổng quan đề tài

Chương 2: Trình bày tổng quát về định nghĩa, thách thức và động lực của

bài toán Đồng thời tìm hiểu các hướng tiếp cận có thể giải quyết bài toán nhận

diện danh tính khuôn mặt người đeo khẩu trang.

Chương 3: Trình bày các phương pháp mà nhóm chúng tôi thực nghiệm

trong khóa luận.

Chương 4: Trình bày các kết quả thực nghiệm và những phân tích đánh giá

của các phương pháp trên tập dữ liệu COMASK20 và MLFW.

Chương 5: Trình bày cách xây dựng ứng dụng và tổng quan về ứng dụng

minh họa.

Chương 6: Trình bày kết luận và hướng phát triển của đề tài

Trang 22

Chương 2

CƠ SỞ LÝ THUYET VÀ CÁC NGHIÊN CỨU LIÊN QUAN

Để hiểu rõ bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang, ta

cần làm rõ các khái niệm liên quan, đồng thời tìm hiểu một số phương pháp tiếp

cận hiện nay Vì vậy, trong chương này, nhóm sinh viên thực hiện sẽ giới thiệu

một số khái niệm cơ bản về bài toán, đồng thời khảo sát các hướng tiếp cận dé

giải quyết bài toán.

2.1 Tổng quan về bài toán nhận diện danh tính khuôn

mặt người đeo khẩu trang

2.1.1 Dinh nghĩa

Đầu vào của bài toán nhận diện danh tính khuôn mặt người đeo khẩu trang

gồm có: 1 ảnh chứa khuôn mặt người đeo khẩu trang Đầu ra mong đợi là danh

tính của người đeo khẩu trang xuất hiện trong ảnh Hình 2.1 là một số ví dụ hìnhảnh đầu vào của bài toán Trong đó, ảnh chỉ chứa duy nhất một khuôn mặt người

đeo khẩu trang, ảnh được chụp chính diện và không giới hạn loại khẩu trang.

Tương tự như bài toán nhận diện danh tính khuôn mặt, bài toán nhận diện

danh tính khuôn mặt người đeo khẩu trang chỉ khác về mặt dữ liệu hình ảnh mà

trong đó đối tượng nhận diện là khuôn mặt người đeo khẩu trang Hình 2.2 mô

tả đầu vào và đầu ra của bài toán nhận diện người đeo khẩu trang, trong đó đầu

vào được lay từ tập dữ liệu COMASK20.

Trang 23

2 Cơ sở lý thuyết

Hình 2.1: Một số hình ảnh khuôn mặt người đeo khẩu trang

Đầu vào Đầu ra

Hình 2.2: Đầu vào và đầu ra của bài toán nhận diện khuôn mặt người đeo khẩu trang

2.1.2 Quá trình thực hiện (Pipeline)

Hình 2.3 mô tả quá trình thực hiện của bài toán nhận diện danh tính khuôn

mặt người đeo khẩu trang gồm 4 giai đoạn chính lần lượt là: phát hiện khuônmặt (face detection), căn chỉnh khuôn mặt (face alignment), trích xuất đặc trưng

(feature extraction) và phân loại khuôn mặt (face classification).

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

2.1.4 Thực tế

Trong bối cảnh cuộc cách mạng công nghiệp 4.0 đang dần thay đổi nhiềuphương diện của cuộc sống, các thiết bị số ngày càng trở nên thông minh hơn.Trong đó, các hệ thống nhận diện khuôn mặt đã và đang tiếp cận và trở thành

một phần không thể thiếu Điển hình là các hệ thống điểm danh, hệ thống bảo

Trang 24

2 Cơ sở lý thuyết

Buns sep yenx you

Hình 2.3: Quá trình thực hiện của nhận diện danh tính khuôn mat.

mật và được ứng dụng trong nhiều lĩnh vực như ngân hàng, thương mại điệntử, Những năm gần đây bài toán nhận diện khuôn mặt giành được sự quan tâm

rất nhiều và thu hút nhiều chuyên gia trong lĩnh vực thị giác máy tính bắt tay vào

nghiên cứu Bên cạnh đó, ta còn thấy được cuộc chạy đua phát triển và ứng dụng

hệ thống nhận diện khuôn mặt giữa các cường quốc trên thế giới (điển hình là

Trung Quốc)

Theo thống kê của comparitech! trên 100 quốc gia đông dân nhất thế giới

về việc áp dụng nhận diện khuôn mặt trong chính phủ, công an, sân bay, trường

học, ngân hàng, nơi làm việc và trên xe buýt và xe lửa:

* Gần 70% bộ phận công an có sử dụng hệ thống nhận diện khuôn mặt

* Hơn 60% quốc gia có trang bị hệ thống nhận diện khuôn mặt ở sân bay

« Gan 20% quốc gia có sử dụng hệ thống nhận diện khuôn mặt trong các

'https://www.comparitech.com/blog/vpn-privacy/facial-recognition-statistics/?fbclid=IwA ROGif2pbXqyJal 1FX1p24nUHBDAshu8Mtnz5NntblX U DLO1CU eCkCveS0

Trang 25

khẩu trang là giải pháp để ngăn ngừa dịch bệnh Nhưng việc đeo khẩu trang

khiến cho hiệu suất của hệ thống nhận diện khuôn mặt hiện có có thể giảm đáng

kể Vì vậy việc nghiên cứu, bài toán nhận diện khuôn mặt là vấn đề cấp thiết

hiện nay.

2.1.5 Thách thức

Khác với bài bài toán nhận diện danh tính khuôn mặt, dữ liệu đầu vào của bài toán là hình ảnh chứa khuôn mặt người đeo khẩu trang vì vậy thách thức về

mặt dữ liệu là điều tiên quyết được nhắc tới Bên cạnh đó cần phải tìm ra phương

pháp trích xuất đặc trưng phù hợp để cải thiện kết quả bài toán Dưới đây sẽ trình

bày một số thách thức của bài toán nhận diện danh tính người đeo khẩu trang:

- Thách thức về mặt dữ liệu: hầu hết dữ liệu chuẩn của bài toán nhận diện

danh tính bằng khuôn mặt chủ yếu là khuôn mặt người bình thường (không

đeo khẩu trang) Vì vậy dif liệu thực của bài toán nhận diện danh tính người

đeo khẩu trang rất ít, không đủ để dùng trong việc huấn luyện và thườngchỉ được dùng để đánh giá Dữ liệu dùng để huấn luyện thường sẽ đượctạo bởi một công cụ bên thứ ba để gắn khẩu trang lên hình ảnh chứa khuônmặt thông thường Dưới đây là bảng thống kê một số bộ dữ liệu của bài

toán nhận diện danh tính khuôn mặt người đeo khẩu trang:

Trang 26

PKU-Masked-Face 10,301 1,018 Đúng (Không chia sé)

Bảng 2.1: Bang thống kê các bộ dữ liệu chuẩn cho bài toán nhận diện khuôn mặt người đeo khẩu trang

* Thách thức về mặt trích xuất đặc trưng: Đối với bài toán nhận diện

khuôn mặt, các đặc trưng về cạnh, mũi, miệng thường rất quan trọng trong

quá trình nhận diện Tuy nhiên đôi với bài toán nhận diện khuôn mặt đeo

khẩu trang, hầu hết các bộ phận này đã bị che bởi khẩu trang Vì vậy đặctrưng được trích xuất sẽ bị giảm hiệu quả so với bài toán nhận diện khuônmặt thông thường Vì vậy cần phải nghiên cứu các phương pháp (tiền xử

lý, hậu xử lý, ) để tăng hiệu quả của đặc trưng được trích xuất.

2.2 Các kiến thức cơ sở

2.2.1 Mạng nơ-ron tích chập (Convolutional Neural Network)

Mô hình mạng nơ-ron tích chập (Convolutional Neural Network hay CNN) là

một mô hình mạng của Deep Learning cho kết quả tốt nhất trong việc giải quyết các bài toán của thị giác máy tính Về cơ bản CNN là một mô hình mạng ANN

truyền thang với kiến trúc chính gồm nhiều thành phần được ghép nối với nhau

theo cấu trúc các lớp cơ bản sau: Convolution, Pooling (Subsampling), ReLU

Bên cạnh đó còn có các lớp phụ như Batch Normalization, Drop out Sau đây là

trình bày chỉ tiết về các thành phần cấu tạo nên CNN

Trang 27

Trước khi đi vào layer Convolutional, chúng ta đi vào phép tích chập

(Con-volution) Phép tích chập là phép tính dựa trên hai ma trận hai chiều cùng kích

thước, bằng cách tính tổng của các tích giữa những vị trí tương ứng trên hai ma

trận.

Layer Convolutional là layer quan trọng nhất trong mô hình mạng CNN.Layer dựa trên việc tính các giá trị tích chập để trích xuất ra các feature từ dữliệu Với một ảnh đầu vào kích thước mxm, ta sẽ chọn ra một ma trận kernel nxn

(thường nhỏ hơn ma trận input) Ta cho ma trận kernel trượt trên ma trận input,

mỗi lần trượt ta thực hiện việc tính tích chập ta thu được một kết quả Kết quả

này là giá trị của một pixel trong ma trận output Khi trượt hết ma trận kernel

trên ma trận input ta được ma trận output có kích thước nhỏ hơn hoặc bằng kích

thước của ma tran input.

Khi áp dụng phép tính Conv cho xử lý hình ảnh, Người ta nhận thấy rằng

Conv sẽ giúp biến đổi các thông tin đầu vào thành các yếu tố đặc trưng (nó

tương tự như bộ phát hiện nhằm phát hiện ra các đặc trưng như cạnh, hướng, )

Hình 2.4 minh họa cho việc áp dụng phép tính Conv trên ảnh và cho ra kết quả

'https://aivietnam.ai/wp-content/uploads/2019/07/chap9_zz_3.png

10

Trang 28

2 Cơ sở lý thuyết

là một feature map Cụ thể hơn, Conv sẽ trích xuất đặc trưng của ảnh đầu vào

qua các vùng ảnh nhỏ Các vùng này được gọi là Local Receptive Field (LRF).

Tích chập sẽ tính toán trên các LRF chỗồng lấp lên nhau Độ chồng lắp này phụ

thuộc vào hệ số trượt S (stride) của từng kiến trúc mạng cụ thể Nếu sử dụng

với hệ số trượt S = a, thì tương ứng LRF (bằng kích thước với kernel) sẽ dịch

chuyển a đơn vi pixel sau mỗi lần tích chập

Ảnh đầu vào sau khi thực hiện quá trình tích chập sẽ thu được feature map,

số LRE ở ảnh đầu vào sẽ tương ứng với số nơ-ron ở feature map và kernel sẽ là

trong số liên kết mỗi LRF với một nơ-ron ở feature map Lớp conv có thể chứa

một hoặc nhiều feature map Nếu lớp conv có K feature map, thì ta nói lớp convnày có độ sâu là k Để hình dung rõ hơn về quá trình này, sau đây sẽ minh họa

quá trình trích xuất đặc trưng từ ảnh đầu vào cụ thể như sau: thực hiện xử lý tính

giá trị đầu ra của một ảnh có kích thước W\ x H, x Dị (W; và H, lần lượt là chiềurộng và chiều cao của ảnh va Dy là chiều sâu hay thực chất là giá trị tại 3 kênh

màu tương ứng của ảnh RGB) khi đó, một Conv như một cửa sổ trượt (sliding

window, còn được gọi là kernel, filter hay feature detector) với kích thước F x F

- giả sử trong trường ta sử dung K filter Trong quá trình xử ly, mỗi filter sẽ được

tính toán với tất cả các LRF trong hình và § = œ Trong một số trường hợp để

cân bằng giữa số bước di chuyển và kích thước của ảnh, người ta đã chèn thêm P

pixel với một giá trị màu được gan (thông thường là 0) xung quanh viễn của ảnh.sau cùng ta thu được ma trận đầu ra (feature map) với kích thước W2 x Hạ x Dạ

với giá trị cụ thể như sau:

Trang 29

2 Cơ sở lý thuyết

(1x3) + (0x0) + (1x 1) +

(2x2) + (0x6) +(2x2) +

(-1x2)+(0x4) + (1x1) =-3

Hình 2.5: Mô phỏng quá trình tích chập trong CNN (nguồn: miro.medium.com!).

một ở đây là tham số ngưỡng của filter) sẽ tương ứng là trọng số của filter Cácgiá trị này sẽ không đổi trong suốt quá trình dịch chuyển tính toán trên toàn bộ

hình ảnh Đây là một đặc tính quan trọng của CNN, bởi nó làm giảm thêm trọng

số cần học cho quá trình huấn luyện mạng Qua đó, ta có thể ước tính tổng sốtham số cần học trong quá trình sử dung Conv là (F x x Dị) x K + K (6 đâycộng thêm k tham số ngưỡng của k filter)

Ap dụng vào ví dụ cụ thể ở hình 2.6, đầu vào là một ảnh màu với kích thước

(32 x32 x3) (W, = A, = 32 và Dị = 3 chi giá trị của các kênh màu RGB) Với

số lượng filter K = 6, trong đó mỗi filter có kích thước (5 x 5 x 3) F = 3 với

bước di chuyển S = I và P = 0 Tương ứng với mỗi filter, ta thu được 6 feature

map khác nhau ở đầu ra Trong đó:

°Ws=* #+I=28 -Wi=* '+I=28

«Di =6

Mỗi nơ-ron trong một feature map sẽ có số tham số là (F x F x DỊ) = 5x

5 x 3~ 1 nếu không sử dung tính chất shared weights thì tổng số tham số trong

!https://miro.medium.com/max/3900/1*p-_47puSuVNmRJnOXYPQCg.png

12

Trang 30

2 Cơ sở lý thuyết

mang cần phải học cho tất cả các feature map là (28 x 28 x 6) x (5 x 5 x 3+ 1) =

357504 (tham số) Mặc dù con số đó đã nhỏ hơn nhiễu so với việc không sử dụng

Conv nhưng con số trên vẫn lớn hơn rất nhiều so với (F x F x DỊ)xK+K=

(5 x5 x3) x6+6 = 456 (tham số) khi sử dung shared weights

Nói tóm lai, Việc sử dung Conv có những ưu điểm sau:

« Giảm số lượng tham số: trong mạng ANN truyền, mỗi nơ-ron ở lớp trước

sẽ liên kết tới tất cả các neural ở lớp kế tiếp (fully connected) Dẫn đến

tình trạng số lượng các tham số trong mạng rất lớn Đây là nguyên nhân

chính gây việc thời gian huấn luyện mạng rat lâu Với việc sử dung Conv,cho phép chia sé trọng số liên kết (shared weights), cũng như sử dụng LRFgiúp cho số lượng các tham số trong mạng giảm đi đáng kể

* Các tham số trong quá trình sử dung Conv hay các giá tri trong các filter

sẽ được học trong quá trình huấn luyện mạng Sau quá trình tính toán, ta

sẽ thu được các thông tin đặc trưng như góc, cạnh, đốm màu trong ảnh, Chính vì thé, Conv còn có vai trò xây dựng mô hình tự học ra các đặc

trưng.

!https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/content/convolutional_ neural_ networks.html

13

Trang 31

2 Cơ sở lý thuyết

2.2.1.2 Lớp kích hoạt (Activation)

Lớp kích hoạt là lớp tiếp theo sau lớp tích chập Một mạng thần kinh không

có chức năng kích hoạt về cơ bản chỉ là một mô hình hồi quy tuyến tính Hàmkích hoạt thực hiện chuyển đổi phi tuyến tính đầu vào giúp nó có khả năng tìm

hiểu và thực hiện các tác vụ phức tạp hơn.

Hình 2.7 mô tả một số hàm kích hoạt Trong đó ReLU là hàm kích hoạt

thường được sử dung ở các lớp ẩn (hidden layer) bởi ReLU có tốc độ hội tụnhanh hơn hẳn, tốc độ tính toán nhanh hơn và độ chính xác khi sử dụng ReLUkhông có sự khác biệt lắm khi so với Sigmoid và Tanh

Sigmoid Leaky ReLU

Lớp Pooling thường được sử dụng sau lớp kích hoạt Mục tiêu của lớp này

chính là việc làm giảm số chiều của bản đồ đặc trưng (feature map) Vì vậy lớp

Pooling giúp giảm số lượng tham số và số lượng tính toán được thực hiện trong

mạng Ngoài ra này còn tóm tat các tính năng có trong một vùng của bản đô đặc

"https://www.researchgate.net/figure/Fig-3-The-basic-activation-functions-of-the-neural-networksNeural-Networks ¢ig3350567223

14

Trang 32

2 Cơ sở lý thuyết

trưng được tạo bởi lớp tích chập Từ đó giúp cho mô hình mạnh mẽ hơn đối vớicác thay đổi về vị trí của các đặc trưng trong ảnh đầu vào

Có nhiều toán tử pooling như Max-pooling, Average Pooling, Global Pooling

nhưng Max-pooling được sử dụng phổ biến nhất trong kiến trúc mạng CNN vì

nó cho kết quả tốt hơn so với những toán tử còn lại Bản chất của nó chính làhoạt động chọn ra phần tử tối đa từ vùng của bản đồ đặc trưng được bao phủ bởi

bộ lọc Vì vậy, đầu ra sau lớp Max-pooling chính là bản đồ đặc trưng chứa cáctính năng nổi bật nhất của bản đồ đặc trưng trước đó Hình 2.8 mô phỏng quá

trình tính Max-pooling.

Max Pool

Filter - (2 x 2) Stride - (2, 2)

Hình 2.§: Max-pooling lấy giá trị lớn nhất trên vùng [2 x 2] trên kích thước [4 x 4] và

thu được đầu ra kích thước [2 x 2] (nguồn: Internet! ).

2.2.1.4 Lớp chuẩn hóa (Normalization)

Lớp chuẩn hóa (Normalization hay Norm) là lớp giúp chuẩn hóa dữ liệu đầu

ra cho các lớp trong CNN trước khi được truyền tới lớp kế tiếp Việc khôngchuẩn hóa dữ liệu trước khi đào tạo có thể gây ra sự cổ trong mạng của chúng,điều đó khiến việc đào tạo trở nên khó khăn hơn và giảm tốc độ học tập

Có rất nhiều kiểu chuẩn hoá như Batch Norm, Layer Norm, Instant Norm,Group Norm Trong đó Batch Norm là kiểu chuẩn hoá được sử dụng phổ biến

nhất trong các mô hình học sâu bởi việc thay đổi trung vị và phương sai của

'https://www.geeksforgeeks.org/cnn-introduction-to-pooling-layer/

15

Trang 33

2 Cơ sở lý thuyết

đầu vào Bên cạnh đó Batch Norm cũng có tác dụng có lợi đối với luồng độ dốc

(gradient descent) qua mạng, bằng cách giảm sự phụ thuộc của độ dốc vào tỷ lệ

của các tham số hoặc giá trị ban đầu của chúng Điều này cho phép tốc độ họctập cao hơn nhiều mà không có nguy cơ phân kỳ Hình 2.9 mô phỏng quá trình

tính Batch Norm:

Hình 2.9: Mô phỏng chuẩn hoá Batch Norm Mỗi hình vẽ hiển thị một feature map

tensor với N là trục batch, C là trục kênh, H, W là trục dọc và ngang Những pixels

màu xanh được chuẩn hóa theo cùng trung bình và phương sai được tính theo các pixel

màu xanh (nguồn: Internet)

2.2.2 Resnet: Residual Network

Resnet (Residual Network) là một trong những mô hình hoc sâu được giới

thiệu bởi Shaoqing Ren va các đồng nghiệp vào năm 2015 Thậm chí resnet đãgiành được vị trí hạng nhất trong cuộc thi ILSVRC 2015 với tỉ lệ lỗi top 5 chỉ

3.57% Ý tưởng của mạng Resnet là sử dụng Residual Block để giải quyết vấn

dé Vanishing Gradient

'https://paperswithcode.com/method/batch-normalization

16

Trang 34

2 Cơ sở lý thuyết

2.2.2.1 Vanishing Gradient

Là van dé xảy ra khi huấn luyện các mạng nhiều lớp Khi huấn luyện, giá triđạo hàm là thông tin phản hồi của quá trình lan truyền ngược để cập nhật giá trịcho trọng số Khi giá trị này trở nên vô cùng nhỏ ở các lớp đầu tiên dẫn đến việckhông làm thay đổi nhiều giá trị của trọng số khiến cho mô hình không thể hội

20-layer

tụ được.

My

56-layer

training error (%) test error (%)

Hình 2.10: Minh hoạ hiện tượng Vanishing Gradient (Nguồn: [2])

2.2.2.2 Residual Block

Ý tưởng chính của phương pháp này đó chính là việc thực hiện residual

mapping để sao chép thông tin từ lớp nông (shallow layer) đến các lớp sâu hơn(deep layer) Giả sử đầu ra của lớp nông là x Trong quá trình lan truyền củamang nó được đưa qua một phép biến đổi tuyến tính F(x) Đầu ra của phép biếnđổi này là (x) Phần du (residual) giữa lớp nông và lớp sâu là F(x;W;) :=

H(x) — x Trong đó W; là trọng số của mô hình CNN và được tối ưu trong quá

trình huấn luyện Hình 2.11 minh hoạ khối Residual

Có hai cách để thêm residual block vào trong kiến trúc của mô hình mạng

học sâu tuỳ thuộc vào chiêu dữ liệu của đầu vào và đầu ra:

17

Trang 35

2 Cơ sở lý thuyết

weight layer

x

identity

Hinh 2.11: Minh hoa Residual block (Nguồn: [2))

« Identity mapping là khối thường được sử dung trong Resnet và ứng với

trường hợp đầu vào và đầu ra của hàm kích hoạt cùng chiều (Hình 2.12)

Hình 2.12: Minh hoa Identity Block (Nguồn: Internet!).

* Convolutional block được sử dung khi đầu vào va đầu ra của hàm kích

hoạt khác chiều nhau (Hình 2.13).

Hình 2.13: Minh hoạ Convolutional Block (Nguồn: Internet)

Trang 36

2 Cơ sở lý thuyết

2.2.3 Các hàm mat mát cho bài toán nhận diện khuôn mặt:

Dựa vào điểm đại diện (centre) và đặc trưng được chuẩn hoá của tất cả cácdanh tính được phân bồ trên một siêu cầu (hypersphere) Theo [3] để tăng cường

độ chặt chẽ trong nội bộ của lớp và độ khác biệt giữa các lớp, chúng ta sẽ xem

xét bốn loại khoảng cách trắc địa (Geodesic Distance) sau:

¢ Margin-Loss: Thêm khoảng cách (margin) giữa mau và các điểm đại diện.

Điển hình là ArcFace và CosFace.

* Intra-Loss: Giảm khoảng cách giữa mẫu và điểm đại diện tương ứng.

¢ Inter-Loss: Tăng khoảng cách giữa các điểm đại diện với nhau.

* Triplet-Loss: Thêm khoảng cách giữa các mẫu bộ ba (triplet samples).

Đặc trưng tốt dùng để nhận diện khi khoảng cách trong nội bộ lớp nhỏ và khoảngcách giữa các lớp lớn Có hai hướng nghiên cứu chính để huấn luyện DCNNs

19

Trang 37

2 Cơ sở lý thuyết

cho bài toán nhận diện khuôn mặt Một là mô hình đào tạo phân loại nhiều lớp

có khả năng tách các danh tính khác nhau trong tập huấn luyện (softmax) và hai

là mô hình sẽ học trực tiếp từ vector đặc trưng (mất mát triplet) Khi được đàotạo trên bộ dữ liệu huấn luyện lớn với kiến trúc DCNN Cả softmax và tripletđều có thể cho kết quả tốt đối với bài toán nhận diện khuôn mặt Tuy nhiên cảhai đều có một số nhược điểm Đối với softmax, kích thước của ma trận chuyển

đổi tuyến tính W € IR“X" sẽ tăng tuyến tinh theo số lượng danh tính mà chúng ta

muốn phân loại n Thêm vào đó đặc trưng học được chỉ có khả năng phân chiatốt trong phân loại kín (closed-set) nhưng sé gặp vấn dé đối với phân loại mở(open-set) Còn đối với triplet ta sẽ gặp vấn đề về việc bùng nổ số lượng mã bộ

ba đối với các bộ dữ liệu lớn dẫn tới sự gia tăng đáng kể số bước lặp

2.2.3.1 Mat mát Triplet

Mất mát Triplet cho bài toán nhận diện khuôn mặt được giới thiệu trong bài

báo FaceNet: A Unified Embedding for Face Recognition and Clustering bởi

Google [5] Trong học có giám sát, ta sẽ cố định số lượng lớp và sử dụng mấtmát softmax cross entropy để huấn luyện mạng Tuy nhiên trong một số trường

hợp, chúng ta cần phải có khả năng so sánh hai khuôn mặt chưa từng được xuất

hiện trong tập huấn luyện có phải cùng một người hay không Mất mát Triplettrong trường hợp này sẽ học cách nhúng tốt cho từng khuôn mặt Trong không

gian nhúng, các khuôn mặt từ cùng một người sẽ gần nhau hơn và sẽ được phân

tách rõ rang hơn Hình 2.15 minh hoa mã bộ ba của mat mát triplet Mục tiêucủa mất mát triplet là:

¢ Hai mẫu có cùng nhãn thi vector nhúng của chúng sẽ gần nhau hon trong

không gian nhúng.

¢ Hai mẫu có nhãn khác nhau thì sẽ có vector nhúng cách xa nhau.

20

Trang 38

Hình 2.15: Minh hoạ mã bộ ba của mất mát triplet (Nguồn: Internet!).

Tuy nhiên, chúng ta lại không muốn huấn luyện các vector nhúng của mỗi nhãn

sẽ biến thành các cụm rất nhỏ Đầu vào bao gồm hai mẫu neo (anchor), tích cực

(positive) của cùng một lớp và một mẫu tiêu cực (negative) khác lớp với hai mẫu trên Khoảng cách của Vector nhúng của mẫu tiêu cực nên lớn hơn mẫu tích cực

một khoảng margin Để mô hình hoá yêu cầu này, hàm mat mát sẽ được định

nghĩa bởi mã bộ ba vector nhúng (neo, tích cực cùng lớp với neo, tiêu cực khác

lớp với neo) Với đ là khoảng cách của vector nhúng trong không gian, hàm mất

mát của một mã bộ ba (ø, p,n) là:

8 = max(d(a, p) — d(a,n) + margin, 0) (2.1)

Việc cực tiểu hod hàm mất mát chính là việc xấp xi d(a,p) về 0 và làm cho

d(a,n) > d(a, p) + margin

!https://sh-tsang.medium.com/review-facenet-a-unified-embedding-for-face-recognition-and-clustering-7b360d2a85e4

21

Trang 39

2 Cơ sở lý thuyết

2.2.3.2 ArcFace ( Additive Angular Margin Loss for Deep Face Recognition)

ArcFace là hàm mat mát được sử dung cho bài toán nhận diện khuôn mặt

Mất mát ArcFace chuyển công thức W7xị = ||W;|| ||x;|| cos Ø; với 6; là góc giữatrọng số W; và đặc trưng x; Theo [4], chúng ta sẽ cố định ||W;|| = 1 bởi hàm

chuẩn hoá Jy Chúng ta cũng cố định vector đặc trưng ||x;|| về giá trị s bởi chuẩnhoá is Việc thực hiện chuẩn hoá đối với vector đặc trưng và trọng số nhằm đảmbảo việc dự đoán kết quả chỉ phụ thuộc vào góc giữa vector đặc trưng và trọng

số Do đó các đặc trưng nhúng được học sẽ được phân bố trên một siêu cầu

có bán kính là s Cuối cùng thêm một khoảng trừng phạt margin góc (additive

angular margin penalty) m giữa x; và W, để đồng thời tăng cường độ chat chẽ

trong nội bộ của lớp và độ khác biệt giữa các lớp Công thức ham mat mát của

2.2.4 Phát hiện khuôn mat (Face detection)

Phát hiện khuôn mat là nhiệm vụ phát hiện các khuôn mặt trên ảnh hoặc

video (phân biệt chúng với các đối tượng khác) Đầu vào của mô hình chính làảnh chứa khuôn mặt Đầu ra của mô hình là chính là các hộp giới hạn (bounding

box) để xác định khuôn mặt trên ảnh Ngoài ra, một số mô hình còn trả về các

điểm phân biệt trên khuôn mặt, thường là 5 điểm: mắt trái, mắt phải, mũi và hai

điểm khoé miệng để phục vụ cho việc căn chỉnh khuôn mặt (face alignment).

Tuỳ vào mô hình mà ta sẽ có các định dạng đầu ra khác nhau Hình 2.16 mô tả

đầu vào và đầu ra của mô hình phát hiện khuôn mặt.

22

Trang 40

báo hiện có cô gắng cùng nhau giải quyết chúng, nhưng vẫn có những hạn chế

trong những bài báo này MTCNN được giới thiệu như một framework để tích

hợp hai nhiệm vụ trên dựa trên xếp tầng CNN bằng cách học đa nhiệm Hình

2.17 trình bày tổng quan về các bước của hướng tiếp cận:

¢ Bước 1: Mô hình sử dụng một mạng tích chập hoàn toàn, được gọi là mang

dé xuất (P-Net), để thu được các cửa sổ khuôn mặt ứng cử viên và các vectơhồi quy hộp giới hạn của chúng Sau đó, các ứng cử viên được hiệu chỉnhdựa trên các vectơ hồi quy hộp giới hạn ước tính Sau đó, mô hình sử dụng

!https://pypi.org/project/mtenn/

23

Ngày đăng: 23/10/2024, 00:47