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

Luận văn thạc sĩ Khoa học máy tính: Nhận diện khuôn mặt sử dụng Vision Transformer và Baby Learning

83 1 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 đề Nhận diện khuôn mặt sử dụng Vision Transformer và Baby Learning
Tác giả Trần Chí Phúc
Người hướng dẫn TS. Nguyễn Vinh Tiệp
Trường học Trường Đại học Công nghệ Thông tin - Đạ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 Luận văn thạc sĩ
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 83
Dung lượng 38,3 MB

Nội dung

Đề đạt được mục tiêu này, đề tài sẽ thực hiện các nội dung sau: w Xây dung lại mô hình nhận diện khuôn mặt với bộ dataset huấn luyện có kíchthước trung bình MSIM-RetinaFace gồm 5.1 triệu

Trang 1

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

TRUONG DAI HỌC CONG NGHỆ THONG TIN

FOKR

TRÀN CHÍ PHÚC

NHAN DIỆN KHUÔN MAT SỬ DỤNG VISION TRANSFORMER VA BABY LEARNING

LUAN VAN THAC SI, KHOA LUAN CAO HOC

NGANH KHOA HOC MAY TÍNH

Mã số: 8480101

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS NGUYÊN VINH TIỆP

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đề tài “Nhận dang khuôn mặt dùng mang Transformer” hoan toàn

là công trình nghiên cứu của cá nhân tôi do tôi thực hiện dưới sự hướng dẫn của TS

Nguyễn Vinh Tiệp.

Các số liệu và những kết quả trong khóa luận là trung thực và chưa được công bốtrong bất kỳ một công trình nào khác Mọi tham khảo trong đề tài luận văn đềuđược trích dẫn rõ ràng tên tác giả, tên công trình và thời gian công bố

Tôi xin chịu trách nhiệm theo quy định của trường với các hình thức sao chép.không hợp lệ và vi phạm quy chế đào tạo sau đại học

Tp Hồ Chí Minh, tháng 01 năm 2023

Học viên

Trần Chí Phúc

Trang 4

Đầu tiên, tôi xin gửi lời cảm ơn sâu sắc đến TS Nguyễn Vinh Tiệp Tôi đã học đượcrất nhiều kiến thức từ thay đầu tiên qua môn học “Chuyên dé nghiên cứu và ứngdụng về thị giác máy tính” Thầy đã dạy tôi các kiến thức rất chỉ tiết về xử lý ảnh,

kỹ năng đọc hiểu các bài báo nghiên cứu, kỹ năng trình bài báo bằng ngôn ngữLatex, hướng đi của ngành thị giác máy tính trong thời gian gần đây Từ đó, thầy đãtruyền cảm hứng cũng như giúp tôi định hướng và thực hiện đề tài luận văn nàycũng như bài báo nghiên cứu khoa học liên quan.

Tiếp theo, tôi xin cảm ơn bạn Nguyễn Vũ Anh Khoa và bạn Lưu Toàn Định vì đãcùng đồng hành, hỗ trợ và có những ý kiến đóng góp bé ích trong quá trình thựchiện bài báo nghiên cứu khoa học và đề tài luận văn Nếu không có sự giúp đỡ củahai bạn thì có thể tôi sẽ bị kéo dài thời gian thực hiện đê tài

Bên cạnh đó, tôi cũng vô cùng biết ơn Quý Thầy Cô giảng viên của Trường Đại họcCông nghệ thông tin - Đại học Quốc gia Thành phó Hồ Chi Minh Tôi đã học hỏiđược nhiều kiến thức bô ích trong quá trình tham gia học tập tại trường cũng nhưđược truyền cảm hứng, động lực cho nghiên cứu khoa học Các kiến thức tôi họcđược từ các thay cô là tiền đề tiên quyết giúp tôi có thê bắt đầu thực hiện đề tai luậnvăn này.

Sau cùng, tôi xin gửi lời tri ân đến gia đình và người thân đã luôn ủng hộ, động viên

và tạo động lực để tôi có thể đi tiếp trên con đường học tập

Trang 5

Chương 2 TONG QUAN VỀ DE TÀI NGHIÊN CỨU.

2.1 Giới thiệu về nhận dang khuôn mặt

2.2.2 Support Vector Machine

2.2.3 CosFace - Large Margin Cosine Loss.

2.2.4 RetinaFace.

2.2.5 Vision Transformers

2.2.6 Face Transformer for recognition

2.2.7 Few-shot object detection via baby learning.

Chuong 3 MO HINH NGHIEN CUU

3.1 Mô hình nhận dạng khuôn mặt

3.2 Phương pháp tỉnh chỉnh kết hợp kỹ thuật Baby Learnin

xl

3.3 Mô hình thực hiện cho bài toán so khớp khuôn mặt.

3.4 Mô hình thực hiện cho bài toán nhận diện khuôn mặt.

Chương 4 KET QUA NGHIÊN CỨU

Trang 6

4.1.1.1 Bộ dataset VER4!

4.1.2 B6 dataset REGIK.

4.1.3 Bộ dataset REG2K 33 4.1.4 MSIM-RetinaFac 34 4.1.5 Labeled Faces in the Wild (LFW) 35

4.1.6 Cross-Age LFW (CALEW: 36 4.1.7 Cross-Pose LFW (CPLFW) 37 4.1.8 Celebrities in Frontal-Profile in the Wild (CFPW hay CFP-FP) 38

4.1.9 Age Database 30 (AgeDB-30) 39 4.2 Độ do dùng trong mô hình .40 4.3 Cài đặt mô hình nhận dạng khuôn mặt 41 4.3.1 Backbone network Al.2 Ham mắt mát Al4.3.3 Bộ dataset cho huan luyện và tinh chỉnh

4.3.4 Môi trường thực hiện 42

4.4 Kết quả nghiên cứu

4.4.1 Kết quả so khớp khuôn mặt trên các dataset public

4.4.2 Kết quả so khớp khuôn mặt trên bộ dataset Việt Nam VER4K 434.4.3 Kết quả nhận diện khuôn mặt trên bộ dataset REGIK, REG2K 434.4.4 Hiệu qua của kỹ thuật Baby Learning lên độ chính xác mô hình 45 4.4.5 Đánh giá nguyên nhân dự báo sai của mô hình ViT.

Chương 5 KET LUẬN VÀ HƯỚNG PHÁT TRIEN

DANH MỤC CÔNG BÓ KHOA HỌC CỦA TÁC GIẢ

TÀI LIỆU THAM KHẢO

PHU LUC I: THONG TIN VE ANH TRONG BO DATASET VED

Trang 7

Danh mục các ký hiệu và chữ viết tắt

TT |Chữ viết tắt Ý nghĩa

CNN Convolution Neural Network

2 AgeDB-30 Age Database 30

BERT Bidirectional Encoder Representations from

Transformers

4 CALFW Cross-Age Labeled Faces in the Wild

5 CFPW Celebrities in Frontal-Profile in the Wild

6 CPLFW Cross-Pose Labeled Faces in the Wild

7 DCN Deformable convolutional networks

8 FPN Feature Pyramid Networks

9 LFW Labeled Faces in the Wild

10 |LMCM Large Margin Cosine Loss

11 |MLP Multi Layer Perceptron

12_ |MSIM-RetinaFace | Refined version of MS1M dataset, face images are

pre-processed by RetinaFace

13 |MSA Multi-head Self Attention

14 |MS-Celeb-IM Microsoft Celerities 1 Million

15 |MTCNN Multi-task Cascaded Convolutional Networks

16 |NLP Natural Language Processing

17 |NSL Normalized version of Softmax Loss

18 |OHEM Online Hard Example Mining

19 |R-CNN Region-based Convolutional Neural Networks

20 |REGIK 1K Vietnamese face images used for finetuning, other

2K images used for face recognition

21 |REG2K 2K Vietnamese face images used for finetuning, other

1K images used for face recognition

22 |ResNet Residual Network

23 |RNN Recurrent Neural Network

24 |RSA Recurrent Scale Approximation

25 |RSA Recurrent Scale Approximation

26 |S*FD Single Shot Scale-invariant Face Detector

Trang 8

29 |SAFD Scale-Aware Face Detection

30 |SOTA State of the Arts

31 |SSD Single Shot multibox Detector

32 |SSH Single Stage Headless face detector

33 |STN Supervised Transformer Network

34 |SVM Support Vector Machine

35_ |TALFW Transferable Adversarial Labeled Faces in the Wild

36 |VER4K 4K pairs of Vietnamese face images used for face

verification

37 |VFD Vietnamese Face Dataset

38 | ViT Vision Transformer

Trang 9

Danh mục các bảng

Bảng 4.1 Cài đặt cho mô hình nhận dạng khuôn mặt -. -: :-5- 41 Bang 4.2 Độ chính xác so khớp khuôn mặt trên các bộ dataset pubic - 42 Bang 4.3 Độ chính xác so khớp khuôn mặt trên bộ dataset VER4K - 43 Bảng 4.4.Độ chính xác của nhận diện khuôn mặt khi không thực hiện tinh chỉnh 44 Bang 4.5.Độ chính xác của nhận diện khuôn mặt khi thực hiện tinh chỉnh 44Bang 4.6: Độ chính xác mô hình theo số lượng tham số tinh chỉnh bằng Baby

Learning.

Bang 4.7 Độ chính xác mô hình tăng khi tinh chỉnh với kỹ thuật Baby Learning 46

Trang 10

Hình 2.1: Quá trình bóc tách ảnh khuôn mặt ra khỏi ảnh gốc

Hình 2.2: Quá trình so khớp cặp ảnh khuôn mặt.

Hình 2.3.Phương pháp nhận diện khuôn mặt.

Hình 2.4.Mô hình nhận dạng khuôn mặt.

Hình 2.5: SVM cho 2 lớp ở không gian 2 chiều.

Hình 2.6.Anh hưởng của giá tri m làm giảm miền quyết định của các lớp [3] 17Hình 2.7: Vùng quyết định giảm khi giá trị m tăng trong hàm CosFace [3]

Hình 2.8 Mô hình nhận dạng khuôn mặt của RetinaFace [5]

Hình 2.9 RetinaFace hiệu quả trong việc phát hiện ảnh khuôn mặt nhỏ

Hình 2.10 Kiến trúc VĩT cho bài toán phân loại ảnh [1]

Hình 2.11.Anh góc được chia thành nhiều ảnh nhỏ không chồng 1a

Hình 2.12 Kiến trúc đầy đủ của Transformer sử dung trong NLP [17] 21Hình 2.13.Ảnh góc được chia thành nhiều ảnh nhỏ chồng lấn nhau

Hình 2.14.Mô hình Face Transformer [2]

Hình 2.15: Phương pháp huấn luyện thông thường với 3 ảnh mỗi lớp [18

Hình 2.16: Phương pháp Baby Learning tăng dần số mẫu dữ liệu trong từng lớp [18]

Hình 3.1: Mô hình dùng khi huan luyện và tinh chỉnh.

Hình 3.2: Tinh chỉnh mô hình bằng phương pháp Baby Learning

Hình 3.3: Mô hình đề xuất cho bài toán so khớp khuôn mặt

Hình 3.4: Mô hình đề xuất cho bải toán nhận diện khuôn mặt.

Hình 4.1 Thuộc tính phân phối của bộ dữ liệu VFD,

Hình 4.2: Ảnh góc của bộ dữ dataset VFD

Hình 4.3: Ảnh khuôn mặt được trích xuất bằng RetinaFace

Hình 4.4: Các cặp ảnh dùng so khớp khuôn mặt trong bộ dataset VER4K

Trang 11

Hình 4.6: Bộ dataset REG2K.

Hình 4.7 Ảnh Steve Job trong bộ dataset MS1M-RetinaFacHình 4.8: Các cặp anh positive của bộ dataset LFW.

Hình 4.9: Các cặp anh negative trong bộ dataset LFW.

Hình 4.10: Các cặp anh positive trong bộ dataset CALFW Hình 4.11: Các cặp anh negative trong bộ dataset CALEW, Hình 4.12: Các cặp anh positive trong bộ dataset CPLFW Hình 4.13: Các cặp anh negative trong bộ dataset CPLFW Hình 4.14: Các cặp ảnh positive trong bộ dataset CFP-FP Hình 4.15: Các cặp anh negative trong bộ dataset CFP-FP Hình 4.16: Các cặp ảnh positive của bộ dataset AgeDB-30 Hình 4.17: Các cặp anh negative của bộ dataset AgeDB-30.Hình 4.18: VĩT dự đoán sai do tư thế khuôn mặt

Hình 4.19: ViT dự đoán sai do biểu cảm khuôn mặt

Trang 12

Chương 1 MỞ ĐẦU 1.1 Đặt vấn đề

Thị giác máy tính (Computer Vision) và xử lý ngôn ngữ tự nhiên là (NLP) hai lĩnhvực nghiên cứu của trí tuệ nhân tạo có nhiều ứng dụng trong cuộc sống Gan đây,

các thành tựu của lĩnh vực CNN được áp dụng cho lĩnh vực NLP và ngược lại, tạo

nên sự thúc đây phát triển qua lại cho hai lĩnh vực này

Trong lĩnh vực NLP, kiến trúc Transformer dựa trên cơ chế Self-Attention đã trởthành lựa chọn hàng đầu cho các mô hình NLP Kẻ từ khi Transformer xuất hiệnnăm 2017 bởi Google với BERT, các mô hình NLP đạt kết quả State Of The Art(SOTA) đều dựa trên Transformer cả Hệ thống GPT-3 siêu việt với 175 tỉ tham sốcủa OpenAI cũng được xây dựng trên nền tang Transformer

Dựa trên nguồn cảm hứng của Transformer trong lĩnh vực NLP, nhóm tác giả từGoogle đã áp dung Transformer vào lĩnh vực phân loại ảnh [1] để tạo nên VisionTransformer (ViT) Giải pháp thực hiện bằng cách chia bức ảnh ra thành nhiều ảnhnhỏ hơn không chồng lan nhau gọi là các patch Sau đó biến đổi các patch thành cácvector, bổ sung thêm token class như NLP và cộng vào thông tin về vị trí ảnh vàocác patch vector Sau đó, xây dựng mối quan hệ giữa các patch vector với nhauthông qua cơ chế Multi Self-Attention (MSA) y hệt như cách xử lý các từ trongNLP Ngõ ra của Transformer là một vector ngữ cảnh đại diện cho bức ảnh khuônmặt ban đầu và được đưa vào bộ phân loại ảnh Kết quả là ViT cho kết quả tương

đương hoặc tốt so với ResNet trong bài toán phân loại ảnh khi bộ dữ liệu huấnluyện có kích thước lớn (trăm triệu ảnh).

Nối tiếp theo đó, “Face transformer for recognition” [2] ứng dụng ViT trong bàitoán so khớp khuôn mặt Dau tiên tác giả thay đổi phương pháp tạo ra các patch ảnhbằng cách tạo ra các patch ảnh có kích thước chồng lấn lên nhau Giải pháp nay sẽ

tăng độ chính xác của mô hình lên một ít so với giải pháp tạo patch ảnh không

chồng lan Tác giả sử dụng hàm mắt mát là CosFace [3] trong so khớp khuôn mặt vìCosFace thuộc họ hàm mat mát cosin và góc cho kết quả tốt hơn với các hàm matmát softmax thuộc ho Euclidian Kết quả bài báo cũng tương tự với [1], khi ViT vàResNet được huấn luyện ở bộ dataset kích thước trung bình thì ResNet sẽ cho kếtquả tốt hơn ViT một it

1.2 Mục tiêu và phạm vi nghiên cứu

Khi dữ liệu huấn luyện đầy đủ với các bộ dataset có kích thước trung bình hoặc lớn

Trang 13

Chương 1 Mở đầu

ResNet đều hoạt động tốt Tuy nhiên, trong một số bài toán nhận dạng khuôn mặt

thực tế thì khó có thể có đầy đủ dữ liệu huấn luyện cho mô hình máy học Ví dụ như

truy tìm tội phạm qua hệ thống camera công cộng hoặc nhận dạng khách hàng VIPkhi họ đến cửa hàng Số lượng dữ liệu phục vụ huấn luyện rất ít, chỉ vài ảnh chomỗi cá nhân Do đó, mô hình sẽ cho độ chính xác kém hơn nhiều so với khi đượchuấn luyện dữ liệu đầy đủ

Đề tài này sẽ thực hiện nhận dạng khuôn mặt bằng ViT trong điều kiện dữ liệuthiếu, so sánh độ chính xác của mô hình khi thay thế bằng mạng CNN Đồng thời,

dé xuất phương pháp cải tiến độ chính xác cho mô hình nhận diện khuôn mặt khithiếu dữ liệu bằng cách áp dụng kỹ thuật huấn luyện Baby Learning trong quá trìnhtinh chỉnh Đề đạt được mục tiêu này, đề tài sẽ thực hiện các nội dung sau:

w Xây dung lại mô hình nhận diện khuôn mặt với bộ dataset huấn luyện có kíchthước trung bình MSIM-RetinaFace gồm 5.1 triệu ảnh của 93K người (các bộdataset lớn không được công khai trên internet), backbone network được sửdụng là ViT và ResNet và hàm mat mát là CosFace Thực hiện kiểm tra độchính xác của mô hình với các bộ dataset công khai như LEW và các biến thể

của nó.

v Xây dựng bộ dataset gồm 3.000 ảnh của 1.000 người Việt Nam (3 ảnh/người)

để phục vụ việc đánh giá mô hình trên môi trường thiếu dữ liệu huấn luyện.Quá trình tỉnh chỉnh sẽ được thực hiện với lượng dữ liệu ít chỉ gồm 1 ảnh/ngườihoặc 2 ảnh/người Việc lựa chọn một bộ dataset ảnh người Việt Nam là cầnthiết để xây dựng một bộ dữ dataset thiếu dữ liệu vi trong bộ dataset traininghầu như không có khuôn mặt người Việt Nam, chỉ có số ít khuôn mặt người

Trung Quốc Do đó, sau quá trình huấn luyện thì mô hình sẽ chưa học được đầy

đủ thông tin đặc diém khuôn mặt người Việt Nam.

Áp dụng kỹ thuật huấn luyện Baby Learning để gia tăng độ chính xác của môhình, so sánh với trường hợp không sử dụng Baby Learning để đánh giá hiệuquả sau khi áp dụng.

v So sánh độ chính xác của mô hình khi áp dụng hai backbone network là Vision

Transformer và mang CNN.

1.3 Đóng góp của dé tai

Dau tién, dé tai đóng góp một bộ dataset khuôn mặt của người Việt Nam để kiểmđịnh độ chính xác của mô hình nhận dạng khuôn mặt trong điều kiện thiếu dữ liệuhuấn luyện Tổng bộ dữ liệu có 3.000 ảnh của 1.000 người (ba ảnh/người) Với bộdataset bình thường cần khoảng 50 ảnh/lớp mới khi tỉnh chỉnh cho bài toán phân

loại ảnh.

Trang 14

Thứ hai, đề tài thực hiện so sánh hai backbone network là ViT và ResNet trong khi

được huấn luyện với bộ dữ liệu có kích thước trung bình và trong điều kiện tỉnh

chỉnh dữ liệu không đầy đủ với bộ dataset của khuôn mặt người Việt Nam

Cuối cùng là dé tài sẽ kiểm tra hiệu quả của kỹ thuật Baby Learning giúp gia tăng

độ chính xác của mô hình trong điều kiện thiếu dữ liệu huấn luyện

Ngoài ra luận văn cũng có một công, bố khoa học đã được chấp nhận ở hội nghịquốc tế MAPR 2022 như sau: Chi-Phuc Tran, Anh-Khoa Nguyen Vu, and Vinh-TiepNguyen (2022), "Baby Learning with Vision Transformer for Face Recognition", Proceedings of the 2022 International Conference on Multimedia Analysis and Pattern Recognition (MAPR), pp 194-199.

Trang 15

Chương 2 Tổng quan về đề tài nghiên cứu

Chương 2 TONG QUAN VE DE TÀI NGHIÊN CỨU 2.1 Giới thiệu về nhận dạng khuôn mặt

Bài toán nhận dạng khuôn mặt là quá trình tìm kiếm dé phát hiện khuôn mặt ngườitrong một bức ảnh, thực hiện tách ảnh khuôn mặt ra khỏi ảnh gốc và thực hiện mộttrong hai tác vụ sau [4]:

So khớp khuôn mặt (face verification): Kiêm tra hai ảnh khuôn mặt của cùng một người hay hai người khác nhau.

v Nhân diện khuôn mặt (face identification): Kiểm tra ảnh khuôn mặt là ai trong

bộ dữ liệu có sẵn

2.1.1 Bóc tách ảnh khuôn mặt

Bóc tách khuôn mặt là giai đoạn tiền xử lý cần thiết cho các ứng dụng nhận dạngkhuôn mặt, phân tích khuôn mặt Các yếu tố ảnh hưởng nhiều đến phát hiện khuônmặt gồm có mặt có bị che khuất hay không, tư thế của khuôn mặt và mức độ sáng

của bức ảnh Theo [5], các mô hình CNN phát hiện khuôn mặt có thê được phân

loại dựa trên một số tiêu chí như ở dang kim tự tháp anh (image pyramid) hoặc kim

tự tháp đặc điểm (feature pyramid), một giai đoạn (one-state) hay hai giai đoạn(two-state), mô hình hóa ngữ cảnh và mô hình đa tác vụ.

Hiện nay, hai mô hình cho kết quả phát hiện khuôn mặt tốt nhất ở thời điểm hiện tại

là Multi-task Cascaded Convolutional Networks (MTCNN) [6] và RetinaFace [5].

Trong đó, RetinaFace là đại diện cho trường phái kim tự tháp đặc điểm, một giaiđoạn kết hợp với module ngữ cảnh RetinaFace cho kết quả tốt kể cả khi kích thướckhuôn mặt nhỏ.

Quá trình tách khuôn mặt ra khỏi ảnh gốc thường được thực hiện cùng với tác vụcăn chỉnh ảnh khuôn mặt và sau đó thay đổi kích thước ảnh khuôn mặt về kíchthước mong muốn để làm đầu vào cho các mạng học sâu phía sau

Phát hiện Boc Can chỉnh |

>| | ảnh khuôn >| ảnh khu¿ >| và thay đổi

mật mật kích thước |

Module bóc tách ảnh khuôn mật

Hình 2.1: Quá trình bóc tách ảnh khuôn mặt ra khỏi ảnh gốc

Trang 16

là mô hình học sâu đã được huấn luyện trước đó để tạo ra cặp vector đặc trưng.

Cặp vector đặc trưng được đưa vào module kiểm tra độ phù hợp Module này

kiểm tra khoảng cách Euclide d của cặp vector đặc trưng (L2 distance) Nếugiá trị d này cao hơn một ngưỡng giá trị được định nghĩa trước D (giá trị nàytìm được trong quá trình huấn luyện) thì cặp ảnh gốc thuộc hai người khácnhau Ngược lại, cặp ảnh gốc là của cùng một cá nhân

Module so khớp cập ảnh khuôn mat die! /ẾMĐGRVKO

một người

‘Module đánh giá

|Cặp ảnh cần so khớp | Module bóc tách Module tích xuất Ti

khuôn mat > "Senior | —”|Veeor6œctơng | — >|69Phôhepoia2K

L2 hàng) 'Kiểm tra khoảng cách 2 vector `

Vector | Vector 8

2 = sid d, so sánh với gia trị được định.

nghĩa trước D, D tim được.

Ỷ trong qua trình huấn luyén Kết quả so khớp.

Ảnh người Ảnh khuôn mật Vector đặc trưng khuôn mặt

Hình 2.2: Quá trình so khớp cặp ảnh khuôn mặt

2.1.3 Nhận diện khuôn mặt

Nhận diện khuôn mặt là kiểm tra ảnh của một người có nằm trong bộ dữ liệu ảnh

đã đã được lưu trữ trước đó hay không.

Đầu tiên, bộ các ảnh đã biết (facebank) được trích xuất đặc trưng thành bộ

vector đặc trưng với thông tin định danh cá nhân và lưu trữ vào hệ thống, ký

hiệu bộ vector đặc trưng là {x;, y;}

Đầu vào của quá trình nhận diện khuôn mặt là đưa vào ảnh của một người.Ảnh này được bóc tách ảnh khuôn mặt ra và ảnh khuôn mặt được chuyển thànhvector đặc trưng query x„ Vector x„ này sẽ được so sánh khoảng cách với

4

từng vector đặc trưng trong bộ {x;,y;} để tìm ra khoảng cách nhỏ nhất đụđến x, Nếu d, bé hơn giá trị D được định nghĩa trước đó (D tìm thấytrong quá trình huấn luyện) thì ảnh gốc đó chính là ảnh của người y, có

Trang 17

Chương 2 Tổng quan về đề tài nghiên cứu

các cá nhân được lưu trữ trong hệ thống Ngoài cách tính khoảng cách thôngqua L2 distance như trên, vector ảnh có thé được phân loại thông qua SVMhoặc CosFace đề tìm ra lớp (tương ứng với id của cá nhân) cần tìm

| | [cto query xa | | đặc tưng 6x, yi} | Hoge ảnh tim kiêm không có

Vengtacebank

Hình 2.3.Phương pháp nhận diện khuôn mặt

“Các ảnh cần lưu tor “Các vector đặc trưng của

(Facebank) Taesbank (xi yi) h

1 „| Module bóc tách ‘Module trích xuất kemsiil lussdul [eer

cảnh Khuôn mat >| vector đặc trưng ree

Kétiugn Ảnh query

‘Anh tim idm tương ứng với cá wae Module tích suất Module so sảnh xạ [nhân có nhân yk rong facebank

TL

2.1.4 Ba thuộc tính của mô hình nhận dạng khuôn mặt

Một mô hình nhận dạng khuôn mặt dựa trên mạng học sâu thường được phân biệt

với nhau bởi ba thuộc tính gồm có bộ dữ liệu (dataset) dùng cho huấn luyện(training) va tinh chỉnh (finetuning), kiến trúc mang học sâu cùng với cấu hình(backbone network) và hàm mắt mát (loss function) sử dụng [7]

Thuộc tính 1: Dataset Pe fgiễ

lộc tính 3:

huấn ayer tinh |———\ er Hàn mắt nát : Nhãn.

Thuộc tính 2:

—— ij] Bài toán so Khớp khuôn mat |

Ảnh kiểm thử |—————>| |———>*‡ = Bài toán nhận diện

-khuôn mặt

Hình 2.4.Mô hình nhận dạng khuôn mặt

Thuộc tính đầu tiên là dữ liệu huấn luyện, tinh chỉnh Dữ liệu huấn luyện này giúpcho mô hình học được và phân biệt được các đặc điểm bậc cao tạo ra từ mạng họcsâu Dữ liệu huấn luyện cần phải phù hợp với dữ liệu kiểm thử và dữ liệu áp dụngtrên thực tế Ví dụ mô hình sẽ áp dụng để nhận dạng khuôn mặt người Việt Nam thìtrong dữ liệu huấn luyện phải có ảnh của người Việt Nam Lượng dữ liệu huấnluyện càng lớn thì hiệu suất càng cao và thậm chí tăng theo hàm mũ logarit [§]

Trang 18

Hiện nay các bộ dataset lớn thì chỉ được sử dụng cho nội bộ ở các công ty lớn nhưJFT-300M (300 triệu ảnh) [8] của Google Các bộ dataset được công bố công khaithường có kích thước nhỏ (vài nghìn đến vài trăm nghìn ảnh) hoặc trung bình (vải

triệu ảnh) Các bộ dataset công khai điển hình như LFW [9], VGG-Face [10],

VGG2-Face [11], CAISA-WebFace [12], UMD-Face [13], MegaFace [14],

MS-Celeb-IM [15] Đề tài nay sử dung phiên bản được làm sạch của MS-MS-Celeb-IM làMSIM-RetinaFace với 5.1 triệu ảnh của 93K người dé huấn luyện mô hình từ đầu

và kiểm thử bằng LFW và các biến thể Ngoài ra, đề tài cũng sử dụng bộ dữ liệu

3.000 ảnh của 1.000 người Việt Nam mà tác giả tự thu thập để dùng cho quá trình

tỉnh chỉnh (finetune).

Thuộc tính thứ hai là kiến trúc mạng và cấu hình Hiện nay các kiến trúc mạng tíchchập (CNN) vẫn đang thống trị trong các ứng dụng thị giác máy tính Mạng học sâu

sẽ học các đặc điểm ảnh khuôn mặt người và biến thành các vector đặc điểm phục

vụ cho ứng dụng nhận diện khuôn mặt Cụ thể các vector ảnh của cùng một người

sẽ có khoảng cách nhỏ Vector ảnh của các cá nhân khác nhau sẽ có khoảng cách

tương đối xa Đề tài này sẽ sử dụng đại diện của CNN là ResNet và Vision

Transformer làm kiến trúc mạng trong mô hình nhận dạng khuôn mặt để so sánhkết quả của 2 mô hình CNN và ViT

“Thuộc tính thứ ba là thiết kế hàm mắt mát Hàm mắt mát trước đây thường dựa trênkhoảng cách Euclide Các hàm mắt mát sau này được thiết kế dựa trên cosin và góccho kết quả vượt trội hơn hẳn Các hàm mat mát điển hình gồm có SphereFace[16], CosFace [3], ArcFace [7] Đề tài này sử dụng CosFace làm hàm mắt mát vìCosFace hoạt động tốt với cả hai kiến trúc mạng là ViT và ResNet

2.2 Các công trình nghiên cứu có liên quan

2.2.1 L2 distance

1⁄2 distance đo khoảng cách Euclide giữa 2 vector Khoảng cách L2 distance có théđược tính trực tiếp hoặc gián tiếp thông qua thuật toán KNN với K=1 và độ dokhoảng cách là Euclide.

Trong bài toán so khớp khuôn mặt, nếu khoảng cách giữa hai vector khuôn mặt béhơn một khoảng cách được định nghĩa trước (khoảng cách này tìm được trong quátrình huấn luyện) thì hai vector này của cùng một người Nếu khoảng cách giữa haivector lớn hơn ngưỡng thì hai vector này là ảnh khuôn mặ của hai cá nhân khác nhau.

Trong bài toán nhận diện khuôn mặt, mỗi vector query được đo khoảng cách đến

Trang 19

Chương 2 Tổng quan về đề tài nghiên cứu

đó trong facebank sẽ được kiểm tra nếu dưới ngưỡng thì sẽ tương ứng với cá nhân

có anh trong facebank Còn nếu khoảng cách ngắn nhất lớn hơn ngưỡng thì ảnh nàykhông thuộc của các cá nhân có ảnh trong facebank.

Khoảng cách L2 distance giữa hai vector x và y được tính như sau:

đ(x,y)=((Ö (xi=y;Ÿ) (2.1)

it

Với (x,,x,, x,) là toa độ của vector x va (y,,y;, ,y„) là tọa độ vector y.

2.2.2 Support Vector Machine

Support Vector Machine (SVM) được dùng chủ yếu trong bài toán phân loại Giasửa bai toán phân loại được thực hiện trong không gian n chiều Trong quá trìnhhuấn luyện, K nhóm vector được dán nhãn và được mô hình học máy xây dựngthành một mặt phẳng không gian dé phân tách K nhóm này Khi có một vector mới,SVM sẽ dựa trên mô hình máy học trong quá trình huấn luyện dé phân chia vectormới này thuộc phân nhóm nào trong K nhóm đã học.

SVM được dùng trong bài toán nhận dạng khuôn mặt khi anh query thuộc về một

cá nhân trong facebank Nếu dùng SVM cho cả ảnh query không thuộc cá nhânnằm trong facebank thì sau khi phân loại vào nhóm ảnh của cá nhân nào rồi, phảitrải qua thêm bước kiểm tra khoảng cách L2 distance của vector ảnh query và cácvector ảnh của cá nhân tương ứng trong facebank Nếu khoảng cách bé hơn ngưỡngtối ưu tìm ra trước đó thì mới xác nhận là ảnh thuộc cá nhân trong facebank

eofe

ee

Support Vectors

Trang 20

2.2.3 CosFace - Large Margin Cosine Loss

Theo [3], nhiệm vụ trọng tâm của nhận dạng khuôn mặt bao gồm cả so khớp khuônmặt và nhận diện khuôn mặt đều liên quan đến khả năng phân biệt các đặc điểmkhuôn mặt Tuy nhiên, các hàm mắt mát softmax thường dùng trong mô hình mangCNN lại thiếu năng lực này Các phương pháp sau này đều cố gắng thực hiện ý

tưởng tăng sự khác biệt giữa các lớp khác nhau và giảm sự khác biệt với các khuôn

mặt trong cùng một lớp CosFace thực hiện chuyển các mất mát dang softmax ởkhông gian Euclide sang không gian góc đề tăng khả năng phân biệt các đặc điểmkhuôn mặt người Kết quả từ [3] cho thấy CosFace đạt độ chính xác cao hơn cáchàm mất mắt Softmax

Với input vector la x, ,nhãnlà y,, N làsốmẫu, C là số lớp, p, là xácsuất phân loại x, đúng, hàm mắt mát softmax được tính như bên dưới

Bang cách chuẩn hóa L2, ||| được gan cứng bằng 1 và |Ix|| được gan bằng

s Do đó hàm softmax được chuẩn hóa thành NSL (Normalized version ofSoftmax Loss) như sau:

mô hình Việc này làm cho mô hình gặp khó khăn hơn trong quá trình huấn luyện

và phải điều chỉnh dé có quyết định chính xác hơn Hàm mắt mát CosFace — Large

Margin Cosine Loss (LMCL) được viét lai nhu sau:

+ (cos(Ø,,)~m)

1 e

Linc = yobs ele em 7) (2.5)

Jjườ

Trang 21

Chương 2 Tỏng quan về dé tài nghiên cứu

NSL LMCL Hình 2.6.Ảnh hưởng của giá trị m làm giảm miền quyết định của các lớp [3]

Một ví dụ về vùng quyết định của 8 lớp với các đặc điêm 2D trên không gianEuclide và không gian góc với các giá trị khác nhau của m Nếu m càng lớnthì vùng quyết định càng bé va làm cho các thông số của mô hình phải thích nghĩnhiều hon trong quá trình huấn luyện

Hình 2.7: Vùng quyết định giảm khi giá trị m tăng trong hàm CosFace [3]

Bên cạnh chức năng dùng làm hàm mất mát khi huấn luyện hoặc tinh chỉnh,

CosFace còn được sử dụng làm bộ phân loại trong bài toán nhận diện khuôn mặt.

Đồng thời, dé kiểm tra cho các cá nhân bên ngoài facebank thì cần bổ sung kiểm traL2 distance đê đảm bảo khoảng cách giữa vector anh query và vector trongfacebank nhỏ hơn ngưỡng tối ưu được tìm ra trước đó Cách sử dụng CosFace làm

bộ phân loại y hệt như SVM.

Trang 22

2.2.4 RetinaFace

Mô hình nhận diện khuôn mặt của RetinaFace [5] gồm ba thành phần chính: mạngkim tự tháp đặc điểm, module ngữ cảnh và hàm mắt mát đa nhiệm

Mạng kim tự tháp đặc điểm nhận input là ảnh đầu vào cần phát hiện khuôn mặt

va ouput là năm feature map với các kích thước khác nhau từ P2 đến P6 Bốnfeature map đầu tiên từ P2 đến P5 được xây dựng bởi tầng dư của ResNet từC2 đến C5 Feature map cuối cùng P6 được tạo thành từ tích chập của 3x3 vớistride 2 trên C5.

v Module ngữ cảnh: Các module này được đưa vào dé giúp mô hình phát hiện

được các khuôn mặt nhỏ tốt hơn

Hàm mat mát đa nhiệm L gồm 4 hàm mat mát con được tính như sau:

L = L„(pi,p;) + Ax Pi Loox (tists) + Az Bi Lye lisls As Pi Lại (2.6)

—_ L„(p,p;) là ham mắt mát softmax cho phân loại có và không có khuôn

mặt, p, là xác suất dự đoán anchor i có khuôn mặt, p; là 1 cho

positive anchor và là 0 cho negative anchor.

— L„„(t,tj) là hàm mất mát cho hồi quy bounding box Trong đó,

t=(t,,t,t„t,}, là tọa độ bounding box dự đoán thứ i,

t={tt,0,t2,f2}, là tọa độ bounding box ground true thứ i.

—_ L„(I,l7) là hàm mắt mát hồi quy của 5 điểm trên khuôn mặt Trong đó,

L={laslyeslsslyshi là tọa độ dự đoán của 5 điểm landmark trên khuôn

mặt và I={l1,,ljạ, ,

tương ứng.

}, là tọa độ ground true của 5 điểm landmark

— L là hàm mất mát cho các điểm 3D trên khuôn mặt

Context Modute (x5)

Hình 2.8 Mô hình nhận dang khuôn mặt của RetinaFace [5]

Trang 23

Hình 2.10, Kiến trúc ViT cho bài toán phân loại ảnh [1]

ViT [1] được sử dụng đầu tiên cho bài toán phân loại ảnh Với ý tưởng xử lý ảnh

trong thị giác máy tính như xử lý một câu trong xử lý ngôn ngữ tự nhiên, ViT chia

Trang 24

(440) thành nhiều ảnh nhỏ (patch) bằng nhau và không chồng lanảnh gốc XeR

X,eRYx>o dé xử lý như các token Trong đó, H và P lần lượt là độ phân giải

của ảnh gốc và ảnh nhỏ, C là số lượng kênh màu của ảnh, N=H/P” là số lượng

ảnh nhỏ được tạo ra từ ảnh gốc.

} — Ain

man

Hình 2.11.Anh gốc được chia thành nhiều ảnh nhỏ không chong lần

Các ảnh nhỏ X, được làm phẳng thành vector và đi qua một lớp Dense (Linear

Projection) dé tạo thành các embedding vector X,E Một embedding class

Xess sẽ được bô sung vào ngõ ra của khối mã hóa vị trí với mục đích lấy thôngtin liên quan của toàn bộ các patch ảnh được tạo ra, tương tự như token được bổsung khi sử dụng Transformer Encoder cho xử lý ngôn ngữ tự nhiên Các vector tạo

từ patch nào sẽ được bổ sung thông tin về vị trí tương ứng của các patch ấy làE,„ Ngõ ra của bộ mã hóa vị trí là vector z„ Vector này được đưa vào bộTransformer Encoder dé xử lý

2=[Xetass Xp Ey XpE yo Xp E}+E pos (2.7)

So sánh với xử ly ngôn ngữ tự nhiên, Transformer của ViT chi sử dụng bộ mã hóaTransformer Encoder và không sử dụng khối Transformer Decoder Chỉ tiết vềTransformer có thể tham khảo ở tài liệu “Attention is all you need” [17] BộTransformer của ViT gồm nhiều khối Encoder xếp chồng lên nhau với nhiệm vụxây dựng mối quan hệ giữa các thành phần của vector đầu vào bộ Transformer

Trang 25

Chương 2 Tổng quan về đề tài nghiên cứu

Output

Probabiilies

shifted right)

Hình 2.12 Kiến trúc đầy đủ của Transformer sử dụng trong NLP [17]

Mỗi khối Encoder làm nhiệm vụ chuẩn hóa dữ liệu đầu vào bằng khối Layer Norm

(LN), sử dung khối Multi-head Self Attention (MSA) dé tạo mối quan hệ giữa các

dữ liệu đã được chuẩn hóa Với dữ liệu đầu vào khối Encoder | là 2 thì đầu ra

được tính như sau:

z= MSA( LN(z,,) )*Z¿¡, I=1,2, ,L (2.8)

Trong đó khối MSA được xếp chồng từ nhiều khối Self-Attention (SA) Khối SAxây dựng quan hệ giữa một vector patch ảnh với các vector patch ảnh còn lại Davào là các vector của các patch ảnh z Đầu ra là các vector ngữ cảnh SA(z) thểhiện sự quan hệ giữa các vector patch ảnh.

[q,k,v]=zU„„ (2.9)

SA(z)=softmax( 442) (2.10)

VD,

Trang 26

Trong đó, U„„€R”*””' là ma trận biến đổi tuyến tính được học trong quá trìnhhuấn luyện Các vector q,k,v được tạo ra bằng cách nhân đầu vào z và matrận Uy, -

z', được đưa vào khối Multi Layer Perceptron (MLP) và Residual để tạo thành

z, , chính là đầu ra của mỗi khối encoder

z, = MLP(LN(z'))+Z',, I=1,2, L (2.11)

Ngõ ra của khối Transformer là vector ngữ cảnh được đưa vào khối “Multi LayerPerceptron Head” dé tạo ra các xác suất tương ứng với các ảnh cần phân loại Anh

tương ứng với ngõ ra có xác suất cao nhất được mô hình lựa chọn làm kết quả của

quá trình phân loại ảnh.

Kết quả từ [1] cho thấy ViT cho kết quả tốt hơn ResNet một ít ở bài toán phân loạiảnh nếu được huấn luyện với bộ dataset lớn (14M-300M ảnh) Tuy nhiên, nếu ViTđược huấn luyện bằng các bộ dataset vừa hoặc nhỏ thì sẽ cho kết quả kém hơnResNet Tốc độ huấn luyện cho ViT cũng chậm hơn so với ResNet

2.2.6 Face Transformer for recognition

Mô hình Face Transformer [2] sử dung lại ViT cho mục đích nhận dang khuôn

Face Transformer bổ sung kỹ thuật chia ảnh gốc thành nhiều ảnh nhỏ có chồng lan

lên nhau để tăng tính tương quan giữa các ảnh nhỏ với nhau Ảnh gốcXeR”*"*° thành nhiều ảnh nhỏ (patch) bằng nhau và chồng lấnX,€R'**?*°.Trong đó, H và P lần lượt là độ phân giải của ảnh gốc và ảnh nhỏ,

H+2p-(P—1)

Ss

được tạo ra từ ảnh gốc, p là số lượng zero padding, S là độ trượt

€ là số lượng kênh màu của anh, N= +1 là số lượng ảnh nhỏ

Các ảnh nhỏ làm được làm phẳng, bổ sung thông tin vị trí và đưa vào bộ Encoder y

hệt như mô hình ViT Giải pháp chia ảnh này giúp tăng độ chính xác của mô hình

từ 0.02% đên 0.57% ở bài kiểm thử so khớp khuôn mặt trên các bộ dataset publicBI:

Trang 27

Chương 2 Tổng quan về dé tài nghiên cứu

Hình 2.14.Mô hình Face Transformer [2]

Kết quả từ [2] cho kết quả tương tự với [1] ở bài toán so khớp khuôn mặt Khi ViT

và ResNet được huấn luyện với bộ dataset có kích thước trung bình

MSIM-RetinaFace thì ResNet sẽ cho kết quả tốt hơn một tí.

Trang 28

2.2.7 Few-shot object detection via baby learning

Phương pháp huấn luyện Baby learning [18] được áp dụng trong few-shot objectiondetection khi số lượng dữ liệu huấn luyện hạn chế Thay vì huấn luyện chỉ một lầnvới số lượng mẫu dữ liệu không đổi, mô hình được huấn luyện nhiều lần với lầnsau có số lượng mẫu nhiều hơn lần trước Giải pháp này giúp cải thiện mạnh độchính xác với bài toán ít dữ liệu.

Trang 29

Chương 2 Tổng quan về đề tài nghiên cứu

Trang 30

Chương 3 MÔ HÌNH NGHIÊN CỨU 3.1 Mô hình nhận dạng khuôn mặt đề xuất

Mô hình nhận dạng khuôn mặt tông quát với ba thuộc tính cấu thành đã được trìnhbày cụ thể ở chương 2 Trong chương 3 này, ba thuộc tính sẽ được cụ thể hóa để tạothành mô hình nhận dạng khuôn mặt áp dụng cho đề tài này

Thông số đầu tiên là bộ dataset dùng cho huấn luyện và tinh chỉnh Trong đó, môhình được huấn luyện từ đầu bằng MSIM-RetinaFace được sử dụng vì đây là bộdataset public có số lượng ảnh nhiều nhất đã từng được công bố với 5,1 triệu ảnhcủa 93,000 người Tiếp đến, quá trình tỉnh chỉnh sẽ dùng bộ dataset của người ViệtNam với 1 hoặc 2 ảnh mỗi người dùng cho huấn luyện để tạo ra sự thiếu dữ liệucho mô hình Các bộ dataset này sẽ được mô tả cụ thể ở chương 4

Tiếp đến, thông số thứ hai là mạng học sâu dùng cho mô hình nhận dạng khuônmặt Mạng học sâu được sử dụng để trích xuất các thông tin đặc điểm khuôn mặtthành các vector đặc trưng Dé tài này sử dụng ViT làm mạng học sâu chính Bên

cạnh đó, một đại diện ưu tú của CNN là ResNet được chọn dé làm đối trọng với

ViT dé đánh giá benmarking về độ chính xác của mô hình

Thuộc tính 1: Dataset Thuộc tính 3:

huần luyện MS1M- >| | Hàm mắt mát Nhãn

RetinaFace CosFace

“Thuộc tính 2:

Backbone network /T/ResNet, được dùng|

lâm Module trích xuất

vector đặc trưng sau

khi huấn luyện

Thuộc tính 1: Dataset

tinh chỉnh REGTK,

REG2K

>

Hình 3.1: Mô hình dùng khi huấn luyện và tinh chỉnh

Thuộc tính cuối cùng là hàm mat mát được thiết kế dùng riêng cho nhận dạngkhuôn mặt Theo [7] thì họ các ham mất mát theo cosin và góc cho kết quả tốt hơncác ham dựa trên khoảng cách Euclide Trong các hàm mat mát theo cosin và góc

như SphereFace [16], CosFace [3], ArcFace [7] thì CosFace được lựa chọn đê sử

dụng trong mô hình này vì các lý do sau:

Trang 31

Chương 3 Mô hình nghiên cứu

Độ chính xác mô hình CNN khi sử dụng ArcFace có nhinh hơn CosFace nhưngkhông đáng kẻ

v ArcFace không phù hợp khi sử dụng với ViT và cho thời gian hội tụ chậm

trong quá trình thực nghiệm Trong khi CosFace phù hợp với ViT và cho thời gian hội tụ nhanh hơn.

3.2 Phương pháp tỉnh chỉnh kết hợp kỹ thuật Baby Learning

II-IIIHI-L—+>=——

SL | |} ~

oe 177) MD I IIl^ le — |

L— Lll<LLLEHI Ullal

Dataset tinh chỉnh Backbone Network Hàm mắt mát.

Layer chưa được tn chị [ Layer được tnh nh

Hình 3.2: Tinh chỉnh mô hình bằng phương pháp Baby Learning Ï

Sau quá trình huấn luyện với bộ dataset MSIM, dé kiểm thử trên bộ dữ liệu thiếunhư mục tiêu của đề tài đưa ra thì mô hình được tỉnh chỉnh bằng bộ dataset khuôn

mặt người Việt Nam Dé tăng độ chính xác của mô hình thì kỹ thuật Baby Learning

duoc áp dụng trong quá trình tinh chỉnh.

'Với phương pháp tinh chỉnh thông thường, nghĩa là một số ngẫu nhiên Conv Layerđược chọn huấn luyện lại bằng bộ dataset của người Việt Nam Trong khi các ConvLayer còn lại sẽ bị đóng băng trong quá trình huấn luyện lại

Kỹ thuật Baby Learning gốc [18] được áp dụng trong quá trình tinh chỉnh bằngcách tăng dần số lượng dữ liệu Ví dụ chúng ta có bảy ảnh cho mỗi lớp thì quá trìnhhuấn luyện sẽ tăng dần số lượng ảnh đưa vào Chẳng hạn lần tỉnh chỉnh đầu sẽdùng một ảnh, lần hai dùng ba ảnh, lần ba dùng năm ảnh và lần tỉnh chỉnh cuốicùng sẽ dùng bảy ảnh.

Với phương pháp Baby Learning hiệu chỉnh, số lượng Conv Layer được tỉnh chỉnh

sẽ tăng dần lên theo từng lần tinh chỉnh Lần đầu tiên, một Conv Layer được tinhchỉnh Lần thứ hai, hai Conv Layer được tinh chỉnh Lần thứ N, N Conv Layer sé

được tinh chỉnh.

Trang 32

3.3 Mô hình thực hiện cho bài toán so khớp khuôn mặt

Mô hình đề xuất cho bài toán so khớp khuôn mặt sẽ tương tự như mô hình ởchương 2 nhưng sẽ cụ thể hóa các module sử dụng

v Input là các cặp ảnh dùng cho so khớp khuôn mặt được lấy từ các bộ datasetpublic va private sẽ được dé cập ở chương sau

v Module bóc tách ảnh khuôn mặt: RetinaFace được sử dụng cho mục dich táchảnh khuôn mặt từ ảnh gốc vì có hiệu quả tốt nhất so với các giải pháp khác,cũng như căn chỉnh ảnh khuôn mặt được tách ra và chuyên đổi về kích thước

112x112 đề phù hợp với mô hình học sâu phía sau.

v Module trích xuất vector đặc trưng: Vision Transformer (ViT) và mạng ResNetđược sử dụng và được huấn luyện với bộ dataset MSIM-RetinaFace (bộdataset này sẽ được đề cập chỉ tiết ở chương 4) và sau đó được sử dụng để tríchxuất vector đặc trưng từ ảnh khuôn mặt Hai loại mạng học sâu này được so

sánh với nhau về độ chính xác của mô hình.

v Module đánh giá khoảng cách giữa hai vector: Hai vector được tính toánkhoảng cách Euclide d với nhau Ngoài ra, D là khoảng cách tối đa giữa

hai vector của cùng một người được tìm ra trong quá trình huấn luyện Nếu

d>D thì đây là cặp ảnh của hai người khác nhau Nếu đ<D thì đây là cặpảnh của cùng một người.

Module so khớp cập ảnh khuôn mat ' Kết quả

ap anh cn so

kiếp thuôn mặt RetinaFace- ÍVTEMNN-Wodeli [Le astance- Node

rong các bộ Module bóc tách | — 3| tích khá veơor | —— 3| đản ga khoảng cach | | —»| Đôchnh xác của |,

dataset public, ‘nh khuôn mat đặc trưng giữa 2 vector hình

private

Feature | Feature Tim khoảng cách Euclide d

e = voor] | giữa 2 vector, so ảnh voi D

7 lễ hoàng ch li đa coa2

/ anh cing 1 người.

Cập ảnh người Cập ảnh khuôn mặt Cu

Hình 3.3: Mô hình dé xuất cho bài toán so khớp khuôn mặt |

Từ kết quả so sánh khoảng cách Euclide của các cặp vector của ảnh khuôn mặt, môhình sẽ dự đoán cặp anh input là của cùng một người hay của hai ngươi khác nhau.

So sánh với nhãn dữ liệu thì ta đánh giá được độ chính xác của mô hình trên các bộ

dataset kiểm thử Từ đó, ta sẽ so sánh độ chính xác của hai mô hình nhận dang

khuôn mặt dùng ViT và ResNet với nhau.

Trang 33

Chương 3 Mô hình nghiên cứu

các bộ dataset public gồm LFW và các biến thé, cùng với bộ dataset VER4K đượcxây dựng từ khuôn mặt người Việt Nam Các bộ dataset này sẽ được trình bày ở chương 4 Mô hình sẽ không được tỉnh chỉnh trên bộ dataset người Việt Nam vì sau khi tinh chỉnh sẽ không còn đủ dữ liệu ảnh khuôn mặt dé xây dựng bộ dataset so

khớp khuôn mặt của người Việt Nam.

3.4 Mô hình thực hiện cho bài toán nhận diện khuôn mặt

Mô hình đề xuất cho bài toán nhận diện khuôn mặt sẽ tương tự như mô hình ởchương 2 nhưng sẽ cụ thể hóa các module sử dụng như sau:

v Module bóc tách ảnh khuôn mặt: Vẫn dùng RetinaFace như bài toán so khớp

'Các ảnh cần lưu trừ Các vector đặc trưng của

RetinaFace - ViTIResNet - Vector | Vector2 | - [ŸseterN

“ ‘Module bóc tach 2 Module trich xuất

cảnh Khuôn mat Vector đặc trưng

Kết quả

= | See] PB al (fam query habe về ca nhân nào rong

=.- Modi tích xuất nh

Module bộc tach Với bộ các vector Thuộc về các cả nhân trong bộ ưu trữ

3 ‘anh khuôn mat Nhu đặc trưng (x, Vi}

4 query x4 chính xác của mô hinh :

Hình 3.4: Mô hình đề xuất cho bài toan nhận diện khuôn mặt

Từ kết quả nhận diện khuôn mặt của từng trường hợp, ta sẽ đánh giá được độ chínhxác của mô hình ViT/ResNet tương ứng.

Vi các bộ dataset public như LFW và các biến thé hiện chi dùng được cho so khớp.khuôn mặt Do đó, mô hình sau khi huấn luyện bằng MSIM-RetinaFace sẽ đượctỉnh chỉnh bằng bộ dataset người Việt Nam REGIK, REG2K và sau đó thực hiệnkiểm thử trên các bộ dataset này

Trang 34

Chương 4 KET QUA NGHIÊN CỨU

4.1 Các bộ dataset dùng trong nghiên cứu

Để phục vụ cho dé tài, tác giả có sử dụng các bộ dataset public và một bộ datasetprivate Vietnamese Face Dataset (VFD) do tác giả tự thu thập được Từ bộ VFD này , tác giả xây dựng thành các bộ dataset VER4K, REGIK, REG2K.

v Trong quá trình training, dataset MSIM-RetinaFace với 5.1 triệu ảnh khuônmặt của 93K người được sử dụng Đây là bộ dataset public có nhiều ảnh nhấtđược công bố

v Các bộ dataset public LFW và các biến thé của nó, cùng bộ dataset private'VER4K (tự thu thập) được kiểm thử sau khi traning cho bài toán so khớp khuôn

mặt.

v Quá trình tinh chỉnh và kiểm thử cho bài toán nhận diện khuôn mặt được thựchiện với bộ dataset private REGIK, REG2K (tự thu thập).

4.1.1 Vietnamese Face Dafaset (VFD)

Để phục vụ cho việc kiểm thử mô hình trên môi trường, thiếu dữ liệu, tác giả có thựchiện thu thập 3.000 ảnh của 1.000 người Việt Nam, có thuộc tính phân phối như

Sau:

'VFD source distribution 'VFD gendre distribution I

Hình 4.1 Thuộc tính phân phôi của bộ dữ liệu VFD

v Giới tính: 401 nam và 599 nữ.

Trang 35

Chương 4 Kết quả nghiên cứu

v Mỗi người có 3 ảnh Các ảnh của cùng một cá thé có thể có các tư thế khuôn

mặt (thẳng, nghiêng ) và biểu cảm (vui, buồn, ) khác nhau dé tăng độ khó

cho bộ dataset VFD.

Các ảnh khuôn mặt được bóc tách ra từ ảnh gốc bằng RetinaFace, được căn chỉnh

và được điều chỉnh về kích thước 112x112 Bộ ảnh này được dùng dé xây dựngVER4K cho bài kiểm thử so khớp khuôn mặt và REGIK, REG2K cho bài toánnhận diện khuôn mặt.

Nguyên nhân phải xây dựng bộ dataset mới vì yêu cầu các đặc điểm khuôn mặt của

bộ dataset này phải chưa được học được từ quá trình huấn luyện từ đầu để phục vụcho việc đánh giá khi dữ liệu thiếu Nếu dùng các bộ dataset public có sẵn thì đaphần sẽ là khuôn mặt của người da trắng, da đen, người Trung Quốc các dit liệunày đã có nhiều trong bộ dataset MS1M-RetinaFace Trong khi dữ liệu khuôn mặtngười Việt Nam trong bộ MSIM-RetinaFace rất hạn chế

Trang 36

4.1.1.1 Bộ dataset VER4K

Bộ dataset VER4K được dùng đê kiêm thử cho mục đích so khớp khuôn mặt Mỗi

cá nhân có 3 ảnh sẽ được chia thành 2 cặp ảnh positive của cùng một người Tiếp

đó, lựa ra 2 ảnh của người này và 2 anh của 2 người khác cùng giới tính dé tạo

thành 2 cặp ảnh negative Với 1000 người sẽ tạo ra được 4.000 cặp ảnh (2.000 cặp

ảnh positve và 2.000 cặp ảnh negative).

Positive Pair Positive Pair Negative Pair Negative Pair

Hình 4.4: Các cặp anh dùng so khớp khuôn mặt trong bộ dataset VER4K

Mỗi cặp ảnh sẽ có một nhãn được dán mang giá trị True hoặc False Nếu cặp ảnh

positive của cùng một người thì nhãn dán sẽ có giá trị True Nếu cặp ảnh negative

Trang 37

Chương 4 Kết quả nghiên cứu

tổng cộng 4.000 nhãn gồm 2.000 nhãn True và 2.000 nhãn False xen kẽ nhau cứmỗi 2 nhãn True nói tiếp 2 nhãn False

4.1.2 Bộ dataset REGIK

Bộ dataset này dùng để tỉnh chỉnh và kiểm thử nhận diện khuôn mặt Mỗi cá nhân

có ba ảnh thì một ảnh được dùng cho tỉnh chỉnh và làm ảnh lưu trong vào cơ sở dữ

liệu ảnh có săn (facebank), hai ảnh còn lại dé truy van thông tin ảnh trong facebank.Như vậy tổng có 1.000 ảnh của 1.000 người dùng cho quá trình tỉnh chỉnh mô hình

và 2.000 ảnh của 1.000 dùng dé kiểm thử truy xuất thông tin ảnh ở facebank

Facebank gôm 1000 feature vector

Teo feature vector timo hình đã tnh

Tín chỉnh Tinh chỉnh lim aim inh lnt ian 2 ida N

~ 1 = So ánh quary vector và các feature

| | vector ong facebanc để im vector | |

đã tính chỉnh | | yetorbo| [veto vector

Trong bài kiểm thử này mỗi ảnh sẽ có nhãn là xyz_ 0t Trong đó, xyz có giá tri từ

000 đến 999 đại diện cho ID của mỗi cá nhân, t có giá trị từ 1 đến 3 là ID của ảnh

khuôn mặt của cá nhân ấy Các ảnh có nhãn xyz_01 sẽ được dùng để tỉnh chỉnh cho

mô hình và tạo thành facebank Các ảnh có nhãn xyz_02, xyz_03 sẽ được dùng détruy vấn Khi một ảnh truy vấn abc_02 hoặc abc_03 đưa vào mô hình và được trả vềkết quả ảnh trong facebank có nhãn abc_01 thì mô hình đoán đúng kết quả Nếunhãn trả về khác abe_01 thì mô hình dự đoán sai

4.1.3 Bộ dataset REG2K

Bộ dataset này dùng để tỉnh chỉnh và kiểm thử nhận diện khuôn mặt Mỗi cá nhân

có 3 ảnh thì 2 ảnh được dùng cho tinh chỉnh và làm ảnh lưu trong vào cơ sở dữ liệu

Trang 38

ảnh có sẵn (facebank), 1 ảnh còn lại để truy vấn thông tin ảnh trong facebank Như

vậy tông có 2.000 ảnh của 1.000 người dùng cho quá trình tỉnh chỉnh mô hình và

1.000 ảnh của 1.000 dùng đề kiểm thử truy xuất thông tin ảnh ở facebank

\ le eo

Too ete auery vector

từ mô hình

So sánh query vector và các feature

vector trong facebank để tim vector

Trong bài kiểm thử này mỗi ảnh sẽ có nhãn là xyz_0t Trong đó, xyz có giá trị từ

000 đến 999 đại diện cho ID của mỗi cá nhân, t có giá trị từ 1 đến 3 là ID của ảnhkhuôn mặt của cá nhân ấy Các ảnh có nhãn xyz_02, xyz_03 sẽ được dùng dé tinhchỉnh cho mô hình va tạo thành facebank Các ảnh có nhãn xyz_01 sẽ được dùng détruy vấn Khi một ảnh truy van abc_01 đưa vào mô hình và được trả về kết quả ảnhtrong facebank có nhãn abc_02 hoặc abc_03 thì mô hình đoán đúng kết quả Nếunhãn trả về khác abc_02 hoặc abc_03 thì mô hình dự đoán sai

4.1.4 MSIM-RetinaFace

MSIM-RctinaFace là phiên bản làm sạch version 3 của MS-Celeb-1M [15] công bố

2016 Năm 2019, Imperial College London (UK) and InsightFace (CN) sử dụng MSIM-RctinaFace ở cuộc thi Lightweight Face Recognition Challenge &Workshop Bộ dữ liệu nay gồm 5.1 triệu ảnh với kích thước 112x112 của 93Kngười, trung bình có 55 ảnh/người Đây là bộ dataset kích thước trung bình, nhưng

là bộ dataset public có số lượng ảnh nhiều nhất Bộ dataset này được dùng dé huấnluyện mô hình nghiên cứu từ đầu

Trang 39

Chương 4 Kết quả nghiên cứu

4.1.5 Labeled Faces in the Wild (LFW)

LFW là bộ dataset public nồi tiếng được công bố năm 2007 Bộ dataset này gồm13.233 ảnh của 5749 người thu thập từ web Trong đó 1680 người có hai hoặc baảnh, 4069 người chỉ có một ảnh [9] LEW thiếu sự đa dạng về nhóm Cụ thể là rất íttrẻ em, người già và người dân tộc thiêu số LFW được sử dụng cho mục đích kiểmthử ở bài kiểm tra so khớp khuôn mặt Với bài kiểm thử này, bộ dữ liệu LFW cótổng cộng có 6.000 cặp ảnh gồm 3.000 cặp positive và 3.000 cặp ảnh negative

Hin 4.8: Các cặp ảnh positivecủa bộ dataset LFW

Bộ dataset LFW được đánh giá là khá dé cho bài toán so khớp khuôn mặt vì các các

mô hình sẽ dé dàng phân biệt các cặp ảnh cần so sánh Lý do các cặp anh positivekhá tương đồng nhau và các cặp ảnh negative khác biệt nhau (thậm chí là khác cảgiới tính).

Trang 40

Hinh 4.9: Các cặp anh negative trong bộ dataset LFW _

4.1.6 Cross-Age LFW (CALFW)

_ _ Hình 4.1 ip anh positive trong bộ dataset CALFW +

CALFW là một dataset cải tiên từ LFW bằng cách lựa chọn ảnh cùng một người sẽlệch tuổi nhiều hơn Với cặp ảnh negative sẽ cùng giới tính và chủng tộc dé tăng độkhó khi phân loại [19] CALFW được dùng mục đích kiểm thử ở bài kiểm tra sokhớp khuôn mặt Tổng có 6.000 cặp ảnh gồm 3.000 cặp positive và 3.000 cặp ảnhnegative.

Ngày đăng: 08/11/2024, 17:37